Skip to content

Commit

Permalink
Modify fork of the new rubyinstaller repository to build shoes
Browse files Browse the repository at this point in the history
  • Loading branch information
ender672 committed Feb 28, 2009
1 parent bfac357 commit c3891ab
Show file tree
Hide file tree
Showing 17 changed files with 728 additions and 56 deletions.
157 changes: 149 additions & 8 deletions config/ruby_installer.rb
Expand Up @@ -55,20 +55,20 @@ module Version

Ruby18 = OpenStruct.new(
:release => "preview1",
:version => "1.8.6-p114",
:version => "1.8.7-p72",
:url => "http://ftp.ruby-lang.org/pub/ruby/1.8",
:checkout => 'http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6',
:checkout_target => 'downloads/ruby_1_8',
:target => 'sandbox/ruby_1_8',
:build_target => 'sandbox/ruby_build',
:install_target => 'sandbox/ruby_mingw',
:install_target => RubyInstaller::MinGW.target,
:configure_options => [
'--enable-shared',
'--with-winsock2',
'--disable-install-doc'
],
:files => [
'ruby-1.8.6-p114.tar.bz2'
'ruby-1.8.7-p72.tar.bz2'
],
:dependencies => [
'readline5.dll',
Expand All @@ -80,14 +80,44 @@ module Version
'gdbm3.dll'
]
)


Ruby19 = OpenStruct.new(
:release => "p0",
:version => "1.9.1",
:url => "http://ftp.ruby-lang.org/pub/ruby/1.9",
:checkout => 'http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1',
:checkout_target => 'downloads/ruby_1_9',
:target => 'sandbox/ruby_1_9',
:build_target => 'sandbox/ruby_build_1_9',
:install_target => RubyInstaller::MinGW.target,
:configure_options => [
'--enable-shared',
'--disable-install-doc',
"optflags='-O0'",
"debugflags='-g3 -ggdb'"
],
:files => [
'ruby-1.9.1-p0.tar.bz2'
],
:dependencies => [
'readline5.dll',
'zlib1.dll',
'libeay32.dll',
'libssl32.dll',
'libiconv2.dll',
'pdcurses.dll',
'gdbm3.dll'
]
)

Zlib = OpenStruct.new(
:release => "official",
:release => 'official',
:version => "1.2.3",
:url => "http://www.zlib.net",
:url => "http://easynews.dl.sourceforge.net/gnuwin32",
:target => RubyInstaller::MinGW.target,
:files => [
'zlib123-dll.zip'
'zlib-1.2.3-bin.zip',
'zlib-1.2.3-lib.zip'
]
)

Expand Down Expand Up @@ -161,7 +191,7 @@ module Version
:checkout => 'svn://rubyforge.org/var/svn/rubygems/trunk',
:checkout_target => 'downloads/rubygems',
:target => 'sandbox/rubygems',
:install_target => 'sandbox/rubygems_mingw',
:install_target => RubyInstaller::MinGW.target,
:configure_options => [
'--no-ri',
'--no-rdoc'
Expand All @@ -170,7 +200,118 @@ module Version
'rubygems-1.3.1.tgz'
]
)

#Begin Shoes Dependencies

Shoes = OpenStruct.new(
:release => 'raisins',
:version => 'r1134',
:url => 'http://shoooes.net/dist',
:checkout => 'git://github.com/ender672/shoes',
:checkout_target => 'sandbox/shoes',
:target => 'sandbox/shoes',

:build_target => 'sandbox/shoes_build',
:install_target => 'sandbox/shoes_mingw',
:configure_options => [],
:files => [
'shoes2.tar.gz'
]
)

Winhttp = OpenStruct.new(
:url => "http://www.holymonkey.com/shoes-packages",
:target => RubyInstaller::MinGW.target,
:files => ['winhttp.zip']
)

Glib = OpenStruct.new(
:url => "http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18",
:version => '2.18.4-1',
:target => RubyInstaller::MinGW.target,
:files => [
'glib-dev_2.18.4-1_win32.zip',
'glib_2.18.4-1_win32.zip'
]
)

LibUnGif = OpenStruct.new(
:url => "http://easynews.dl.sourceforge.net/gnuwin32",
:version => '',
:target => RubyInstaller::MinGW.target,
:files => [
'libungif-4.1.4-bin.zip',
'libungif-4.1.4-lib.zip'
]
)

Sqlite3 = OpenStruct.new(
:url => "http://www.sqlite.org",
:target => 'sandbox/sqlite3',
:files => [
'sqlitedll-3_6_11.zip',
'sqlite-amalgamation-3_6_11.zip'
]
)

PortAudio = OpenStruct.new(
:url => "http://www.portaudio.com/archives",
:target => 'sandbox/portaudio',
:install_target => RubyInstaller::MinGW.target,
:files => ['pa_snapshot.tgz']
)

LibJpeg = OpenStruct.new(
:url => "http://easynews.dl.sourceforge.net/gnuwin32",
:version => '6b',
:target => RubyInstaller::MinGW.target,
:files => [
'libjpeg-6b-bin.zip',
'libjpeg-6b-lib.zip'
]
)

LibJpegPatch = OpenStruct.new(
:url => "http://www.holymonkey.com/shoes-packages",
:target => "sandbox/lib_jpeg_patch",
:prepare_target => RubyInstaller::LibJpeg.target,
:files => [
'lib_jpeg_patch.zip'
]
)

Cairo = OpenStruct.new(
:url => "http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies",
:version => '1.8.6-1',
:target => RubyInstaller::MinGW.target,
:files => [
'cairo-dev_1.8.6-1_win32.zip',
'cairo_1.8.6-1_win32.zip'
]
)

