sqlite3 1.6.4-arm-linux → 1.6.5-arm-linux
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/INSTALLATION.md +43 -4
- data/ext/sqlite3/extconf.rb +11 -4
- data/lib/sqlite3/version.rb +2 -2
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e55fb2c6997cd830cdc9c8f412056f3251532e05058635a275752f581718292c
         | 
| 4 | 
            +
              data.tar.gz: 7502b012ddf959e908b1a4028d0f62bb9f5bdd330bd21d90dfe0f643e695be29
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3965d46d1efbf25564e2d2042b1ae858c579a4e240c376b9a19d8a706a023a4e034fff06101ecc4e508c5f9c79c804328067068b5b3aad29dcac7f536f6227d1
         | 
| 7 | 
            +
              data.tar.gz: '04689ddc3a4a0aa580356340c6924708bdd811762faecd779053deeee2989840684cfb1dc4554cabbe95d9c00db127ea6edfd479a3e541f84ca6accf8218b829'
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,12 @@ | |
| 1 1 | 
             
            # sqlite3-ruby Changelog
         | 
| 2 2 |  | 
| 3 | 
            +
            ## 1.6.5 / 2023-09-08
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ### Packaging
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * Allow setting compiler flags for the sqlite library via a `--with-sqlite-cflags` argument to `extconf.rb`. See [`INSTALLATION.md`](https://github.com/sparklemotion/sqlite3-ruby/blob/master/INSTALLATION.md#controlling-compilation-flags-for-sqlite) for more information. [#401, #402] (@flavorjones)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
             | 
| 3 10 | 
             
            ## 1.6.4 / 2023-08-26
         | 
| 4 11 |  | 
| 5 12 | 
             
            ### Dependencies
         | 
    
        data/INSTALLATION.md
    CHANGED
    
    | @@ -73,6 +73,45 @@ user    0m23.361s | |
| 73 73 | 
             
            sys     0m5.839s
         | 
| 74 74 | 
             
            ```
         | 
| 75 75 |  | 
| 76 | 
            +
            ##### Controlling compilation flags for sqlite
         | 
| 77 | 
            +
             | 
| 78 | 
            +
            Upstream sqlite allows for the setting of some parameters at compile time. If you're an expert and would like to set these, you may do so at gem install time in two different ways ...
         | 
| 79 | 
            +
             | 
| 80 | 
            +
            **If you're installing the gem using `gem install`** then you can pass in these compile-time flags like this:
         | 
| 81 | 
            +
             | 
| 82 | 
            +
            ``` sh
         | 
| 83 | 
            +
            gem install sqlite3 --platform=ruby -- \
         | 
| 84 | 
            +
              --with-sqlite-cflags="-DSQLITE_DEFAULT_CACHE_SIZE=9999 -DSQLITE_DEFAULT_PAGE_SIZE=4444"
         | 
| 85 | 
            +
            ```
         | 
| 86 | 
            +
             | 
| 87 | 
            +
            or the equivalent:
         | 
| 88 | 
            +
             | 
| 89 | 
            +
            ``` sh
         | 
| 90 | 
            +
            CFLAGS="-DSQLITE_DEFAULT_CACHE_SIZE=9999 -DSQLITE_DEFAULT_PAGE_SIZE=4444" \
         | 
| 91 | 
            +
              gem install sqlite3 --platform=ruby
         | 
| 92 | 
            +
            ```
         | 
| 93 | 
            +
             | 
| 94 | 
            +
            **If you're installing the gem using `bundler`** then you should first pin the gem to the "ruby" platform gem, so that you are compiling from source:
         | 
| 95 | 
            +
             | 
| 96 | 
            +
            ``` ruby
         | 
| 97 | 
            +
            # Gemfile
         | 
| 98 | 
            +
            gem "sqlite3", force_ruby_platform: true # requires bundler >= 2.3.18
         | 
| 99 | 
            +
            ```
         | 
| 100 | 
            +
             | 
| 101 | 
            +
            and then set up a bundler config parameter for `build.sqlite3`:
         | 
| 102 | 
            +
             | 
| 103 | 
            +
            ``` sh
         | 
| 104 | 
            +
            bundle config set build.sqlite3 \
         | 
| 105 | 
            +
              "--with-sqlite-cflags='-DSQLITE_DEFAULT_CACHE_SIZE=9999 -DSQLITE_DEFAULT_PAGE_SIZE=4444'"
         | 
| 106 | 
            +
            ```
         | 
| 107 | 
            +
             | 
| 108 | 
            +
            NOTE the use of single quotes within the double-quoted string to ensure the space between compiler flags is interpreted correctly. The contents of your `.bundle/config` file should look like:
         | 
| 109 | 
            +
             | 
| 110 | 
            +
            ``` yaml
         | 
| 111 | 
            +
            ---
         | 
| 112 | 
            +
            BUNDLE_BUILD__SQLITE3: "--with-sqlite-cflags='-DSQLITE_DEFAULT_CACHE_SIZE=9999 -DSQLITE_DEFAULT_PAGE_SIZE=4444'"
         | 
| 113 | 
            +
            ```
         | 
| 114 | 
            +
             | 
| 76 115 |  | 
| 77 116 | 
             
            #### System libsqlite3
         | 
| 78 117 |  | 
| @@ -167,14 +206,14 @@ db.load_extension("/path/to/sqlite/spellfix.o") | |
| 167 206 | 
             
            db.execute("CREATE VIRTUAL TABLE demo USING spellfix1;")
         | 
| 168 207 | 
             
            ```
         | 
| 169 208 |  | 
| 170 | 
            -
            ### How do I use  | 
| 209 | 
            +
            ### How do I use my own sqlite3 shared library?
         | 
| 171 210 |  | 
| 172 | 
            -
            Some  | 
| 211 | 
            +
            Some folks have strong opinions about what features they want compiled into sqlite3; or may be using a package like SQLite Encryption Extension ("SEE"). This section will explain how to get your Ruby application to load that specific shared library.
         | 
| 173 212 |  | 
| 174 213 | 
             
            If you've installed your alternative as an autotools-style installation, the directory structure will look like this:
         | 
| 175 214 |  | 
| 176 215 | 
             
            ```
         | 
| 177 | 
            -
            /opt/ | 
| 216 | 
            +
            /opt/sqlite3
         | 
| 178 217 | 
             
            ├── bin
         | 
| 179 218 | 
             
            │   └── sqlite3
         | 
| 180 219 | 
             
            ├── include
         | 
| @@ -199,7 +238,7 @@ You can build this gem against that library like this: | |
| 199 238 | 
             
            ```
         | 
| 200 239 | 
             
            gem install sqlite3 --platform=ruby -- \
         | 
| 201 240 | 
             
              --enable-system-libraries \
         | 
| 202 | 
            -
              --with-opt-dir=/opt/ | 
| 241 | 
            +
              --with-opt-dir=/opt/sqlite
         | 
| 203 242 | 
             
            ```
         | 
| 204 243 |  | 
| 205 244 | 
             
            Explanation:
         | 
    
        data/ext/sqlite3/extconf.rb
    CHANGED
    
    | @@ -51,12 +51,13 @@ module Sqlite3 | |
| 51 51 | 
             
                    minimal_recipe.tap do |recipe|
         | 
| 52 52 | 
             
                      recipe.configure_options += ["--enable-shared=no", "--enable-static=yes"]
         | 
| 53 53 | 
             
                      ENV.to_h.tap do |env|
         | 
| 54 | 
            -
                         | 
| 54 | 
            +
                        user_cflags = with_config("sqlite-cflags")
         | 
| 55 | 
            +
                        more_cflags = [
         | 
| 55 56 | 
             
                          "-fPIC", # needed for linking the static library into a shared library
         | 
| 56 57 | 
             
                          "-O2", # see https://github.com/sparklemotion/sqlite3-ruby/issues/335 for some benchmarks
         | 
| 57 58 | 
             
                          "-fvisibility=hidden", # see https://github.com/rake-compiler/rake-compiler-dock/issues/87
         | 
| 58 59 | 
             
                        ]
         | 
| 59 | 
            -
                        env["CFLAGS"] = [env["CFLAGS"],  | 
| 60 | 
            +
                        env["CFLAGS"] = [user_cflags, env["CFLAGS"], more_cflags].flatten.join(" ")
         | 
| 60 61 | 
             
                        recipe.configure_options += env.select { |k,v| ENV_ALLOWLIST.include?(k) }
         | 
| 61 62 | 
             
                                                       .map { |key, value| "#{key}=#{value.strip}" }
         | 
| 62 63 | 
             
                      end
         | 
| @@ -234,17 +235,23 @@ module Sqlite3 | |
| 234 235 |  | 
| 235 236 | 
             
                        Flags only used when building and using the packaged libraries:
         | 
| 236 237 |  | 
| 238 | 
            +
                            --with-sqlite-cflags=CFLAGS
         | 
| 239 | 
            +
                                Explicitly pass compiler flags to the sqlite library build. These flags will
         | 
| 240 | 
            +
                                appear on the commandline before any flags set in the CFLAGS environment
         | 
| 241 | 
            +
                                variable. This is useful for setting compilation options in your project's
         | 
| 242 | 
            +
                                bundler config. See INSTALLATION.md for more information.
         | 
| 243 | 
            +
             | 
| 237 244 | 
             
                            --enable-cross-build
         | 
| 238 245 | 
             
                                Enable cross-build mode. (You probably do not want to set this manually.)
         | 
| 239 246 |  | 
| 240 247 |  | 
| 241 | 
            -
                        Environment variables used for compiling the C extension:
         | 
| 248 | 
            +
                        Environment variables used for compiling the gem's C extension:
         | 
| 242 249 |  | 
| 243 250 | 
             
                            CC
         | 
| 244 251 | 
             
                                Use this path to invoke the compiler instead of `RbConfig::CONFIG['CC']`
         | 
| 245 252 |  | 
| 246 253 |  | 
| 247 | 
            -
                        Environment variables passed through to the compilation of  | 
| 254 | 
            +
                        Environment variables passed through to the compilation of sqlite:
         | 
| 248 255 |  | 
| 249 256 | 
             
                            CC
         | 
| 250 257 | 
             
                            CPPFLAGS
         | 
    
        data/lib/sqlite3/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sqlite3
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.6. | 
| 4 | 
            +
              version: 1.6.5
         | 
| 5 5 | 
             
            platform: arm-linux
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jamis Buck
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2023- | 
| 13 | 
            +
            date: 2023-09-09 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies: []
         | 
| 15 15 | 
             
            description: |-
         | 
| 16 16 | 
             
              This module allows Ruby programs to interface with the SQLite3
         |