pg 0.12.0.pre263 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/ChangeLog +62 -10
- data/Contributors.rdoc +5 -3
- data/History.rdoc +2 -1
- data/Manifest.txt +1 -0
- data/README.rdoc +8 -3
- data/README.windows.rdoc +9 -11
- data/Rakefile +13 -2
- data/Rakefile.cross +234 -0
- data/sample/psql.rb +1 -1
- data/sample/psqlHelp.rb +1 -1
- metadata +81 -102
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/ChangeLog
CHANGED
@@ -1,8 +1,54 @@
|
|
1
|
+
2011-12-07 Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
* .hgtags:
|
4
|
+
Added tag v0.12.0 for changeset b767401684d8
|
5
|
+
[1060487e7621] [tip]
|
6
|
+
|
7
|
+
* .hgsigs:
|
8
|
+
Added signature for changeset 19b551f972e2
|
9
|
+
[b767401684d8] [v0.12.0]
|
10
|
+
|
11
|
+
* Contributors.rdoc, History.rdoc, Manifest.txt, README.rdoc:
|
12
|
+
Updated some metadata files in preparation for release.
|
13
|
+
[19b551f972e2]
|
14
|
+
|
15
|
+
2011-10-31 Lars Kanis <kanis@comcard.de>
|
16
|
+
|
17
|
+
* README.windows.rdoc, Rakefile, Rakefile.cross:
|
18
|
+
re-add mingw32 cross compilation tasks, updated to current
|
19
|
+
pg,openssl,ruby versions
|
20
|
+
[a8b505d430d0] [github/master]
|
21
|
+
|
22
|
+
2011-12-07 Michael Granger <ged@FaerieMUD.org>
|
23
|
+
|
24
|
+
* Rakefile:
|
25
|
+
Fix for the 'clobber' rake task under 1.9.x.
|
26
|
+
[c4952fd07cc0]
|
27
|
+
|
28
|
+
* .hgignore:
|
29
|
+
Adding binary build dir to the ignorefile
|
30
|
+
[12ae62d666cb]
|
31
|
+
|
32
|
+
2011-12-05 Michael Granger <ged@FaerieMUD.org>
|
33
|
+
|
34
|
+
* Manifest.txt, Rakefile, ext/pg.c, spec/lib/helpers.rb,
|
35
|
+
spec/pgconn_spec.rb, spec/pgresult_spec.rb:
|
36
|
+
Fixes for PGresult#error_field
|
37
|
+
- Return +nil+ for unset PQresultErrorField() results instead of a
|
38
|
+
String wrapped around a NULL pointer
|
39
|
+
- Rename PGresult#result_error_field -> #error_field and
|
40
|
+
#result_error_message -> #error_message; aliases for backward
|
41
|
+
compatibility
|
42
|
+
- Add an example of how to COPY asynchronously
|
43
|
+
- Make the 'clobber' task clobber the spec tmpdir
|
44
|
+
- Log the command being run during test database setup/teardown
|
45
|
+
[6cece559d01c]
|
46
|
+
|
1
47
|
2011-11-28 Michael Granger <ged@FaerieMUD.org>
|
2
48
|
|
3
49
|
* sample/async_copyto.rb:
|
4
50
|
Adding an example of how to use COPY asynchronously
|
5
|
-
[9ebcdc3394fb]
|
51
|
+
[9ebcdc3394fb]
|
6
52
|
|
7
53
|
* sample/copyto.rb, sample/cursor.rb:
|
8
54
|
Fixing some comments
|
@@ -197,10 +243,6 @@
|
|
197
243
|
* Automated merge with ssh://bitbucket.org/larskanis/ruby-pg
|
198
244
|
[b477174160c8]
|
199
245
|
|
200
|
-
* ext/pg.c:
|
201
|
-
Comment the WIN32 console FD stuff so I remember what it does.
|
202
|
-
[56098b479a23]
|
203
|
-
|
204
246
|
2011-03-15 Lars Kanis <kanis@comcard.de>
|
205
247
|
|
206
248
|
* README.windows, Rakefile.local:
|
@@ -234,6 +276,12 @@
|
|
234
276
|
addresses
|
235
277
|
[06e17573b133]
|
236
278
|
|
279
|
+
2011-03-30 Michael Granger <ged@FaerieMUD.org>
|
280
|
+
|
281
|
+
* ext/pg.c:
|
282
|
+
Comment the WIN32 console FD stuff so I remember what it does.
|
283
|
+
[56098b479a23]
|
284
|
+
|
237
285
|
2011-02-23 Michael Granger <ged@FaerieMUD.org>
|
238
286
|
|
239
287
|
* ext/pg.c:
|
@@ -507,11 +555,6 @@
|
|
507
555
|
* Merged with 168:dfaa59767b2e
|
508
556
|
[86f238c12fa3]
|
509
557
|
|
510
|
-
* spec/pgconn_spec.rb:
|
511
|
-
Reworded an example's description and added a specific transaction-
|
512
|
-
abort spec
|
513
|
-
[dfaa59767b2e]
|
514
|
-
|
515
558
|
2010-06-22 Michael Granger <ged@FaerieMUD.org>
|
516
559
|
|
517
560
|
* Rakefile.local:
|
@@ -542,6 +585,15 @@
|
|
542
585
|
* Improved diagnostics of failed extconf runs (refs #32, #24)
|
543
586
|
[5418a1d86d91]
|
544
587
|
|
588
|
+
2010-07-21 Michael Granger <ged@FaerieMUD.org>
|
589
|
+
|
590
|
+
* spec/pgconn_spec.rb:
|
591
|
+
Reworded an example's description and added a specific transaction-
|
592
|
+
abort spec
|
593
|
+
[dfaa59767b2e]
|
594
|
+
|
595
|
+
2010-06-22 Michael Granger <ged@FaerieMUD.org>
|
596
|
+
|
545
597
|
* .hgignore:
|
546
598
|
Adding some more stuff to the ignorefile
|
547
599
|
[07502a793f3a]
|
data/Contributors.rdoc
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
|
2
|
-
Thanks to all the great people that have contributed code, suggestions, and patches through the
|
2
|
+
Thanks to all the great people that have contributed code, suggestions, and patches through the
|
3
|
+
years. If you contribute a patch, please include a patch for this file that adds your name to the
|
4
|
+
list.
|
3
5
|
|
4
6
|
* Dennis Vshivkov <walrus@amur.ru>
|
5
7
|
* Gabriel Emerson <gemerson@evalsoft.com>
|
@@ -32,6 +34,6 @@ Thanks to all the great people that have contributed code, suggestions, and patc
|
|
32
34
|
* Bertram Scharpf <software@bertram-scharpf.de>
|
33
35
|
* Michael Granger <ged@FaerieMUD.org>
|
34
36
|
* Mahlon E. Smith <mahlon@martini.nu>
|
35
|
-
|
36
|
-
Jason Yanowitz <me-bitbucket@jasonyanowitz.com>
|
37
|
+
* Lars Kanis <kanis@comcard.de>
|
38
|
+
* Jason Yanowitz <me-bitbucket@jasonyanowitz.com>
|
37
39
|
|
data/History.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
== v0.12.0 [2011-
|
1
|
+
== v0.12.0 [2011-12-07] Michael Granger <ged@FaerieMUD.org>
|
2
2
|
|
3
3
|
- PGconn#wait_for_notify
|
4
4
|
* send nil as the payload argument if the NOTIFY didn't have one.
|
@@ -15,6 +15,7 @@
|
|
15
15
|
- fixing unused variable warnings for ruby 1.9.3 (Aaron Patterson)
|
16
16
|
- Build system bugfixes
|
17
17
|
- Converted to Hoe
|
18
|
+
- Updates for the Win32 binary gem builds (Lars Kanis)
|
18
19
|
|
19
20
|
|
20
21
|
== v0.11.0 [2011-02-09] Michael Granger <ged@FaerieMUD.org>
|
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
@@ -8,6 +8,11 @@ Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/].
|
|
8
8
|
|
9
9
|
It works with PostgreSQL 8.2 and later.
|
10
10
|
|
11
|
+
This will be the last minor version to support 8.2 -- 0.13 will support 8.3
|
12
|
+
and later, following the
|
13
|
+
{PostgreSQL Release Support Policy}[http://bit.ly/6AfPhm].
|
14
|
+
|
15
|
+
|
11
16
|
|
12
17
|
== Requirements
|
13
18
|
|
@@ -21,12 +26,12 @@ It may work with earlier versions as well, but those are not regularly tested.
|
|
21
26
|
|
22
27
|
Install via RubyGems:
|
23
28
|
|
24
|
-
|
29
|
+
gem install pg
|
25
30
|
|
26
31
|
You may need to specify the path to the 'pg_config' program installed with
|
27
32
|
Postgres:
|
28
33
|
|
29
|
-
|
34
|
+
gem install pg -- --with-pg-config=<path to pg_config>
|
30
35
|
|
31
36
|
See README.OS_X.rdoc for more information about installing under MacOS X, and
|
32
37
|
README.windows.rdoc for Windows build/installation instructions.
|
@@ -40,7 +45,7 @@ Git, there's also a {Github mirror}[https://github.com/ged/ruby-pg].
|
|
40
45
|
|
41
46
|
After checking out the source, run:
|
42
47
|
|
43
|
-
|
48
|
+
$ rake newb
|
44
49
|
|
45
50
|
This task will install any missing dependencies, run the tests/specs, and
|
46
51
|
generate the API documentation.
|
data/README.windows.rdoc
CHANGED
@@ -37,16 +37,14 @@ libpq and libssl. OpenSSL and PostgreSQL are downloaded and compiled from the
|
|
37
37
|
sources. There are no runtime dependencies to any but the standard Windows
|
38
38
|
DLLs.
|
39
39
|
|
40
|
-
Install mingw32 using the instructions rake-compiler's README.
|
40
|
+
Install mingw32 using the instructions in rake-compiler's README.
|
41
|
+
For Debian/Ubuntu it is <tt>apt-get install gcc-mingw32</tt> .
|
42
|
+
Use ruby-1.8.7 for the following commands.
|
41
43
|
|
42
|
-
|
44
|
+
Download and cross compile ruby 1.8 and 1.9 for win32 with:
|
43
45
|
|
44
|
-
|
45
|
-
|
46
|
-
Download and cross compile ruby 1.8 and 1.9 for win32:
|
47
|
-
|
48
|
-
rake-compiler cross-ruby VERSION=1.8.7-p334
|
49
|
-
rake-compiler cross-ruby VERSION=1.9.2-p180
|
46
|
+
rake-compiler cross-ruby VERSION=1.8.7-p352
|
47
|
+
rake-compiler cross-ruby VERSION=1.9.2-p290
|
50
48
|
|
51
49
|
Download and cross compile pg for win32:
|
52
50
|
|
@@ -55,15 +53,15 @@ Download and cross compile pg for win32:
|
|
55
53
|
or with custom versions:
|
56
54
|
|
57
55
|
rake cross native gem RUBY_CC_VERSION=1.8.7:1.9.2 \
|
58
|
-
OPENSSL_VERSION=1.0.
|
56
|
+
OPENSSL_VERSION=1.0.0e POSTGRESQL_VERSION=9.1.1
|
59
57
|
|
60
|
-
If everything works, there should be pg-VERSION-x86-
|
58
|
+
If everything works, there should be pg-VERSION-x86-mingw32.gem in the pkg
|
61
59
|
directory.
|
62
60
|
|
63
61
|
|
64
62
|
== Reporting Problems
|
65
63
|
|
66
|
-
If you have any problems you can submit them via
|
64
|
+
If you have any problems you can submit them via
|
67
65
|
[the project's issue-tracker][bitbucket]. And submit questions, problems, or
|
68
66
|
solutions, so that it can be improved.
|
69
67
|
|
data/Rakefile
CHANGED
@@ -31,7 +31,7 @@ EXT = LIBDIR + "pg_ext.#{DLEXT}"
|
|
31
31
|
|
32
32
|
TEST_DIRECTORY = BASEDIR + "tmp_test_specs"
|
33
33
|
|
34
|
-
CLOBBER.include( TEST_DIRECTORY )
|
34
|
+
CLOBBER.include( TEST_DIRECTORY.to_s )
|
35
35
|
CLEAN.include( PKGDIR.to_s, TMPDIR.to_s )
|
36
36
|
|
37
37
|
# Set up Hoe plugins
|
@@ -41,6 +41,8 @@ Hoe.plugin :signing
|
|
41
41
|
Hoe.plugins.delete :rubyforge
|
42
42
|
Hoe.plugins.delete :compiler
|
43
43
|
|
44
|
+
load 'Rakefile.cross'
|
45
|
+
|
44
46
|
|
45
47
|
# Hoe specification
|
46
48
|
$hoespec = Hoe.spec 'pg' do
|
@@ -105,7 +107,16 @@ Rake::ExtensionTask.new do |ext|
|
|
105
107
|
ext.lib_dir = 'lib'
|
106
108
|
ext.source_pattern = "*.{c,h}"
|
107
109
|
ext.cross_compile = true
|
108
|
-
ext.cross_platform = %w[i386-
|
110
|
+
ext.cross_platform = %w[i386-mingw32]
|
111
|
+
|
112
|
+
# configure options only for cross compile
|
113
|
+
ext.cross_config_options += [
|
114
|
+
"--with-pg-include=#{STATIC_POSTGRESQL_LIBDIR}",
|
115
|
+
"--with-opt-include=#{STATIC_POSTGRESQL_INCDIR}",
|
116
|
+
"--with-pg-lib=#{STATIC_POSTGRESQL_LIBDIR}",
|
117
|
+
"--with-opt-lib=#{STATIC_OPENSSL_BUILDDIR}",
|
118
|
+
"--enable-static-build",
|
119
|
+
]
|
109
120
|
end
|
110
121
|
|
111
122
|
|
data/Rakefile.cross
ADDED
@@ -0,0 +1,234 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
|
3
|
+
require 'uri'
|
4
|
+
require 'tempfile'
|
5
|
+
require 'rbconfig'
|
6
|
+
require 'rake/clean'
|
7
|
+
require 'rake/extensiontask'
|
8
|
+
require 'rake/extensioncompiler'
|
9
|
+
|
10
|
+
MISCDIR = BASEDIR + 'misc'
|
11
|
+
|
12
|
+
NUM_CPUS = if File.exist?('/proc/cpuinfo')
|
13
|
+
File.read('/proc/cpuinfo').scan('processor').length
|
14
|
+
elsif RUBY_PLATFORM.include?( 'darwin' )
|
15
|
+
`system_profiler SPHardwareDataType | grep 'Cores' | awk '{print $5}'`.chomp
|
16
|
+
else
|
17
|
+
1
|
18
|
+
end
|
19
|
+
|
20
|
+
# Cross-compilation constants
|
21
|
+
OPENSSL_VERSION = ENV['OPENSSL_VERSION'] || '1.0.0e'
|
22
|
+
POSTGRESQL_VERSION = ENV['POSTGRESQL_VERSION'] || '9.1.1'
|
23
|
+
|
24
|
+
COMPILE_HOME = Pathname( "./build" ).expand_path
|
25
|
+
STATIC_SOURCESDIR = COMPILE_HOME + 'sources'
|
26
|
+
STATIC_BUILDDIR = COMPILE_HOME + 'builds'
|
27
|
+
|
28
|
+
# Static OpenSSL build vars
|
29
|
+
STATIC_OPENSSL_BUILDDIR = STATIC_BUILDDIR + "openssl-#{OPENSSL_VERSION}"
|
30
|
+
|
31
|
+
OPENSSL_SOURCE_URI =
|
32
|
+
URI( "http://www.openssl.org/source/openssl-#{OPENSSL_VERSION}.tar.gz" )
|
33
|
+
OPENSSL_TARBALL = STATIC_SOURCESDIR + File.basename( OPENSSL_SOURCE_URI.path )
|
34
|
+
OPENSSL_MAKEFILE = STATIC_OPENSSL_BUILDDIR + 'Makefile'
|
35
|
+
|
36
|
+
LIBSSLEAY32 = STATIC_OPENSSL_BUILDDIR + 'libssleay32.a'
|
37
|
+
LIBEAY32 = STATIC_OPENSSL_BUILDDIR + 'libeay32.a'
|
38
|
+
|
39
|
+
OPENSSL_PATCHES = Rake::FileList[ MISCDIR + "openssl-#{OPENSSL_VERSION}.*.patch" ]
|
40
|
+
|
41
|
+
# Static PostgreSQL build vars
|
42
|
+
STATIC_POSTGRESQL_BUILDDIR = STATIC_BUILDDIR + "postgresql-#{POSTGRESQL_VERSION}"
|
43
|
+
POSTGRESQL_SOURCE_URI = begin
|
44
|
+
uristring = "http://ftp9.us.postgresql.org/pub/mirrors/postgresql/source/" +
|
45
|
+
"v%s/postgresql-%s.tar.bz2" % [ POSTGRESQL_VERSION, POSTGRESQL_VERSION ]
|
46
|
+
URI( uristring )
|
47
|
+
end
|
48
|
+
POSTGRESQL_TARBALL = STATIC_SOURCESDIR + File.basename( POSTGRESQL_SOURCE_URI.path )
|
49
|
+
|
50
|
+
STATIC_POSTGRESQL_SRCDIR = STATIC_POSTGRESQL_BUILDDIR + 'src'
|
51
|
+
STATIC_POSTGRESQL_LIBDIR = STATIC_POSTGRESQL_SRCDIR + 'interfaces/libpq'
|
52
|
+
STATIC_POSTGRESQL_INCDIR = STATIC_POSTGRESQL_SRCDIR + 'include'
|
53
|
+
|
54
|
+
POSTGRESQL_GLOBAL_MAKEFILE = STATIC_POSTGRESQL_SRCDIR + 'Makefile.global'
|
55
|
+
POSTGRESQL_SHLIB_MAKEFILE = STATIC_POSTGRESQL_SRCDIR + 'Makefile.shlib'
|
56
|
+
POSTGRESQL_SHLIB_MF_ORIG = STATIC_POSTGRESQL_SRCDIR + 'Makefile.shlib.orig'
|
57
|
+
POSTGRESQL_LIB = STATIC_POSTGRESQL_LIBDIR + 'libpq.a'
|
58
|
+
|
59
|
+
CROSS_PREFIX = Rake::ExtensionCompiler.mingw_host
|
60
|
+
|
61
|
+
|
62
|
+
# clean intermediate files and folders
|
63
|
+
CLEAN.include( STATIC_BUILDDIR.to_s )
|
64
|
+
|
65
|
+
|
66
|
+
ENV['RUBY_CC_VERSION'] ||= '1.8.7:1.9.3'
|
67
|
+
|
68
|
+
def download(url, save_to)
|
69
|
+
part = save_to+".part"
|
70
|
+
sh "wget #{url.to_s.inspect} -O #{part.inspect} || curl #{url.to_s.inspect} -o #{part.inspect}"
|
71
|
+
FileUtils.mv part, save_to
|
72
|
+
end
|
73
|
+
|
74
|
+
def run(*args)
|
75
|
+
sh *args
|
76
|
+
end
|
77
|
+
|
78
|
+
#####################################################################
|
79
|
+
### C R O S S - C O M P I L A T I O N - T A S K S
|
80
|
+
#####################################################################
|
81
|
+
|
82
|
+
|
83
|
+
directory STATIC_SOURCESDIR.to_s
|
84
|
+
|
85
|
+
#
|
86
|
+
# Static OpenSSL build tasks
|
87
|
+
#
|
88
|
+
directory STATIC_OPENSSL_BUILDDIR.to_s
|
89
|
+
|
90
|
+
# openssl source file should be stored there
|
91
|
+
file OPENSSL_TARBALL => STATIC_SOURCESDIR do |t|
|
92
|
+
download( OPENSSL_SOURCE_URI, t.name )
|
93
|
+
end
|
94
|
+
|
95
|
+
# Extract the openssl builds
|
96
|
+
file STATIC_OPENSSL_BUILDDIR => OPENSSL_TARBALL do |t|
|
97
|
+
puts "extracting %s to %s" % [ OPENSSL_TARBALL, STATIC_OPENSSL_BUILDDIR.parent ]
|
98
|
+
STATIC_OPENSSL_BUILDDIR.mkpath
|
99
|
+
run 'tar', '-xzf', OPENSSL_TARBALL.to_s, '-C', STATIC_OPENSSL_BUILDDIR.parent.to_s
|
100
|
+
OPENSSL_MAKEFILE.unlink if OPENSSL_MAKEFILE.exist?
|
101
|
+
|
102
|
+
OPENSSL_PATCHES.each do |patchfile|
|
103
|
+
puts " applying patch #{patchfile}..."
|
104
|
+
run 'patch', '-Np1', '-d', STATIC_OPENSSL_BUILDDIR.to_s,
|
105
|
+
'-i', File.expand_path( patchfile, BASEDIR )
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
CMD_PRELUDE = [
|
110
|
+
'env',
|
111
|
+
"CC=#{CROSS_PREFIX}-gcc",
|
112
|
+
"CFLAGS=-DDSO_WIN32",
|
113
|
+
"AR=#{CROSS_PREFIX}-ar",
|
114
|
+
"RANLIB=#{CROSS_PREFIX}-ranlib"
|
115
|
+
]
|
116
|
+
|
117
|
+
|
118
|
+
# generate the makefile in a clean build location
|
119
|
+
file OPENSSL_MAKEFILE => STATIC_OPENSSL_BUILDDIR do |t|
|
120
|
+
Dir.chdir( STATIC_OPENSSL_BUILDDIR ) do
|
121
|
+
cmd = CMD_PRELUDE.dup
|
122
|
+
cmd << "./Configure" << 'mingw'
|
123
|
+
|
124
|
+
run( *cmd )
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
desc "compile static openssl libraries"
|
129
|
+
task :openssl_libs => [ LIBSSLEAY32, LIBEAY32 ]
|
130
|
+
|
131
|
+
task :compile_static_openssl => OPENSSL_MAKEFILE do |t|
|
132
|
+
Dir.chdir( STATIC_OPENSSL_BUILDDIR ) do
|
133
|
+
cmd = CMD_PRELUDE.dup
|
134
|
+
cmd << 'make' << "-j#{NUM_CPUS}" << 'build_libs'
|
135
|
+
|
136
|
+
run( *cmd )
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
desc "compile static #{LIBEAY32}"
|
141
|
+
file LIBEAY32 => :compile_static_openssl do |t|
|
142
|
+
FileUtils.cp( STATIC_OPENSSL_BUILDDIR + 'libcrypto.a', LIBEAY32.to_s )
|
143
|
+
end
|
144
|
+
|
145
|
+
desc "compile static #{LIBSSLEAY32}"
|
146
|
+
file LIBSSLEAY32 => :compile_static_openssl do |t|
|
147
|
+
FileUtils.cp( STATIC_OPENSSL_BUILDDIR + 'libssl.a', LIBSSLEAY32.to_s )
|
148
|
+
end
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
#
|
153
|
+
# Static PostgreSQL build tasks
|
154
|
+
#
|
155
|
+
directory STATIC_POSTGRESQL_BUILDDIR.to_s
|
156
|
+
|
157
|
+
|
158
|
+
# postgresql source file should be stored there
|
159
|
+
file POSTGRESQL_TARBALL => STATIC_SOURCESDIR do |t|
|
160
|
+
download( POSTGRESQL_SOURCE_URI, t.name )
|
161
|
+
end
|
162
|
+
|
163
|
+
# Extract the postgresql sources
|
164
|
+
file STATIC_POSTGRESQL_BUILDDIR => POSTGRESQL_TARBALL do |t|
|
165
|
+
puts "extracting %s to %s" % [ POSTGRESQL_TARBALL, STATIC_POSTGRESQL_BUILDDIR.parent ]
|
166
|
+
STATIC_POSTGRESQL_BUILDDIR.mkpath
|
167
|
+
run 'tar', '-xjf', POSTGRESQL_TARBALL.to_s, '-C', STATIC_POSTGRESQL_BUILDDIR.parent.to_s
|
168
|
+
mv POSTGRESQL_SHLIB_MAKEFILE, POSTGRESQL_SHLIB_MF_ORIG
|
169
|
+
end
|
170
|
+
|
171
|
+
# generate the makefile in a clean build location
|
172
|
+
file POSTGRESQL_GLOBAL_MAKEFILE => [ STATIC_POSTGRESQL_BUILDDIR, :openssl_libs ] do |t|
|
173
|
+
options = [
|
174
|
+
'--target=i386-mingw32',
|
175
|
+
"--host=#{Rake::ExtensionCompiler.mingw_host}",
|
176
|
+
'--with-openssl',
|
177
|
+
'--without-zlib',
|
178
|
+
'--disable-shared',
|
179
|
+
]
|
180
|
+
|
181
|
+
Dir.chdir( STATIC_POSTGRESQL_BUILDDIR ) do
|
182
|
+
configure_path = STATIC_POSTGRESQL_BUILDDIR + 'configure'
|
183
|
+
cmd = [ configure_path.to_s, *options ]
|
184
|
+
cmd << "CFLAGS=-L#{STATIC_OPENSSL_BUILDDIR}"
|
185
|
+
cmd << "LDFLAGS=-L#{STATIC_OPENSSL_BUILDDIR}"
|
186
|
+
cmd << "LDFLAGS_SL=-L#{STATIC_OPENSSL_BUILDDIR}"
|
187
|
+
cmd << "LIBS=-lwsock32 -lws2_32 -lgdi32"
|
188
|
+
cmd << "CPPFLAGS=-I#{STATIC_OPENSSL_BUILDDIR}/include"
|
189
|
+
|
190
|
+
run( *cmd )
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
194
|
+
|
195
|
+
# patch the Makefile.shlib -- depend on the build dir so it's only
|
196
|
+
# rewritten if the tarball is re-extracted.
|
197
|
+
file POSTGRESQL_SHLIB_MAKEFILE => POSTGRESQL_SHLIB_MF_ORIG do |t|
|
198
|
+
tf = Tempfile.new( POSTGRESQL_SHLIB_MAKEFILE.basename )
|
199
|
+
POSTGRESQL_SHLIB_MF_ORIG.open( File::RDONLY ) do |ifh|
|
200
|
+
ifh.each_line do |line|
|
201
|
+
tf.print( line.sub(/^(\s*haslibarule\s*=\s*yes)/, "# \\1 ") )
|
202
|
+
end
|
203
|
+
end
|
204
|
+
tf.close
|
205
|
+
|
206
|
+
FileUtils.mv( tf.path, t.name, :verbose => $puts )
|
207
|
+
end
|
208
|
+
|
209
|
+
|
210
|
+
# make libpq.a
|
211
|
+
task POSTGRESQL_LIB => [ POSTGRESQL_GLOBAL_MAKEFILE, POSTGRESQL_SHLIB_MAKEFILE ] do |t|
|
212
|
+
Dir.chdir( POSTGRESQL_LIB.dirname ) do
|
213
|
+
sh 'make', "-j#{NUM_CPUS}", POSTGRESQL_LIB.basename.to_s, 'PORTNAME=win32'
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
|
218
|
+
#desc 'compile static libpg.a'
|
219
|
+
task :static_libpq => POSTGRESQL_LIB
|
220
|
+
|
221
|
+
desc 'cross compile pg for win32'
|
222
|
+
task :cross do
|
223
|
+
ENV['CROSS_COMPILING'] = 'yes'
|
224
|
+
end
|
225
|
+
task :cross => [ :mingw32, :static_libpq ]
|
226
|
+
|
227
|
+
task :mingw32 do
|
228
|
+
# Use Rake::ExtensionCompiler helpers to find the proper host
|
229
|
+
unless Rake::ExtensionCompiler.mingw_host then
|
230
|
+
warn "You need to install mingw32 cross compile functionality to be able to continue."
|
231
|
+
warn "Please refer to your distribution/package manager documentation about installation."
|
232
|
+
fail
|
233
|
+
end
|
234
|
+
end
|
data/sample/psql.rb
CHANGED
data/sample/psqlHelp.rb
CHANGED
metadata
CHANGED
@@ -1,134 +1,122 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.12.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 12
|
9
|
-
- 0
|
10
|
-
- pre
|
11
|
-
- 263
|
12
|
-
version: 0.12.0.pre263
|
13
6
|
platform: ruby
|
14
|
-
authors:
|
7
|
+
authors:
|
15
8
|
- Jeff Davis
|
16
9
|
- Michael Granger
|
17
10
|
autorequire:
|
18
11
|
bindir: bin
|
19
|
-
cert_chain:
|
20
|
-
-
|
21
|
-
|
12
|
+
cert_chain:
|
13
|
+
- ! '-----BEGIN CERTIFICATE-----
|
14
|
+
|
22
15
|
MIIDLDCCAhSgAwIBAgIBADANBgkqhkiG9w0BAQUFADA8MQwwCgYDVQQDDANnZWQx
|
16
|
+
|
23
17
|
FzAVBgoJkiaJk/IsZAEZFgdfYWVyaWVfMRMwEQYKCZImiZPyLGQBGRYDb3JnMB4X
|
18
|
+
|
24
19
|
DTEwMDkxNjE0NDg1MVoXDTExMDkxNjE0NDg1MVowPDEMMAoGA1UEAwwDZ2VkMRcw
|
20
|
+
|
25
21
|
FQYKCZImiZPyLGQBGRYHX2FlcmllXzETMBEGCgmSJomT8ixkARkWA29yZzCCASIw
|
22
|
+
|
26
23
|
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy//BFxC1f/cPSnwtJBWoFiFrir
|
24
|
+
|
27
25
|
h7RicI+joq/ocVXQqI4TDWPyF/8tqkvt+rD99X9qs2YeR8CU/YiIpLWrQOYST70J
|
26
|
+
|
28
27
|
vDn7Uvhb2muFVqq6+vobeTkILBEO6pionWDG8jSbo3qKm1RjKJDwg9p4wNKhPuu8
|
28
|
+
|
29
29
|
KGue/BFb67KflqyApPmPeb3Vdd9clspzqeFqp7cUBMEpFS6LWxy4Gk+qvFFJBJLB
|
30
|
+
|
30
31
|
BUHE/LZVJMVzfpC5Uq+QmY7B+FH/QqNndn3tOHgsPadLTNimuB1sCuL1a4z3Pepd
|
32
|
+
|
31
33
|
TeLBEFmEao5Dk3K/Q8o8vlbIB/jBDTUx6Djbgxw77909x6gI9doU4LD5XMcCAwEA
|
34
|
+
|
32
35
|
AaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJeoGkOr9l4B
|
36
|
+
|
33
37
|
+saMkW/ZXT4UeSvVMA0GCSqGSIb3DQEBBQUAA4IBAQBG2KObvYI2eHyyBUJSJ3jN
|
38
|
+
|
34
39
|
vEnU3d60znAXbrSd2qb3r1lY1EPDD3bcy0MggCfGdg3Xu54z21oqyIdk8uGtWBPL
|
40
|
+
|
35
41
|
HIa9EgfFGSUEgvcIvaYqiN4jTUtidfEFw+Ltjs8AP9gWgSIYS6Gr38V0WGFFNzIH
|
42
|
+
|
36
43
|
aOD2wmu9oo/RffW4hS/8GuvfMzcw7CQ355wFR4KB/nyze+EsZ1Y5DerCAagMVuDQ
|
44
|
+
|
37
45
|
U0BLmWDFzPGGWlPeQCrYHCr+AcJz+NRnaHCKLZdSKj/RHuTOt+gblRex8FAh8NeA
|
46
|
+
|
38
47
|
cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
|
48
|
+
|
39
49
|
-----END CERTIFICATE-----
|
40
50
|
|
41
|
-
|
42
|
-
|
43
|
-
|
51
|
+
'
|
52
|
+
date: 2011-12-07 00:00:00.000000000 Z
|
53
|
+
dependencies:
|
54
|
+
- !ruby/object:Gem::Dependency
|
44
55
|
name: rake-compiler
|
45
|
-
|
46
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
56
|
+
requirement: &70276294379100 !ruby/object:Gem::Requirement
|
47
57
|
none: false
|
48
|
-
requirements:
|
58
|
+
requirements:
|
49
59
|
- - ~>
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
|
52
|
-
segments:
|
53
|
-
- 0
|
54
|
-
- 7
|
55
|
-
version: "0.7"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.7'
|
56
62
|
type: :runtime
|
57
|
-
version_requirements: *id001
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: hoe-mercurial
|
60
63
|
prerelease: false
|
61
|
-
|
64
|
+
version_requirements: *70276294379100
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: hoe-mercurial
|
67
|
+
requirement: &70276294378680 !ruby/object:Gem::Requirement
|
62
68
|
none: false
|
63
|
-
requirements:
|
69
|
+
requirements:
|
64
70
|
- - ~>
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
hash: 25
|
67
|
-
segments:
|
68
|
-
- 1
|
69
|
-
- 3
|
70
|
-
- 1
|
71
|
+
- !ruby/object:Gem::Version
|
71
72
|
version: 1.3.1
|
72
73
|
type: :development
|
73
|
-
version_requirements: *id002
|
74
|
-
- !ruby/object:Gem::Dependency
|
75
|
-
name: hoe-highline
|
76
74
|
prerelease: false
|
77
|
-
|
75
|
+
version_requirements: *70276294378680
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: hoe-highline
|
78
|
+
requirement: &70276294378220 !ruby/object:Gem::Requirement
|
78
79
|
none: false
|
79
|
-
requirements:
|
80
|
+
requirements:
|
80
81
|
- - ~>
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
hash: 29
|
83
|
-
segments:
|
84
|
-
- 0
|
85
|
-
- 0
|
86
|
-
- 1
|
82
|
+
- !ruby/object:Gem::Version
|
87
83
|
version: 0.0.1
|
88
84
|
type: :development
|
89
|
-
version_requirements: *id003
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
|
-
name: rspec
|
92
85
|
prerelease: false
|
93
|
-
|
86
|
+
version_requirements: *70276294378220
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: rspec
|
89
|
+
requirement: &70276294377740 !ruby/object:Gem::Requirement
|
94
90
|
none: false
|
95
|
-
requirements:
|
91
|
+
requirements:
|
96
92
|
- - ~>
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
segments:
|
100
|
-
- 2
|
101
|
-
- 6
|
102
|
-
version: "2.6"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '2.6'
|
103
95
|
type: :development
|
104
|
-
version_requirements: *id004
|
105
|
-
- !ruby/object:Gem::Dependency
|
106
|
-
name: hoe
|
107
96
|
prerelease: false
|
108
|
-
|
97
|
+
version_requirements: *70276294377740
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: hoe
|
100
|
+
requirement: &70276294377300 !ruby/object:Gem::Requirement
|
109
101
|
none: false
|
110
|
-
requirements:
|
102
|
+
requirements:
|
111
103
|
- - ~>
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
|
114
|
-
segments:
|
115
|
-
- 2
|
116
|
-
- 12
|
117
|
-
version: "2.12"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '2.12'
|
118
106
|
type: :development
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: *70276294377300
|
109
|
+
description: ! "Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/].\n\nIt
|
110
|
+
works with PostgreSQL 8.2 and later.\n\nThis will be the last minor version to support
|
111
|
+
8.2 -- 0.13 will support 8.3 \nand later, following the \n{PostgreSQL Release Support
|
112
|
+
Policy}[http://bit.ly/6AfPhm]."
|
113
|
+
email:
|
125
114
|
- ruby-pg@j-davis.com
|
126
115
|
- ged@FaerieMUD.org
|
127
116
|
executables: []
|
128
|
-
|
129
|
-
extensions:
|
117
|
+
extensions:
|
130
118
|
- ext/extconf.rb
|
131
|
-
extra_rdoc_files:
|
119
|
+
extra_rdoc_files:
|
132
120
|
- Manifest.txt
|
133
121
|
- Contributors.rdoc
|
134
122
|
- History.rdoc
|
@@ -141,7 +129,7 @@ extra_rdoc_files:
|
|
141
129
|
- LICENSE
|
142
130
|
- ext/compat.c
|
143
131
|
- ext/pg.c
|
144
|
-
files:
|
132
|
+
files:
|
145
133
|
- .gemtest
|
146
134
|
- BSD
|
147
135
|
- ChangeLog
|
@@ -155,6 +143,7 @@ files:
|
|
155
143
|
- README.rdoc
|
156
144
|
- README.windows.rdoc
|
157
145
|
- Rakefile
|
146
|
+
- Rakefile.cross
|
158
147
|
- ext/compat.c
|
159
148
|
- ext/compat.h
|
160
149
|
- ext/extconf.rb
|
@@ -185,42 +174,32 @@ files:
|
|
185
174
|
- spec/pgconn_spec.rb
|
186
175
|
- spec/pgresult_spec.rb
|
187
176
|
homepage: https://bitbucket.org/ged/ruby-pg
|
188
|
-
licenses:
|
177
|
+
licenses:
|
189
178
|
- BSD
|
190
179
|
- Ruby
|
191
180
|
- GPL
|
192
181
|
post_install_message:
|
193
|
-
rdoc_options:
|
182
|
+
rdoc_options:
|
194
183
|
- --main
|
195
184
|
- README.rdoc
|
196
|
-
require_paths:
|
185
|
+
require_paths:
|
197
186
|
- lib
|
198
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
187
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
199
188
|
none: false
|
200
|
-
requirements:
|
201
|
-
- -
|
202
|
-
- !ruby/object:Gem::Version
|
203
|
-
hash: 57
|
204
|
-
segments:
|
205
|
-
- 1
|
206
|
-
- 8
|
207
|
-
- 7
|
189
|
+
requirements:
|
190
|
+
- - ! '>='
|
191
|
+
- !ruby/object:Gem::Version
|
208
192
|
version: 1.8.7
|
209
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
194
|
none: false
|
211
|
-
requirements:
|
212
|
-
- -
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
|
215
|
-
segments:
|
216
|
-
- 0
|
217
|
-
version: "0"
|
195
|
+
requirements:
|
196
|
+
- - ! '>='
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
218
199
|
requirements: []
|
219
|
-
|
220
200
|
rubyforge_project: pg
|
221
201
|
rubygems_version: 1.8.11
|
222
202
|
signing_key:
|
223
203
|
specification_version: 3
|
224
204
|
summary: Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/]
|
225
205
|
test_files: []
|
226
|
-
|
metadata.gz.sig
CHANGED
Binary file
|