tiny_tds 3.1.0 → 3.2.1

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/test/test_helper.rb CHANGED
@@ -1,26 +1,24 @@
1
- # encoding: UTF-8
2
- require 'bundler' ; Bundler.require :development, :test
3
- require 'tiny_tds'
4
- require 'minitest/autorun'
5
- require 'toxiproxy'
1
+ require "bundler"
2
+ Bundler.require :development, :test
3
+ require "tiny_tds"
4
+ require "minitest/autorun"
5
+ require "toxiproxy"
6
6
 
7
7
  require "minitest/reporters"
8
8
  Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new, Minitest::Reporters::JUnitReporter.new]
9
9
 
10
- TINYTDS_SCHEMAS = ['sqlserver_2017', 'sqlserver_azure'].freeze
10
+ TINYTDS_SCHEMAS = ["sqlserver_2017", "sqlserver_azure"].freeze
11
11
 
12
12
  module TinyTds
13
13
  class TestCase < Minitest::Spec
14
-
15
14
  class << self
16
-
17
15
  def current_schema
18
- ENV['TINYTDS_SCHEMA'] || 'sqlserver_2017'
16
+ ENV["TINYTDS_SCHEMA"] || "sqlserver_2017"
19
17
  end
20
18
 
21
19
  TINYTDS_SCHEMAS.each do |schema|
22
- define_method "#{schema}?" do
23
- schema == self.current_schema
20
+ define_method :"#{schema}?" do
21
+ schema == current_schema
24
22
  end
25
23
  end
26
24
  end
@@ -30,7 +28,7 @@ module TinyTds
30
28
  protected
31
29
 
32
30
  TINYTDS_SCHEMAS.each do |schema|
33
- define_method "#{schema}?" do
31
+ define_method :"#{schema}?" do
34
32
  schema == self.class.current_schema
35
33
  end
36
34
  end
@@ -39,45 +37,44 @@ module TinyTds
39
37
  self.class.current_schema
40
38
  end
41
39
 
42
- def close_client(client=@client)
40
+ def close_client(client = @client)
43
41
  client.close if defined?(client) && client.is_a?(TinyTds::Client)
44
42
  end
45
43
 
46
- def new_connection(options={})
44
+ def new_connection(options = {})
47
45
  client = TinyTds::Client.new(connection_options(options))
48
46
  if sqlserver_azure?
49
- client.execute('SET ANSI_NULLS ON').do
50
- client.execute('SET CURSOR_CLOSE_ON_COMMIT OFF').do
51
- client.execute('SET ANSI_NULL_DFLT_ON ON').do
52
- client.execute('SET IMPLICIT_TRANSACTIONS OFF').do
53
- client.execute('SET ANSI_PADDING ON').do
54
- client.execute('SET QUOTED_IDENTIFIER ON').do
55
- client.execute('SET ANSI_WARNINGS ON').do
47
+ client.execute("SET ANSI_NULLS ON").do
48
+ client.execute("SET CURSOR_CLOSE_ON_COMMIT OFF").do
49
+ client.execute("SET ANSI_NULL_DFLT_ON ON").do
50
+ client.execute("SET IMPLICIT_TRANSACTIONS OFF").do
51
+ client.execute("SET ANSI_PADDING ON").do
52
+ client.execute("SET QUOTED_IDENTIFIER ON").do
53
+ client.execute("SET ANSI_WARNINGS ON").do
56
54
  else
57
- client.execute('SET ANSI_DEFAULTS ON').do
58
- client.execute('SET CURSOR_CLOSE_ON_COMMIT OFF').do
59
- client.execute('SET IMPLICIT_TRANSACTIONS OFF').do
55
+ client.execute("SET ANSI_DEFAULTS ON").do
56
+ client.execute("SET CURSOR_CLOSE_ON_COMMIT OFF").do
57
+ client.execute("SET IMPLICIT_TRANSACTIONS OFF").do
60
58
  end
61
- client.execute('SET TEXTSIZE 2147483647').do
62
- client.execute('SET CONCAT_NULL_YIELDS_NULL ON').do
59
+ client.execute("SET TEXTSIZE 2147483647").do
60
+ client.execute("SET CONCAT_NULL_YIELDS_NULL ON").do
63
61
  client
