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 
     |