Hello community,
here is the log from the commit of package rubygem-rake-compiler for
openSUSE:Factory checked in at 2016-03-26 15:28:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-rake-compiler (Old)
and /work/SRC/openSUSE:Factory/.rubygem-rake-compiler.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-rake-compiler"
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-rake-compiler/rubygem-rake-compiler.changes
2015-02-10 20:22:09.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-rake-compiler.new/rubygem-rake-compiler.changes
2016-03-26 18:14:28.000000000 +0100
@@ -1,0 +2,44 @@
+Sat Mar 19 05:31:26 UTC 2016 - [email protected]
+
+- updated to version 0.9.7
+ see installed History.txt
+
+ === 0.9.7 / 2016-03-16
+
+ * Bugfixes:
+ * May fix "make" detection on Windows.
+ #123 [Reported by Aaron Stone]
+
+-------------------------------------------------------------------
+Sat Mar 5 05:30:50 UTC 2016 - [email protected]
+
+- updated to version 0.9.6
+ see installed History.txt
+
+ === 0.9.6 / 2016-03-04
+
+ * Enhancements
+ * Add more descriptions into README.
+ Closes #105 [Patch by Aaron Stone]
+ * Remove needless executable bits.
+ Closes #107 [Patch by Thibault Jouan]
+ * Update .gitignore.
+ Closes #108 [Patch by Thibault Jouan]
+ * Improve "make" detection on some platforms such as FreeBSD.
+ Closes #109 [Patch by Thibault Jouan]
+ * Enable cucumber steps for POSIX on *BSD.
+ Closes #110 [Patch by Thibault Jouan]
+ * Stop to build bundled extensions.
+ * Add description about CLI option into README.
+ Closes #115 [Patch by Richard Michael]
+ * Update description about using rake-compiler on virtual machine in
+ README.
+ Closes #116, #117 [Patch by Lars Kanis]
+ * Update fake mechanism to be compatible with Bundler.
+ Closes #121 [Patch by Lars Kanis]
+
+ * Bugfixes:
+ * Fix typos in README.
+ Closes #102, #103 [Patch by Robert Fletcher]
+
+-------------------------------------------------------------------
Old:
----
rake-compiler-0.9.5.gem
New:
----
rake-compiler-0.9.7.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-rake-compiler.spec ++++++
--- /var/tmp/diff_new_pack.8cEJNp/_old 2016-03-26 18:14:29.000000000 +0100
+++ /var/tmp/diff_new_pack.8cEJNp/_new 2016-03-26 18:14:29.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-rake-compiler
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-rake-compiler
-Version: 0.9.5
+Version: 0.9.7
Release: 0
%define mod_name rake-compiler
%define mod_full_name %{mod_name}-%{version}
++++++ rake-compiler-0.9.5.gem -> rake-compiler-0.9.7.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/History.txt new/History.txt
--- old/History.txt 2015-01-03 06:43:52.000000000 +0100
+++ new/History.txt 2016-03-16 14:39:06.000000000 +0100
@@ -1,3 +1,35 @@
+=== 0.9.7 / 2016-03-16
+
+* Bugfixes:
+ * May fix "make" detection on Windows.
+ #123 [Reported by Aaron Stone]
+
+=== 0.9.6 / 2016-03-04
+
+* Enhancements
+ * Add more descriptions into README.
+ Closes #105 [Patch by Aaron Stone]
+ * Remove needless executable bits.
+ Closes #107 [Patch by Thibault Jouan]
+ * Update .gitignore.
+ Closes #108 [Patch by Thibault Jouan]
+ * Improve "make" detection on some platforms such as FreeBSD.
+ Closes #109 [Patch by Thibault Jouan]
+ * Enable cucumber steps for POSIX on *BSD.
+ Closes #110 [Patch by Thibault Jouan]
+ * Stop to build bundled extensions.
+ * Add description about CLI option into README.
+ Closes #115 [Patch by Richard Michael]
+ * Update description about using rake-compiler on virtual machine in
+ README.
+ Closes #116, #117 [Patch by Lars Kanis]
+ * Update fake mechanism to be compatible with Bundler.
+ Closes #121 [Patch by Lars Kanis]
+
+* Bugfixes:
+ * Fix typos in README.
+ Closes #102, #103 [Patch by Robert Fletcher]
+
=== 0.9.5 / 2015-01-03
* Enhancements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.rdoc new/README.rdoc
--- old/README.rdoc 2015-01-03 06:43:52.000000000 +0100
+++ new/README.rdoc 2016-03-16 14:39:06.000000000 +0100
@@ -1,7 +1,7 @@
= What is rake-compiler?
rake-compiler is first and foremost a productivity tool for Ruby developers.
-It's goal is to make the busy developer's life easier by simplifying the
building
+Its goal is to make the busy developer's life easier by simplifying the
building
and packaging of Ruby extensions by simplifying code and reducing duplication.
It follows *convention over configuration* by advocating a standardized build
and
@@ -118,6 +118,10 @@
performs the entire compile and build process for you and places the resulting
extension inside the <tt>lib</tt> directory of your project.
+To pass <tt>dir_config</tt> options to the compilation, add to the command
line:
+
+ $ rake compile -- --with-foo-[dir|lib|bin|...]=/path/to/foo
+
NOTE: Please be aware that building C extensions requires the proper
development environment for your Platform, including libraries, headers
and build tools. Check your distro / vendor documentation on how to install
@@ -230,10 +234,11 @@
==== 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.
+Use rake-compiler-dock, a gem that makes use of a virtual machine provisioned
with
+all the necessary build tools. You can add a task to your Rakefile, that
+cross-compiles and packages your gem into Windows fat binaries (with 1.8 to 2.2
+and x86/x64 support). See https://github.com/rake-compiler/rake-compiler-dock
for more
+information.
==== The Manual Way
@@ -284,9 +289,9 @@
# File: ~/.rake-compiler/config.yml
- rbconfig-i386-mingw32-1.8.6: /path/to/ruby-1.8.6/rbconfig.rb
- rbconfig-i386-mingw32-1.8.7: /path/to/ruby-1.8.7/rbconfig.rb
- rbconfig-i386-mingw32-1.9.2: /path/to/ruby-1.9.2/rbconfig.rb
+ rbconfig-x86-mingw32-1.8.6: /path/to/ruby-1.8.6/rbconfig.rb
+ rbconfig-x86-mingw32-1.8.7: /path/to/ruby-1.8.7/rbconfig.rb
+ rbconfig-x86-mingw32-1.9.2: /path/to/ruby-1.9.2/rbconfig.rb
If, instead, you want to build a different Ruby version than the default one,
please
supply a <tt>VERSION</tt>:
@@ -296,7 +301,7 @@
If you, like me, have multiple versions of MinGW packages installed, you can
specify the HOST that will be used to cross compile Ruby:
- rake-compiler cross-ruby HOST=i386-mingw32 # (OSX mingw32 port)
+ rake-compiler cross-ruby HOST=x86-mingw32 # (OSX mingw32 port)
The host will vary depending on provider (mingw32 versus mingw-w64 projects).
Please consult the documentation and website of the MinGW package provider
before
@@ -307,22 +312,41 @@
Now, you only need specify a few additional options in your extension
definition:
Rake::ExtensionTask.new('my_extension', gem_spec) do |ext|
- ext.cross_compile = true # enable cross compilation
(requires cross compile toolchain)
- ext.cross_platform = 'i386-mswin32-60' # forces the Windows platform
instead of the default one
- # configure options only for
cross compile
- ext.cross_config_options << '--with-something'
+ # enable cross compilation (requires cross compile toolchain)
+ ext.cross_compile = true
+
+ # set a single platform or an array of platforms to target
+ ext.cross_platform = ['x86-mingw32', 'x64-mingw32']
+
+ # cross-compile options will be passed to extconf.rb for each
+ # platform build, with platform-specific options in a hash.
+ ext.cross_config_options << '--with-common-option'
+ ext.cross_config_options << {
+ 'x86-mswin32-60 => '--with-some-option',
+ 'x64-mingw32' => '--enable-64bits',
+ }
+ ext.cross_config_options << '--with-final-option'
# perform alterations on the gemspec when cross compiling
ext.cross_compiling do |gem_spec|
+ # such as packaging a file that isn't specified in the gemspec
+ gem_spec.files << 'lib/generated_file.rb'
+ # or adding a new installation message
gem_spec.post_install_message = "You installed the binary version of
this gem!"
end
end
-By default, cross compilation targets 'i386-mingw32' which is the default GCC
-platform for Ruby.
-
-To target gems for MRI Ruby's current official distribution, please force the
-platform to the one (i386-mswin32-60) previously shown.
+By default, cross compilation targets 'i386-mingw32' which is the default
+GCC platform for Ruby. MRI Ruby's current official distribution uses
+<tt>i386-mswin32-60</tt>. The RubyInstaller distribution uses
+<tt>x86-mingw32</tt> and <tt>x64-mingw32</tt> for 32-bit and 64-bit
+Windows targets, respectively. Note that <tt>i386</tt> and <tt>x86</tt>
+are synonymous here; <tt>x86</tt> is preferred going forward.
+
+The format for <tt>cross_config_options</tt> is an array of strings and
+hashes. Hashes will be fetched for each value of <tt>cross_platform</tt>
+as the build iterates, or ignored if there is no value for that platform.
+You can mix-and-match strings and hashes to get desired option ordering.
==== Warning, magician about to do some tricks, don't blink!
@@ -330,7 +354,7 @@
rake cross compile
-And now, building gems for your Windows users is just 5 more letters:
+And now, building gems for your Windows users is just 6 more letters:
rake cross native gem
@@ -366,7 +390,7 @@
cross compiling from a Linux or OSX host. Patches are welcome if building
"fat" gems from Windows hosts is desired, or natively for your platform :-)
-Now is up to you to make your gem load the proper binary at runtime:
+Now it's up to you to make your gem load the proper binary at runtime:
begin
RUBY_VERSION =~ /(\d+.\d+)/
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/features/step_definitions/cross_compilation.rb
new/features/step_definitions/cross_compilation.rb
--- old/features/step_definitions/cross_compilation.rb 2015-01-03
06:43:52.000000000 +0100
+++ new/features/step_definitions/cross_compilation.rb 2016-03-16
14:39:06.000000000 +0100
@@ -1,6 +1,6 @@
-# Naive way of looking into platforms, please include others like FreeBSD?
+# Naive way of looking into platforms
Given %r{^I'm running a POSIX operating system$} do
- unless RbConfig::CONFIG['host_os'] =~ /linux|darwin/ then
+ unless RbConfig::CONFIG['host_os'] =~ /linux|darwin|bsd|dragonfly/ then
raise Cucumber::Pending.new("You need a POSIX operating system, no
cheating ;-)")
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rake/baseextensiontask.rb
new/lib/rake/baseextensiontask.rb
--- old/lib/rake/baseextensiontask.rb 2015-01-03 06:43:52.000000000 +0100
+++ new/lib/rake/baseextensiontask.rb 2016-03-16 14:39:06.000000000 +0100
@@ -1,5 +1,3 @@
-#!/usr/bin/env ruby
-
require 'rake'
require 'rake/clean'
require 'rake/tasklib'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rake/extensioncompiler.rb
new/lib/rake/extensioncompiler.rb
--- old/lib/rake/extensioncompiler.rb 2015-01-03 06:43:52.000000000 +0100
+++ new/lib/rake/extensioncompiler.rb 2016-03-16 14:39:06.000000000 +0100
@@ -1,5 +1,3 @@
-#!/usr/bin/env ruby
-
module Rake
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rake/extensiontask.rb
new/lib/rake/extensiontask.rb
--- old/lib/rake/extensiontask.rb 2015-01-03 06:43:52.000000000 +0100
+++ new/lib/rake/extensiontask.rb 2016-03-16 14:39:06.000000000 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env ruby
+require "rbconfig"
require 'rake/baseextensiontask'
require "rubygems/package_task"
@@ -8,7 +8,6 @@
module Rake
class ExtensionTask < BaseExtensionTask
-
attr_accessor :config_script
attr_accessor :cross_compile
attr_accessor :cross_platform
@@ -172,8 +171,8 @@
# now add the extconf script
cmd << abs_extconf.relative_path_from(abs_tmp_path)
- # rbconfig.rb will be present if we are cross compiling
- if t.prerequisites.include?("#{tmp_path}/rbconfig.rb") then
+ # fake.rb will be present if we are cross compiling
+ if t.prerequisites.include?("#{tmp_path}/fake.rb") then
options.push(*cross_config_options(platf))
end
@@ -368,39 +367,30 @@
# define compilation tasks for cross platform!
define_compile_tasks(for_platform, ruby_ver)
- # chain fake.rb, rbconfig.rb and mkmf.rb to Makefile generation
+ # chain fake.rb and mkmf.rb to Makefile generation
file "#{tmp_path}/Makefile" => ["#{tmp_path}/fake.rb",
- "#{tmp_path}/rbconfig.rb",
"#{tmp_path}/mkmf.rb"]
- # copy the file from the cross-ruby location
- file "#{tmp_path}/rbconfig.rb" => [rbconfig_file] do |t|
+ # copy the rbconfig from the cross-ruby location and
+ # genearte fake.rb for different ruby versions
+ file "#{tmp_path}/fake.rb" => [rbconfig_file] do |t|
File.open(t.name, 'w') do |f|
- f.write "require 'fake.rb'\n\n"
+ f.write fake_rb(for_platform, ruby_ver)
f.write File.read(t.prerequisites.first)
end
end
# 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
+ File.open(t.name, 'w') do |f|
+ content = File.read(t.prerequisites.first)
+ content.sub!(/^(require ')rbconfig(')$/, '\\1fake\\2')
+ if ruby_ver < "1.9" && "1.9" <= RUBY_VERSION
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
- file "#{tmp_path}/fake.rb" do |t|
- File.open(t.name, 'w') do |f|
- f.write fake_rb(for_platform, ruby_ver)
+ f.write content
end
end
@@ -455,9 +445,7 @@
if RUBY_PLATFORM =~ /mswin/ then
'nmake'
else
- ENV['MAKE'] || %w[gmake make].find { |c|
- system("#{c} -v >> #{dev_null} 2>&1")
- }
+ ENV['MAKE'] || find_make
end
end
@@ -468,8 +456,19 @@
@make
end
- def dev_null
- windows? ? 'NUL' : '/dev/null'
+ def find_make
+ candidates = ["gmake", "make"]
+ paths = (ENV["PATH"] || "").split(File::PATH_SEPARATOR)
+
+ exeext = RbConfig::CONFIG["EXEEXT"]
+ candidates.each do |candidate|
+ paths.each do |path|
+ make = File.join(path, "#{candidate}#{exeext}")
+ return make if File.executable?(make)
+ end
+ end
+
+ nil
end
def compiled_files
@@ -490,8 +489,10 @@
# "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'
+ require 'rbconfig'
class Object
+ remove_const :RbConfig
remove_const :RUBY_PLATFORM
remove_const :RUBY_VERSION
remove_const :RUBY_DESCRIPTION if defined?(RUBY_DESCRIPTION)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rake/javaextensiontask.rb
new/lib/rake/javaextensiontask.rb
--- old/lib/rake/javaextensiontask.rb 2015-01-03 06:43:52.000000000 +0100
+++ new/lib/rake/javaextensiontask.rb 2016-03-16 14:39:06.000000000 +0100
@@ -1,5 +1,3 @@
-#!/usr/bin/env ruby
-
require 'rake/baseextensiontask'
# Define a series of tasks to aid in the compilation of Java extensions for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2015-01-03 06:43:52.000000000 +0100
+++ new/metadata 2016-03-16 14:39:06.000000000 +0100
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: rake-compiler
version: !ruby/object:Gem::Version
- version: 0.9.5
+ version: 0.9.7
platform: ruby
authors:
- Kouhei Sutou
@@ -9,7 +9,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2015-01-03 00:00:00.000000000 Z
+date: 2016-03-16 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: rake
@@ -134,7 +134,7 @@
version: 1.8.23
requirements: []
rubyforge_project: rake-compiler
-rubygems_version: 2.2.2
+rubygems_version: 2.5.1
signing_key:
specification_version: 4
summary: Rake-based Ruby Extension (C, Java) task generator.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/lib/rake/extensiontask_spec.rb
new/spec/lib/rake/extensiontask_spec.rb
--- old/spec/lib/rake/extensiontask_spec.rb 2015-01-03 06:43:52.000000000
+0100
+++ new/spec/lib/rake/extensiontask_spec.rb 2016-03-16 14:39:06.000000000
+0100
@@ -426,15 +426,9 @@
it 'should chain fake task to Makefile generation' do
Rake::Task["tmp/universal-unknown/extension_one/#{@ruby_ver}/Makefile"].prerequisites.should
include("tmp/universal-unknown/extension_one/#{@ruby_ver}/fake.rb")
end
- end
-
- context 'rbconfig' do
- it 'should chain rbconfig tasks to Makefile generation' do
-
Rake::Task["tmp/universal-unknown/extension_one/#{@ruby_ver}/Makefile"].prerequisites.should
include("tmp/universal-unknown/extension_one/#{@ruby_ver}/rbconfig.rb")
- end
- it 'should take rbconfig from rake-compiler configuration' do
-
Rake::Task["tmp/universal-unknown/extension_one/#{@ruby_ver}/rbconfig.rb"].prerequisites.should
include(@config_path)
+ it 'should chain rbconfig tasks to fake.rb generation' do
+
Rake::Task["tmp/universal-unknown/extension_one/#{@ruby_ver}/fake.rb"].prerequisites.should
include(@config_path)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/tasks/bin/cross-ruby.rake
new/tasks/bin/cross-ruby.rake
--- old/tasks/bin/cross-ruby.rake 2015-01-03 06:43:52.000000000 +0100
+++ new/tasks/bin/cross-ruby.rake 2016-03-16 14:39:06.000000000 +0100
@@ -135,8 +135,7 @@
"--build=#{RUBY_BUILD}",
'--enable-shared',
'--disable-install-doc',
- '--without-tk',
- '--without-tcl'
+ '--with-ext='
]
# Force Winsock2 for Ruby 1.8, 1.9 defaults to it
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/tasks/gem.rake new/tasks/gem.rake
--- old/tasks/gem.rake 2015-01-03 06:43:52.000000000 +0100
+++ new/tasks/gem.rake 2016-03-16 14:39:06.000000000 +0100
@@ -3,7 +3,7 @@
GEM_SPEC = Gem::Specification.new do |s|
# basic information
s.name = "rake-compiler"
- s.version = "0.9.5"
+ s.version = "0.9.7"
s.platform = Gem::Platform::RUBY
# description and details