diff options
author | Pawel Pekala <pawel@FreeBSD.org> | 2013-03-28 00:59:17 +0800 |
---|---|---|
committer | Pawel Pekala <pawel@FreeBSD.org> | 2013-03-28 00:59:17 +0800 |
commit | 134da7dfa5e2e30a8f4e0a531148ce3351366d19 (patch) | |
tree | 4713c52b14091def2643bdff04614d2fb3002444 | |
parent | be82768dae59b0c1cff329fed966f60b9b4c1288 (diff) | |
download | freebsd-ports-gnome-134da7dfa5e2e30a8f4e0a531148ce3351366d19.tar.gz freebsd-ports-gnome-134da7dfa5e2e30a8f4e0a531148ce3351366d19.tar.zst freebsd-ports-gnome-134da7dfa5e2e30a8f4e0a531148ce3351366d19.zip |
pyspatialite is an interface to the SQLite 3.x embedded relational database
engine with spatialite extensions.
It is almost fully compliant with the Python database API version 2.0 also
exposes the unique features of SQLite and spatialite.
WWW: https://code.google.com/p/pyspatialite/
PR: ports/173079
Submitted by: lbartoletti <coder@tuxfamily.org>
-rw-r--r-- | databases/Makefile | 1 | ||||
-rw-r--r-- | databases/pyspatialite/Makefile | 29 | ||||
-rw-r--r-- | databases/pyspatialite/distinfo | 4 | ||||
-rw-r--r-- | databases/pyspatialite/files/patch-setup.py | 85 | ||||
-rw-r--r-- | databases/pyspatialite/files/patch-src-connection.h | 11 | ||||
-rw-r--r-- | databases/pyspatialite/pkg-descr | 6 | ||||
-rw-r--r-- | databases/pyspatialite/pkg-plist | 52 |
7 files changed, 188 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile index fc1369890b76..c062f97655cb 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -767,6 +767,7 @@ SUBDIR += pydbdesigner SUBDIR += pydbx SUBDIR += pymongo + SUBDIR += pyspatialite SUBDIR += qdbm SUBDIR += qdbm-plus SUBDIR += qt-mysql-plugin diff --git a/databases/pyspatialite/Makefile b/databases/pyspatialite/Makefile new file mode 100644 index 000000000000..819bdf067cfd --- /dev/null +++ b/databases/pyspatialite/Makefile @@ -0,0 +1,29 @@ +# Created by: lbartoletti <coder@tuxfamily.org> +# $FreeBSD$ + +PORTNAME= pyspatialite +PORTVERSION= 3.0.1 +CATEGORIES= databases python +MASTER_SITES= CHEESESHOP:pyspatialite \ + http://www.gaia-gis.it/gaia-sins/libspatialite-sources/:amalgam +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:pyspatialite \ + ${AMALGAMATION_NAME}${EXTRACT_SUFX}:amalgam + +MAINTAINER= coder@tuxfamily.org +COMMENT= DB-API 2.0 interface for SQLite 3.x with Spatialite 3.x + +LIB_DEPENDS= spatialite:${PORTSDIR}/databases/spatialite + +USE_PYTHON= yes +USE_PYDISTUTILS=yes +PYDISTUTILS_PKGNAME= pyspatialite + +AMALGAMATION_NAME= libspatialite-amalgamation-${PORTVERSION} + +post-patch: + @${REINPLACE_CMD} -e "s|pyspatialite-doc|${DOCSDIR}|g" \ + -e "s|%%LOCALBASE%%|${LOCALBASE}|g" ${WRKSRC}/setup.py + @${MV} ${WRKDIR}/${AMALGAMATION_NAME} ${WRKSRC}/amalgamation + +.include <bsd.port.mk> diff --git a/databases/pyspatialite/distinfo b/databases/pyspatialite/distinfo new file mode 100644 index 000000000000..d56383f8b249 --- /dev/null +++ b/databases/pyspatialite/distinfo @@ -0,0 +1,4 @@ +SHA256 (pyspatialite-3.0.1.tar.gz) = 81a3e4966fb6348802a985486cbf62e019a0fcb0a1e006b9522e8b02dc08f238 +SIZE (pyspatialite-3.0.1.tar.gz) = 75099 +SHA256 (libspatialite-amalgamation-3.0.1.tar.gz) = 51f08c6c9180b1f8979d0469960a5c20a79a574c08fe032ae292042245ad46b6 +SIZE (libspatialite-amalgamation-3.0.1.tar.gz) = 2485779 diff --git a/databases/pyspatialite/files/patch-setup.py b/databases/pyspatialite/files/patch-setup.py new file mode 100644 index 000000000000..beb65587af07 --- /dev/null +++ b/databases/pyspatialite/files/patch-setup.py @@ -0,0 +1,85 @@ +--- setup.py.orig 2012-01-11 23:54:57.000000000 +0100 ++++ setup.py 2013-03-24 09:52:46.000000000 +0100 +@@ -44,7 +44,7 @@ + + include_dirs = [] + library_dirs = [] +-libraries = ['geos','geos_c','proj'] ++libraries = ['geos','geos_c','proj','iconv'] + runtime_library_dirs = [] + extra_objects = [] + define_macros = [] +@@ -86,29 +86,30 @@ + + def get_amalgamation(): + """Download the Spatialite amalgamation if it isn't there, already.""" +- if os.path.exists(AMALGAMATION_ROOT): +- return +- os.mkdir(AMALGAMATION_ROOT) +- print "Downloading amalgation." +- +- # find out what's current amalgamation ZIP file +- download_page = urllib.urlopen("https://www.gaia-gis.it/fossil/libspatialite/index").read() +- pattern = re.compile("(libspatialite-amalgamation.*?\.zip)") +- download_file = pattern.findall(download_page)[0] +- amalgamation_url = "http://www.gaia-gis.it/gaia-sins/" + download_file +- zip_dir = string.replace(download_file,'.zip','') +- # and download it +- urllib.urlretrieve(amalgamation_url, "tmp.zip") +- +- zf = zipfile.ZipFile("tmp.zip") +- files = ["sqlite3.c", "headers/spatialite/sqlite3.h", "spatialite.c", "headers/spatialite/sqlite3ext.h","headers/spatialite/spatialite.h","headers/spatialite/gaiaaux.h","headers/spatialite/gaiaexif.h","headers/spatialite/gaiageo.h"] +- for fn in files: +- print "Extracting", fn +- outf = open(AMALGAMATION_ROOT + os.sep + string.split(fn,'/')[-1], "wb") +- outf.write(zf.read(zip_dir + '/' + fn)) +- outf.close() +- zf.close() +- os.unlink("tmp.zip") ++# into ${FILESDIR} for FreeBSD ++# if os.path.exists(AMALGAMATION_ROOT): ++# return ++# os.mkdir(AMALGAMATION_ROOT) ++# print "Downloading amalgation." ++# ++# # find out what's current amalgamation ZIP file ++# download_page = urllib.urlopen("http://www.gaia-gis.it/gaia-sins/libspatialite-sources/").read() ++# pattern = re.compile("(libspatialite-amalgamation.*?\.zip)") ++# download_file = pattern.findall(download_page)[-1] ++# amalgamation_url = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/" + download_file ++# zip_dir = string.replace(download_file,'.zip','') ++# # and download it ++# urllib.urlretrieve(amalgamation_url, "tmp.zip") ++# ++# zf = zipfile.ZipFile("tmp.zip") ++# files = ["sqlite3.c", "headers/spatialite/sqlite3.h", "spatialite.c", "headers/spatialite/sqlite3ext.h","headers/spatialite/spatialite.h","headers/spatialite/gaiaaux.h","headers/spatialite/gaiaexif.h","headers/spatialite/gaiageo.h"] ++# for fn in files: ++# print "Extracting", fn ++# outf = open(AMALGAMATION_ROOT + os.sep + string.split(fn,'/')[-1], "wb") ++# outf.write(zf.read(zip_dir + '/' + fn)) ++# outf.close() ++# zf.close() ++# os.unlink("tmp.zip") + + class MyBuildExt(build_ext): + +@@ -119,8 +120,10 @@ + ext.libraries.append("iconv") + + #Default locations for Mac ++ ext.include_dirs.append("%%LOCALBASE%%/include/") + ext.include_dirs.append("/Library/Frameworks/GEOS.framework/unix/include/") + ext.include_dirs.append("/Library/Frameworks/PROJ.framework/unix/include/") ++ ext.library_dirs.append("%%LOCALBASE%%/lib") + ext.library_dirs.append("/Library/Frameworks/GEOS.framework/unix/lib") + ext.library_dirs.append("/Library/Frameworks/PROJ.framework/unix/lib") + +@@ -132,7 +135,7 @@ + ext.sources.append(os.path.join(AMALGAMATION_ROOT, "spatialite.c")) + ext.include_dirs.append(AMALGAMATION_ROOT) + build_ext.build_extension(self, ext) +- ++ + + # def __setattr__(self, k, v): + # # Make sure we don't link against the SQLite library, no matter what setup.cfg says diff --git a/databases/pyspatialite/files/patch-src-connection.h b/databases/pyspatialite/files/patch-src-connection.h new file mode 100644 index 000000000000..34df7abbef34 --- /dev/null +++ b/databases/pyspatialite/files/patch-src-connection.h @@ -0,0 +1,11 @@ +--- src/connection.h.bak 2012-10-25 19:40:06.000000000 +0200 ++++ src/connection.h 2012-10-25 19:40:25.000000000 +0200 +@@ -33,8 +33,6 @@ + #include "sqlite3.h" + #include "spatialite.h" + +-int spatialite_init(int verbose); +- + typedef struct + { + PyObject_HEAD diff --git a/databases/pyspatialite/pkg-descr b/databases/pyspatialite/pkg-descr new file mode 100644 index 000000000000..2d067f18583b --- /dev/null +++ b/databases/pyspatialite/pkg-descr @@ -0,0 +1,6 @@ +pyspatialite is an interface to the SQLite 3.x embedded relational database +engine with spatialite extensions. +It is almost fully compliant with the Python database API version 2.0 also +exposes the unique features of SQLite and spatialite. + +WWW: https://code.google.com/p/pyspatialite/ diff --git a/databases/pyspatialite/pkg-plist b/databases/pyspatialite/pkg-plist new file mode 100644 index 000000000000..2cd80b63e295 --- /dev/null +++ b/databases/pyspatialite/pkg-plist @@ -0,0 +1,52 @@ +%%PYTHON_SITELIBDIR%%/pyspatialite/__init__.py +%%PYTHON_SITELIBDIR%%/pyspatialite/__init__.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/__init__.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/_spatialite.so +%%PYTHON_SITELIBDIR%%/pyspatialite/dbapi2.py +%%PYTHON_SITELIBDIR%%/pyspatialite/dbapi2.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/dbapi2.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/dump.py +%%PYTHON_SITELIBDIR%%/pyspatialite/dump.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/dump.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/__init__.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/__init__.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/__init__.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/dbapi.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/dbapi.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/dbapi.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/dump.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/dump.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/dump.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/factory.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/factory.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/factory.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/hooks.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/hooks.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/hooks.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/py25/__init__.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/py25/__init__.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/py25/__init__.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/py25/py25tests.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/py25/py25tests.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/py25/py25tests.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/regression.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/regression.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/regression.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/spatial.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/spatial.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/spatial.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/transactions.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/transactions.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/transactions.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/types.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/types.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/types.pyo +%%PYTHON_SITELIBDIR%%/pyspatialite/test/userfunctions.py +%%PYTHON_SITELIBDIR%%/pyspatialite/test/userfunctions.pyc +%%PYTHON_SITELIBDIR%%/pyspatialite/test/userfunctions.pyo +%%DOCSDIR%%/install-source.txt +@dirrm %%DOCSDIR%%/code +@dirrm %%DOCSDIR%% +@dirrm %%PYTHON_SITELIBDIR%%/pyspatialite/test/py25 +@dirrm %%PYTHON_SITELIBDIR%%/pyspatialite/test +@dirrm %%PYTHON_SITELIBDIR%%/pyspatialite |