Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions configs/components/_base-ruby-augeas.rb
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,11 @@
elsif platform.is_cross_compiled?
if platform.is_linux? || platform.is_macos?
pkg.environment "RUBY", host_ruby
pkg.environment 'CC', 'clang -target arm64-apple-macos11' if platform.name =~ /osx-11/
pkg.environment 'CC', 'clang -target arm64-apple-macos12' if platform.name =~ /osx-12/
ruby = "#{host_ruby} -r#{settings[:datadir]}/doc/rbconfig-#{ruby_version}-orig.rb"
pkg.environment "LDFLAGS", settings[:ldflags]
end
elsif platform.is_macos?
if platform.architecture == 'arm64'
pkg.environment "PATH", "$(PATH):/opt/homebrew/bin"
end
pkg.environment "PATH", "$(PATH):/opt/homebrew/bin:/usr/local/bin"
pkg.environment 'CC', settings[:cc]
pkg.environment 'CFLAGS', settings[:cflags]
pkg.environment "LDFLAGS", settings[:ldflags]
Expand Down
6 changes: 1 addition & 5 deletions configs/components/openssl-3.0.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,7 @@
pkg.environment 'CC', settings[:cc]
pkg.environment 'MACOSX_DEPLOYMENT_TARGET', settings[:deployment_target]

target = if platform.architecture == "arm64"
'darwin64-arm64'
else
'darwin64-x86_64'
end
target = "darwin64-#{platform.architecture}"
elsif platform.is_linux?
pkg.environment 'PATH', '/opt/pl-build-tools/bin:$(PATH):/usr/local/bin'

Expand Down
5 changes: 0 additions & 5 deletions configs/components/ruby-3.2.rb
Original file line number Diff line number Diff line change
Expand Up @@ -118,11 +118,6 @@
# This normalizes the build string to something like AIX 7.1.0.0 rather
# than AIX 7.1.0.2 or something
special_flags += " --build=#{settings[:platform_triple]} "
elsif platform.is_cross_compiled? && platform.is_macos?
# When the target arch is aarch64, ruby incorrectly selects the 'ucontext' coroutine
# implementation instead of 'arm64', so specify 'amd64' explicitly
# https://github.com/ruby/ruby/blob/c9c2245c0a25176072e02db9254f0e0c84c805cd/configure.ac#L2329-L2330
special_flags += " --with-coroutine=arm64 "
elsif platform.is_solaris? && platform.architecture == "sparc"
unless platform.is_cross_compiled?
# configure seems to enable dtrace because the executable is present,
Expand Down
5 changes: 0 additions & 5 deletions configs/components/rubygem-nokogiri.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,5 @@
pkg.environment "GEM_HOME", gem_home
if platform.is_macos?
pkg.environment "PKG_CONFIG_PATH", "#{settings[:libdir]}/pkgconfig"
if platform.is_cross_compiled?
pkg.install do
"rm -r #{gem_home}/gems/nokogiri-#{pkg.get_version}/ext/nokogiri/tmp"
end
end
end
end
8 changes: 0 additions & 8 deletions configs/components/runtime-agent.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,6 @@
"zypper install -y pl-gcc8"
end
end
elsif platform.is_macos? && platform.is_cross_compiled?
if settings[:ruby_version] =~ /^3\./
pkg.install do
# These are dependencies of ruby@3.x, remove symlinks from /usr/local
# so our build doesn't use the wrong headers
"cd /etc/homebrew && su test -c '#{platform.brew} unlink openssl libyaml'"
end
end
end

if platform.is_cross_compiled?
Expand Down
6 changes: 0 additions & 6 deletions configs/projects/_shared-agent-settings.rb
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@
platform_triple = "powerpc64le-suse-linux" if platform.architecture == "ppc64le" && platform.name =~ /^sles-/
platform_triple = "powerpc64le-linux-gnu" if platform.architecture == "ppc64el"
platform_triple = "arm-linux-gnueabihf" if platform.architecture == "armhf"
platform_triple = "aarch64-apple-darwin" if platform.is_cross_compiled? && platform.is_macos?

# Ruby's build process needs a functional "baseruby". When native compiling,
# ruby will build "miniruby" and use that as "baseruby". When cross compiling,
Expand All @@ -113,18 +112,13 @@
proj.setting(:host_ruby, "/opt/pl-build-tools/bin/ruby")
proj.setting(:host_gem, "/opt/pl-build-tools/bin/gem")
end
elsif platform.is_cross_compiled? && platform.is_macos?
proj.setting(:host_ruby, "/usr/local/opt/ruby@#{ruby_version_y}/bin/ruby")
proj.setting(:host_gem, "/usr/local/opt/ruby@#{ruby_version_y}/bin/gem")
else
proj.setting(:host_ruby, File.join(proj.ruby_bindir, "ruby"))
proj.setting(:host_gem, File.join(proj.ruby_bindir, "gem"))
end

if platform.is_cross_compiled_linux?
host = "--host #{platform_triple}"
elsif platform.is_cross_compiled? && platform.is_macos?
host = "--host aarch64-apple-darwin --build x86_64-apple-darwin --target aarch64-apple-darwin"
elsif platform.is_solaris?
if platform.architecture == 'i386'
platform_triple = "#{platform.architecture}-pc-solaris2.#{platform.os_version}"
Expand Down
6 changes: 0 additions & 6 deletions tasks/build.rake
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@ namespace :vox do
abort 'You must provide a platform.' if args[:platform].nil? || args[:platform].empty?
platform = args[:platform]
os, _ver, arch = platform.match(/^(\w+)-([\w|\.]+)-(\w+)$/).captures
if os == 'macos'
shell = `uname -m`.chomp
ruby = `ruby -v`.chomp
abort "Detected shell arch: #{shell}. You must run this build from a #{arch} machine or shell. To do this on the current host, run 'arch -#{arch} /bin/bash'" if shell != arch
abort "Detected ruby: #{ruby}. You must run this build with a #{arch} Ruby version. To do this on the current host, install Ruby from an #{arch} shell via 'arch -#{arch} /bin/bash'." unless ruby =~ /#{arch}/
end

engine = platform =~ /^(macos|windows)-/ ? 'local' : 'docker'
cmd = "bundle exec build #{project} #{platform} --engine #{engine}"
Expand Down
Loading