aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPawel Pekala <pawel@FreeBSD.org>2013-03-27 16:59:17 +0000
committerPawel Pekala <pawel@FreeBSD.org>2013-03-27 16:59:17 +0000
commit134da7dfa5e2e30a8f4e0a531148ce3351366d19 (patch)
tree4713c52b14091def2643bdff04614d2fb3002444
parentbe82768dae59b0c1cff329fed966f60b9b4c1288 (diff)
Notes
-rw-r--r--databases/Makefile1
-rw-r--r--databases/pyspatialite/Makefile29
-rw-r--r--databases/pyspatialite/distinfo4
-rw-r--r--databases/pyspatialite/files/patch-setup.py85
-rw-r--r--databases/pyspatialite/files/patch-src-connection.h11
-rw-r--r--databases/pyspatialite/pkg-descr6
-rw-r--r--databases/pyspatialite/pkg-plist52
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