64
62
  end
65
63
 
66
- def connection_options(options={})
67
- username = (sqlserver_azure? ? ENV['TINYTDS_UNIT_AZURE_USER'] : ENV['TINYTDS_UNIT_USER']) || 'tinytds'
68
- password = (sqlserver_azure? ? ENV['TINYTDS_UNIT_AZURE_PASS'] : ENV['TINYTDS_UNIT_PASS']) || ''
69
- { :dataserver => sqlserver_azure? ? nil : ENV['TINYTDS_UNIT_DATASERVER'],
70
- :host => ENV['TINYTDS_UNIT_HOST'] || 'localhost',
71
- :port => ENV['TINYTDS_UNIT_PORT'] || '1433',
72
- :tds_version => ENV['TINYTDS_UNIT_VERSION'],
73
- :username => username,
74
- :password => password,
75
- :database => ENV['TINYTDS_UNIT_DATABASE'] || 'tinytdstest',
76
- :appname => 'TinyTds Dev',
77
- :login_timeout => 5,
78
- :timeout => connection_timeout,
79
- :azure => sqlserver_azure?
80
- }.merge(options)
64
+ def connection_options(options = {})
65
+ username = (sqlserver_azure? ? ENV["TINYTDS_UNIT_AZURE_USER"] : ENV["TINYTDS_UNIT_USER"]) || "tinytds"
66
+ password = (sqlserver_azure? ? ENV["TINYTDS_UNIT_AZURE_PASS"] : ENV["TINYTDS_UNIT_PASS"]) || ""
67
+ {dataserver: sqlserver_azure? ? nil : ENV["TINYTDS_UNIT_DATASERVER"],
68
+ host: ENV["TINYTDS_UNIT_HOST"] || "localhost",
69
+ port: ENV["TINYTDS_UNIT_PORT"] || "1433",
70
+ tds_version: ENV["TINYTDS_UNIT_VERSION"],
71
+ username: username,
72
+ password: password,
73
+ database: ENV["TINYTDS_UNIT_DATABASE"] || "tinytdstest",
74
+ appname: "TinyTds Dev",
75
+ login_timeout: 5,
76
+ timeout: connection_timeout,
77
+ azure: sqlserver_azure?}.merge(options)
81
78
  end
82
79
 
83
80
  def connection_timeout
@@ -85,7 +82,7 @@ module TinyTds
85
82
  end
86
83
 
87
84
  def assert_client_works(client)
88
- _(client.execute("SELECT 'client_works' as [client_works]").each).must_equal [{'client_works' => 'client_works'}]
85
+ _(client.execute("SELECT 'client_works' as [client_works]").each).must_equal [{"client_works" => "client_works"}]
89
86
  end
90
87
 
91
88
  def assert_new_connections_work
@@ -102,28 +99,26 @@ module TinyTds
102
99
  rescue TinyTds::Error => e
103
100
  error_raised = true
104
101
  end
105
- assert error_raised, 'expected a TinyTds::Error but none happened'
102
+ assert error_raised, "expected a TinyTds::Error but none happened"
106
103
  yield e
107
104
  ensure
108
105
  close_client(result)
109
106
  end
110
107
 
111
108
  def inspect_tinytds_exception
112
- begin
113
- yield
114
- rescue TinyTds::Error => e
115
- props = { :source => e.source, :message => e.message, :severity => e.severity,
116
- :db_error_number => e.db_error_number, :os_error_number => e.os_error_number }
117
- raise "TinyTds::Error - #{props.inspect}"
118
- end
109
+ yield
110
+ rescue TinyTds::Error => e
111
+ props = {source: e.source, message: e.message, severity: e.severity,
112
+ db_error_number: e.db_error_number, os_error_number: e.os_error_number}
113
+ raise "TinyTds::Error - #{props.inspect}"
119
114
  end
120
115
 
121
116
  def assert_binary_encoding(value)
122
- assert_equal Encoding.find('BINARY'), value.encoding
117
+ assert_equal Encoding.find("BINARY"), value.encoding
123
118
  end
124
119
 
125
120
  def assert_utf8_encoding(value)
