do_sqlite3 0.9.8 → 0.9.9
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/History.txt +7 -0
- data/Manifest.txt +0 -1
- data/Rakefile +114 -2
- data/lib/do_sqlite3.rb +3 -3
- data/lib/do_sqlite3/version.rb +1 -1
- metadata +3 -4
- data/lib/do_sqlite3/sqlite3.dll +0 -0
data/History.txt
CHANGED
@@ -1 +1,8 @@
|
|
1
|
+
== 0.9.9 2008-11-27
|
2
|
+
* Improvements
|
3
|
+
* Added cross compile rake tasks for Windows gems [Jonathan Stott, Luis Lavena]
|
4
|
+
* Added initial support for Ruby 1.9 [John Harrison]
|
1
5
|
|
6
|
+
* Bug Fixes
|
7
|
+
* Removed sqlite3.dll from source gem [Dan Kubb]
|
8
|
+
* Removed hard coded .bundle from source [Dirkjan Bussink]
|
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
@@ -18,10 +18,10 @@ GEM_NAME = "do_sqlite3"
|
|
18
18
|
GEM_VERSION = DataObjects::Sqlite3::VERSION
|
19
19
|
GEM_DEPENDENCIES = [["data_objects", GEM_VERSION]]
|
20
20
|
|
21
|
+
# TODO: remove duplicates from here that are already listed in .gitignore
|
21
22
|
clean = %w(o bundle log a gem dSYM obj pdb lib def exp DS_Store)
|
22
23
|
|
23
24
|
unless ENV["WINDOWS"]
|
24
|
-
clean << "so"
|
25
25
|
GEM_EXTRAS = { :extensions => %w[ ext/extconf.rb ], :has_rdoc => false }
|
26
26
|
else
|
27
27
|
GEM_EXTRAS = {}
|
@@ -35,7 +35,15 @@ PROJECT_DESCRIPTION = PROJECT_SUMMARY = "A DataObject.rb driver for Sqlite3"
|
|
35
35
|
|
36
36
|
DRIVER = true
|
37
37
|
|
38
|
-
|
38
|
+
if (tasks_dir = ROOT.parent + 'tasks').directory?
|
39
|
+
require tasks_dir + 'hoe'
|
40
|
+
|
41
|
+
# use .gitignore to identify files to clean up
|
42
|
+
File.read(ROOT.parent + '.gitignore').split(/\s+/).each do |pattern|
|
43
|
+
next if pattern.include?('/') && !pattern.gsub!(/\A(?:\.\/)?#{ROOT.basename}(?:\/|\z)/, './')
|
44
|
+
GEM_CLEAN.concat(Dir.glob(pattern.include?('/') ? pattern : "**/#{pattern}"))
|
45
|
+
end
|
46
|
+
end
|
39
47
|
|
40
48
|
# Installation
|
41
49
|
|
@@ -90,3 +98,107 @@ namespace :ci do
|
|
90
98
|
end
|
91
99
|
|
92
100
|
task :ci => ["ci:spec"]
|
101
|
+
|
102
|
+
|
103
|
+
# Windows specific stuff. (for cross-compiling a release)
|
104
|
+
# You have been warned.
|
105
|
+
# Thanks to Luis Lavena for helping through the writing of this.
|
106
|
+
# will eventually be replaced with: http://github.com/luislavena/rake-compiler
|
107
|
+
|
108
|
+
# use the do directory for the cross-compile stuff
|
109
|
+
CCROOT = ROOT.parent
|
110
|
+
|
111
|
+
SQLITE_VERSION = '3_6_6_2'
|
112
|
+
|
113
|
+
MINGW_PATH = ENV['MINGW_PATH'] || "/usr/i586-mingw32msvc"
|
114
|
+
|
115
|
+
if (tasks_dir = ROOT.parent + 'tasks').directory?
|
116
|
+
require tasks_dir + 'win32'
|
117
|
+
|
118
|
+
SQLITE_DIR = "#{CROSS}/sqlite-#{SQLITE_VERSION}"
|
119
|
+
|
120
|
+
namespace :build do
|
121
|
+
|
122
|
+
task :externals => "win32:sqlite3"
|
123
|
+
|
124
|
+
namespace :win32 do
|
125
|
+
|
126
|
+
desc "Creates cross compiled sqlite3 libraries"
|
127
|
+
task :sqlite3 => ["#{SQLITE_DIR}/include/sqlite3.h", "#{SQLITE_DIR}/lib/libsqlite3.a"]
|
128
|
+
|
129
|
+
directory SQLITE_DIR
|
130
|
+
directory "#{SQLITE_DIR}/include"
|
131
|
+
directory "#{SQLITE_DIR}/lib"
|
132
|
+
|
133
|
+
file "#{SQLITE_DIR}/include/sqlite3.h" => ["#{SQLITE_DIR}/include", "#{STASH}/sqlite-amalgamation-#{SQLITE_VERSION}.zip"] do |t|
|
134
|
+
when_writing "creating sqlite3.h" do
|
135
|
+
cd(t.prerequisites[0]) do
|
136
|
+
sh "unzip #{t.prerequisites[1]}"
|
137
|
+
touch t.name
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
file "#{SQLITE_DIR}/lib/libsqlite3.a" => ["#{SQLITE_DIR}/lib", "#{SQLITE_DIR}/sqlite3.dll"] do |t|
|
143
|
+
when_writing "creating libsqlite3.a" do
|
144
|
+
sh "#{MINGW_PATH}/bin/dlltool --dllname #{SQLITE_DIR}/sqlite3.dll --def #{SQLITE_DIR}/sqlite3.def --output-lib #{t.name}"
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
file "#{SQLITE_DIR}/sqlite3.dll" => [SQLITE_DIR, "#{STASH}/sqlitedll-#{SQLITE_VERSION}.zip"] do |t|
|
149
|
+
when_writing "creating sqlite3.dll" do
|
150
|
+
cd(SQLITE_DIR) do
|
151
|
+
sh "unzip #{t.prerequisites[1]}"
|
152
|
+
touch t.name
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
# download files
|
158
|
+
file "#{STASH}/sqlite-amalgamation-#{SQLITE_VERSION}.zip" => STASH do |t|
|
159
|
+
download_file(STASH, "http://www.sqlite.org/#{File.basename(t.name)}")
|
160
|
+
end
|
161
|
+
|
162
|
+
file "#{STASH}/sqlitedll-#{SQLITE_VERSION}.zip" => STASH do |t|
|
163
|
+
download_file(STASH, "http://www.sqlite.org/#{File.basename(t.name)}")
|
164
|
+
end
|
165
|
+
|
166
|
+
# The extension. This is a task so it's rebuilt each time it is run, so we're sure to have a windows
|
167
|
+
# compiled extension.
|
168
|
+
task "lib/do_sqlite3_ext.so" => [:clean, "build:externals"] + FileList["ext/extconf.rb", "ext/*.c", "ext/*.h"] do
|
169
|
+
when_writing "Creating compiled extension" do
|
170
|
+
cd('ext') do
|
171
|
+
ruby " -I #{CROSS}/lib/ruby/1.8/i386-mingw32/ extconf.rb -- --with-sqlite3-dir=#{SQLITE_DIR}"
|
172
|
+
sh 'make'
|
173
|
+
end
|
174
|
+
mv 'ext/do_sqlite3_ext.so', 'lib'
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
task :extension => "lib/do_sqlite3_ext.so"
|
179
|
+
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
namespace :gem do
|
184
|
+
namespace :win32 do
|
185
|
+
desc "Package pre-compiled win32 gem"
|
186
|
+
task :package => "pkg/#{GEM_NAME}-#{GEM_VERSION}-x86-mswin32-60.gem"
|
187
|
+
|
188
|
+
file "pkg/#{GEM_NAME}-#{GEM_VERSION}-x86-mswin32-60.gem" => ["build:win32:extension", "pkg"] + HOE.spec.files do |t|
|
189
|
+
spec = HOE.spec.dup
|
190
|
+
spec.extensions = nil
|
191
|
+
spec.files += Dir['lib/**.so']
|
192
|
+
spec.platform = 'x86-mswin32-60'
|
193
|
+
spec.post_install_message = <<-eos
|
194
|
+
Now download http://www.sqlite.org/sqlitedll-#{SQLITE_VERSION}.zip
|
195
|
+
And place the dll somewhere in your PATH, for example C:\\ruby\\bin
|
196
|
+
eos
|
197
|
+
when_writing "Building win32 do_sqlite3 gem" do
|
198
|
+
Gem::Builder.new(spec).build
|
199
|
+
end
|
200
|
+
mv File.basename(t.name), t.name
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
data/lib/do_sqlite3.rb
CHANGED
@@ -4,10 +4,10 @@
|
|
4
4
|
# of the actual extension file.
|
5
5
|
if RUBY_PLATFORM.match(/mingw|mswin/i)
|
6
6
|
libdir = File.expand_path(File.dirname(__FILE__)).gsub(File::SEPARATOR, File::ALT_SEPARATOR)
|
7
|
-
ENV['PATH'] =
|
7
|
+
ENV['PATH'] = "#{libdir};" + ENV['PATH']
|
8
8
|
end
|
9
9
|
|
10
10
|
require 'rubygems'
|
11
11
|
require 'data_objects'
|
12
|
-
require
|
13
|
-
require
|
12
|
+
require 'do_sqlite3_ext'
|
13
|
+
require 'do_sqlite3/transaction'
|
data/lib/do_sqlite3/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: do_sqlite3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bernerd Schaefer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-11-
|
12
|
+
date: 2008-11-27 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.9.
|
23
|
+
version: 0.9.9
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: hoe
|
@@ -54,7 +54,6 @@ files:
|
|
54
54
|
- ext/do_sqlite3_ext.c
|
55
55
|
- ext/extconf.rb
|
56
56
|
- lib/do_sqlite3.rb
|
57
|
-
- lib/do_sqlite3/sqlite3.dll
|
58
57
|
- lib/do_sqlite3/transaction.rb
|
59
58
|
- lib/do_sqlite3/version.rb
|
60
59
|
- spec/integration/do_sqlite3_spec.rb
|
data/lib/do_sqlite3/sqlite3.dll
DELETED
Binary file
|