Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions History.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
=== 2016-12-6

* Enhancements
* Upgraded Ruby 2.3 to 2.3.3
* Upgraded Ruby 2.2 to 2.2.6
* Upgraded OpenSSL to 1.0.2j
* Upgraded libffi to 3.2.1
* Upgraded LibYAML to 0.1.7
* Upgraded tcl & tk to 8.5.19

* Internal
* Retry timeouts with SourceForge

=== 2016-7-17

* Enhancements
Expand Down
146 changes: 146 additions & 0 deletions config/compilers/mingw64.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,151 @@
module DevKitInstaller

COMPILERS['mingw64-32-6.1.0-dgn'] =
OpenStruct.new(
:version => 'mingw64-32-6.1.0-dgn',
:programs => [ :gcc, :cpp, :'g++' ],
:program_prefix => nil,
:url_1 => 'http://downloads.sourceforge.net/mingw-w64-dgn',
:url_2 => 'http://downloads.sourceforge.net/mingw',
:url_3 => 'http://downloads.sourceforge.net/gnuwin32',
:target => 'sandbox/devkit/mingw',
:relocate => 'sandbox/devkit/mingw/mingw32',
:knap_path => '610-drangon',
:files => {
:url_1 => [
'mingw-w32-bin-i686-20160428.7z'
],
:url_2 => [
'autoconf2.1-2.13-4-mingw32-bin.tar.lzma',
'autoconf2.5-2.68-1-mingw32-bin.tar.lzma',
'autoconf-10-1-mingw32-bin.tar.lzma',
'automake1.11-1.11.1-1-mingw32-bin.tar.lzma',
'automake-4-1-mingw32-bin.tar.lzma',
'libexpat-2.0.1-1-mingw32-dll-1.tar.gz',
'libtool-2.4-1-mingw32-bin.tar.lzma',
'bsdtar-2.8.3-1-mingw32-bin.tar.bz2',
'bsdcpio-2.8.3-1-mingw32-bin.tar.bz2',
'libarchive-2.8.3-1-mingw32-dll-2.tar.bz2',
'libbz2-1.0.5-2-mingw32-dll-2.tar.gz',
'liblzma-4.999.9beta_20100401-1-mingw32-dll-1.tar.bz2',
'libz-1.2.3-1-mingw32-dll-1.tar.gz'
],
:url_3 => [
'which-2.20-bin.zip'
],
}
)

COMPILERS['mingw64-64-6.1.0-dgn'] =
OpenStruct.new(
:version => 'mingw64-64-6.1.0-dgn',
:programs => [ :gcc, :cpp, :'g++' ],
:program_prefix => nil,
:url_1 => 'http://downloads.sourceforge.net/mingw-w64-dgn',
:url_2 => 'http://downloads.sourceforge.net/mingw',
:url_3 => 'http://downloads.sourceforge.net/gnuwin32',
:target => 'sandbox/devkit/mingw',
:relocate => 'sandbox/devkit/mingw/mingw64',
:host => 'x86_64-w64-mingw32',
:knap_path => '610-drangon',
:files => {
:url_1 => [
'mingw-w64-bin-x86_64-20160428.7z'
],
:url_2 => [
'autoconf2.1-2.13-4-mingw32-bin.tar.lzma',
'autoconf2.5-2.68-1-mingw32-bin.tar.lzma',
'autoconf-10-1-mingw32-bin.tar.lzma',
'automake1.11-1.11.1-1-mingw32-bin.tar.lzma',
'automake-4-1-mingw32-bin.tar.lzma',
'libexpat-2.0.1-1-mingw32-dll-1.tar.gz',
'libtool-2.4-1-mingw32-bin.tar.lzma',
'bsdtar-2.8.3-1-mingw32-bin.tar.bz2',
'bsdcpio-2.8.3-1-mingw32-bin.tar.bz2',
'libarchive-2.8.3-1-mingw32-dll-2.tar.bz2',
'libbz2-1.0.5-2-mingw32-dll-2.tar.gz',
'liblzma-4.999.9beta_20100401-1-mingw32-dll-1.tar.bz2',
'libz-1.2.3-1-mingw32-dll-1.tar.gz'
],
:url_3 => [
'which-2.20-bin.zip'
],
}
)