126
- assert_equal Encoding.find('UTF-8'), value.encoding
121
+ assert_equal Encoding.find("UTF-8"), value.encoding
127
122
  end
128
123
 
129
124
  def rubyRbx?
@@ -131,17 +126,17 @@ module TinyTds
131
126
  end
132
127
 
133
128
  def ruby_windows?
134
- RbConfig::CONFIG['host_os'] =~ /ming/
129
+ RbConfig::CONFIG["host_os"] =~ /ming/
135
130
  end
136
131
 
137
132
  def ruby_darwin?
138
- RbConfig::CONFIG['host_os'] =~ /darwin/
133
+ RbConfig::CONFIG["host_os"] =~ /darwin/
139
134
  end
140
135
 
141
136
  def load_current_schema
142
137
  loader = new_connection
143
- schema_file = File.expand_path File.join(File.dirname(__FILE__), 'schema', "#{current_schema}.sql")
144
- schema_sql = File.open(schema_file,"rb:UTF-8") { |f|f.read }
138
+ schema_file = File.expand_path File.join(File.dirname(__FILE__), "schema", "#{current_schema}.sql")
139
+ schema_sql = File.open(schema_file, "rb:UTF-8") { |f| f.read }
145
140
  loader.execute(drop_sql).do
146
141
  loader.execute(schema_sql).do
147
142
  loader.execute(sp_sql).do
@@ -188,14 +183,14 @@ module TinyTds
188
183
  end
189
184
 
190
185
  def sp_several_prints_sql
191
- %|CREATE PROCEDURE tinytds_TestSeveralPrints
186
+ %(CREATE PROCEDURE tinytds_TestSeveralPrints
192
187
  AS
193
188
  PRINT 'hello 1'
194
189
  PRINT 'hello 2'
195
- PRINT 'hello 3'|
190
+ PRINT 'hello 3')
196
191
  end
197
192
 
198
- def find_value(id, column, query_options={})
193
+ def find_value(id, column, query_options = {})
199
194
  query_options[:timezone] ||= :utc
200
195
  sql = "SELECT [#{column}] FROM [datatypes] WHERE [id] = #{id}"
201
196
  @client.execute(sql).each(query_options).first[column.to_s]
@@ -223,19 +218,19 @@ module TinyTds
223
218
  # docker-compose.yml handles this automatically for us. In instances where someone is using their own local mssql container they'll
224
219
  # need to set up the networks manually and set TINYTDS_UNIT_HOST to their mssql container name
225
220
  # For anything other than localhost just use the environment config
226
- toxi_host = ENV['TOXIPROXY_HOST'] || 'localhost'
221
+ toxi_host = ENV["TOXIPROXY_HOST"] || "localhost"
227
222
  toxi_api_port = 8474
228
223
  toxi_test_port = 1234
229
224
  Toxiproxy.host = "http://#{toxi_host}:#{toxi_api_port}"
230
225
 
231
- toxi_upstream_host = ENV['TINYTDS_UNIT_HOST_TEST'] || ENV['TINYTDS_UNIT_HOST'] || 'localhost'
232
- toxi_upstream_port = ENV['TINYTDS_UNIT_PORT'] || 1433
226
+ toxi_upstream_host = ENV["TINYTDS_UNIT_HOST_TEST"] || ENV["TINYTDS_UNIT_HOST"] || "localhost"
227
+ toxi_upstream_port = ENV["TINYTDS_UNIT_PORT"] || 1433
233
228
 
234
229
  puts "\n-------------------------"
235
230
  puts "Toxiproxy api listener: #{toxi_host}:#{toxi_api_port}"
236
231
  puts "Toxiproxy unit test listener: #{toxi_host}:#{toxi_test_port}"
237
232
  puts "Toxiproxy upstream sqlserver: #{toxi_upstream_host}:#{toxi_upstream_port}"
238
- puts '-------------------------'
233
+ puts "-------------------------"
239
234
 
