aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2021-02-12 18:46:10 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2021-02-12 18:46:10 +0000
commita642e6f1196a1a07a8326ad069d81f052cce69fe (patch)
treecb562f78c81b9e2650aceb01dd7d1424778cbc02
parent19ad9cf279c05be4b384240f9fa436c740ae4c99 (diff)
Notes
-rw-r--r--databases/Makefile1
-rw-r--r--databases/py-berkeleydb/Makefile39
-rw-r--r--databases/py-berkeleydb/distinfo3
-rw-r--r--databases/py-berkeleydb/files/patch-setup2.py35
-rw-r--r--databases/py-berkeleydb/files/patch-setup3.py35
-rw-r--r--databases/py-berkeleydb/pkg-descr10
6 files changed, 123 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index a5054797dcfc..229d6a5ee077 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -743,6 +743,7 @@
SUBDIR += py-apsw
SUBDIR += py-asyncpg
SUBDIR += py-bsddb3
+ SUBDIR += py-berkeleydb
SUBDIR += py-carbon
SUBDIR += py-cassandra-driver
SUBDIR += py-couchdb
diff --git a/databases/py-berkeleydb/Makefile b/databases/py-berkeleydb/Makefile
new file mode 100644
index 000000000000..06dbc98a9113
--- /dev/null
+++ b/databases/py-berkeleydb/Makefile
@@ -0,0 +1,39 @@
+# Created by: Hye-Shik Chang <perky@python.or.kr>
+# $FreeBSD$
+
+PORTNAME= bsddb3
+PORTVERSION= 6.2.9
+CATEGORIES= databases python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= bofh@FreeBSD.org
+COMMENT= Python extension module for BerkeleyDB 4.7, 4.8, 5.1, 5.3, 6.1 and 6.2
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+USES= bdb python:3.6+
+USE_PYTHON= distutils autoplist
+
+PYDISTUTILS_CONFIGUREARGS=--libs="-l${BDB_LIB_NAME}" --berkeley-db=${LOCALBASE}
+PYDISTUTILS_BUILDARGS= --libs="-l${BDB_LIB_NAME}" --berkeley-db=${LOCALBASE}
+PYDISTUTILS_INSTALLARGS=-c -O1 --prefix=${PREFIX} --berkeley-db=${LOCALBASE}
+
+PORTDOCS= *
+DOCSDIR= ${PREFIX}/share/doc/${PYTHON_PKGNAMEPREFIX}${PORTNAME}
+
+OPTIONS_DEFINE= DOCS
+
+post-patch:
+ @${REINPLACE_CMD} 's,%%DBVERSION%%,${BDB_LIB_NAME},g' ${WRKSRC}/setup2.py ${WRKSRC}/setup3.py
+ @${REINPLACE_CMD} 's,<db\.h>,<${BDB_INCLUDE_DIR}/db.h>,' ${WRKSRC}/Modules/bsddb.h
+ @${REINPLACE_CMD} 's,%%BDB_INCLUDE_DIR%%,${BDB_INCLUDE_DIR},' ${WRKSRC}/setup2.py ${WRKSRC}/setup3.py
+ @${REINPLACE_CMD} 's,%%BDB_LIB_NAME%%,${BDB_LIB_NAME},' ${WRKSRC}/setup3.py
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ @(cd ${WRKSRC}/docs && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR})
+ @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/bsddb3/_pybsddb*.so
+
+.include <bsd.port.mk>
diff --git a/databases/py-berkeleydb/distinfo b/databases/py-berkeleydb/distinfo
new file mode 100644
index 000000000000..f20e3e92035b
--- /dev/null
+++ b/databases/py-berkeleydb/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1609332820
+SHA256 (bsddb3-6.2.9.tar.gz) = 70d05ec8dc568f42e70fc919a442e0daadc2a905a1cfb7ca77f549d49d6e7801
+SIZE (bsddb3-6.2.9.tar.gz) = 230475
diff --git a/databases/py-berkeleydb/files/patch-setup2.py b/databases/py-berkeleydb/files/patch-setup2.py
new file mode 100644
index 000000000000..4ed3fdfd8d8f
--- /dev/null
+++ b/databases/py-berkeleydb/files/patch-setup2.py
@@ -0,0 +1,35 @@
+--- setup2.py.orig 2016-02-08 21:14:26 UTC
++++ setup2.py
+@@ -81,11 +81,7 @@ if (sys.version_info[0] < 3) and (sys.ve
+ category=DeprecationWarning)
+
+
+-try :
+- from setuptools import setup, Extension
+-except :
+- from distutils.core import setup, Extension
+-
++from distutils.core import setup, Extension
+ from distutils.dep_util import newer
+ import distutils.ccompiler
+
+@@ -288,8 +284,8 @@ if os.name == 'posix':
+ incdir = os.path.join(BERKELEYDB_DIR, 'include')
+ if not libdir:
+ libdir = os.path.join(BERKELEYDB_DIR, 'lib')
+- if not '-ldb' in LIBS:
+- libname = [dblib]
++ if not '-l%%DBVERSION%%' in LIBS:
++ libname = ['%%DBVERSION%%']
+ else:
+ if debug: print "LIBS already contains '-ldb' not adding our own", "'-l"+dblib+"'"
+ libname = []
+@@ -328,7 +324,7 @@ if os.name == 'posix':
+
+ # read db.h to figure out what version of Berkeley DB this is
+ ver = None
+- with open(os.path.join(incdir, 'db.h'), 'r') as f :
++ with open('%%BDB_INCLUDE_DIR%%/db.h', 'r') as f :
+ db_h_lines = f.readlines()
+ db_ver_re = re.compile(
+ r'^#define\s+DB_VERSION_STRING\s.*Berkeley DB (\d+\.\d+).*')
diff --git a/databases/py-berkeleydb/files/patch-setup3.py b/databases/py-berkeleydb/files/patch-setup3.py
new file mode 100644
index 000000000000..3ff9359b825d
--- /dev/null
+++ b/databases/py-berkeleydb/files/patch-setup3.py
@@ -0,0 +1,35 @@
+--- setup3.py.orig 2016-02-08 21:18:47 UTC
++++ setup3.py
+@@ -81,11 +81,7 @@ if (sys.version_info[0] < 3) and (sys.ve
+ category=DeprecationWarning)
+
+
+-try :
+- from setuptools import setup, Extension
+-except :
+- from distutils.core import setup, Extension
+-
++from distutils.core import setup, Extension
+ from distutils.dep_util import newer
+ import distutils.ccompiler
+
+@@ -288,8 +284,8 @@ if os.name == 'posix':
+ incdir = os.path.join(BERKELEYDB_DIR, 'include')
+ if not libdir:
+ libdir = os.path.join(BERKELEYDB_DIR, 'lib')
+- if not '-ldb' in LIBS:
+- libname = [dblib]
++ if not '-l%%BDB_LIB_NAME%%' in LIBS:
++ libname = ['%%BDB_LIB_NAME%%']
+ else:
+ if debug: print("LIBS already contains '-ldb' not adding our own", "'-l"+dblib+"'")
+ libname = []
+@@ -328,7 +324,7 @@ if os.name == 'posix':
+
+ # read db.h to figure out what version of Berkeley DB this is
+ ver = None
+- with open(os.path.join(incdir, 'db.h'), 'r') as f :
++ with open('%%BDB_INCLUDE_DIR%%/db.h', 'r') as f :
+ db_h_lines = f.readlines()
+ db_ver_re = re.compile(
+ r'^#define\s+DB_VERSION_STRING\s.*Berkeley DB (\d+\.\d+).*')
diff --git a/databases/py-berkeleydb/pkg-descr b/databases/py-berkeleydb/pkg-descr
new file mode 100644
index 000000000000..96b435f1479e
--- /dev/null
+++ b/databases/py-berkeleydb/pkg-descr
@@ -0,0 +1,10 @@
+This module provides a nearly complete wrapping of the Sleepycat C API
+for the Database Environment, Database, Cursor, and Transaction
+objects, and each of these is exposed as a Python Type in the
+bsddb3.db module. The database objects can use different access
+methods, btree, hash, recno, and queue. For the first time all of
+these are fully supported in the Python wrappers. Please see the
+document in developers' web site for more details on the types and
+methods provided.
+
+WWW: https://www.jcea.es/programacion/pybsddb.htm