[arch-commits] Commit in rubinius/trunk (2 files)

Jan Steffens heftig at archlinux.org
Sat Apr 18 00:31:20 UTC 2015


    Date: Saturday, April 18, 2015 @ 02:31:20
  Author: heftig
Revision: 131603

repair llvm linking

Added:
  rubinius/trunk/0001-Allow-shared-linking-to-LLVM-3.5.patch
Modified:
  rubinius/trunk/PKGBUILD

---------------------------------------------+
 0001-Allow-shared-linking-to-LLVM-3.5.patch |  102 ++++++++++++++++++++++++++
 PKGBUILD                                    |   10 +-
 2 files changed, 109 insertions(+), 3 deletions(-)

Added: 0001-Allow-shared-linking-to-LLVM-3.5.patch
===================================================================
--- 0001-Allow-shared-linking-to-LLVM-3.5.patch	                        (rev 0)
+++ 0001-Allow-shared-linking-to-LLVM-3.5.patch	2015-04-18 00:31:20 UTC (rev 131603)
@@ -0,0 +1,102 @@
+From 4fd2b3dc1395e838d5e77de4b551063d5849deaa Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Fri, 6 Mar 2015 20:45:47 +0100
+Subject: [PATCH] Allow shared linking to LLVM 3.5
+
+Run check_llvm_flags before checking for shared libs and use the
+calculated flags there.
+---
+ configure | 53 +++++++++++++++++++++++------------------------------
+ 1 file changed, 23 insertions(+), 30 deletions(-)
+
+diff --git a/configure b/configure
+index fabb2d3..3a35743 100755
+--- a/configure
++++ b/configure
+@@ -563,15 +563,6 @@ class Configure
+       return false
+     end
+ 
+-    if setup_config
+-      check_llvm_flags
+-      return true
+-    end
+-
+-    failure "ABORT: unable to set up LLVM"
+-  end
+-
+-  def setup_config
+     @log.print "  Checking for 'llvm-config': "
+ 
+     config = @llvm_configure
+@@ -602,36 +593,38 @@ class Configure
+         # Ruby 1.9 raises this error
+         failed = true
+       end
+-      if failed
+-        @log.write "Executing #{config_cmd.inspect} failed"
+-        return false
+-      end
+ 
+-      parts = version.sub(/svn$/, "").split(".").map { |i| i.to_i }
+-      api_version = ("%d%02d" % parts[0..1]).to_i
+-      if api_version < 300 or api_version > 305
+-        @log.write "only LLVM 3.0-3.5 is supported"
+-      else
+-        @log.write "found! (version #{version} - api: #{api_version})"
+-        @llvm = :config
+-        @llvm_configure = config_cmd
+-        @llvm_version = version
+-        @llvm_api_version = api_version
++      unless failed
++        parts = version.sub(/svn$/, "").split(".").map { |i| i.to_i }
++        api_version = ("%d%02d" % parts[0..1]).to_i
++        if api_version < 300 or api_version > 305
++          @log.write "only LLVM 3.0-3.5 is supported"
++        else
++          @log.write "found! (version #{version} - api: #{api_version})"
++          @llvm = :config
++          @llvm_configure = config_cmd
++          @llvm_version = version
++          @llvm_api_version = api_version
+ 
+-        if @llvm_shared
+-          setup_config_shared
++          check_llvm_flags
++
++          if @llvm_shared
++            setup_llvm_shared
++          end
++
++          return true
+         end
+-
+-        return true
++      else
++        @log.write "executing #{config_cmd.inspect} failed"
+       end
+     else
+       @log.write "not found"
+     end
+ 
+-    false
++    failure "ABORT: unable to set up LLVM"
+   end
+ 
+-  def setup_config_shared
++  def setup_llvm_shared
+     @log.print "  Checking for LLVM shared libs: "
+ 
+     src = <<-EOP
+@@ -640,7 +633,7 @@ using namespace llvm;
+ int main() { LLVMContext &Context = getGlobalContext(); }
+     EOP
+ 
+-    common_args = `#{@llvm_configure} --cppflags --ldflags`.strip.split(/\s+/)
++    common_args = "`#{@llvm_configure} --cppflags` #{@llvm_cxxflags} #{@llvm_ldflags}".strip.split(/\s+/)
+     shared_configs = {
+       "libLLVM-#{@llvm_version}"  => ["-lLLVM-#{@llvm_version}"],
+       "#{@llvm_configure} --libs" => `#{@llvm_configure} --libs`.strip.split(/\s+/)
+-- 
+2.3.5
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-04-17 21:38:28 UTC (rev 131602)
+++ PKGBUILD	2015-04-18 00:31:20 UTC (rev 131603)
@@ -4,17 +4,19 @@
 pkgbase=rubinius
 pkgname=(rubinius rubinius-ruby)
 pkgver=2.5.1
-pkgrel=3
+pkgrel=4
 pkgdesc="Ruby runtime written in Ruby, designed for concurrency"
 arch=(i686 x86_64)
 url="http://rubini.us"
 license=(custom)
-depends=(llvm-libs libffi openssl libyaml)
-makedepends=(llvm rubinius-ruby)
+depends=(llvm35-libs libffi openssl libyaml)
+makedepends=(llvm35 rubinius-ruby)
 options=(!emptydirs)
 source=(http://releases.rubini.us/${pkgbase}-${pkgver}.tar.bz2
+        0001-Allow-shared-linking-to-LLVM-3.5.patch
         gemrc dirs.patch)
 sha256sums=('00d6f23b7632d035d322209e736a9341155350a9d169e8471d38a554a8e26600'
+            'e5b1c56e18bce8589d30ee8181128eccec6c3cbacb82f52f5cb4614407d8192a'
             '4bb7eb2fe66e396ed16b589cdb656831407b39ad4e138d88536754c0448ac614'
             'a9922b199730c059c26781af45adc46401811ff2e6840c4aeb49da4fa41acdd9')
 
@@ -22,6 +24,7 @@
   export GEM_HOME="$srcdir/gemdir" LANG="en_US.UTF-8"
   cd $pkgbase-$pkgver
 
+  patch -Np1 -i ../0001-Allow-shared-linking-to-LLVM-3.5.patch
   patch -Np1 -i ../dirs.patch
 
   mkdir -p "$GEM_HOME"
@@ -39,6 +42,7 @@
     --includedir=/usr/include/rubinius \
     --appdir=/usr/lib/rubinius \
     --gemsdir=/usr/lib/rubinius/gems \
+    --llvm-shared \
     --preserve-prefix \
     --without-rpath \
     --bin-link bundle --bin-link bundler



More information about the arch-commits mailing list