240
235
  Toxiproxy.populate([
241
236
  {
data/test/thread_test.rb CHANGED
@@ -1,25 +1,23 @@
1
- require 'test_helper'
2
- require 'logger'
3
- require 'benchmark'
1
+ require "test_helper"
2
+ require "logger"
3
+ require "benchmark"
4
4
 
5
5
  class ThreadTest < TinyTds::TestCase
6
-
7
- describe 'Threaded SELECT queries' do
8
-
6
+ describe "Threaded SELECT queries" do
9
7
  before do
10
8
  @logger = Logger.new $stdout
11
9
  @logger.level = Logger::WARN
12
10
  @poolsize = 4
13
11
  @numthreads = 10
14
12
  @query = "waitfor delay '00:00:01'"
15
- @pool = ConnectionPool.new(:size => @poolsize, :timeout => 5) { new_connection }
13
+ @pool = ConnectionPool.new(size: @poolsize, timeout: 5) { new_connection }
16
14
  end
17
15
 
18
16
  after do
19
17
  @pool.shutdown { |c| c.close }
20
18
  end
21
19
 
22
- it 'should finish faster in parallel' do
20
+ it "should finish faster in parallel" do
23
21
  skip if sqlserver_azure?
24
22
  x = Benchmark.realtime do
25
23
  threads = []
@@ -35,24 +33,22 @@ class ThreadTest < TinyTds::TestCase
35
33
  threads.each { |t| t.join }
36
34
  end
37
35
  assert x < @numthreads, "#{x} is not faster than #{@numthreads} seconds"
38
- mintime = (1.0*@numthreads/@poolsize).ceil
36
+ mintime = (1.0 * @numthreads / @poolsize).ceil
39
37
  @logger.info "#{@numthreads} queries on #{@poolsize} threads: #{x} sec. Minimum time: #{mintime} sec."
40
38
  assert x > mintime, "#{x} is not slower than #{mintime} seconds"
41
39
  end
42
40
 
43
- it 'should not crash on error in parallel' do
41
+ it "should not crash on error in parallel" do
44
42
  skip if sqlserver_azure?
45
43
  threads = []
46
44
  @numthreads.times do |i|
47
45
  threads << Thread.new do
48
46
  @pool.with do |client|
49
- begin
50
- result = client.execute "select dbname()"
51
- result.each { |r| puts r }
52
- rescue Exception => _e
53
- # We are throwing an error on purpose here since 0.6.1 would
54
- # segfault on errors thrown in threads
55
- end
47
+ result = client.execute "select dbname()"
48
+ result.each { |r| puts r }
49
+ rescue => _e
50
+ # We are throwing an error on purpose here since 0.6.1 would
51
+ # segfault on errors thrown in threads
56
52
  end
57
53
  end
58
54
  end
@@ -60,27 +56,25 @@ class ThreadTest < TinyTds::TestCase
60
56
  assert true
61
57
  end
62
58
 
63
- it 'should cancel when hitting timeout in thread' do
59
+ it "should cancel when hitting timeout in thread" do
64
60
  exception = false
65
61
 
66
62
  thread = Thread.new do
67
63
  @pool.with do |client|
68
- begin
69
- delay = ('0' + (connection_timeout + 2).to_s)[-2,2] # Two seconds longer than default.
70
- result = client.execute "waitfor delay '00:00:#{delay}'; select db_name()"
71
- result.each { |r| puts r }
72
- rescue TinyTds::Error => e
73
- if e.message == 'Adaptive Server connection timed out'
74
- exception = true
75
- end
64
+ delay = ("0" + (connection_timeout + 2).to_s)[-2, 2] # Two seconds longer than default.
65
+ result = client.execute "waitfor delay '00:00:#{delay}'; select db_name()"
66
+ result.each { |r| puts r }
67
+ rescue TinyTds::Error => e
68
+ if e.message == "Adaptive Server connection timed out"
69
+ exception = true
76
70
  end
77
71
  end
78
72
  end
79
73
 
80
74
  timer_thread = Thread.new do
81
75
  # Sleep until after the timeout should have been reached
82
- sleep(connection_timeout+2)
83
- if not exception
76
+ sleep(connection_timeout + 2)
77
+ if !exception
84
78
  thread.kill
85
79
  raise "Timeout passed without query timing out"
86
80
  end
@@ -91,8 +85,5 @@ class ThreadTest < TinyTds::TestCase
91
85
 
92
86
  assert exception
93
87
  end
94
-
95
88
  end
96
-
97
89
  end
98
-
data/tiny_tds.gemspec CHANGED
@@ -1,32 +1,31 @@
1
- # -*- encoding: utf-8 -*-
2
- $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
- require 'tiny_tds/version'
1
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
2
+ require "tiny_tds/version"
4
3
 
5
4
  Gem::Specification.new do |s|
6
- s.name = 'tiny_tds'
7
- s.version = TinyTds::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ['Ken Collins', 'Erik Bryn', 'Will Bond']
10
- s.email = ['ken@metaskills.net', 'will@wbond.net']
11
- s.homepage = 'http://github.com/rails-sqlserver/tiny_tds'
12
- s.summary = 'TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library.'
13
- s.description = 'TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library. Developed for the ActiveRecord SQL Server adapter.'
14
- s.files = `git ls-files`.split("\n") + Dir.glob('exe/*')
15
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
- s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
17
- s.require_paths = ['lib']
18
- s.rdoc_options = ['--charset=UTF-8']
19
- s.extensions = ['ext/tiny_tds/extconf.rb']
20
- s.license = 'MIT'
21
- s.required_ruby_version = '>= 2.7.0'
22
- s.metadata['msys2_mingw_dependencies'] = 'freetds'
23
- s.add_dependency 'bigdecimal', '~> 3'
24
- s.add_development_dependency 'mini_portile2', '~> 2.5.0'
25
- s.add_development_dependency 'rake', '~> 13.0.0'
26
- s.add_development_dependency 'rake-compiler', '~> 1.2'
27
- s.add_development_dependency 'rake-compiler-dock', '~> 1.7.0'
28
- s.add_development_dependency 'minitest', '~> 5.25'
29
- s.add_development_dependency 'minitest-reporters', '~> 1.6.1'
30
- s.add_development_dependency 'connection_pool', '~> 2.2.0'
31
- s.add_development_dependency 'toxiproxy', '~> 2.0.0'
5
+ s.name = "tiny_tds"
6
+ s.version = TinyTds::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["Ken Collins", "Erik Bryn", "Will Bond"]
9
+ s.email = ["ken@metaskills.net", "will@wbond.net"]
10
+ s.homepage = "http://github.com/rails-sqlserver/tiny_tds"
11
+ s.summary = "TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library."
12
+ s.description = "TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library. Developed for the ActiveRecord SQL Server adapter."
13
+ s.files = `git ls-files`.split("\n") + Dir.glob("exe/*")
14
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
15
+ s.require_paths = ["lib"]
16
+ s.rdoc_options = ["--charset=UTF-8"]
17
+ s.extensions = ["ext/tiny_tds/extconf.rb"]
18
+ s.license = "MIT"
19
+ s.required_ruby_version = ">= 2.7.0"
20
+ s.metadata["msys2_mingw_dependencies"] = "freetds"
21
+ s.add_dependency "bigdecimal", "~> 3"
22
+ s.add_development_dependency "mini_portile2", "~> 2.8.0"
23
+ s.add_development_dependency "rake", "~> 13.0.0"
24
+ s.add_development_dependency "rake-compiler", "~> 1.2"
25
+ s.add_development_dependency "rake-compiler-dock", "~> 1.9.1"
26
+ s.add_development_dependency "minitest", "~> 5.25"
27
+ s.add_development_dependency "minitest-reporters", "~> 1.6.1"
28
+ s.add_development_dependency "connection_pool", "~> 2.2.0"
29
+ s.add_development_dependency "toxiproxy", "~> 2.0.0"
30
+ s.add_development_dependency "standard", "~> 1.31.0"
32
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_tds
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-01-02 00:00:00.000000000 Z
13
+ date: 2025-04-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bigdecimal
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: 2.5.0
35
+ version: 2.8.0
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: 2.5.0
42
+ version: 2.8.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rake
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -74,14 +74,14 @@ dependencies:
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: 1.7.0
77
+ version: 1.9.1
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: 1.7.0
84
+ version: 1.9.1
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: minitest
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -138,6 +138,20 @@ dependencies:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
140
  version: 2.0.0
141
+ - !ruby/object:Gem::Dependency
142
+ name: standard
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: 1.31.0
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: 1.31.0
141
155
  description: TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library.
142
156
  Developed for the ActiveRecord SQL Server adapter.
143
157
  email:
@@ -190,18 +204,12 @@ files:
190
204
  - tasks/native_gem.rake
191
205
  - tasks/package.rake
192
206
  - tasks/ports.rake
193
- - tasks/ports/freetds.rb
194
- - tasks/ports/libiconv.rb
195
- - tasks/ports/openssl.rb
196
- - tasks/ports/recipe.rb
197
207
  - tasks/test.rake
198
- - test/benchmark/query.rb
199
- - test/benchmark/query_odbc.rb
200
- - test/benchmark/query_tinytds.rb
201
208
  - test/bin/install-freetds.sh
202
209
  - test/bin/install-mssql.ps1
203
210
  - test/bin/install-mssqltools.sh
204
211
  - test/bin/install-openssl.sh
212
+ - test/bin/restore-from-native-gem.ps1
205
213
  - test/bin/setup_tinytds_db.sh
206
214
  - test/bin/setup_volume_permissions.sh
207
215
  - test/client_test.rb
@@ -1,32 +0,0 @@
1
- require_relative './recipe'
2
-
3
- module Ports
4
- class Freetds < Recipe
5
- def initialize(version)
6
- super('freetds', version)
7
-
8
- set_patches
9
- end
10
-
11
- private
12
-
13
- def configure_defaults
14
- opts = super
15
-
16
- opts << '--with-pic'
17
- opts << '--disable-odbc'
18
- opts << '--with-tdsver=7.3'
19
-
20
- if windows?
21
- opts << '--sysconfdir=C:/Sites'
22
- opts << '--enable-sspi'
23
- end
24
-
25
- opts
26
- end
27
-
28
- def set_patches
29
- self.patch_files.concat get_patches(name, version)
30
- end
31
- end
32
- end
@@ -1,26 +0,0 @@
1
- require_relative './recipe'
2
-
3
- module Ports
4
- class Libiconv < Recipe
5
- def initialize(version)
6
- super('libiconv', version)
7
-
8
- set_patches
9
- end
10
-
11
- private
12
-
13
- def configure_defaults
14
- [
15
- "--host=#{@host}",
16
- '--disable-static',
17
- '--enable-shared',
18
- 'CFLAGS=-fPIC -O2'
19
- ]
20
- end
21
-
22
- def set_patches
23
- self.patch_files.concat get_patches(name, version)
24
- end
25
- end
26
- end
@@ -1,62 +0,0 @@
1
- require_relative './recipe'
2
-
3
- module Ports
4
- class Openssl < Recipe
5
- def initialize(version)
6
- super('openssl', version)
7
-
8
- set_patches
9
- end
10
-
11
- def configure
12
- return if configured?
13
-
14
- md5_file = File.join(tmp_path, 'configure.md5')
15
- digest = Digest::MD5.hexdigest(computed_options.to_s)
16
- File.open(md5_file, "w") { |f| f.write digest }
17
-
18
- # Windows doesn't recognize the shebang so always explicitly use sh
19
- execute('configure', "sh -c \"./Configure #{computed_options.join(' ')}\"")
20
- end
21
-
22
- def install
23
- unless installed?
24
- execute('install', %Q(#{make_cmd} install_sw install_ssldirs))
25
- end
26
- end
27
-
28
- private
29
-
30
- def configure_defaults
31
- opts = [
32
- 'shared',
33
- target_arch,
34
- "--openssldir=#{path}",
35
- ]
36
-
37
- if cross_build?
38
- opts << "--cross-compile-prefix=#{host}-"
39
- end
40
-
41
- opts
42
- end
43
-
44
- def target_arch
45
- if windows?
46
- arch = ''
47
- arch = '64' if host=~ /x86_64/
48
-
49
- "mingw#{arch}"
50
- else
51
- arch = 'x32'
52
- arch = 'x86_64' if host=~ /x86_64/
53
-
54
- "linux-#{arch}"
55
- end
56
- end
57
-
58
- def set_patches
59
- self.patch_files.concat get_patches(name, version)
60
- end
61
- end
62
- end