COMPILERS['mingw64-32-5.3.0'] =
OpenStruct.new(
:version => 'mingw64-32-5.3.0',
:programs => [ :gcc, :cpp, :'g++' ],
:program_prefix => nil,
:url_1 => 'http://downloads.sourceforge.net/mingw-w64',
:url_2 => 'http://downloads.sourceforge.net/mingw',
:url_3 => 'http://downloads.sourceforge.net/gnuwin32',
:target => 'sandbox/devkit/mingw',
:relocate => 'sandbox/devkit/mingw/mingw32',
:knap_path => '530-win32-sjlj',
:files => {
:url_1 => [
'i686-5.3.0-release-win32-sjlj-rt_v4-rev0.7z'
],
:url_2 => [
'autoconf2.1-2.13-4-mingw32-bin.tar.lzma',
'autoconf2.5-2.68-1-mingw32-bin.tar.lzma',
'autoconf-10-1-mingw32-bin.tar.lzma',
'automake1.11-1.11.1-1-mingw32-bin.tar.lzma',
'automake-4-1-mingw32-bin.tar.lzma',
'libexpat-2.0.1-1-mingw32-dll-1.tar.gz',
'libtool-2.4-1-mingw32-bin.tar.lzma',
'bsdtar-2.8.3-1-mingw32-bin.tar.bz2',
'bsdcpio-2.8.3-1-mingw32-bin.tar.bz2',
'libarchive-2.8.3-1-mingw32-dll-2.tar.bz2',
'libbz2-1.0.5-2-mingw32-dll-2.tar.gz',
'liblzma-4.999.9beta_20100401-1-mingw32-dll-1.tar.bz2',
'libz-1.2.3-1-mingw32-dll-1.tar.gz'
],
:url_3 => [
'which-2.20-bin.zip'
],
}
)

COMPILERS['mingw64-64-5.3.0'] =
OpenStruct.new(
:version => 'mingw64-64-5.3.0',
:programs => [ :gcc, :cpp, :'g++' ],
:program_prefix => nil,
:url_1 => 'http://downloads.sourceforge.net/mingw-w64',
:url_2 => 'http://downloads.sourceforge.net/mingw',
:url_3 => 'http://downloads.sourceforge.net/gnuwin32',
:target => 'sandbox/devkit/mingw',
:relocate => 'sandbox/devkit/mingw/mingw64',
:host => 'x86_64-w64-mingw32',
:knap_path => '530-win32-seh',
:files => {
:url_1 => [
'x86_64-5.3.0-release-win32-seh-rt_v4-rev0.7z'
],
:url_2 => [
'autoconf2.1-2.13-4-mingw32-bin.tar.lzma',
'autoconf2.5-2.68-1-mingw32-bin.tar.lzma',
'autoconf-10-1-mingw32-bin.tar.lzma',
'automake1.11-1.11.1-1-mingw32-bin.tar.lzma',
'automake-4-1-mingw32-bin.tar.lzma',
'libexpat-2.0.1-1-mingw32-dll-1.tar.gz',
'libtool-2.4-1-mingw32-bin.tar.lzma',
'bsdtar-2.8.3-1-mingw32-bin.tar.bz2',
'bsdcpio-2.8.3-1-mingw32-bin.tar.bz2',
'libarchive-2.8.3-1-mingw32-dll-2.tar.bz2',
'libbz2-1.0.5-2-mingw32-dll-2.tar.gz',
'liblzma-4.999.9beta_20100401-1-mingw32-dll-1.tar.bz2',
'libz-1.2.3-1-mingw32-dll-1.tar.gz'
],
:url_3 => [
'which-2.20-bin.zip'
],
}
)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm glad that someone is doing this kind of stuff. =)