Pango = OpenStruct.new(
:url => "http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22",
:version => '1.22.2-1',
:target => RubyInstaller::MinGW.target,
:files => [
'pango-dev_1.22.2-1_win32.zip',
'pango_1.22.2-1_win32.zip'
]
)

LibPng = OpenStruct.new(
:url => "http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/",
:version => '1.2.35-1',
:target => RubyInstaller::MinGW.target,
:files => [
'libpng_1.2.34-1_win32.zip',
'libpng-dev_1.2.34-1_win32.zip'
]
)

# End Shoes Dependencies

Wix = OpenStruct.new(
:release => 'stable',
:version => '2.0.5805.1',
Expand Down
2 changes: 1 addition & 1 deletion rake/contrib/zip/zip.rb
@@ -1,7 +1,7 @@
require 'delegate'
require 'singleton'
require 'tempfile'
require 'ftools'
require 'ftools' if RUBY_VERSION < '1.9'
require 'stringio'
require 'zlib'
require 'zip/stdrubyext'
Expand Down
12 changes: 11 additions & 1 deletion recipes/defaults.rake
Expand Up @@ -25,7 +25,17 @@ task :check
desc "Test drive the sandbox (using IRB)."
task :irb

descr =[:download, :extract, :prepare, :configure, :compile, :install]
descr =[
:download,
:extract,
:prepare,
:source_dependency_configure,
:source_dependency_compile,
:source_dependency_install,
:configure,
:compile,
:install
]
desc "Do everything! #{descr.inspect}"
task :default => descr

Expand Down
36 changes: 36 additions & 0 deletions recipes/dependencies/glib.rake
@@ -0,0 +1,36 @@
require 'rake'
require 'rake/clean'

namespace(:dependencies) do
namespace(:glib) do
package = RubyInstaller::Glib
directory package.target
CLEAN.include(package.target)

# Put files for the :download task
package.files.each do |f|
file_source = "#{package.url}/#{f}"
file_target = "downloads/#{f}"
download file_target => file_source

# depend on downloads directory
file file_target => "downloads"

# download task need these files as pre-requisites
task :download => file_target
end

# Prepare the :sandbox, it requires the :download task
task :extract => [:extract_utils, :download, package.target] do
# grab the files from the download task
files = Rake::Task['dependencies:glib:download'].prerequisites

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

task :download => ['dependencies:glib:download']
task :extract => ['dependencies:glib:extract']
36 changes: 36 additions & 0 deletions recipes/dependencies/libjpeg.rake
@@ -0,0 +1,36 @@
require 'rake'
require 'rake/clean'

namespace(:dependencies) do
namespace(:libjpeg) do
package = RubyInstaller::LibJpeg
directory package.target
CLEAN.include(package.target)

# Put files for the :download task
package.files.each do |f|
file_source = "#{package.url}/#{f}"
file_target = "downloads/#{f}"
download file_target => file_source

# depend on downloads directory
file file_target => "downloads"

# download task need these files as pre-requisites
task :download => file_target
end

# Prepare the :sandbox, it requires the :download task
task :extract => [:extract_utils, :download, package.target] do
# grab the files from the download task
files = Rake::Task['dependencies:libjpeg:download'].prerequisites

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

task :download => ['dependencies:libjpeg:download']
task :extract => ['dependencies:libjpeg:extract']
Expand Up @@ -2,8 +2,8 @@ require 'rake'
require 'rake/clean'

namespace(:interpreter) do
namespace(:patch) do
package = RubyInstaller::Patches
namespace(:libjpeg_patch) do
package = RubyInstaller::LibJpegPatch
directory package.target
CLEAN.include(package.target)

Expand All @@ -22,7 +22,7 @@ namespace(:interpreter) do

task :extract => [:extract_utils, :download, package.target] do
# grab the files from the download task
files = Rake::Task['interpreter:patch:download'].prerequisites
files = Rake::Task['interpreter:libjpeg_patch:download'].prerequisites

files.each do |f|
extract(File.join(RubyInstaller::ROOT, f), package.target)
Expand All @@ -33,7 +33,7 @@ namespace(:interpreter) do
glob = File.join(RubyInstaller::ROOT, package.target, '*.patch')
cd package.prepare_target do
Dir[glob].sort.each do |patch|
msys_sh "patch -p1 -f < #{patch}"
msys_sh "patch -p1 -t < #{patch}"
end
end
end
Expand All @@ -42,7 +42,7 @@ namespace(:interpreter) do
end

unless ENV['CHECKOUT']
task :download => ['interpreter:patch:download']
task :extract => ['interpreter:patch:extract']
task :prepare => ['interpreter:patch:prepare']
task :download => ['interpreter:libjpeg_patch:download']
task :extract => ['interpreter:libjpeg_patch:extract']
task :prepare => ['interpreter:libjpeg_patch:prepare']
end
36 changes: 36 additions & 0 deletions recipes/dependencies/libpng.rake
@@ -0,0 +1,36 @@
require 'rake'
require 'rake/clean'

namespace(:dependencies) do
namespace(:libpng) do
package = RubyInstaller::LibPng
directory package.target
CLEAN.include(package.target)

# Put files for the :download task
package.files.each do |f|
file_source = "#{package.url}/#{f}"
file_target = "downloads/#{f}"
download file_target => file_source

# depend on downloads directory
file file_target => "downloads"

# download task need these files as pre-requisites
task :download => file_target
end

# Prepare the :sandbox, it requires the :download task
task :extract => [:extract_utils, :download, package.target] do
# grab the files from the download task
files = Rake::Task['dependencies:libpng:download'].prerequisites

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

task :download => ['dependencies:libpng:download']
task :extract => ['dependencies:libpng:extract']

0 comments on commit c3891ab

Please sign in to comment.