diff -Nru rake-compiler-0.9.1/History.txt rake-compiler-0.9.2/History.txt --- rake-compiler-0.9.1/History.txt 2013-08-19 19:36:12.000000000 +0000 +++ rake-compiler-0.9.2/History.txt 2014-01-02 06:40:44.000000000 +0000 @@ -1,3 +1,9 @@ +=== 0.9.2 / 2013-11-14 + +* Bugfixes: + * Pre-load resolver to avoid Bundler blow up during cross-compilation + Pull #83 [larskanis] + === 0.9.1 / 2013-08-03 * Bugfixes: diff -Nru rake-compiler-0.9.1/README.rdoc rake-compiler-0.9.2/README.rdoc --- rake-compiler-0.9.1/README.rdoc 2013-08-19 19:36:12.000000000 +0000 +++ rake-compiler-0.9.2/README.rdoc 2014-01-02 06:40:44.000000000 +0000 @@ -225,7 +225,16 @@ take advantage of GCC's host/target capabilities to build 'target' binaries on different 'host' OS's. -=== How I do this from Linux or OSX? +=== How do I do this from Linux or OSX? + +==== The Easy Way + +Use rake-compiler-dev-box, a virtual machine provisioned with all the necessary +build tools. With one command, you can cross-compile and package your gem into +native, Java, and Windows fat binaries (with 1.8, 1.9, and 2.0 support). See +https://github.com/tjschuck/rake-compiler-dev-box for more information. + +==== The Manual Way In addition to having the development tool chain installed (GCC), you also need to install your platform's mingw32 cross compilation package. @@ -256,7 +265,7 @@ You can add this to your .profile to avoid the repitition. -=== I've got my tool-chain installed, now what? +==== I've got my tool-chain installed, now what? First, you need to build Ruby for Windows on your Linux or OSX system. @@ -292,7 +301,7 @@ Please consult the documentation and website of the MinGW package provider before reporting any issues. -=== OK, let's cross compile some gems! +==== OK, let's cross compile some gems! Now, you only need specify a few additional options in your extension definition: @@ -314,7 +323,7 @@ To target gems for MRI Ruby's current official distribution, please force the platform to the one (i386-mswin32-60) previously shown. -=== Warning, magician about to do some tricks, don't blink! +==== Warning, magician about to do some tricks, don't blink! Cross compiling is still very simple: @@ -326,7 +335,7 @@ And you're done, yeah. -=== But wait, there's more +==== But wait, there's more You can specify which version of Ruby to build the extension against: @@ -372,7 +381,7 @@ end user installing the gem. It has also been implemented successfully in several projects. -=== What are you talking about? (Give me examples) +== What are you talking about? (Give me examples) I know all the above sounds like a complete foreign language (it does even for me!). So, what if I show you some examples? diff -Nru rake-compiler-0.9.1/debian/changelog rake-compiler-0.9.2/debian/changelog --- rake-compiler-0.9.1/debian/changelog 2013-09-12 12:58:19.000000000 +0000 +++ rake-compiler-0.9.2/debian/changelog 2014-01-14 13:58:27.000000000 +0000 @@ -1,3 +1,10 @@ +rake-compiler (0.9.2-1) unstable; urgency=medium + + * Imported Upstream version 0.9.2 + * Bump Standard Version: 3.9.5 + + -- Youhei SASAKI Tue, 14 Jan 2014 22:58:25 +0900 + rake-compiler (0.9.1-2) unstable; urgency=low * Drop Depends: rubygems diff -Nru rake-compiler-0.9.1/debian/control rake-compiler-0.9.2/debian/control --- rake-compiler-0.9.1/debian/control 2013-09-12 12:54:01.000000000 +0000 +++ rake-compiler-0.9.2/debian/control 2014-01-14 13:57:57.000000000 +0000 @@ -4,7 +4,7 @@ Maintainer: Debian Ruby Extras Maintainers Uploaders: Youhei SASAKI , Taku YASUI Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.3), rake, ruby-rspec -Standards-Version: 3.9.4 +Standards-Version: 3.9.5 Vcs-Git: git://anonscm.debian.org/pkg-ruby-extras/rake-compiler.git Vcs-Browser: http://anonscm.debian.org/gitweb?p=pkg-ruby-extras/rake-compiler.git;a=summary Homepage: http://github.com/luislavena/rake-compiler diff -Nru rake-compiler-0.9.1/lib/rake/extensiontask.rb rake-compiler-0.9.2/lib/rake/extensiontask.rb --- rake-compiler-0.9.1/lib/rake/extensiontask.rb 2013-08-19 19:36:12.000000000 +0000 +++ rake-compiler-0.9.2/lib/rake/extensiontask.rb 2014-01-02 06:40:44.000000000 +0000 @@ -380,6 +380,17 @@ # copy mkmf from cross-ruby location file "#{tmp_path}/mkmf.rb" => [mkmf_file] do |t| cp t.prerequisites.first, t.name + if ruby_ver < "1.9" && "1.9" <= RUBY_VERSION + File.open(t.name, 'r+t') do |f| + content = f.read + content.sub!(/^( break )\*(defaults)$/, '\\1\\2.first') + content.sub!(/^( return )\*(defaults)$/, '\\1\\2.first') + content.sub!(/^( mfile\.)print( configuration\(srcprefix\))$/, '\\1puts\\2') + f.rewind + f.write content + f.truncate(f.tell) + end + end end # genearte fake.rb for different ruby versions @@ -471,6 +482,11 @@ def fake_rb(platform, version) <<-FAKE_RB + # Pre-load resolver library before faking, in order to avoid error + # "cannot load such file -- win32/resolv" when it is required later on. + # See also: https://github.com/tjschuck/rake-compiler-dev-box/issues/5 + require 'resolv' + class Object remove_const :RUBY_PLATFORM remove_const :RUBY_VERSION diff -Nru rake-compiler-0.9.1/metadata.yml rake-compiler-0.9.2/metadata.yml --- rake-compiler-0.9.1/metadata.yml 2013-08-19 19:36:12.000000000 +0000 +++ rake-compiler-0.9.2/metadata.yml 2014-01-02 06:40:44.000000000 +0000 @@ -1,13 +1,13 @@ --- !ruby/object:Gem::Specification name: rake-compiler version: !ruby/object:Gem::Version - hash: 57 + hash: 63 prerelease: segments: - 0 - 9 - - 1 - version: 0.9.1 + - 2 + version: 0.9.2 platform: ruby authors: - Luis Lavena @@ -15,7 +15,7 @@ bindir: bin cert_chain: [] -date: 2013-08-03 00:00:00 Z +date: 2013-11-14 00:00:00 Z dependencies: - !ruby/object:Gem::Dependency version_requirements: &id001 !ruby/object:Gem::Requirement diff -Nru rake-compiler-0.9.1/tasks/gem.rake rake-compiler-0.9.2/tasks/gem.rake --- rake-compiler-0.9.1/tasks/gem.rake 2013-08-19 19:36:12.000000000 +0000 +++ rake-compiler-0.9.2/tasks/gem.rake 2014-01-02 06:40:44.000000000 +0000 @@ -3,7 +3,7 @@ GEM_SPEC = Gem::Specification.new do |s| # basic information s.name = "rake-compiler" - s.version = "0.9.1" + s.version = "0.9.2" s.platform = Gem::Platform::RUBY # description and details