aboutsummaryrefslogtreecommitdiff
path: root/databases/db18
diff options
context:
space:
mode:
authorMatthias Andree <mandree@FreeBSD.org>2020-12-02 00:09:14 +0000
committerMatthias Andree <mandree@FreeBSD.org>2020-12-02 00:09:14 +0000
commite03a2e6775a3c969a0b85aa099d37005019a6a36 (patch)
tree9bd56460eaa7dbe7aecb0e0d19ba50e7f7c0b0a6 /databases/db18
parent273b0bb5c1f51ad32baf8a2006f062515b91e8a0 (diff)
Notes
Diffstat (limited to 'databases/db18')
-rw-r--r--databases/db18/Makefile99
-rw-r--r--databases/db18/distinfo3
-rw-r--r--databases/db18/files/patch-src_dbinc_mutex__int.h34
-rw-r--r--databases/db18/pkg-descr11
-rw-r--r--databases/db18/pkg-plist86
5 files changed, 233 insertions, 0 deletions
diff --git a/databases/db18/Makefile b/databases/db18/Makefile
new file mode 100644
index 000000000000..dd71ddf5559f
--- /dev/null
+++ b/databases/db18/Makefile
@@ -0,0 +1,99 @@
+# Created by: Matthias Andree <mandree@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= db18
+PORTVERSION= 18.1.40
+CATEGORIES= databases java
+MASTER_SITES= https://github.com/yasuhirokimura/${PORTNAME}/releases/download/${PORTVERSION}/
+PKGNAMEPREFIX?=
+#
+# the distfiles aren't named db18-* but db-*:
+DISTNAME= db-${PORTVERSION}
+DIST_SUBDIR= bdb
+
+MAINTAINER= yasu@utahime.org
+COMMENT= Oracle Berkeley DB, Release ${BDBVER}
+
+LICENSE= AGPLv3 BSD3CLAUSE UPL10
+LICENSE_COMB= multi
+LICENSE_NAME_UPL10= The Universal Permissive License (UPL), Version 1.0
+LICENSE_FILE= ${WRKSRC}/../LICENSE
+LICENSE_FILE_UPL10= ${WRKSRC}/../EXAMPLES-LICENSE
+LICENSE_PERMS_UPL10= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+BROKEN_mips64= no usable MUTEX implementation, assy works only for MIPS32, POSIX mutexes are unshared
+
+BDBVER= ${PORTVERSION:R}
+BDBMAJ= ${BDBVER:R}
+CONFIGURE_ARGS= --enable-cxx --enable-stl --enable-dbm \
+ --enable-compat185 --enable-dump185 \
+ --includedir=${PREFIX}/include/${PORTNAME} \
+ --libdir=${PREFIX}/lib/${PORTNAME} \
+ --bindir=${PREFIX}/bin/${PORTNAME}
+CONFIGURE_SCRIPT= ../dist/configure
+GNU_CONFIGURE= yes
+USES= gmake libtool ssl
+INSTALL_TARGET= install_include install_lib install_utilities
+WRKSRC= ${WRKDIR}/${DISTNAME}/build_unix
+PATCH_WRKSRC= ${WRKDIR}/${DISTNAME}
+USE_LDCONFIG= yes
+PLIST_SUB= BDBMAJ=${BDBMAJ} BDBVER=${BDBVER}
+MAKE_ARGS+= docdir=${DOCSDIR}
+
+OPTIONS_DEFINE= CRYPTO DEBUG L10N JAVA TCL DOCS
+OPTIONS_DEFAULT=CRYPTO
+OPTIONS_SUB= yes
+CRYPTO_DESC= Cryptography support
+L10N_DESC= Localization support (EXPERIMENTAL)
+
+PORTDOCS= *
+
+DBLIBS= libdb libdb_cxx libdb_stl
+
+DEBUG_CONFIGURE_ENABLE= debug umrw
+CRYPTO_CONFIGURE_WITH= cryptography=yes
+L10N_CONFIGURE_ENABLE= localization
+JAVA_USE= java
+JAVA_VARS= DBLIBS+=libdb_java JAVA_VERSION="7+"
+JAVA_CONFIGURE_ENABLE= java
+JAVA_CPPFLAGS= -I"${JAVA_HOME}/include"
+JAVA_CONFIGURE_ENV= JAVAC="${JAVAC}" JAR="${JAR}" JAVA="${JAVA}"
+TCL_CONFIGURE_ENABLE= tcl
+TCL_USES= tcl
+TCL_CONFIGURE_WITH= tcl=${TCL_LIBDIR}
+TCL_VARS= DBLIBS+=libdb_tcl
+DOCS_INSTALL_TARGET= install_docs
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == aarch64
+CONFIGURE_ARGS+= --with-mutex=POSIX/pthreads
+.endif
+
+post-install:
+.for i in ${DBLIBS}
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.so
+ ${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so ${STAGEDIR}${PREFIX}/lib
+ ${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so ${STAGEDIR}${PREFIX}/lib/${i}-${BDBMAJ}.so
+ ${LN} -s -f ${i}-${BDBVER}.a ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}.a
+.endfor
+ cd ${STAGEDIR}${PREFIX}/bin/${PORTNAME}; \
+ for i in *; do ${LN} -s -f ${PORTNAME}/$$i ../$$i-${BDBVER} ; done
+
+post-install-JAVA-off:
+ ${RM} -r ${STAGEDIR}${DOCSDIR}/java
+.for i in gsg gsg_db_rep gsg_txn
+ ${RM} -r ${STAGEDIR}${DOCSDIR}/${i}/JAVA
+.endfor
+
+post-install-TCL-on:
+ echo "package ifneeded Db_tcl ${BDBVER} \
+ [list load [file join $$dir libdb_tcl-${BDBVER}.so]] \
+ " > ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/pkgIndex.tcl
+
+post-install-TCL-off:
+.for i in api_reference/TCL
+ ${RM} -r ${STAGEDIR}${DOCSDIR}/${i}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/databases/db18/distinfo b/databases/db18/distinfo
new file mode 100644
index 000000000000..3fce80e3ef99
--- /dev/null
+++ b/databases/db18/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1595521725
+SHA256 (bdb/db-18.1.40.tar.gz) = 0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8
+SIZE (bdb/db-18.1.40.tar.gz) = 30763705
diff --git a/databases/db18/files/patch-src_dbinc_mutex__int.h b/databases/db18/files/patch-src_dbinc_mutex__int.h
new file mode 100644
index 000000000000..7f85db3b67eb
--- /dev/null
+++ b/databases/db18/files/patch-src_dbinc_mutex__int.h
@@ -0,0 +1,34 @@
+--- src/dbinc/mutex_int.h.orig 2016-03-28 19:45:54 UTC
++++ src/dbinc/mutex_int.h
+@@ -9,6 +9,7 @@
+ #ifndef _DB_MUTEX_INT_H_
+ #define _DB_MUTEX_INT_H_
+
++#include <machine/atomic.h>
+ #include "dbinc/atomic.h"
+
+ #if defined(__cplusplus)
+@@ -506,11 +507,11 @@ typedef unsigned int tsl_t;
+ #define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)
+ #define MUTEX_INIT(tsl) (MUTEX_UNSET(tsl), 0)
+ #define MUTEX_MEMBAR(x) \
+- ({ __asm__ volatile ("dsb"); })
++ dsb(x)
+ #define MEMBAR_ENTER() \
+- ({ __asm__ volatile ("dsb"); })
++ dsb()
+ #define MEMBAR_EXIT() \
+- ({ __asm__ volatile ("dsb"); })
++ dsb()
+ #endif
+ #endif
+
+@@ -652,7 +652,7 @@ MUTEX_SET(int *tsl) {
+ : "=&r" (__r), "+r" (tsl)
+ :
+ : "cr0", "memory");
+- return (int)tsl;
++ return (tsl != 0);
+ }
+
+ static inline int
diff --git a/databases/db18/pkg-descr b/databases/db18/pkg-descr
new file mode 100644
index 000000000000..9b21659e3894
--- /dev/null
+++ b/databases/db18/pkg-descr
@@ -0,0 +1,11 @@
+Oracle Berkeley DB is a family of open source embeddable databases
+that allows developers to incorporate within their applications a
+fast, scalable, transactional database engine with industrial grade
+reliability and availability. As a result, customers and end-users
+will experience an application that simply works, reliably manages
+data, can scale under extreme load, but requires no ongoing database
+administration. As a developer, you can focus on your application and
+be confident that Oracle Berkeley DB will manage your persistence
+needs.
+
+WWW: https://www.oracle.com/database/berkeley-db/
diff --git a/databases/db18/pkg-plist b/databases/db18/pkg-plist
new file mode 100644
index 000000000000..6d403aa151a0
--- /dev/null
+++ b/databases/db18/pkg-plist
@@ -0,0 +1,86 @@
+bin/db%%BDBMAJ%%/db_archive
+bin/db%%BDBMAJ%%/db_checkpoint
+bin/db%%BDBMAJ%%/db_convert
+bin/db%%BDBMAJ%%/db_deadlock
+bin/db%%BDBMAJ%%/db_dump
+bin/db%%BDBMAJ%%/db_dump185
+bin/db%%BDBMAJ%%/db_hotbackup
+bin/db%%BDBMAJ%%/db_load
+bin/db%%BDBMAJ%%/db_log_verify
+bin/db%%BDBMAJ%%/db_printlog
+bin/db%%BDBMAJ%%/db_recover
+bin/db%%BDBMAJ%%/db_replicate
+bin/db%%BDBMAJ%%/db_stat
+bin/db%%BDBMAJ%%/db_tuner
+bin/db%%BDBMAJ%%/db_upgrade
+bin/db%%BDBMAJ%%/db_verify
+bin/db_archive-%%BDBVER%%
+bin/db_checkpoint-%%BDBVER%%
+bin/db_convert-%%BDBVER%%
+bin/db_deadlock-%%BDBVER%%
+bin/db_dump-%%BDBVER%%
+bin/db_dump185-%%BDBVER%%
+bin/db_hotbackup-%%BDBVER%%
+bin/db_load-%%BDBVER%%
+bin/db_log_verify-%%BDBVER%%
+bin/db_printlog-%%BDBVER%%
+bin/db_recover-%%BDBVER%%
+bin/db_replicate-%%BDBVER%%
+bin/db_stat-%%BDBVER%%
+bin/db_tuner-%%BDBVER%%
+bin/db_upgrade-%%BDBVER%%
+bin/db_verify-%%BDBVER%%
+include/db%%BDBMAJ%%/db.h
+include/db%%BDBMAJ%%/db_185.h
+include/db%%BDBMAJ%%/db_cxx.h
+include/db%%BDBMAJ%%/dbstl_base_iterator.h
+include/db%%BDBMAJ%%/dbstl_common.h
+include/db%%BDBMAJ%%/dbstl_container.h
+include/db%%BDBMAJ%%/dbstl_dbc.h
+include/db%%BDBMAJ%%/dbstl_dbt.h
+include/db%%BDBMAJ%%/dbstl_element_ref.h
+include/db%%BDBMAJ%%/dbstl_exception.h
+include/db%%BDBMAJ%%/dbstl_inner_utility.h
+include/db%%BDBMAJ%%/dbstl_map.h
+include/db%%BDBMAJ%%/dbstl_resource_manager.h
+include/db%%BDBMAJ%%/dbstl_set.h
+include/db%%BDBMAJ%%/dbstl_utility.h
+include/db%%BDBMAJ%%/dbstl_vector.h
+%%JAVA%%lib/db%%BDBMAJ%%/db.jar
+lib/db%%BDBMAJ%%/libdb-%%BDBVER%%.a
+lib/db%%BDBMAJ%%/libdb-%%BDBVER%%.so
+lib/db%%BDBMAJ%%/libdb-%%BDBMAJ%%.so
+lib/db%%BDBMAJ%%/libdb.a
+lib/db%%BDBMAJ%%/libdb.so
+lib/db%%BDBMAJ%%/libdb_cxx-%%BDBVER%%.a
+lib/db%%BDBMAJ%%/libdb_cxx-%%BDBVER%%.so
+lib/db%%BDBMAJ%%/libdb_cxx-%%BDBMAJ%%.so
+lib/db%%BDBMAJ%%/libdb_cxx.a
+lib/db%%BDBMAJ%%/libdb_cxx.so
+%%JAVA%%lib/db%%BDBMAJ%%/libdb_java-%%BDBVER%%.a
+%%JAVA%%lib/db%%BDBMAJ%%/libdb_java-%%BDBVER%%.so
+%%JAVA%%lib/db%%BDBMAJ%%/libdb_java-%%BDBVER%%_g.so
+%%JAVA%%lib/db%%BDBMAJ%%/libdb_java.a
+%%JAVA%%lib/db%%BDBMAJ%%/libdb_java.so
+%%JAVA%%lib/db%%BDBMAJ%%/libdb_java-%%BDBMAJ%%.so
+lib/db%%BDBMAJ%%/libdb_stl-%%BDBVER%%.a
+lib/db%%BDBMAJ%%/libdb_stl-%%BDBVER%%.so
+lib/db%%BDBMAJ%%/libdb_stl-%%BDBMAJ%%.so
+lib/db%%BDBMAJ%%/libdb_stl.a
+lib/db%%BDBMAJ%%/libdb_stl.so
+lib/libdb-%%BDBVER%%.so
+lib/libdb-%%BDBMAJ%%.so
+lib/libdb_cxx-%%BDBVER%%.so
+lib/libdb_cxx-%%BDBMAJ%%.so
+%%JAVA%%lib/libdb_java-%%BDBVER%%.so
+%%JAVA%%lib/libdb_java-%%BDBMAJ%%.so
+lib/libdb_stl-%%BDBVER%%.so
+lib/libdb_stl-%%BDBMAJ%%.so
+%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl-%%BDBVER%%.a
+%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl-%%BDBVER%%.so
+%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl-%%BDBMAJ%%.so
+%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl.a
+%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl.so
+%%TCL%%lib/db%%BDBMAJ%%/pkgIndex.tcl
+%%TCL%%lib/libdb_tcl-%%BDBVER%%.so
+%%TCL%%lib/libdb_tcl-%%BDBMAJ%%.so