Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
xml | 2013-12-07 | ||
unittest | 2013-12-07 | ||
test | 2013-12-07 | ||
sqlite3 | 2013-12-07 | ||
multiprocessing | 2013-12-07 | ||
lib2to3 | 2013-12-07 | ||
lib-tk | 2013-12-07 | ||
json | 2013-12-07 | ||
idlelib | 2013-12-07 | ||
2013-12-07 | |||
distutils | 2013-12-07 | ||
ctypes | 2013-12-07 | ||
bsddb | 2013-12-07 | ||
wsgiref | 2013-12-07 | ||
site-packages | 2013-12-07 | ||
pydoc_data | 2013-12-07 | ||
plat-win | 2013-12-07 | ||
logging | 2013-12-07 | ||
lib-dynload | 2013-12-07 | ||
importlib | 2013-12-07 | ||
hotshot | 2013-12-07 | ||
encodings | 2013-12-07 | ||
curses | 2013-12-07 | ||
config | 2013-12-07 | ||
compiler | 2013-12-07 | ||
__phello__.foo.pyc | 2013-12-07 | 175 Bytes | |
__phello__.foo.pyo | 2013-12-07 | 175 Bytes | |
__future__.pyo | 2013-12-07 | 4.5 kB | |
__phello__.foo.py | 2013-12-07 | 64 Bytes | |
__future__.py | 2013-12-07 | 4.4 kB | |
__future__.pyc | 2013-12-07 | 4.5 kB | |
_weakrefset.pyo | 2013-12-07 | 12.8 kB | |
_weakrefset.py | 2013-12-07 | 6.4 kB | |
_weakrefset.pyc | 2013-12-07 | 10.7 kB | |
_threading_local.pyo | 2013-12-07 | 7.1 kB | |
_threading_local.py | 2013-12-07 | 7.5 kB | |
_threading_local.pyc | 2013-12-07 | 7.1 kB | |
_strptime.pyc | 2013-12-07 | 15.7 kB | |
_strptime.pyo | 2013-12-07 | 15.7 kB | |
_pyio.pyo | 2013-12-07 | 72.7 kB | |
_strptime.py | 2013-12-07 | 19.8 kB | |
_pyio.pyc | 2013-12-07 | 72.7 kB | |
_pyio.py | 2013-12-07 | 68.4 kB | |
_MozillaCookieJar.pyo | 2013-12-07 | 4.6 kB | |
_MozillaCookieJar.py | 2013-12-07 | 5.8 kB | |
_MozillaCookieJar.pyc | 2013-12-07 | 4.7 kB | |
_LWPCookieJar.pyc | 2013-12-07 | 5.8 kB | |
_LWPCookieJar.pyo | 2013-12-07 | 5.8 kB | |
_abcoll.pyo | 2013-12-07 | 27.0 kB | |
_LWPCookieJar.py | 2013-12-07 | 6.6 kB | |
_abcoll.py | 2013-12-07 | 14.7 kB | |
_abcoll.pyc | 2013-12-07 | 22.7 kB | |
zipfile.pyo | 2013-12-07 | 41.2 kB | |
zipfile.pyc | 2013-12-07 | 41.2 kB | |
zipfile.py | 2013-12-07 | 54.1 kB | |
xmlrpclib.pyo | 2013-12-07 | 50.1 kB | |
xmlrpclib.py | 2013-12-07 | 51.3 kB | |
xmlrpclib.pyc | 2013-12-07 | 50.3 kB | |
xmllib.pyc | 2013-12-07 | 29.5 kB | |
xmllib.pyo | 2013-12-07 | 29.5 kB | |
xdrlib.pyo | 2013-12-07 | 11.3 kB | |
xmllib.py | 2013-12-07 | 34.9 kB | |
xdrlib.pyc | 2013-12-07 | 11.3 kB | |
wsgiref.egg-info | 2013-12-07 | 187 Bytes | |
xdrlib.py | 2013-12-07 | 5.6 kB | |
whichdb.pyc | 2013-12-07 | 2.3 kB | |
whichdb.pyo | 2013-12-07 | 2.3 kB | |
webbrowser.pyo | 2013-12-07 | 21.1 kB | |
whichdb.py | 2013-12-07 | 3.4 kB | |
webbrowser.py | 2013-12-07 | 21.7 kB | |
webbrowser.pyc | 2013-12-07 | 21.2 kB | |
weakref.pyc | 2013-12-07 | 16.6 kB | |
weakref.pyo | 2013-12-07 | 16.6 kB | |
weakref.py | 2013-12-07 | 10.7 kB | |
wave.pyo | 2013-12-07 | 21.9 kB | |
wave.py | 2013-12-07 | 18.1 kB | |
wave.pyc | 2013-12-07 | 22.0 kB | |
warnings.pyc | 2013-12-07 | 13.3 kB | |
warnings.pyo | 2013-12-07 | 13.5 kB | |
uuid.pyo | 2013-12-07 | 23.1 kB | |
warnings.py | 2013-12-07 | 14.0 kB | |
uuid.py | 2013-12-07 | 21.1 kB | |
uuid.pyc | 2013-12-07 | 23.1 kB | |
uu.pyc | 2013-12-07 | 4.6 kB | |
uu.pyo | 2013-12-07 | 4.6 kB | |
UserString.pyo | 2013-12-07 | 18.3 kB | |
uu.py | 2013-12-07 | 6.6 kB | |
UserString.py | 2013-12-07 | 9.7 kB | |
UserString.pyc | 2013-12-07 | 18.3 kB | |
UserList.pyc | 2013-12-07 | 8.3 kB | |
UserList.pyo | 2013-12-07 | 8.3 kB | |
UserList.py | 2013-12-07 | 3.6 kB | |
UserDict.pyc | 2013-12-07 | 9.2 kB | |
UserDict.pyo | 2013-12-07 | 11.1 kB | |
user.pyo | 2013-12-07 | 1.8 kB | |
UserDict.py | 2013-12-07 | 5.8 kB | |
urlparse.pyo | 2013-12-07 | 14.8 kB | |
user.py | 2013-12-07 | 1.6 kB | |
user.pyc | 2013-12-07 | 1.8 kB | |
urlparse.pyc | 2013-12-07 | 14.8 kB | |
urllib2.pyo | 2013-12-07 | 52.7 kB | |
urlparse.py | 2013-12-07 | 14.4 kB | |
urllib2.pyc | 2013-12-07 | 52.8 kB | |
urllib2.py | 2013-12-07 | 51.6 kB | |
urllib.pyo | 2013-12-07 | 55.0 kB | |
urllib.pyc | 2013-12-07 | 55.1 kB | |
urllib.py | 2013-12-07 | 57.7 kB | |
types.pyo | 2013-12-07 | 2.8 kB | |
types.py | 2013-12-07 | 2.0 kB | |
types.pyc | 2013-12-07 | 2.6 kB | |
tty.pyc | 2013-12-07 | 1.5 kB | |
tty.pyo | 2013-12-07 | 1.5 kB | |
tty.py | 2013-12-07 | 879 Bytes | |
traceback.pyc | 2013-12-07 | 11.8 kB | |
traceback.pyo | 2013-12-07 | 12.6 kB | |
trace.pyo | 2013-12-07 | 24.4 kB | |
traceback.py | 2013-12-07 | 11.3 kB | |
tokenize.pyo | 2013-12-07 | 14.6 kB | |
trace.pyc | 2013-12-07 | 24.5 kB | |
trace.py | 2013-12-07 | 29.9 kB | |
tokenize.py | 2013-12-07 | 16.5 kB | |
tokenize.pyc | 2013-12-07 | 14.7 kB | |
token.pyc | 2013-12-07 | 4.1 kB | |
token.pyo | 2013-12-07 | 4.1 kB | |
toaiff.pyo | 2013-12-07 | 3.3 kB | |
token.py | 2013-12-07 | 2.9 kB | |
toaiff.py | 2013-12-07 | 3.1 kB | |
toaiff.pyc | 2013-12-07 | 3.3 kB | |
timeit.pyc | 2013-12-07 | 12.4 kB | |
timeit.pyo | 2013-12-07 | 12.4 kB | |
threading.pyo | 2013-12-07 | 31.2 kB | |
timeit.py | 2013-12-07 | 12.1 kB | |
threading.py | 2013-12-07 | 32.5 kB | |
threading.pyc | 2013-12-07 | 33.4 kB | |
this.pyc | 2013-12-07 | 1.3 kB | |
this.pyo | 2013-12-07 | 1.3 kB | |
textwrap.pyc | 2013-12-07 | 12.3 kB | |
textwrap.pyo | 2013-12-07 | 12.2 kB | |
this.py | 2013-12-07 | 1.0 kB | |
textwrap.py | 2013-12-07 | 16.8 kB | |
tempfile.pyc | 2013-12-07 | 22.7 kB | |
tempfile.pyo | 2013-12-07 | 22.7 kB | |
tempfile.py | 2013-12-07 | 18.1 kB | |
telnetlib.pyc | 2013-12-07 | 21.2 kB | |
telnetlib.pyo | 2013-12-07 | 21.2 kB | |
tarfile.pyo | 2013-12-07 | 83.6 kB | |
telnetlib.py | 2013-12-07 | 21.8 kB | |
tarfile.py | 2013-12-07 | 89.0 kB | |
tarfile.pyc | 2013-12-07 | 83.6 kB | |
tabnanny.pyo | 2013-12-07 | 9.2 kB | |
tabnanny.py | 2013-12-07 | 11.3 kB | |
tabnanny.pyc | 2013-12-07 | 9.2 kB | |
sysconfig.pyo | 2013-12-07 | 18.7 kB | |
sysconfig.py | 2013-12-07 | 26.6 kB | |
sysconfig.pyc | 2013-12-07 | 17.6 kB | |
symtable.pyc | 2013-12-07 | 14.4 kB | |
symtable.pyo | 2013-12-07 | 14.2 kB | |
symtable.py | 2013-12-07 | 7.5 kB | |
symbol.pyc | 2013-12-07 | 3.1 kB | |
symbol.pyo | 2013-12-07 | 3.1 kB | |
sunaudio.pyo | 2013-12-07 | 2.2 kB | |
symbol.py | 2013-12-07 | 2.1 kB | |
sunaudio.py | 2013-12-07 | 1.4 kB | |
sunaudio.pyc | 2013-12-07 | 2.2 kB | |
sunau.pyc | 2013-12-07 | 20.3 kB | |
sunau.pyo | 2013-12-07 | 20.3 kB | |
sunau.py | 2013-12-07 | 16.5 kB | |
subprocess.pyc | 2013-12-07 | 42.3 kB | |
subprocess.pyo | 2013-12-07 | 42.3 kB | |
subprocess.py | 2013-12-07 | 55.6 kB | |
struct.pyo | 2013-12-07 | 289 Bytes | |
struct.pyc | 2013-12-07 | 289 Bytes | |
stringprep.pyo | 2013-12-07 | 15.4 kB | |
struct.py | 2013-12-07 | 82 Bytes | |
stringprep.pyc | 2013-12-07 | 15.5 kB | |
stringprep.py | 2013-12-07 | 13.5 kB | |
stringold.pyc | 2013-12-07 | 13.9 kB | |
stringold.pyo | 2013-12-07 | 13.9 kB | |
StringIO.pyc | 2013-12-07 | 12.4 kB | |
stringold.py | 2013-12-07 | 12.4 kB | |
StringIO.pyo | 2013-12-07 | 12.4 kB | |
string.pyo | 2013-12-07 | 22.6 kB | |
StringIO.py | 2013-12-07 | 10.7 kB | |
string.py | 2013-12-07 | 20.8 kB | |
string.pyc | 2013-12-07 | 20.4 kB | |
statvfs.pyc | 2013-12-07 | 670 Bytes | |
statvfs.pyo | 2013-12-07 | 670 Bytes | |
stat.pyo | 2013-12-07 | 3.3 kB | |
statvfs.py | 2013-12-07 | 898 Bytes | |
stat.py | 2013-12-07 | 1.8 kB | |
stat.pyc | 2013-12-07 | 2.8 kB | |
ssl.pyc | 2013-12-07 | 16.1 kB | |
ssl.pyo | 2013-12-07 | 16.1 kB | |
sre_parse.pyo | 2013-12-07 | 20.9 kB | |
ssl.py | 2013-12-07 | 15.9 kB | |
sre_parse.py | 2013-12-07 | 26.8 kB | |
sre_parse.pyc | 2013-12-07 | 19.4 kB | |
sre_constants.pyo | 2013-12-07 | 6.3 kB | |
sre_constants.py | 2013-12-07 | 7.1 kB | |
sre_constants.pyc | 2013-12-07 | 6.1 kB | |
sre_compile.pyc | 2013-12-07 | 11.2 kB | |
sre_compile.pyo | 2013-12-07 | 11.6 kB | |
sre.pyo | 2013-12-07 | 569 Bytes | |
sre_compile.py | 2013-12-07 | 16.4 kB | |
sre.py | 2013-12-07 | 384 Bytes | |
sre.pyc | 2013-12-07 | 569 Bytes | |
SocketServer.pyc | 2013-12-07 | 26.4 kB | |
SocketServer.pyo | 2013-12-07 | 26.4 kB | |
socket.pyo | 2013-12-07 | 17.5 kB | |
SocketServer.py | 2013-12-07 | 23.3 kB | |
socket.py | 2013-12-07 | 20.5 kB | |
socket.pyc | 2013-12-07 | 17.6 kB | |
sndhdr.pyo | 2013-12-07 | 8.2 kB | |
smtplib.pyo | 2013-12-07 | 32.5 kB | |
sndhdr.pyc | 2013-12-07 | 8.2 kB | |
sndhdr.py | 2013-12-07 | 6.0 kB | |
smtplib.pyc | 2013-12-07 | 32.5 kB | |
smtplib.py | 2013-12-07 | 31.1 kB | |
smtpd.pyc | 2013-12-07 | 17.4 kB | |
smtpd.pyo | 2013-12-07 | 17.4 kB | |
site.pyc | 2013-12-07 | 20.2 kB | |
smtpd.py | 2013-12-07 | 18.5 kB | |
site.pyo | 2013-12-07 | 21.8 kB | |
SimpleXMLRPCServer.pyo | 2013-12-07 | 24.6 kB | |
site.py | 2013-12-07 | 20.3 kB | |
SimpleXMLRPCServer.pyc | 2013-12-07 | 24.6 kB | |
SimpleXMLRPCServer.py | 2013-12-07 | 25.8 kB | |
SimpleHTTPServer.pyc | 2013-12-07 | 8.3 kB | |
SimpleHTTPServer.pyo | 2013-12-07 | 8.3 kB | |
shutil.pyo | 2013-12-07 | 19.8 kB | |
SimpleHTTPServer.py | 2013-12-07 | 7.4 kB | |
shutil.py | 2013-12-07 | 18.4 kB | |
shutil.pyc | 2013-12-07 | 19.8 kB | |
shlex.pyc | 2013-12-07 | 8.2 kB | |
shlex.pyo | 2013-12-07 | 8.2 kB | |
shlex.py | 2013-12-07 | 11.1 kB | |
shelve.pyc | 2013-12-07 | 11.6 kB | |
shelve.pyo | 2013-12-07 | 11.6 kB | |
shelve.py | 2013-12-07 | 8.1 kB | |
sha.pyc | 2013-12-07 | 471 Bytes | |
sha.pyo | 2013-12-07 | 471 Bytes | |
sgmllib.pyc | 2013-12-07 | 17.8 kB | |
sgmllib.pyo | 2013-12-07 | 17.8 kB | |
sha.py | 2013-12-07 | 393 Bytes | |
sgmllib.py | 2013-12-07 | 17.9 kB | |
sets.pyo | 2013-12-07 | 19.7 kB | |
sets.py | 2013-12-07 | 19.1 kB | |
sets.pyc | 2013-12-07 | 19.7 kB | |
sched.pyc | 2013-12-07 | 5.4 kB | |
sched.pyo | 2013-12-07 | 5.4 kB | |
sched.py | 2013-12-07 | 5.1 kB | |
runpy.pyc | 2013-12-07 | 9.4 kB | |
runpy.pyo | 2013-12-07 | 9.4 kB | |
robotparser.pyo | 2013-12-07 | 9.1 kB | |
runpy.py | 2013-12-07 | 10.7 kB | |
robotparser.py | 2013-12-07 | 7.2 kB | |
robotparser.pyc | 2013-12-07 | 9.1 kB | |
rlcompleter.pyc | 2013-12-07 | 6.4 kB | |
rlcompleter.pyo | 2013-12-07 | 6.4 kB | |
rfc822.py | 2013-12-07 | 33.3 kB | |
rfc822.pyo | 2013-12-07 | 34.8 kB | |
rlcompleter.py | 2013-12-07 | 5.9 kB | |
rfc822.pyc | 2013-12-07 | 34.8 kB | |
rexec.pyc | 2013-12-07 | 27.1 kB | |
rexec.pyo | 2013-12-07 | 27.1 kB | |
repr.pyo | 2013-12-07 | 6.2 kB | |
rexec.py | 2013-12-07 | 20.1 kB | |
repr.py | 2013-12-07 | 4.3 kB | |
repr.pyc | 2013-12-07 | 6.2 kB | |
re.pyc | 2013-12-07 | 13.3 kB | |
re.pyo | 2013-12-07 | 14.1 kB | |
random.pyo | 2013-12-07 | 27.8 kB | |
re.py | 2013-12-07 | 13.0 kB | |
random.py | 2013-12-07 | 32.3 kB | |
random.pyc | 2013-12-07 | 27.8 kB | |
quopri.pyo | 2013-12-07 | 7.1 kB | |
quopri.py | 2013-12-07 | 7.0 kB | |
quopri.pyc | 2013-12-07 | 7.1 kB | |
Queue.py | 2013-12-07 | 8.6 kB | |
Queue.pyo | 2013-12-07 | 10.8 kB | |
Queue.pyc | 2013-12-07 | 10.8 kB | |
py_compile.pyc | 2013-12-07 | 6.8 kB | |
py_compile.pyo | 2013-12-07 | 6.8 kB | |
py_compile.py | 2013-12-07 | 5.9 kB | |
pydoc.pyo | 2013-12-07 | 100.3 kB | |
pydoc.py | 2013-12-07 | 93.5 kB | |
pydoc.pyc | 2013-12-07 | 100.4 kB | |
pyclbr.pyc | 2013-12-07 | 10.2 kB | |
pyclbr.pyo | 2013-12-07 | 10.2 kB | |
pyclbr.py | 2013-12-07 | 13.3 kB | |
pty.pyc | 2013-12-07 | 5.5 kB | |
pty.pyo | 2013-12-07 | 5.5 kB | |
pstats.pyo | 2013-12-07 | 27.6 kB | |
pty.py | 2013-12-07 | 5.1 kB | |
pstats.py | 2013-12-07 | 26.4 kB | |
pstats.pyc | 2013-12-07 | 27.6 kB | |
profile.pyo | 2013-12-07 | 18.2 kB | |
profile.pyc | 2013-12-07 | 18.4 kB | |
pprint.pyo | 2013-12-07 | 11.0 kB | |
profile.py | 2013-12-07 | 22.8 kB | |
pprint.py | 2013-12-07 | 11.9 kB | |
pprint.pyc | 2013-12-07 | 11.2 kB | |
posixpath.pyc | 2013-12-07 | 12.3 kB | |
posixpath.pyo | 2013-12-07 | 12.3 kB | |
posixfile.pyo | 2013-12-07 | 8.3 kB | |
posixpath.py | 2013-12-07 | 13.2 kB | |
posixfile.pyc | 2013-12-07 | 8.3 kB | |
poplib.pyo | 2013-12-07 | 14.8 kB | |
posixfile.py | 2013-12-07 | 8.0 kB | |
poplib.pyc | 2013-12-07 | 14.8 kB | |
popen2.pyo | 2013-12-07 | 9.8 kB | |
poplib.py | 2013-12-07 | 12.4 kB | |
popen2.py | 2013-12-07 | 8.4 kB | |
popen2.pyc | 2013-12-07 | 9.8 kB | |
plistlib.pyc | 2013-12-07 | 22.2 kB | |
plistlib.pyo | 2013-12-07 | 22.1 kB | |
plistlib.py | 2013-12-07 | 15.2 kB | |
platform.pyo | 2013-12-07 | 39.1 kB | |
platform.pyc | 2013-12-07 | 39.1 kB | |
pkgutil.pyo | 2013-12-07 | 20.6 kB | |
platform.py | 2013-12-07 | 52.3 kB | |
pkgutil.pyc | 2013-12-07 | 20.6 kB | |
pipes.pyo | 2013-12-07 | 10.1 kB | |
pkgutil.py | 2013-12-07 | 20.3 kB | |
pickletools.pyo | 2013-12-07 | 57.9 kB | |
pipes.pyc | 2013-12-07 | 10.1 kB | |
pipes.py | 2013-12-07 | 9.6 kB | |
pickletools.pyc | 2013-12-07 | 58.7 kB | |
pickletools.py | 2013-12-07 | 74.5 kB | |
pickle.pyo | 2013-12-07 | 43.4 kB | |
pickle.pyc | 2013-12-07 | 43.6 kB | |
pdb.pyo | 2013-12-07 | 49.3 kB | |
pickle.py | 2013-12-07 | 45.1 kB | |
pdb.py | 2013-12-07 | 46.0 kB | |
pdb.pyc | 2013-12-07 | 49.3 kB | |
pdb.doc | 2013-12-07 | 7.9 kB | |
os2emxpath.pyc | 2013-12-07 | 4.9 kB | |
os2emxpath.pyo | 2013-12-07 | 4.9 kB | |
os2emxpath.py | 2013-12-07 | 4.6 kB | |
os.pyo | 2013-12-07 | 28.2 kB | |
os.pyc | 2013-12-07 | 26.0 kB | |
os.py | 2013-12-07 | 25.8 kB | |
optparse.pyo | 2013-12-07 | 61.0 kB | |
optparse.pyc | 2013-12-07 | 61.0 kB | |
optparse.py | 2013-12-07 | 61.1 kB | |
opcode.pyo | 2013-12-07 | 6.4 kB | |
opcode.py | 2013-12-07 | 5.5 kB | |
opcode.pyc | 2013-12-07 | 6.4 kB | |
numbers.pyc | 2013-12-07 | 17.1 kB | |
numbers.pyo | 2013-12-07 | 17.1 kB | |
nturl2path.pyo | 2013-12-07 | 2.0 kB | |
numbers.py | 2013-12-07 | 10.3 kB | |
nturl2path.py | 2013-12-07 | 2.4 kB | |
nturl2path.pyc | 2013-12-07 | 2.0 kB | |
ntpath.pyc | 2013-12-07 | 12.0 kB | |
ntpath.pyo | 2013-12-07 | 12.8 kB | |
nntplib.pyo | 2013-12-07 | 23.1 kB | |
ntpath.py | 2013-12-07 | 18.5 kB | |
nntplib.pyc | 2013-12-07 | 23.1 kB | |
new.pyo | 2013-12-07 | 912 Bytes | |
nntplib.py | 2013-12-07 | 21.1 kB | |
new.py | 2013-12-07 | 610 Bytes | |
new.pyc | 2013-12-07 | 912 Bytes | |
netrc.pyc | 2013-12-07 | 4.4 kB | |
netrc.pyo | 2013-12-07 | 4.4 kB | |
mutex.pyo | 2013-12-07 | 2.9 kB | |
netrc.py | 2013-12-07 | 4.6 kB | |
mutex.pyc | 2013-12-07 | 2.9 kB | |
multifile.pyc | 2013-12-07 | 6.2 kB | |
multifile.pyo | 2013-12-07 | 6.1 kB | |
mutex.py | 2013-12-07 | 1.9 kB | |
modulefinder.pyo | 2013-12-07 | 20.3 kB | |
multifile.py | 2013-12-07 | 4.8 kB | |
modulefinder.py | 2013-12-07 | 24.3 kB | |
modulefinder.pyc | 2013-12-07 | 20.4 kB | |
mimify.pyo | 2013-12-07 | 12.7 kB | |
mimify.py | 2013-12-07 | 15.0 kB | |
mimify.pyc | 2013-12-07 | 12.7 kB | |
MimeWriter.pyo | 2013-12-07 | 7.8 kB | |
MimeWriter.py | 2013-12-07 | 6.5 kB | |
MimeWriter.pyc | 2013-12-07 | 7.8 kB | |
mimetypes.pyc | 2013-12-07 | 19.1 kB | |
mimetypes.pyo | 2013-12-07 | 19.1 kB | |
mimetypes.py | 2013-12-07 | 20.6 kB | |
mimetools.pyc | 2013-12-07 | 9.2 kB | |
mimetools.pyo | 2013-12-07 | 9.2 kB | |
mhlib.pyo | 2013-12-07 | 37.7 kB | |
mimetools.py | 2013-12-07 | 7.2 kB | |
mhlib.py | 2013-12-07 | 33.4 kB | |
mhlib.pyc | 2013-12-07 | 37.7 kB | |
md5.pyc | 2013-12-07 | 428 Bytes | |
md5.pyo | 2013-12-07 | 428 Bytes | |
markupbase.pyo | 2013-12-07 | 10.0 kB | |
md5.py | 2013-12-07 | 358 Bytes | |
markupbase.py | 2013-12-07 | 14.6 kB | |
markupbase.pyc | 2013-12-07 | 10.1 kB | |
mailcap.pyc | 2013-12-07 | 7.7 kB | |
mailcap.pyo | 2013-12-07 | 7.7 kB | |
mailbox.pyo | 2013-12-07 | 86.9 kB | |
mailcap.py | 2013-12-07 | 7.4 kB | |
mailbox.pyc | 2013-12-07 | 87.0 kB | |
mailbox.py | 2013-12-07 | 78.3 kB | |
macurl2path.pyo | 2013-12-07 | 3.0 kB | |
macurl2path.py | 2013-12-07 | 3.3 kB | |
macurl2path.pyc | 2013-12-07 | 3.0 kB | |
macpath.pyc | 2013-12-07 | 8.6 kB | |
macpath.pyo | 2013-12-07 | 8.6 kB | |
locale.pyo | 2013-12-07 | 51.2 kB | |
macpath.py | 2013-12-07 | 6.3 kB | |
locale.py | 2013-12-07 | 89.3 kB | |
locale.pyc | 2013-12-07 | 50.0 kB | |
linecache.pyo | 2013-12-07 | 3.5 kB | |
linecache.py | 2013-12-07 | 4.0 kB | |
linecache.pyc | 2013-12-07 | 3.3 kB | |
keyword.pyo | 2013-12-07 | 2.2 kB | |
LICENSE.txt | 2013-12-07 | 14.2 kB | |
keyword.py | 2013-12-07 | 2.0 kB | |
keyword.pyc | 2013-12-07 | 2.2 kB | |
io.pyo | 2013-12-07 | 3.7 kB | |
io.pyc | 2013-12-07 | 3.7 kB | |
inspect.pyo | 2013-12-07 | 43.4 kB | |
io.py | 2013-12-07 | 3.6 kB | |
inspect.py | 2013-12-07 | 42.5 kB | |
inspect.pyc | 2013-12-07 | 43.4 kB | |
imputil.pyo | 2013-12-07 | 17.3 kB | |
imputil.py | 2013-12-07 | 25.8 kB | |
imputil.pyc | 2013-12-07 | 17.5 kB | |
imghdr.pyc | 2013-12-07 | 5.6 kB | |
imghdr.pyo | 2013-12-07 | 5.6 kB | |
imaplib.pyc | 2013-12-07 | 50.2 kB | |
imghdr.py | 2013-12-07 | 3.5 kB | |
imaplib.pyo | 2013-12-07 | 47.2 kB | |
imaplib.py | 2013-12-07 | 47.7 kB | |
ihooks.pyc | 2013-12-07 | 24.8 kB | |
ihooks.pyo | 2013-12-07 | 24.8 kB | |
ihooks.py | 2013-12-07 | 19.0 kB | |
httplib.pyc | 2013-12-07 | 38.9 kB | |
httplib.pyo | 2013-12-07 | 38.7 kB | |
HTMLParser.pyo | 2013-12-07 | 15.0 kB | |
httplib.py | 2013-12-07 | 46.5 kB | |
HTMLParser.py | 2013-12-07 | 17.0 kB | |
HTMLParser.pyc | 2013-12-07 | 15.3 kB | |
htmllib.pyo | 2013-12-07 | 24.9 kB | |
htmllib.pyc | 2013-12-07 | 24.9 kB | |
htmlentitydefs.pyo | 2013-12-07 | 6.4 kB | |
htmllib.py | 2013-12-07 | 12.9 kB | |
htmlentitydefs.py | 2013-12-07 | 18.1 kB | |
htmlentitydefs.pyc | 2013-12-07 | 6.4 kB | |
hmac.pyc | 2013-12-07 | 5.0 kB | |
hmac.pyo | 2013-12-07 | 5.0 kB | |
hmac.py | 2013-12-07 | 4.5 kB | |
heapq.pyc | 2013-12-07 | 14.1 kB | |
heapq.pyo | 2013-12-07 | 14.1 kB | |
heapq.py | 2013-12-07 | 17.4 kB | |
hashlib.py | 2013-12-07 | 5.0 kB | |
hashlib.pyo | 2013-12-07 | 4.7 kB | |
hashlib.pyc | 2013-12-07 | 4.7 kB | |
gzip.pyc | 2013-12-07 | 16.5 kB | |
gzip.pyo | 2013-12-07 | 16.5 kB | |
glob.pyo | 2013-12-07 | 2.7 kB | |
gzip.py | 2013-12-07 | 18.4 kB | |
gettext.pyo | 2013-12-07 | 17.7 kB | |
glob.pyc | 2013-12-07 | 2.7 kB | |
glob.py | 2013-12-07 | 2.2 kB | |
gettext.py | 2013-12-07 | 19.9 kB | |
gettext.pyc | 2013-12-07 | 17.7 kB | |
getpass.pyc | 2013-12-07 | 5.1 kB | |
getpass.pyo | 2013-12-07 | 5.1 kB | |
getopt.pyo | 2013-12-07 | 7.1 kB | |
getpass.py | 2013-12-07 | 5.6 kB | |
getopt.py | 2013-12-07 | 7.3 kB | |
getopt.pyc | 2013-12-07 | 6.7 kB | |
genericpath.pyc | 2013-12-07 | 3.3 kB | |
genericpath.pyo | 2013-12-07 | 3.8 kB | |
functools.pyo | 2013-12-07 | 7.4 kB | |
genericpath.py | 2013-12-07 | 3.0 kB | |
ftplib.pyo | 2013-12-07 | 36.9 kB | |
functools.py | 2013-12-07 | 4.5 kB | |
functools.pyc | 2013-12-07 | 6.3 kB | |
ftplib.pyc | 2013-12-07 | 36.9 kB | |
ftplib.py | 2013-12-07 | 36.0 kB | |
fractions.pyo | 2013-12-07 | 21.7 kB | |
fractions.py | 2013-12-07 | 22.4 kB | |
fractions.pyc | 2013-12-07 | 21.7 kB | |
fpformat.pyc | 2013-12-07 | 5.1 kB | |
fpformat.pyo | 2013-12-07 | 5.1 kB | |
formatter.pyo | 2013-12-07 | 23.0 kB | |
fpformat.py | 2013-12-07 | 4.7 kB | |
formatter.pyc | 2013-12-07 | 23.0 kB | |
fnmatch.pyo | 2013-12-07 | 3.8 kB | |
formatter.py | 2013-12-07 | 14.9 kB | |
fileinput.pyc | 2013-12-07 | 16.3 kB | |
fnmatch.pyc | 2013-12-07 | 3.8 kB | |
fnmatch.py | 2013-12-07 | 3.2 kB | |
fileinput.pyo | 2013-12-07 | 16.3 kB | |
filecmp.pyo | 2013-12-07 | 10.6 kB | |
fileinput.py | 2013-12-07 | 14.1 kB | |
filecmp.py | 2013-12-07 | 9.6 kB | |
filecmp.pyc | 2013-12-07 | 10.6 kB | |
dummy_threading.pyc | 2013-12-07 | 1.3 kB | |
dummy_threading.pyo | 2013-12-07 | 1.3 kB | |
dummy_thread.pyo | 2013-12-07 | 6.1 kB | |
dummy_threading.py | 2013-12-07 | 2.8 kB | |
dummy_thread.py | 2013-12-07 | 4.4 kB | |
dummy_thread.pyc | 2013-12-07 | 6.1 kB | |
dumbdbm.pyc | 2013-12-07 | 7.5 kB | |
dumbdbm.pyo | 2013-12-07 | 7.5 kB | |
DocXMLRPCServer.pyo | 2013-12-07 | 10.6 kB | |
dumbdbm.py | 2013-12-07 | 8.8 kB | |
DocXMLRPCServer.pyc | 2013-12-07 | 10.7 kB | |
doctest.pyo | 2013-12-07 | 89.1 kB | |
DocXMLRPCServer.py | 2013-12-07 | 10.5 kB | |
doctest.py | 2013-12-07 | 104.0 kB | |
doctest.pyc | 2013-12-07 | 89.4 kB | |
dis.pyo | 2013-12-07 | 6.6 kB | |
dis.py | 2013-12-07 | 6.5 kB | |
dis.pyc | 2013-12-07 | 6.6 kB | |
difflib.pyo | 2013-12-07 | 64.6 kB | |
dircache.pyo | 2013-12-07 | 1.8 kB | |
dircache.pyc | 2013-12-07 | 1.8 kB | |
dircache.py | 2013-12-07 | 1.1 kB | |
decimal.pyo | 2013-12-07 | 183.9 kB | |
difflib.pyc | 2013-12-07 | 64.6 kB | |
difflib.py | 2013-12-07 | 82.3 kB | |
decimal.py | 2013-12-07 | 220.8 kB | |
decimal.pyc | 2013-12-07 | 183.9 kB | |
dbhash.pyc | 2013-12-07 | 818 Bytes | |
dbhash.pyo | 2013-12-07 | 818 Bytes | |
csv.pyo | 2013-12-07 | 14.9 kB | |
dbhash.py | 2013-12-07 | 498 Bytes | |
csv.py | 2013-12-07 | 16.3 kB | |
csv.pyc | 2013-12-07 | 14.9 kB | |
cProfile.pyo | 2013-12-07 | 7.0 kB | |
cProfile.py | 2013-12-07 | 6.5 kB | |
cProfile.pyc | 2013-12-07 | 7.0 kB | |
copy_reg.pyc | 2013-12-07 | 5.2 kB | |
copy_reg.pyo | 2013-12-07 | 5.6 kB | |
copy.pyo | 2013-12-07 | 13.4 kB | |
copy_reg.py | 2013-12-07 | 6.8 kB | |
copy.pyc | 2013-12-07 | 13.5 kB | |
cookielib.pyo | 2013-12-07 | 59.4 kB | |
copy.py | 2013-12-07 | 11.5 kB | |
cookielib.pyc | 2013-12-07 | 59.6 kB | |
cookielib.py | 2013-12-07 | 64.4 kB | |
Cookie.pyo | 2013-12-07 | 24.3 kB | |
Cookie.py | 2013-12-07 | 25.8 kB | |
Cookie.pyc | 2013-12-07 | 24.3 kB | |
contextlib.pyo | 2013-12-07 | 5.1 kB | |
contextlib.py | 2013-12-07 | 4.4 kB | |
contextlib.pyc | 2013-12-07 | 5.1 kB | |
ConfigParser.pyc | 2013-12-07 | 28.2 kB | |
ConfigParser.pyo | 2013-12-07 | 28.2 kB | |
compileall.pyo | 2013-12-07 | 7.5 kB | |
ConfigParser.py | 2013-12-07 | 27.7 kB | |
compileall.pyc | 2013-12-07 | 7.5 kB | |
compileall.py | 2013-12-07 | 7.9 kB | |
commands.pyc | 2013-12-07 | 2.8 kB | |
commands.pyo | 2013-12-07 | 2.8 kB | |
colorsys.pyo | 2013-12-07 | 4.4 kB | |
commands.py | 2013-12-07 | 2.5 kB | |
collections.pyo | 2013-12-07 | 27.0 kB | |
colorsys.pyc | 2013-12-07 | 4.4 kB | |
colorsys.py | 2013-12-07 | 3.7 kB | |
collections.py | 2013-12-07 | 25.4 kB | |
collections.pyc | 2013-12-07 | 27.0 kB | |
codeop.pyc | 2013-12-07 | 7.1 kB | |
codeop.pyo | 2013-12-07 | 7.1 kB | |
codecs.pyo | 2013-12-07 | 41.3 kB | |
codeop.py | 2013-12-07 | 6.0 kB | |
codecs.py | 2013-12-07 | 35.3 kB | |
codecs.pyc | 2013-12-07 | 37.4 kB | |
code.pyo | 2013-12-07 | 11.1 kB | |
code.py | 2013-12-07 | 10.2 kB | |
code.pyc | 2013-12-07 | 11.1 kB | |
cmd.pyc | 2013-12-07 | 15.0 kB | |
cmd.pyo | 2013-12-07 | 15.0 kB | |
chunk.pyo | 2013-12-07 | 6.1 kB | |
cmd.py | 2013-12-07 | 14.9 kB | |
chunk.py | 2013-12-07 | 5.4 kB | |
chunk.pyc | 2013-12-07 | 6.1 kB | |
cgitb.pyc | 2013-12-07 | 13.0 kB | |
cgitb.pyo | 2013-12-07 | 13.0 kB | |
CGIHTTPServer.pyo | 2013-12-07 | 11.5 kB | |
cgitb.py | 2013-12-07 | 12.1 kB | |
CGIHTTPServer.pyc | 2013-12-07 | 11.5 kB | |
cgi.pyo | 2013-12-07 | 35.9 kB | |
CGIHTTPServer.py | 2013-12-07 | 13.0 kB | |
cgi.pyc | 2013-12-07 | 35.9 kB | |
cgi.py | 2013-12-07 | 34.5 kB | |
calendar.pyc | 2013-12-07 | 31.7 kB | |
calendar.pyo | 2013-12-07 | 31.7 kB | |
calendar.py | 2013-12-07 | 23.1 kB | |
bisect.pyo | 2013-12-07 | 3.3 kB | |
binhex.pyo | 2013-12-07 | 17.9 kB | |
bisect.py | 2013-12-07 | 2.6 kB | |
bisect.pyc | 2013-12-07 | 3.3 kB | |
binhex.pyc | 2013-12-07 | 17.9 kB | |
binhex.py | 2013-12-07 | 14.5 kB | |
bdb.pyc | 2013-12-07 | 22.0 kB | |
bdb.pyo | 2013-12-07 | 22.0 kB | |
Bastion.pyo | 2013-12-07 | 7.4 kB | |
bdb.py | 2013-12-07 | 21.1 kB | |
Bastion.pyc | 2013-12-07 | 7.4 kB | |
BaseHTTPServer.pyo | 2013-12-07 | 22.7 kB | |
Bastion.py | 2013-12-07 | 5.7 kB | |
BaseHTTPServer.pyc | 2013-12-07 | 22.7 kB | |
BaseHTTPServer.py | 2013-12-07 | 22.5 kB | |
base64.pyo | 2013-12-07 | 11.8 kB | |
base64.py | 2013-12-07 | 11.4 kB | |
base64.pyc | 2013-12-07 | 11.8 kB | |
audiodev.pyo | 2013-12-07 | 9.8 kB | |
audiodev.py | 2013-12-07 | 7.6 kB | |
audiodev.pyc | 2013-12-07 | 9.8 kB | |
atexit.pyc | 2013-12-07 | 2.5 kB | |
atexit.pyo | 2013-12-07 | 2.5 kB | |
asyncore.pyo | 2013-12-07 | 21.8 kB | |
atexit.py | 2013-12-07 | 1.7 kB | |
asyncore.py | 2013-12-07 | 20.8 kB | |
asyncore.pyc | 2013-12-07 | 21.8 kB | |
asynchat.pyc | 2013-12-07 | 10.1 kB | |
asynchat.pyo | 2013-12-07 | 10.1 kB | |
ast.pyo | 2013-12-07 | 14.2 kB | |
asynchat.py | 2013-12-07 | 11.4 kB | |
argparse.pyo | 2013-12-07 | 71.5 kB | |
ast.pyc | 2013-12-07 | 14.2 kB | |
ast.py | 2013-12-07 | 11.8 kB | |
argparse.py | 2013-12-07 | 87.8 kB | |
argparse.pyc | 2013-12-07 | 71.7 kB | |
anydbm.pyo | 2013-12-07 | 3.0 kB | |
anydbm.py | 2013-12-07 | 2.7 kB | |
anydbm.pyc | 2013-12-07 | 3.0 kB | |
antigravity.pyc | 2013-12-07 | 253 Bytes | |
antigravity.pyo | 2013-12-07 | 253 Bytes | |
aifc.pyo | 2013-12-07 | 33.6 kB | |
antigravity.py | 2013-12-07 | 60 Bytes | |
aifc.pyc | 2013-12-07 | 33.6 kB | |
aifc.py | 2013-12-07 | 33.5 kB | |
abc.pyo | 2013-12-07 | 6.6 kB | |
abc.py | 2013-12-07 | 7.1 kB | |
abc.pyc | 2013-12-07 | 6.2 kB | |
Totals: 640 Items | 11.4 MB | 13 |
NEW !
Support for two additional extensions (mysql_fdw and ldap_fdw) have been added to the project. (See This Wiki Page for HOWTO compile them)
Procedure for compiling PosgreSQL-9.3.1 + "sqlite_fdw" + "www_fdw":
(Using mingw-w64 - (cross-compiling => i686) / gcc 4.8.0)
Note 1:
In the following "/usr/local/" corresponds to "C:\mingw32\msys\local\", because I installed MSYS in the root directory of mingw "C:\mingw32" ...
Note 2:
See at the bottom of this page the final value for the "PATH" environment variable (to avoid missing something during the next steps of this procedure).
Setting up the system:
Get MinGW-w64 from: http://netcologne.dl.sourceforge.net/project/mingw-w64/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/MSYS-20111123.zip.
Note: more up to date gcc (4.8.2) can be downloaded from here: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.8.2/
Add "C:\mingw32\bin" to the "PATH" environment variable
Unpack directory "msys" in "C:\mingw32"
Run C:\ming32\msys\msys.bat
Setup tools:
- Install a standard MinGW using "mingw-get-setup.exe" http://netcologne.dl.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe
- Make sure to select the Msys and the developer toolkit (in addition to the C compiler)
- cd /c/MinGW/
- Copy all nux tools from "/bin"*
- rsync --exclude=.exe --exclude=.dll bin/* /c/mingw32/bin/
- Copy all from "/share"
- rsync -a --exclude=gcc --exclude=gdb --exclude=info --exclude=man share/ /c/mingw32/share/
- Edit /etc/fstab:
#Win32_Path Mount_Point C:/mingw32/ /mingw
Re-run C:\ming32\msys\msys.bat
0.1. More handy for the next steps (change "SRCDIR" and "MGWDIR" at your convenience):
* export ARCH="i686-w64-mingw32"; export SRCDIR="/d/32/";
* export MGWDIR="/c/mingw32/" (should be the same as given in /etc/fstab)
0.2. To find the include files ".h" added later on:
* export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/include
1.1. Intall libz [Source: http://zlib.net/zlib-1.2.8.tar.gz]
- cd $SRCDIR"zlib-1.2.8"
- patch win32/Makefile.gcc:
patch win32/Makefile.gcc < ../fix-zlib-1.2.8-Makefile.gcc-mingw64.patch
- make -f win32/Makefile.gcc
- mkdir /usr/local/; mkdir /usr/local/bin ;mkdir /usr/local/include; mkdir /usr/local/lib;
- cp zlib1.dll /usr/local/bin/zlib1.dll
- cp zconf.h zlib.h /usr/local/include
- cp libz.a /usr/local/lib
- cp libz.dll.a /usr/local/lib/libz.dll.a
- cp /usr/local/bin/zlib1.dll /usr/local/bin/libz.dll
1.2. Compile PostgreSQL-9.3.1 [Sources: http://ftp.postgresql.org/pub/source/v9.3.1/postgresql-9.3.1.tar.gz]
* unzip postgresql-9.3.1.tar.gz
* cd $SRCDIR"postgresql-9.3.1"
* cp /usr/local/bin/libz.dll $MGWDIR$ARCH"/lib/"
* ./configure --build=$ARCH --host=$ARCH
* make
* make install
=> install log:
tout dans -> /usr/local/pgsql
* Point to postgres utlities (pg_config.exe, ...):
- export PATH=$PATH:/usr/local/pgsql/bin/
2.1 Compile Sqlite3 [Sources: http://www.sqlite.org/2013/sqlite-autoconf-3080100.tar.gz]
* Download sqlite-autoconf-3080100.tar.gz (contains a "configure" script)
* unzip
* cd $SRCDIR"sqlite-autoconf-3080100"
* ./configure --build=$ARCH --host=$ARCH
* make
* make install
=> install log:
sqlite3.h, sqlite3ext.h -> /usr/local/include
libsqlite3-0.dll, sqlite3.exe -> /usr/local/bin
* For MinGW to find the DLL while compiling "sqlite_fdw":
- cp /usr/local/bin/libsqlite3-0.dll /usr/local/pgsql/lib/libsqlite3.dll
[Think about removing the "-0"]
2.2 Compiling the extension sqlite_fdw
* Get the source from SVN repository:
- mkdir $SRCDIR"sqlite_fdw/"
- cd $SRCDIR"sqlite_fdw"
- svn checkout https://github.com/gleu/sqlite_fdw
* cd $SRCDIR"sqlite_fdw/trunk"
* make
* make install
=> Install log:
sqlite_fdw.dll -> /usr/local/pgsql/lib
sqlite_fdw.control -> /usr/local/pgsql/share/extension
sql/sqlite_fdw--0.0.1.sql -> /usr/local/pgsql/share/extension
doc/sqlite_fdw.md -> /usr/local/pgsql/share/doc/extension
3. Compiling the extension www_fdw
-
Install iconv [Sources: http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz]
* cd $SRCDIR"libiconv-1.14" * ./configure --build=$ARCH --host=$ARCH * make * make install
-
Install libxml2 [Sources: ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz]
* cp $WINDIR"/SysWOW64/ws2_32.dll" $MGWDIR$ARCH"/lib/libws2_32.dll" ("SysWOW64" - 'Sysnative' being a redirection - is the place where 32-bit versions of the libraries are located) [http://stackoverflow.com/q/20188451/1715716] * cd $SRCDIR"libxml2-2.9.1" * Adding Python 2.7 support: - Get the "opt" directory from "x32-4.8.0-release-win32-dwarf-rev2.7z" to "/c/mingw32"
- Patch by hand the very first line of "python2.7-config", "python-config" and "python2-config" into: #!/c/mingw32/opt/bin/python2.7.exe => OR, use the patch (which assumes msys's "fstab" was set correctly): - cd $MGWDIR"opt/bin/" - cp $SRCDIR/python-confg-files-32.patch ./ - patch -p1 < python-confg-files-32.patch - rm python-confg-files-32.patch - cp $MGWDIR"opt/bin/libpython2.7.dll" $MGWDIR$ARCH"/lib/" - Apply patch to the originzal "configure" script of libxml2-2.9.1 patch configure < ../fix-libxml2-2.9.1-configure-mingw64.patch * ./configure --build=$ARCH --host=$ARCH --with-zlib="/usr/local/" --with-iconv="/usr/local/" --with-python=$MGWDIR"opt/" * export C_INCLUDE_PATH=$C_INCLUDE_PATH:$MGWDIR"opt/include/python2.7/" * export LIBS="-lpython2.7"; export LDFLAGS="-L"$MGWDIR"opt/bin/" * make * make install * cp /usr/local/bin/libxml2-2.dll /usr/local/pgsql/lib/libxml2.dll [Think about removing the "-2"] * export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/include/libxml2
-
Install OpenSSL [Sources: http://www.openssl.org/source/openssl-1.0.1e.tar.gz]
- cd $SRCDIR"openssl-1.0.1e" - Required patch: http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.1e-fix_parallel_build-1.patch - Required patch: http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.1e-fix_pod_syntax-1.patch - patch -Np1 -i ../openssl-1.0.1e-fix_parallel_build-1.patch && patch -Np1 -i ../openssl-1.0.1e-fix_pod_syntax-1.patch - perl Configure mingw64 --cross-compile-prefix=$ARCH"-" shared zlib-dynamic no-asm - make depend - make - make install
-
Install curl [Sources: http://curl.haxx.se/download/curl-7.33.0.tar.gz]
- cd $SRCDIR"curl-7.33.0/" - ./configure --build=$ARCH --host=$ARCH --with-ssl="/usr/local/ssl" --with-zlib="/usr/local/" >> configure output: Configured to build curl/libcurl: curl version: 7.33.0 Host setup: i686-w64-mingw32 Install prefix: /usr/local Compiler: gcc SSL support: enabled (OpenSSL) SSH support: no (--with-libssh2) zlib support: enabled GSSAPI support: no (--with-gssapi) SPNEGO support: no (--with-spnego) TLS-SRP support: enabled resolver: default (--enable-ares / --enable-threaded-resolver) ipv6 support: no (--enable-ipv6) IDN support: no (--with-{libidn,winidn}) Build libcurl: Shared=yes, Static=no Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) SSPI support: no (--enable-sspi) ca cert bundle: no ca cert path: no LDAP support: enabled (winldap) LDAPS support: enabled RTSP support: enabled RTMP support: no (--with-librtmp) metalink support: no (--with-libmetalink) HTTP2 support: disabled (--with-nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3 POP3S RTSP SMTP SMTPS TELNET TFTP - make - make install - cp /usr/local/bin/libcurl-4.dll /usr/local/pgsql/lib/libcurl.dll [Think about removing "-4"]
-
Get the source from SVN repository
- mkdir $SRCDIR"www_fdw/" - cd $SRCDIR"www_fdw" - svn checkout https://github.com/gleu/www_fdw
-
Patch source file $SRCDIR"www_fdw/trunk/src/utils.h"
- patch trunk/src/utils.h < ../fix-www_fdw-utils.h-mingw64.patch
-
Build
* cd $SRCDIR"www_fdw/trunk" * make * make install => Install log: www_fdw.dll -> /usr/local/pgsql/lib www_fdw.control -> /usr/local/pgsql/share/extension sql/www_fdw--0.1.6.sql -> /usr/local/pgsql/share/extension
Testing the extensions (Windows Prompt):
1. Add "C:\mingw32\msys\local\pgsql\bin" and "C:\mingw32\msys\local\pgsql\lib" to $PATH 2. Add "C:\mingw32\msys\local\bin" to $PATH (accessing "libsqlite3-0.dll", "sqlite3.exe") 3. Add "C:\mingw32\msys\bin" to $PATH (accessing "msys-iconv-2.dll", "msys-1.0.dll")
4. Initialize the "data" (database) directory for the server:
* cd C:\mingw32\msys\local\pgsql\
* bin\initdb -Ddata
5. Start the PostgreSQL server:
* bin\postgres -Ddata
6. Create the superuser and role "postgres" (asking for password)
* bin\createuser -s -r -W postgres
7.1. Creating and testing the sqlite_fdw extension (depends on sqlite3.dll):
* CREATE EXTENSION sqlite_fdw;
* cd D:\postgresql-test-extensions
* Create a sqlite database (file "test.db")
[or use the one I provide]
- cd /usr/local/bin
- sqlite3 "test.db"
SQLite version 3.8.1 2013-10-17 12:57:35
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table tbl1(one varchar(10), two smallint);
sqlite> insert into tbl1 values('hello!',10);
sqlite> insert into tbl1 values('goodbye', 20);
sqlite> select * from tbl1;
hello!|10
goodbye|20
sqlite>
* Into the "postgres" database, create the sqlite server:
CREATE SERVER sqlite_server
FOREIGN DATA WRAPPER sqlite_fdw
OPTIONS (database 'D:\postgresql-test-extxtensions\test.db'); /* adapt to your config. */
* Mapping between "tbl1" (sqlite DB) and the new "local_tbl1"
CREATE FOREIGN TABLE local_tbl1(one varchar(10), two smallint)
SERVER sqlite_server
OPTIONS (table 'tbl1');
* Executing a request:
SELECT * from local_tbl1;
7.2. Creating and testing the extension www_fdw (depends on iconv.dll and libxml2.dll)
* CREATE EXTENSION www_fdw;
* Create a server (example with a "google search" one...):
[Example grabbed from: https://github.com/cyga/www_fdw/wiki/Examples]
CREATE SERVER www_fdw_google_search_server FOREIGN DATA WRAPPER www_fdw
OPTIONS (
uri 'https://ajax.googleapis.com/ajax/services/search/web?v=1.0',
cainfo 'C:\mingw32\msys\local\share\curl\curl-ca-bundle.crt'
);
/* Adapt "cainfo" option to your config. The path MUST be written the Windows way */
CREATE USER MAPPING FOR current_user SERVER www_fdw_google_search_server;
CREATE FOREIGN TABLE www_fdw_google_search (
title text,
link text,
snippet text,
q text /* used for easy query specifying */
) SERVER www_fdw_google_search_server;
Note: "curl --with-ssl" (the default) requiring a certificate,
----- this example only works if we specify the "cainfo" option
(".crt" certificate file)
* Request:
SELECT title,snippet FROM www_fdw_google_search WHERE q='cat dog' LIMIT 3;
PATH environment variable:
C:\mingw32\bin;
C:\mingw32\lib;
C:\mingw32\msys\local\pgsql\bin;
C:\mingw32\msys\local\pgsql\lib;
C:\mingw32\msys\local\bin;
C:\mingw32\msys\bin;
C:\mingw32\msys\local\ssl\bin;
C:\mingw32\i686-w64-mingw32\bin;
C:\mingw32\i686-w64-mingw32\lib;
C:\mingw32\opt\bin;
=>
SET PATH=%PATH%;C:\mingw32\bin;C:\mingw32\lib;C:\mingw32\i686-w64-mingw32\bin;C:\mingw32\msys\local\pgsql\bin;C:\mingw32\msys\local\pgsql\lib;C:\mingw32\msys\local\bin;C:\mingw32\msys\bin;C:\mingw32\msys\local\ssl\bin;C:\mingw32\i686-w64-mingw32\lib;C:\mingw32\opt\bin;
OR, using MSYS:
export PATH=$PATH:$MGWDIR"bin":$MGWDIR"lib":$MGWDIR$ARCH"/bin:/usr/local/pgsql/bin":/usr/msys/local/pgsql/lib:/usr/local/bin:/usr/bin:/usr/local/ssl/bin:$MGWDIR$ARCH"/lib":$MGWDIR"opt/bin"
TODO: create a ".sh" script that builds the standalone version from the mingw-32/64's install directory. (Identical script for both 32 and 64-bit versions using the environment variables: $ARCH, $SRCDIR and $MGWDIR)