tiny_tds 2.0.0-x86-mingw32 → 2.1.0.pre1-x86-mingw32
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 +13 -2
- data/Gemfile +0 -1
- data/Rakefile +3 -0
- data/VERSION +1 -1
- data/appveyor.yml +3 -2
- data/ext/tiny_tds/extconf.rb +14 -10
- data/ext/tiny_tds/extconsts.rb +1 -1
- data/lib/tiny_tds.rb +32 -13
- data/patches/freetds/1.00.27/0002-Don-t-use-MSYS2-file-libws2_32.diff +28 -0
- data/tasks/ports.rake +3 -0
- data/tasks/ports/freetds.rb +1 -1
- data/tasks/ports/openssl.rb +4 -1
- data/tiny_tds.gemspec +3 -2
- metadata +22 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b42e2b9247cd45037bedcd58a07c39d8b28520ef
|
4
|
+
data.tar.gz: 0456ac8aff8a082f89d3ee35d661fb1814d0a51b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 797a236d57a8dc64902b5e939c33206dd86dc2b229b1ecadfadec719c22ea613eea8d38e68bea518c490bc10809a54d680b3a12720ff98b882ed3f6143b25d32
|
7
|
+
data.tar.gz: ad42a39989054f20edf2f35645d9020b40411a99f4de412a0886e40e5c20a7e54811081403b9ca8f1240931cd967595eda2fa24ad833219a38a9c3ee517ea10e
|
data/CHANGELOG
CHANGED
@@ -1,9 +1,20 @@
|
|
1
|
-
* 1.
|
1
|
+
* 2.1.0 *
|
2
|
+
|
3
|
+
* Support RubyInstaller2 for Windows. Fixes #365.
|
4
|
+
* Support the FREETDS_DIR environment variable. Fixes #371.
|
5
|
+
|
6
|
+
|
7
|
+
* 2.0.0 *
|
8
|
+
|
9
|
+
* Stop building FreeTDS as a part of the extension build.
|
10
|
+
|
11
|
+
|
12
|
+
* 1.3.0 *
|
2
13
|
|
3
14
|
* FreeTDS: Link libgcc statically for Windows. (#351) Fixes #349.
|
4
15
|
|
5
16
|
|
6
|
-
* 1.2.0
|
17
|
+
* 1.2.0 *
|
7
18
|
|
8
19
|
* Use OpenSSL v1.1.0e & FreeTDS v1.00.27 for Windows builds.
|
9
20
|
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -29,6 +29,9 @@ Rake::ExtensionTask.new('tiny_tds', SPEC) do |ext|
|
|
29
29
|
|
30
30
|
# Add dependent DLLs to the cross gems
|
31
31
|
ext.cross_compiling do |spec|
|
32
|
+
# The fat binary gem doesn't depend on the freetds package, since it bundles the library.
|
33
|
+
spec.metadata.delete('msys2_mingw_dependencies')
|
34
|
+
|
32
35
|
platform_host_map = GEM_PLATFORM_HOSTS
|
33
36
|
gemplat = spec.platform.to_s
|
34
37
|
host = platform_host_map[gemplat]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.1.0.pre1
|
data/appveyor.yml
CHANGED
@@ -3,6 +3,7 @@ init:
|
|
3
3
|
- SET PATH=C:\MinGW\msys\1.0\bin;%PATH%
|
4
4
|
- SET RAKEOPT=-rdevkit
|
5
5
|
- SET TESTOPTS='-v'
|
6
|
+
- SET MAKE=make V=1
|
6
7
|
clone_depth: 5
|
7
8
|
skip_tags: true
|
8
9
|
skip_branch_with_pr: true
|
@@ -42,8 +43,8 @@ environment:
|
|
42
43
|
TINYTDS_UNIT_AZURE_PASS:
|
43
44
|
secure: fYKSKV4v+36OFQp2nZdX4DfUpgmy5cm0wuR73cgdmEk=
|
44
45
|
matrix:
|
45
|
-
- ruby_version: "
|
46
|
-
- ruby_version: "
|
46
|
+
- ruby_version: "24-x64"
|
47
|
+
- ruby_version: "24"
|
47
48
|
- ruby_version: "22-x64"
|
48
49
|
- ruby_version: "22"
|
49
50
|
on_failure:
|
data/ext/tiny_tds/extconf.rb
CHANGED
@@ -23,15 +23,25 @@ do_help if arg_config('--help')
|
|
23
23
|
# Make sure to check the ports path for the configured host
|
24
24
|
host = RbConfig::CONFIG['host']
|
25
25
|
project_dir = File.join(['..']*4)
|
26
|
-
|
27
|
-
|
26
|
+
freetds_ports_dir = File.join(project_dir, 'ports', host, 'freetds', FREETDS_VERSION)
|
27
|
+
freetds_ports_dir = File.expand_path(freetds_ports_dir)
|
28
28
|
|
29
29
|
# Add all the special path searching from the original tiny_tds build
|
30
30
|
# order is important here! First in, last searched.
|
31
|
-
%w(
|
31
|
+
DIRS = %w(
|
32
32
|
/usr/local
|
33
33
|
/opt/local
|
34
|
-
)
|
34
|
+
)
|
35
|
+
|
36
|
+
# Grab freetds environment variable for use by people on services like
|
37
|
+
# Heroku who they can't easily use bundler config to set directories
|
38
|
+
DIRS.push(ENV['FREETDS_DIR']) if ENV.has_key?('FREETDS_DIR')
|
39
|
+
|
40
|
+
# Add the ports directory if it exists for local developer builds
|
41
|
+
DIRS.push(freetds_ports_dir) if File.directory?(freetds_ports_dir)
|
42
|
+
|
43
|
+
# Add the search paths for freetds configured above
|
44
|
+
DIRS.each do |path|
|
35
45
|
idir = "#{path}/include"
|
36
46
|
ldir = "#{path}/lib"
|
37
47
|
|
@@ -41,12 +51,6 @@ freetds_dir = File.expand_path(freetds_dir)
|
|
41
51
|
)
|
42
52
|
end
|
43
53
|
|
44
|
-
# Add the ports directory if it exists for local developer builds
|
45
|
-
if File.directory?(freetds_dir)
|
46
|
-
puts "Using freetds port path #{freetds_dir}"
|
47
|
-
dir_config('freetds', "#{freetds_dir}/include", "#{freetds_dir}/lib")
|
48
|
-
end
|
49
|
-
|
50
54
|
have_dependencies = [
|
51
55
|
find_header('sybfront.h'),
|
52
56
|
find_header('sybdb.h'),
|
data/ext/tiny_tds/extconsts.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
ICONV_VERSION = ENV['TINYTDS_ICONV_VERSION'] || "1.
|
2
|
+
ICONV_VERSION = ENV['TINYTDS_ICONV_VERSION'] || "1.15"
|
3
3
|
ICONV_SOURCE_URI = "http://ftp.gnu.org/pub/gnu/libiconv/libiconv-#{ICONV_VERSION}.tar.gz"
|
4
4
|
|
5
5
|
OPENSSL_VERSION = ENV['TINYTDS_OPENSSL_VERSION'] || '1.1.0e'
|
data/lib/tiny_tds.rb
CHANGED
@@ -12,20 +12,39 @@ require 'tiny_tds/gem'
|
|
12
12
|
# Support multiple ruby versions, fat binaries under Windows.
|
13
13
|
if RUBY_PLATFORM =~ /mingw|mswin/ && RUBY_VERSION =~ /(\d+.\d+)/
|
14
14
|
ver = Regexp.last_match(1)
|
15
|
-
# Set the PATH environment variable, so that the DLLs can be found.
|
16
|
-
old_path = ENV['PATH']
|
17
|
-
begin
|
18
|
-
ENV['PATH'] = [
|
19
|
-
TinyTds::Gem.ports_bin_paths,
|
20
|
-
TinyTds::Gem.ports_lib_paths,
|
21
|
-
old_path
|
22
|
-
].flatten.join File::PATH_SEPARATOR
|
23
15
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
16
|
+
add_dll_path = proc do |path, &block|
|
17
|
+
begin
|
18
|
+
require 'ruby_installer/runtime'
|
19
|
+
RubyInstaller::Runtime.add_dll_directory(path, &block)
|
20
|
+
rescue LoadError
|
21
|
+
old_path = ENV['PATH']
|
22
|
+
ENV['PATH'] = "#{path};#{old_path}"
|
23
|
+
begin
|
24
|
+
block.call
|
25
|
+
ensure
|
26
|
+
ENV['PATH'] = old_path
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
add_dll_paths = proc do |paths, &block|
|
32
|
+
if path=paths.shift
|
33
|
+
add_dll_path.call(path) do
|
34
|
+
add_dll_paths.call(paths, &block)
|
35
|
+
end
|
36
|
+
else
|
37
|
+
block.call
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Temporary add bin directories for DLL search, so that freetds DLLs can be found.
|
42
|
+
add_dll_paths.call( TinyTds::Gem.ports_bin_paths ) do
|
43
|
+
begin
|
44
|
+
require "tiny_tds/#{ver}/tiny_tds"
|
45
|
+
rescue LoadError
|
46
|
+
require 'tiny_tds/tiny_tds'
|
47
|
+
end
|
29
48
|
end
|
30
49
|
else
|
31
50
|
# Load dependent shared libraries into the process, so that they are already present,
|
@@ -0,0 +1,28 @@
|
|
1
|
+
From 56e8972f66c3e948e2ad6885595c58fd23dcdb37 Mon Sep 17 00:00:00 2001
|
2
|
+
From: Lars Kanis <kanis@comcard.de>
|
3
|
+
Date: Thu, 6 Jul 2017 17:09:40 +0200
|
4
|
+
Subject: [PATCH] Don't use MSYS2 file libws2_32.a for MINGW build
|
5
|
+
|
6
|
+
This file is intended for MSYS2/cygwin builds and blocks OpenSSL
|
7
|
+
detection of freetds on i686.
|
8
|
+
---
|
9
|
+
configure | 2 --
|
10
|
+
configure.ac | 2 --
|
11
|
+
2 files changed, 4 deletions(-)
|
12
|
+
|
13
|
+
diff --git a/configure b/configure
|
14
|
+
index 9495a49..31eb01d 100644
|
15
|
+
--- a/configure
|
16
|
+
+++ b/configure
|
17
|
+
@@ -15915,8 +15915,6 @@ case $host in
|
18
|
+
tds_mingw=yes
|
19
|
+
if test "$host_cpu" = "x86_64"; then
|
20
|
+
LIBS="-lws2_32"
|
21
|
+
- elif test -r /usr/lib/w32api/libws2_32.a; then
|
22
|
+
- LIBS="-L/usr/lib/w32api -lws2_32"
|
23
|
+
else
|
24
|
+
LIBS="-lws2_32"
|
25
|
+
fi
|
26
|
+
--
|
27
|
+
2.6.2.windows.1
|
28
|
+
|
data/tasks/ports.rake
CHANGED
@@ -43,6 +43,9 @@ namespace :ports do
|
|
43
43
|
# freetds doesn't have an option that will provide an rpath
|
44
44
|
# so we do it manually
|
45
45
|
ENV['OPENSSL_CFLAGS'] = "-Wl,-rpath -Wl,#{openssl.path}/lib"
|
46
|
+
# Add the pkgconfig file with MSYS2'ish path, to prefer our ports build
|
47
|
+
# over MSYS2 system OpenSSL.
|
48
|
+
ENV['PKG_CONFIG_PATH'] = "#{openssl.path.gsub(/^(\w):/i){"/"+$1.downcase}}/lib/pkgconfig:#{ENV['PKG_CONFIG_PATH']}"
|
46
49
|
freetds.configure_options << "--with-openssl=#{openssl.path}"
|
47
50
|
end
|
48
51
|
|
data/tasks/ports/freetds.rb
CHANGED
data/tasks/ports/openssl.rb
CHANGED
@@ -28,8 +28,11 @@ module Ports
|
|
28
28
|
private
|
29
29
|
|
30
30
|
def execute(action, command, options={})
|
31
|
+
# OpenSSL Requires Perl >= 5.10, while the Ruby devkit uses MSYS1 with Perl 5.8.8.
|
32
|
+
# To overcome this, prepend Git's usr/bin to the PATH.
|
33
|
+
# It has MSYS2 with a recent version of perl.
|
31
34
|
prev_path = ENV['PATH']
|
32
|
-
if host =~ /mingw/
|
35
|
+
if host =~ /mingw/ && IO.popen(["perl", "-e", "print($])"], &:read).to_f < 5.010
|
33
36
|
git_perl = 'C:/Program Files/Git/usr/bin'
|
34
37
|
if File.directory?(git_perl)
|
35
38
|
ENV['PATH'] = "#{git_perl}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
|
data/tiny_tds.gemspec
CHANGED
@@ -19,9 +19,10 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.extensions = ['ext/tiny_tds/extconf.rb']
|
20
20
|
s.license = 'MIT'
|
21
21
|
s.required_ruby_version = '>= 2.0.0'
|
22
|
-
s.
|
22
|
+
s.metadata['msys2_mingw_dependencies'] = 'freetds'
|
23
|
+
s.add_development_dependency 'mini_portile2', '~> 2.0'
|
23
24
|
s.add_development_dependency 'rake', '~> 10.4'
|
24
|
-
s.add_development_dependency 'rake-compiler', '0
|
25
|
+
s.add_development_dependency 'rake-compiler', '~> 1.0'
|
25
26
|
s.add_development_dependency 'rake-compiler-dock', '~> 0.6.0'
|
26
27
|
s.add_development_dependency 'minitest', '~> 5.6'
|
27
28
|
s.add_development_dependency 'connection_pool', '~> 2.2'
|
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: 2.0.
|
4
|
+
version: 2.1.0.pre1
|
5
5
|
platform: x86-mingw32
|
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: 2017-07-
|
13
|
+
date: 2017-07-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mini_portile2
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '2.0'
|
22
|
-
type: :
|
22
|
+
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
@@ -44,16 +44,16 @@ dependencies:
|
|
44
44
|
name: rake-compiler
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0
|
49
|
+
version: '1.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: 0
|
56
|
+
version: '1.0'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: rake-compiler-dock
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
@@ -147,6 +147,7 @@ files:
|
|
147
147
|
- lib/tiny_tds/result.rb
|
148
148
|
- lib/tiny_tds/version.rb
|
149
149
|
- patches/freetds/1.00.27/0001-mingw_missing_inet_pton.diff
|
150
|
+
- patches/freetds/1.00.27/0002-Don-t-use-MSYS2-file-libws2_32.diff
|
150
151
|
- patches/libiconv/1.14/1-avoid-gets-error.patch
|
151
152
|
- ports/i686-w64-mingw32/freetds/1.00.27/bin/bsqldb.exe
|
152
153
|
- ports/i686-w64-mingw32/freetds/1.00.27/bin/datacopy.exe
|
@@ -161,14 +162,14 @@ files:
|
|
161
162
|
- ports/i686-w64-mingw32/freetds/1.00.27/lib/libct.la
|
162
163
|
- ports/i686-w64-mingw32/freetds/1.00.27/lib/libsybdb.dll.a
|
163
164
|
- ports/i686-w64-mingw32/freetds/1.00.27/lib/libsybdb.la
|
164
|
-
- ports/i686-w64-mingw32/libiconv/1.
|
165
|
-
- ports/i686-w64-mingw32/libiconv/1.
|
166
|
-
- ports/i686-w64-mingw32/libiconv/1.
|
167
|
-
- ports/i686-w64-mingw32/libiconv/1.
|
168
|
-
- ports/i686-w64-mingw32/libiconv/1.
|
169
|
-
- ports/i686-w64-mingw32/libiconv/1.
|
170
|
-
- ports/i686-w64-mingw32/libiconv/1.
|
171
|
-
- ports/i686-w64-mingw32/libiconv/1.
|
165
|
+
- ports/i686-w64-mingw32/libiconv/1.15/bin/iconv.exe
|
166
|
+
- ports/i686-w64-mingw32/libiconv/1.15/bin/libcharset-1.dll
|
167
|
+
- ports/i686-w64-mingw32/libiconv/1.15/bin/libiconv-2.dll
|
168
|
+
- ports/i686-w64-mingw32/libiconv/1.15/lib/charset.alias
|
169
|
+
- ports/i686-w64-mingw32/libiconv/1.15/lib/libcharset.dll.a
|
170
|
+
- ports/i686-w64-mingw32/libiconv/1.15/lib/libcharset.la
|
171
|
+
- ports/i686-w64-mingw32/libiconv/1.15/lib/libiconv.dll.a
|
172
|
+
- ports/i686-w64-mingw32/libiconv/1.15/lib/libiconv.la
|
172
173
|
- ports/i686-w64-mingw32/openssl/1.1.0e/bin/c_rehash
|
173
174
|
- ports/i686-w64-mingw32/openssl/1.1.0e/bin/libcrypto-1_1.dll
|
174
175
|
- ports/i686-w64-mingw32/openssl/1.1.0e/bin/libssl-1_1.dll
|
@@ -221,12 +222,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
221
222
|
requirements:
|
222
223
|
- - ">="
|
223
224
|
- !ruby/object:Gem::Version
|
224
|
-
version: 2.0
|
225
|
+
version: '2.0'
|
226
|
+
- - "<"
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: '2.5'
|
225
229
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
226
230
|
requirements:
|
227
|
-
- - "
|
231
|
+
- - ">"
|
228
232
|
- !ruby/object:Gem::Version
|
229
|
-
version:
|
233
|
+
version: 1.3.1
|
230
234
|
requirements: []
|
231
235
|
rubyforge_project:
|
232
236
|
rubygems_version: 2.6.12
|