sqlite3 1.5.3-aarch64-linux → 1.6.0-aarch64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afd7982024c721b15cc6751c5e1185ba865af20abae12daf1a6de896ba080b87
4
- data.tar.gz: a4b47fb8acfbab605e5d899a180a54700409a8c0b6d94d11878e8b15e19499ef
3
+ metadata.gz: 92293f1170a5e1cc47dcc71e87f4c60618226d98ff07bfd712b2e740ef81a9ae
4
+ data.tar.gz: 8d12820665da2297a1a9f802dbcaabe1a6b4ba2af5c5b8359d854cbf9a81511b
5
5
  SHA512:
6
- metadata.gz: fcb9d008cf7c0ef85e19677446d40e645ff1470eb9522344cfcda54ad6b907e3e0a669648c6ebfe681b4b660a35cdb6e307b7a4098f25410f5188d3d5133a06d
7
- data.tar.gz: d1c4dde098880a589121a2b464c46574503a8480a077939f3d9dc371ab1ddfe8f2df57c91a3fbdeb5661ea336ce7b6fb5da7da49901082feea7e529b2fb10a63
6
+ metadata.gz: 36fe9721387066a30e00d1f4023455368cfb6a6fb26bf85daa56241d419fd2cb9c58c2c687876caf48f48dbf919d67f775722e3b5051095a5ca2b4544f02b083
7
+ data.tar.gz: 285f41814bfccd34ea9ee3b251e6bfe79e4601177096c0d6bd6c2c1dc5461db39fc27c3b57817ee0b32d39468d030321c3f62e729ab8e634fc2ad87ab0110a01
data/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # sqlite3-ruby Changelog
2
2
 
