[DRE-commits] [gem2deb] 01/01: attempt to pass parameters to extconf as dh_auto_install option (#756129)

Cédric Boutillier boutil at moszumanska.debian.org
Mon Sep 8 20:24:55 UTC 2014


This is an automated email from the git hooks/post-receive script.

boutil pushed a commit to branch extconf-options
in repository gem2deb.

commit ebb45cc41644ba1baa3fe1a280e5c4e0d5dd5d99
Author: Cédric Boutillier <boutil at debian.org>
Date:   Mon Sep 8 22:23:51 2014 +0200

    attempt to pass parameters to extconf as dh_auto_install option (#756129)
---
 debian/changelog                 |  8 ++++++--
 lib/gem2deb/dh_ruby.rb           |  8 +++++++-
 lib/gem2deb/extension_builder.rb | 12 ++++++------
 lib/gem2deb/installer.rb         |  7 +++++--
 4 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 430f7ad..4263559 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,13 @@
-gem2deb (0.9.2) UNRELEASED; urgency=medium
+gem2deb (0.9.3) UNRELEASED; urgency=medium
 
+  [ Antonio Terceiro ]
   * gem2deb-test-runner: add '.' to $LOAD_PATH with --autopkgtest
   * Gem2Deb::TestRunner: remove innocuous constructor
 
- -- Antonio Terceiro <terceiro at debian.org>  Tue, 02 Sep 2014 20:10:55 -0300
+  [ Cédric Boutillier ]
+  * Allow additional parameters for extconf.rb (Closes: #756129)
+
+ -- Cédric Boutillier <boutil at debian.org>  Mon, 08 Sep 2014 17:12:54 +0200
 
 gem2deb (0.9.1) unstable; urgency=medium
 
diff --git a/lib/gem2deb/dh_ruby.rb b/lib/gem2deb/dh_ruby.rb
index 4058935..039da54 100644
--- a/lib/gem2deb/dh_ruby.rb
+++ b/lib/gem2deb/dh_ruby.rb
@@ -27,10 +27,13 @@ module Gem2Deb
     attr_accessor :verbose
     attr_accessor :installer_class
 
+    attr_accessor :build_args
+
     def initialize
       @verbose = true
       @skip_checks = nil
       @installer_class = Gem2Deb::Installer
+      @build_args = ""
     end
 
     def clean
@@ -74,6 +77,8 @@ module Gem2Deb
         end
       end
 
+      @build_args = ARGV.join(" ")
+
       installers.each do |installer|
         installer.dh_auto_install_destdir = argv.first
         installer.install_files_and_build_extensions
@@ -199,7 +204,8 @@ module Gem2Deb
             installer_class.new(
               package[:binary_package],
               package[:root],
-              ruby_versions
+              ruby_versions,
+              build_args
             ).tap do |installer|
               installer.verbose = self.verbose
             end
diff --git a/lib/gem2deb/extension_builder.rb b/lib/gem2deb/extension_builder.rb
index 715b353..9df168d 100644
--- a/lib/gem2deb/extension_builder.rb
+++ b/lib/gem2deb/extension_builder.rb
@@ -40,7 +40,7 @@ module Gem2Deb
       end
     end
 
-    def build_and_install(destdir)
+    def build_and_install(destdir, build_args)
       clean
       results = []
       rubygems_builder =
@@ -69,7 +69,7 @@ module Gem2Deb
           # real time
           Gem.configuration.verbose = 'YES'
 
-          rubygems_builder.build(extension, '.', target, results)
+          rubygems_builder.build(extension, '.', target, results, build_args)
           puts results
 
           Gem.configuration.verbose = verbose
@@ -96,11 +96,11 @@ module Gem2Deb
       end
     end
 
-    def self.build_all_extensions(root, destdir)
+    def self.build_all_extensions(root, destdir, build_args="")
       all_extensions(root).each do |extension|
         ext = new(extension)
         ext.clean
-        ext.build_and_install(destdir)
+        ext.build_and_install(destdir, build_args)
       end
     end
 
@@ -112,10 +112,10 @@ module Gem2Deb
 end
 
 if $PROGRAM_NAME == __FILE__
-  if ARGV.length == 2
+  if ARGV.length >= 2
     Gem2Deb::ExtensionBuilder.build_all_extensions(*ARGV)
   else
-    puts "usage: #{File.basename($PROGRAM_NAME)} ROOT DESTDIR"
+    puts "usage: #{File.basename($PROGRAM_NAME)} ROOT DESTDIR [BUILD_ARGS]"
     exit(1)
   end
 end
diff --git a/lib/gem2deb/installer.rb b/lib/gem2deb/installer.rb
index 3d7572e..842fef9 100644
--- a/lib/gem2deb/installer.rb
+++ b/lib/gem2deb/installer.rb
@@ -18,11 +18,14 @@ module Gem2Deb
     attr_accessor :verbose
     attr_accessor :dh_auto_install_destdir
 
-    def initialize(binary_package, root, ruby_versions = SUPPORTED_RUBY_VERSIONS.keys)
+    attr_accessor :build_args
+
+    def initialize(binary_package, root, ruby_versions = SUPPORTED_RUBY_VERSIONS.keys, build_args = "")
       @binary_package = binary_package
       @root = File.expand_path(root)
       @ruby_versions = ruby_versions
       @metadata = Gem2Deb::Metadata.new(@root)
+      @build_args = build_args
     end
 
     def install_files_and_build_extensions
@@ -33,7 +36,7 @@ module Gem2Deb
       if metadata.has_native_extensions?
         ruby_versions.each do |rubyver|
           puts "Building extension for #{rubyver} ..." if verbose
-          run(SUPPORTED_RUBY_VERSIONS[rubyver], "-I#{LIBDIR}", EXTENSION_BUILDER, root, destdir_base)
+          run(SUPPORTED_RUBY_VERSIONS[rubyver], "-I#{LIBDIR}", EXTENSION_BUILDER, root, destdir_base, build_args)
 
           # Remove duplicate files installed by rubygems in the arch dir
           # This is a hack to workaround a problem in rubygems

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/gem2deb.git



More information about the Pkg-ruby-extras-commits mailing list