COMPILERS['mingw64-32-4.7.2'] =
OpenStruct.new(
:version => 'mingw64-32-4.7.2',
Expand Down
30 changes: 15 additions & 15 deletions config/dependencies.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,40 +17,40 @@ module RubyInstaller

KNAPSACK_PACKAGES['openssl'] = OpenStruct.new(
:human_name => "OpenSSL",
:version => '1.0.1l',
:version => '1.0.2j',
:url => "http://dl.bintray.com/oneclick/OpenKnapsack",
:target => 'sandbox/openssl',
:files => [
'openssl-1.0.1l-x86-windows.tar.lzma'
'openssl-1.0.2j-x86-windows.tar.lzma'
],
:x64_files => [
'openssl-1.0.1l-x64-windows.tar.lzma'
'openssl-1.0.2j-x64-windows.tar.lzma'
]
)

KNAPSACK_PACKAGES['ffi'] = OpenStruct.new(
:human_name => "libffi",
:version => '3.0.11',
:version => '3.2.1',
:url => "http://dl.bintray.com/oneclick/OpenKnapsack",
:target => 'sandbox/libffi',
:files => [
'libffi-3.0.11-x86-windows.tar.lzma'
'libffi-3.2.1-x86-windows.tar.lzma'
],
:x64_files => [
'libffi-3.0.11-x64-windows.tar.lzma'
'libffi-3.2.1-x64-windows.tar.lzma'
]
)

KNAPSACK_PACKAGES['yaml'] = OpenStruct.new(
:human_name => "LibYAML",
:version => '0.1.6',
:version => '0.1.7',
:url => "http://dl.bintray.com/oneclick/OpenKnapsack",
:target => 'sandbox/libyaml',
:files => [
'libyaml-0.1.6-x86-windows.tar.lzma'
'libyaml-0.1.7-x86-windows.tar.lzma'
],
:x64_files => [
'libyaml-0.1.6-x64-windows.tar.lzma'
'libyaml-0.1.7-x64-windows.tar.lzma'
]
)

Expand Down Expand Up @@ -95,28 +95,28 @@ module RubyInstaller

KNAPSACK_PACKAGES["tcl"] = OpenStruct.new(
:human_name => "Tcl",
:version => "8.5.12",
:version => "8.5.19",
:url => "http://dl.bintray.com/oneclick/OpenKnapsack",
:target => "sandbox/tcl",
:files => [
"tcl-8.5.12-x86-windows.tar.lzma"
"tcl-8.5.19-x86-windows.tar.lzma"
],
:x64_files => [
"tcl-8.5.12-x64-windows.tar.lzma"
"tcl-8.5.19-x64-windows.tar.lzma"
]
)

KNAPSACK_PACKAGES["tk"] = OpenStruct.new(
:human_name => "Tk",
:version => "8.5.12",
:version => "8.5.19",
:url => "http://dl.bintray.com/oneclick/OpenKnapsack",
:target => "sandbox/tk",
:patches => "resources/patches/tk",
:files => [
"tk-8.5.12-x86-windows.tar.lzma"
"tk-8.5.19-x86-windows.tar.lzma"
],
:x64_files => [
"tk-8.5.12-x64-windows.tar.lzma"
"tk-8.5.19-x64-windows.tar.lzma"
],
:dependencies => [
:tcl
Expand Down
11 changes: 7 additions & 4 deletions config/ruby_installer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ module RubyInstaller
# Root folder
ROOT = File.expand_path(File.join(File.dirname(__FILE__), ".."))

# Downloads folder
DOWNLOADS = ENV['DOWNLOADS'] || "downloads"

# Console based utilities
SEVEN_ZIP = File.expand_path(File.join(ROOT, 'sandbox', 'extract_utils', '7za.exe'))
BSD_TAR = File.expand_path(File.join(ROOT, 'sandbox', 'extract_utils', 'basic-bsdtar.exe'))
Expand Down Expand Up @@ -151,7 +154,7 @@ module RubyInstaller

Ruby22 = OpenStruct.new(
:number => "22",
:version => "2.2.5",
:version => "2.2.6",
:short_version => 'ruby22',
:url => "http://cache.ruby-lang.org/pub/ruby/2.2/",
:checkout => 'http://svn.ruby-lang.org/repos/ruby/branches/ruby_2_2',
Expand All @@ -168,7 +171,7 @@ module RubyInstaller
"CPPFLAGS='-DFD_SETSIZE=2048'"
],
:files => [
"ruby-2.2.5.tar.bz2"
"ruby-2.2.6.tar.bz2"
],
:dependencies => [
:ffi, :gdbm, :openssl, :yaml, :zlib, :tcl, :tk
Expand All @@ -180,7 +183,7 @@ module RubyInstaller

Ruby23 = OpenStruct.new(
:number => "23",
:version => "2.3.1",
:version => "2.3.3",
:short_version => 'ruby23',
:url => "http://cache.ruby-lang.org/pub/ruby/2.3/",
:checkout => 'http://svn.ruby-lang.org/repos/ruby/branches/ruby_2_3',
Expand All @@ -197,7 +200,7 @@ module RubyInstaller
"CPPFLAGS='-DFD_SETSIZE=2048'"
],
:files => [
"ruby-2.3.1.tar.bz2"
"ruby-2.3.3.tar.bz2"
],
:dependencies => [
:ffi, :gdbm, :openssl, :yaml, :zlib, :tcl, :tk
Expand Down
3 changes: 3 additions & 0 deletions rake/contrib/uri_ext.rb
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,9 @@ def read(options = nil, &block)
end
end
end
rescue Errno::ETIMEDOUT
puts "Download of #{self} timed out. Retrying."
retry
end

private
Expand Down
2 changes: 1 addition & 1 deletion recipes/certificate.rake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ namespace :certificate do
cert = RubyInstaller::Certificate

source = "#{cert.url}/#{cert.file}"
target = "downloads/#{cert.file}"
target = "#{RubyInstaller::DOWNLOADS}/#{cert.file}"

download target => source
task :download => target
Expand Down
4 changes: 2 additions & 2 deletions recipes/common.rake
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ require 'rake/clean'

# default cleanup
CLOBBER.include("sandbox")
CLOBBER.include("downloads")
CLOBBER.include(RubyInstaller::DOWNLOADS)

# define common tasks
directory "downloads"
directory (RubyInstaller::DOWNLOADS)
directory "sandbox"
24 changes: 19 additions & 5 deletions recipes/dependencies/knapsack.rake
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,33 @@ dependencies.each do |dependency_key, dependency|

if compiler.host =~ /x86_64/
files = dependency.x64_files
files_url = "#{dependency.url}/x64"
if compiler.knap_path
files_url = "#{dependency.url}/#{compiler.knap_path}/x64"
else
files_url = "#{dependency.url}/x64"
end
else
files = dependency.files
files_url = "#{dependency.url}/x86"
if compiler.knap_path
files_url = "#{dependency.url}/#{compiler.knap_path}/x86"
else
files_url = "#{dependency.url}/x86"
end
end

download_path = RubyInstaller::DOWNLOADS
if compiler.knap_path
download_path = "#{download_path}/#{compiler.knap_path}"
end

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you clean up the tabs in this file?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I modified the indent.
Thank you.

files.each do |f|
file_source = "#{files_url}/#{f}"
file_target = "downloads/#{f}"
file_target = "#{download_path}/#{f}"
download file_target => file_source

# depend on downloads directory
file file_target => "downloads"
file file_target => "#{download_path}"
directory "#{download_path}"

# download task need these files as pre-requisites
dt.enhance [file_target]
Expand All @@ -35,7 +49,7 @@ dependencies.each do |dependency_key, dependency|
# Prepare the :sandbox, it requires the :download task
et = checkpoint(dependency_key, :extract) do
dt.prerequisites.each { |f|
extract(File.join(RubyInstaller::ROOT, f), dependency.target)
extract(f, dependency.target)
}
end
task :extract => [:extract_utils, :download, dependency.target, et]
Expand Down
6 changes: 3 additions & 3 deletions recipes/dependencies/rbreadline.rake
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ namespace(:dependencies) do
# Put files for the :download task
package.files.each do |f|
file_source = "#{package.url}/#{f}"
file_target = "downloads/#{f}"
file_target = "#{RubyInstaller::DOWNLOADS}/#{f}"
download file_target => file_source

# depend on downloads directory
file file_target => "downloads"
file file_target => RubyInstaller::DOWNLOADS

# download task need these files as pre-requisites
task :download => file_target
Expand All @@ -26,7 +26,7 @@ namespace(:dependencies) do
files = Rake::Task['dependencies:rbreadline:download'].prerequisites

files.each { |f|
extract(File.join(RubyInstaller::ROOT, f), package.target)
extract(f, package.target)
}
end

Expand Down
Loading