3
+ ## 1.6.0 / 2023-01-13
4
+
5
+ ### Ruby
6
+
7
+ This release introduces native gem support for Ruby 3.2.
8
+
9
+ This release ends native gem support for Ruby 2.6, for which [upstream support ended 2022-04-12](https://www.ruby-lang.org/en/downloads/branches/).
10
+
11
+
12
+ ### Dependencies
13
+
14
+ * Vendored sqlite3 is updated to [v3.40.1](https://sqlite.org/releaselog/3_40_1.html).
15
+
16
+
17
+ ### Fixes
18
+
19
+ * `get_boolean_pragma` now returns the correct value. Previously, it always returned true. [#275] (Thank you, @Edouard-chin!)
20
+
21
+
22
+ ## 1.5.4 / 2022-11-18
23
+
24
+ ### Dependencies
25
+
26
+ * Vendored sqlite is updated to [v3.40.0](https://sqlite.org/releaselog/3_40_0.html).
27
+
28
+
3
29
  ## 1.5.3 / 2022-10-11
4
30
 
5
31
  ### Fixed
data/README.md CHANGED
@@ -71,7 +71,7 @@ end
71
71
 
72
72
  ### Native Gems (recommended)
73
73
 
74
- As of v1.5.0 of this library, native (precompiled) gems are available for Ruby 2.6, 2.7, 3.0, and 3.1 on all these platforms:
74
+ In v1.5.0 and later, native (precompiled) gems are available for recent Ruby versions on these platforms:
75
75
 
76
76
  - `aarch64-linux`
77
77
  - `arm-linux`
data/dependencies.yml CHANGED
@@ -2,13 +2,14 @@
2
2
  :sqlite3:
3
3
  # checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
4
4
  #
5
- # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3390400.tar.gz
6
- # 431328e30d12c551da9ba7ef2122b269076058512014afa799caaf62ca567090 ports/archives/sqlite-autoconf-3390400.tar.gz
5
+ # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3400100.tar.gz
6
+ # 3136db4bcd9e9e1e485c291380a3d86f0f21cae0eff9f714c0ef4821e2e5cdf7 ports/archives/sqlite-autoconf-3400100.tar.gz
7
7
  #
8
- # $ sha256sum ports/archives/sqlite-autoconf-3390400.tar.gz
9
- # f31d445b48e67e284cf206717cc170ab63cbe4fd7f79a82793b772285e78fdbb ports/archives/sqlite-autoconf-3390400.tar.gz
8
+ # juno in sqlite3-ruby on  flavorjones-update-sqlite-3.40.1 [$!?] via 💎 v3.1.2
9
+ # $ sha256sum ports/archives/sqlite-autoconf-3400100.tar.gz
10
+ # 2c5dea207fa508d765af1ef620b637dcb06572afa6f01f0815bd5bbf864b33d9 ports/archives/sqlite-autoconf-3400100.tar.gz
10
11
  #
11
- :version: "3.39.4"
12
+ :version: "3.40.1"
12
13
  :files:
13
- - :url: "https://sqlite.org/2022/sqlite-autoconf-3390400.tar.gz"
14
- :sha256: "f31d445b48e67e284cf206717cc170ab63cbe4fd7f79a82793b772285e78fdbb"
14
+ - :url: "https://sqlite.org/2022/sqlite-autoconf-3400100.tar.gz"
15
+ :sha256: "2c5dea207fa508d765af1ef620b637dcb06572afa6f01f0815bd5bbf864b33d9"
@@ -55,6 +55,7 @@ module Sqlite3
55
55
  additional_cflags = [
56
56
  "-fPIC", # needed for linking the static library into a shared library
57
57
  "-O2", # see https://github.com/sparklemotion/sqlite3-ruby/issues/335 for some benchmarks
58
+ "-fvisibility=hidden", # see https://github.com/rake-compiler/rake-compiler-dock/issues/87
58
59
  ]
59
60
  env["CFLAGS"] = [env["CFLAGS"], additional_cflags].flatten.join(" ")
60
61
  recipe.configure_options += env.select { |k,v| ENV_ALLOWLIST.include?(k) }
@@ -69,21 +70,24 @@ module Sqlite3
69
70
  # on macos, pkg-config will not return --cflags without this
70
71
  ENV["PKG_CONFIG_ALLOW_SYSTEM_CFLAGS"] = "t"
71
72
 
73
+ # only needed for Ruby 3.1.3, see https://bugs.ruby-lang.org/issues/19233
74
+ RbConfig::CONFIG["PKG_CONFIG"] = config_string("PKG_CONFIG") || "pkg-config"
75
+
72
76
  lib_path = File.join(recipe.path, "lib")
73
77
  pcfile = File.join(lib_path, "pkgconfig", "sqlite3.pc")
74
78
  abort_pkg_config("pkg_config") unless pkg_config(pcfile)
75
79
 
76
80
  # see https://bugs.ruby-lang.org/issues/18490
77
- flags = xpopen(["pkg-config", "--libs", "--static", pcfile], err: [:child, :out], &:read)
81
+ ldflags = xpopen(["pkg-config", "--libs", "--static", pcfile], err: [:child, :out], &:read)
78
82
  abort_pkg_config("xpopen") unless $?.success?
79
- flags = flags.split
83
+ ldflags = ldflags.split
80
84
 
81
85
  # see https://github.com/flavorjones/mini_portile/issues/118
82
86
  "-L#{lib_path}".tap do |lib_path_flag|
83
- flags.prepend(lib_path_flag) unless flags.include?(lib_path_flag)
87
+ ldflags.prepend(lib_path_flag) unless ldflags.include?(lib_path_flag)
84
88
  end
85
89
 
86
- flags.each { |flag| append_ldflags(flag) }
90
+ ldflags.each { |ldflag| append_ldflags(ldflag) }
87
91
  end
88
92
  end
89
93
 
@@ -92,6 +96,8 @@ module Sqlite3
92
96
  append_cppflags("-DTAINTING_SUPPORT")
93
97
  end
94
98
 
99
+ append_cflags("-fvisibility=hidden") # see https://github.com/rake-compiler/rake-compiler-dock/issues/87
100
+
95
101
  if find_header("sqlite3.h")
96
102
  # noop
97
103
  elsif sqlcipher? && find_header("sqlcipher/sqlite3.h")
@@ -126,9 +132,13 @@ module Sqlite3
126
132
 
127
133
  def minimal_recipe
128
134
  MiniPortile.new(libname, sqlite3_config[:version]).tap do |recipe|
129
- recipe.files = sqlite3_config[:files]
130
- recipe.target = File.join(package_root_dir, "ports")
131
- recipe.patch_files = Dir[File.join(package_root_dir, "patches", "*.patch")].sort
135
+ if sqlite_source_dir
136
+ recipe.source_directory = sqlite_source_dir
137
+ else
138
+ recipe.files = sqlite3_config[:files]
139
+ recipe.target = File.join(package_root_dir, "ports")
140
+ recipe.patch_files = Dir[File.join(package_root_dir, "patches", "*.patch")].sort
141
+ end
132
142
  end
133
143
  end
134
144
 
@@ -157,10 +167,18 @@ module Sqlite3
157
167
  enable_config("cross-build")
158
168
  end
159
169
 
170
+ def sqlite_source_dir
171
+ arg_config("--with-sqlite-source-dir")
172
+ end
173
+
160
174
  def download
161
175
  minimal_recipe.download
162
176
  end
163
177
 
178
+ def darwin?
179
+ RbConfig::CONFIG["target_os"].include?("darwin")
180
+ end
181
+
164
182
  def print_help
165
183
  print(<<~TEXT)
166
184
  USAGE: ruby #{$PROGRAM_NAME} [options]
@@ -178,6 +196,9 @@ module Sqlite3
178
196
  Use libsqlcipher instead of libsqlite3.
179
197
  (Implies `--enable-system-libraries`.)
180
198
 
199
+ --with-sqlite-source-dir=DIRECTORY
200
+ (dev only) Build sqlite from the source code in DIRECTORY
201
+
181
202
  --help
182
203
  Display this message.
183
204
 
@@ -127,6 +127,7 @@ void init_sqlite3_constants()
127
127
  #endif
128
128
  }
129
129
 
130
+ RUBY_FUNC_EXPORTED
130
131
  void Init_sqlite3_native()
131
132
  {
132
133
  /*
Binary file
Binary file
Binary file
Binary file
@@ -11,7 +11,7 @@ module SQLite3
11
11
 
12
12
  # Returns +true+ or +false+ depending on the value of the named pragma.
13
13
  def get_boolean_pragma( name )
14
- get_first_value( "PRAGMA #{name}" ) != "0"
14
+ get_first_value( "PRAGMA #{name}" ) != 0
15
15
  end
16
16
 
17
17
  # Sets the given pragma to the given boolean value. The value itself
@@ -260,7 +260,7 @@ module SQLite3
260
260
  def full_column_names=( mode )
261
261
  set_boolean_pragma "full_column_names", mode
262
262
  end
263
-
263
+
264
264
  def fullfsync
265
265
  get_boolean_pragma "fullfsync"
266
266
  end
@@ -356,7 +356,7 @@ module SQLite3
356
356
  def parser_trace=( mode )
357
357
  set_boolean_pragma "parser_trace", mode
358
358
  end
359
-
359
+
360
360
  def query_only
361
361
  get_boolean_pragma "query_only"
362
362
  end
@@ -1,11 +1,11 @@
1
1
  module SQLite3
2
2
 
3
- VERSION = "1.5.3"
3
+ VERSION = "1.6.0"
4
4
 
5
5
  module VersionProxy
6
6
  MAJOR = 1
7
- MINOR = 5
8
- TINY = 3
7
+ MINOR = 6
8
+ TINY = 0
9
9
  BUILD = nil
10
10
 
11
11
  STRING = [ MAJOR, MINOR, TINY, BUILD ].compact.join( "." )
@@ -0,0 +1,22 @@
1
+ require 'helper'
2
+
3
+ module SQLite3
4
+ class TestPragmas < SQLite3::TestCase
5
+ def setup
6
+ super
7
+ @db = SQLite3::Database.new(":memory:")
8
+ end
9
+
10
+ def test_get_boolean_pragma
11
+ refute(@db.get_boolean_pragma("read_uncommitted"))
12
+ end
13
+
14
+ def test_set_boolean_pragma
15
+ @db.set_boolean_pragma("read_uncommitted", 1)
16
+
17
+ assert(@db.get_boolean_pragma("read_uncommitted"))
18
+ ensure
19
+ @db.set_boolean_pragma("read_uncommitted", 0)
20
+ end
21
+ end
22
+ end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqlite3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 1.6.0
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Jamis Buck
8
8
  - Luis Lavena
9
9
  - Aaron Patterson
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-10-11 00:00:00.000000000 Z
13
+ date: 2023-01-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: minitest
@@ -44,16 +44,16 @@ dependencies:
44
44
  name: rake-compiler-dock
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 1.2.1
49
+ version: 1.3.0
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - "~>"
54
+ - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 1.2.1
56
+ version: 1.3.0
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rdoc
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -74,13 +74,27 @@ dependencies:
74
74
  - - "<"
75
75
  - !ruby/object:Gem::Version
76
76
  version: '7'
77
+ - !ruby/object:Gem::Dependency
78
+ name: psych
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '4.0'
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '4.0'
77
91
  description: |-
78
92
  This module allows Ruby programs to interface with the SQLite3
79
93
  database engine (http://www.sqlite.org). You must have the
80
94
  SQLite engine installed in order to build this module.
81
95
 
82
96
  Note that this module is only compatible with SQLite 3.6.16 or newer.
83
- email:
97
+ email:
84
98
  executables: []
85
99
  extensions: []
86
100
  extra_rdoc_files:
@@ -121,10 +135,10 @@ files:
121
135
  - faq/faq.rb
122
136
  - faq/faq.yml
123
137
  - lib/sqlite3.rb
124
- - lib/sqlite3/2.6/sqlite3_native.so
125
138
  - lib/sqlite3/2.7/sqlite3_native.so
126
139
  - lib/sqlite3/3.0/sqlite3_native.so
127
140
  - lib/sqlite3/3.1/sqlite3_native.so
141
+ - lib/sqlite3/3.2/sqlite3_native.so
128
142
  - lib/sqlite3/constants.rb
129
143
  - lib/sqlite3/database.rb
130
144
  - lib/sqlite3/errors.rb
@@ -149,6 +163,7 @@ files:
149
163
  - test/test_integration_pending.rb
150
164
  - test/test_integration_resultset.rb
151
165
  - test/test_integration_statement.rb
166
+ - test/test_pragmas.rb
152
167
  - test/test_result_set.rb
153
168
  - test/test_sqlite3.rb
154
169
  - test/test_statement.rb
@@ -163,7 +178,7 @@ metadata:
163
178
  changelog_uri: https://github.com/sparklemotion/sqlite3-ruby/blob/master/CHANGELOG.md
164
179
  source_code_uri: https://github.com/sparklemotion/sqlite3-ruby
165
180
  rubygems_mfa_required: 'true'
166
- post_install_message:
181
+ post_install_message:
167
182
  rdoc_options:
168
183
  - "--main"
169
184
  - README.md
@@ -173,18 +188,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
188
  requirements:
174
189
  - - ">="
175
190
  - !ruby/object:Gem::Version
176
- version: '2.6'
191
+ version: '2.7'
177
192
  - - "<"
178
193
  - !ruby/object:Gem::Version
179
- version: 3.2.dev
194
+ version: 3.3.dev
180
195
  required_rubygems_version: !ruby/object:Gem::Requirement
181
196
  requirements:
182
197
  - - ">="
183
198
  - !ruby/object:Gem::Version
184
199
  version: '0'
185
200
  requirements: []
186
- rubygems_version: 3.3.4
187
- signing_key:
201
+ rubygems_version: 3.3.26
202
+ signing_key:
188
203
  specification_version: 4
189
204
  summary: This module allows Ruby programs to interface with the SQLite3 database engine
190
205
  (http://www.sqlite.org)
Binary file