aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adam Duskett <aduskett@gmail.com>2018-03-12 06:12:31 -0400
committerGravatar Thomas Petazzoni <thomas.petazzoni@bootlin.com>2018-04-05 09:36:01 +0200
commit88f3cdb8dc0f23cd9bcd656404350d649b01ba6e (patch)
tree3fcfe445c18da2d169ee486f0d35dc697843634e
parent9fec3eb9131dba46cbf8474a7def05a076990079 (diff)
downloadbuildroot-88f3cdb8dc0f23cd9bcd656404350d649b01ba6e.tar.gz
buildroot-88f3cdb8dc0f23cd9bcd656404350d649b01ba6e.tar.bz2
python-psycopg2: new package
Psycopg is the most popular PostgreSQL database adapter for the Python programming language. Its main features are the complete implementation of the Python DB API 2.0 specification and the thread safety (several threads can share the same connection). It was designed for heavily multi-threaded applications that create and destroy lots of cursors and make a large number of concurrent INSERTs or UPDATEs. Signed-off-by: Adam Duskett <aduskett@gmail.com> Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-rw-r--r--DEVELOPERS1
-rw-r--r--package/Config.in1
-rw-r--r--package/python-psycopg2/Config.in22
-rw-r--r--package/python-psycopg2/python-psycopg2.hash4
-rw-r--r--package/python-psycopg2/python-psycopg2.mk20
5 files changed, 48 insertions, 0 deletions
diff --git a/DEVELOPERS b/DEVELOPERS
index 68374efd01..9d23fa51b8 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -53,6 +53,7 @@ F: package/nginx-naxsi/
F: package/policycoreutils/
F: package/python-flask-sqlalchemy/
F: package/python-mutagen/
+F: package/python-psycopg2/
F: package/python-sqlalchemy/
F: package/restorecond/
F: package/refpolicy/
diff --git a/package/Config.in b/package/Config.in
index 82c5c40531..53d7cb2cfa 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -859,6 +859,7 @@ menu "External python modules"
source "package/python-prompt-toolkit/Config.in"
source "package/python-protobuf/Config.in"
source "package/python-psutil/Config.in"
+ source "package/python-psycopg2/Config.in"
source "package/python-ptyprocess/Config.in"
source "package/python-pudb/Config.in"
source "package/python-pyasn/Config.in"
diff --git a/package/python-psycopg2/Config.in b/package/python-psycopg2/Config.in
new file mode 100644
index 0000000000..ec852bb49e
--- /dev/null
+++ b/package/python-psycopg2/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_PYTHON_PSYCOPG2
+ bool "python-psycopg2"
+ select BR2_PACKAGE_POSTGRESQL
+ help
+ Psycopg is the most popular PostgreSQL database adapter for
+ the Python programming language. Its main features are the
+ complete implementation of the Python DB API 2.0 specification
+ and the thread safety (several threads can share the same
+ connection). It was designed for heavily multi-threaded
+ applications that create and destroy lots of cursors and make
+ a large number of concurrent INSERTs or UPDATEs.
+
+ Psycopg 2 is mostly implemented in C as a libpq wrapper,
+ resulting in being both efficient and secure. It features
+ client-side and server-side cursors, asynchronous
+ communication and notifications, COPY support. Many Python
+ types are supported out-of-the-box and adapted to matching
+ PostgreSQL data types; adaptation can be extended and
+ customized thanks to a flexible objects adaptation system.
+ Psycopg 2 is both Unicode and Python 3 friendly.
+
+ http://initd.org/psycopg/
diff --git a/package/python-psycopg2/python-psycopg2.hash b/package/python-psycopg2/python-psycopg2.hash
new file mode 100644
index 0000000000..ea4a07697b
--- /dev/null
+++ b/package/python-psycopg2/python-psycopg2.hash
@@ -0,0 +1,4 @@
+# md5 from https://pypi.python.org/pypi/psycopg2/json, sha256 locally computed
+md5 70fc57072e084565a42689d416cf2c5c psycopg2-2.7.4.tar.gz
+sha256 8bf51191d60f6987482ef0cfe8511bbf4877a5aa7f313d7b488b53189cf26209 psycopg2-2.7.4.tar.gz
+sha256 1752db3c786e12b62ca804178dca033adce8bff4c4b3d98d3449d407fe45210d LICENSE
diff --git a/package/python-psycopg2/python-psycopg2.mk b/package/python-psycopg2/python-psycopg2.mk
new file mode 100644
index 0000000000..e9327f4607
--- /dev/null
+++ b/package/python-psycopg2/python-psycopg2.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# python-psycopg2
+#
+################################################################################
+
+PYTHON_PSYCOPG2_VERSION = 2.7.4
+PYTHON_PSYCOPG2_SOURCE = psycopg2-$(PYTHON_PSYCOPG2_VERSION).tar.gz
+PYTHON_PSYCOPG2_SITE = https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462
+PYTHON_PSYCOPG2_SETUP_TYPE = setuptools
+PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+
+PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE
+PYTHON_PSYCOPG2_DEPENDENCIES = postgresql
+
+# Force psycopg2 to use the Buildroot provided postgresql version
+# instead of the one from the host machine
+PYTHON_PSYCOPG2_BUILD_OPTS = build_ext --pg-config=$(STAGING_DIR)/usr/bin/pg_config
+PYTHON_PSYCOPG2_INSTALL_TARGET_OPTS = build_ext --pg-config=$(STAGING_DIR)/usr/bin/pg_config
+
+$(eval $(python-package))