Skip to content
Merged
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
33 changes: 2 additions & 31 deletions configs/components/_base-ruby.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,7 @@
# ENVIRONMENT
#############

if platform.is_aix?
pkg.environment 'CC', '/opt/freeware/bin/gcc'
pkg.environment 'LDFLAGS', "#{settings[:ldflags]} -Wl,-bmaxdata:0x80000000"
elsif platform.is_solaris?
if !platform.is_cross_compiled? && platform.architecture == 'sparc'
pkg.environment 'PATH',
"#{settings[:bindir]}:/opt/pl-build-tools/bin:/opt/csw/bin:/usr/ccs/bin:/usr/sfw/bin:$(PATH)"
pkg.environment 'CC', "/opt/pl-build-tools/bin/#{settings[:platform_triple]}-gcc"
else
pkg.environment 'PATH', "#{settings[:bindir]}:/opt/csw/bin:/usr/ccs/bin:/usr/sfw/bin:$(PATH)"
pkg.environment 'CC', '/opt/csw/bin/gcc'
pkg.environment 'LD', '/opt/csw/bin/gld'
pkg.environment 'AR', '/opt/csw/bin/gar'
end
pkg.environment 'CXX', "/opt/pl-build-tools/bin/#{settings[:platform_triple]}-g++"
pkg.environment 'LDFLAGS', "-Wl,-rpath=#{settings[:libdir]}"
if platform.os_version == '10'
# ./configure uses /bin/sh as the default shell when running config.sub on Solaris 10;
# This doesn't work and halts the configure process. Set CONFIG_SHELL to force use of bash:
pkg.environment 'CONFIG_SHELL', '/bin/bash'
end
elsif platform.is_cross_compiled_linux?
if platform.is_cross_compiled_linux?
pkg.environment 'PATH', "#{settings[:bindir]}:$(PATH)"
pkg.environment 'CC', "/opt/pl-build-tools/bin/#{settings[:platform_triple]}-gcc"
pkg.environment 'CXX', "/opt/pl-build-tools/bin/#{settings[:platform_triple]}-g++"
Expand Down Expand Up @@ -66,15 +45,7 @@

pkg.build_requires "openssl-#{settings[:openssl_version]}"

if platform.is_aix?
pkg.build_requires "runtime-#{settings[:runtime_project]}"
pkg.build_requires 'readline'
elsif platform.is_solaris?
pkg.build_requires "runtime-#{settings[:runtime_project]}"
pkg.build_requires 'libedit' if platform.name =~ /^solaris-10-sparc/
Comment thread
bastelfreak marked this conversation as resolved.
elsif platform.is_cross_compiled_linux?
Comment thread
bastelfreak marked this conversation as resolved.
pkg.build_requires "runtime-#{settings[:runtime_project]}"
end
pkg.build_requires "runtime-#{settings[:runtime_project]}" if platform.is_cross_compiled_linux?

#######
# BUILD
Expand Down
44 changes: 2 additions & 42 deletions configs/components/augeas.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,43 +13,21 @@
pkg.build_requires 'ruby-selinux'
end

if platform.name =~ /solaris-10-sparc/
# This patch to gnulib fixes a linking error around symbol versioning in pthread.
pkg.add_source "file://resources/patches/augeas/augeas-#{version}-gnulib-pthread-in-use.patch"
pkg.configure do
# gnulib is a submodule, and its files don't exist until after configure,
# so we apply the patch manually here instead of using pkg.apply_patch.
["/usr/bin/gpatch -p0 < ../augeas-#{version}-gnulib-pthread-in-use.patch"]
end
end

if platform.is_macos?
pkg.build_requires 'readline'
pkg.build_requires 'autoconf'
pkg.build_requires 'automake'
pkg.build_requires 'libtool'
end

extra_config_flags = platform.name =~ /solaris-11|aix/ ? ' --disable-dependency-tracking' : ''

pkg.mirror "#{settings[:buildsources_url]}/augeas-#{pkg.get_version}.tar.gz"

pkg.build_requires 'libxml2'

# Ensure we're building against our own libraries when present
pkg.environment 'PKG_CONFIG_PATH', "#{settings[:libdir]}/pkgconfig"

if platform.is_aix?
pkg.environment 'CC', '/opt/freeware/bin/gcc'
pkg.environment 'PATH', "/opt/freeware/bin:$(PATH):#{settings[:bindir]}"
pkg.build_requires "runtime-#{settings[:runtime_project]}"
pkg.build_requires 'readline'

pkg.environment 'LDFLAGS', settings[:ldflags]
pkg.environment 'CFLAGS', "-I#{settings[:includedir]}"
end

if platform.is_rpm? && !platform.is_aix?
if platform.is_rpm?
if platform.architecture =~ /aarch64|ppc64|ppc64le/
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Genuine question: should this also be:

Suggested change
if platform.architecture =~ /aarch64|ppc64|ppc64le/
if platform.is_cross_compiled_linux?

No idea if aarch64 is actually cross compiled or natively compiled

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point. right now we use native ARM 64bit runners.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also when we were actually making ppc64le, we'd do it in an appropriate container using qemu emulation, so we truly don't do any cross compilation.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekohl any chances that redhat would like to have powerpc packages, or could I remove ppc64 & ppc64le as well?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we had a request for that so I'd be tempted to drop that. If you do it in a clean commit then it can be reverted in the future, right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

powerpc removal: #180

pkg.build_requires "runtime-#{settings[:runtime_project]}"
pkg.environment 'PATH', "/opt/pl-build-tools/bin:$(PATH):#{settings[:bindir]}"
Expand All @@ -64,24 +42,6 @@
pkg.environment 'CFLAGS', settings[:cflags]
pkg.environment 'LDFLAGS', settings[:ldflags]
end

elsif platform.is_solaris?
pkg.environment 'PATH',
"/opt/pl-build-tools/bin:$(PATH):/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:#{settings[:bindir]}"
pkg.environment 'CFLAGS', settings[:cflags]
pkg.environment 'LDFLAGS', settings[:ldflags]
pkg.build_requires 'libedit'
pkg.build_requires "runtime-#{settings[:runtime_project]}"
if platform.os_version == '10'
pkg.environment 'PKG_CONFIG_PATH', '/opt/csw/lib/pkgconfig'
pkg.environment 'PKG_CONFIG', '/opt/csw/bin/pkg-config'
elsif !platform.is_cross_compiled? && platform.architecture == 'sparc'
pkg.environment 'PKG_CONFIG_PATH', "#{settings[:libdir]}/pkgconfig"
pkg.environment 'PKG_CONFIG', '/usr/bin/pkg-config'
else
pkg.environment 'PKG_CONFIG_PATH', '/usr/lib/pkgconfig'
pkg.environment 'PKG_CONFIG', '/opt/pl-build-tools/bin/pkg-config'
end
elsif platform.is_macos?
pkg.environment 'PATH', '$(PATH):/opt/homebrew/bin:/usr/local/bin'
pkg.environment 'CFLAGS', settings[:cflags]
Expand All @@ -108,7 +68,7 @@
end

pkg.configure do
["./configure #{extra_config_flags} --prefix=#{settings[:prefix]} #{settings[:host]}"]
["./configure --prefix=#{settings[:prefix]} #{settings[:host]}"]
end

pkg.build do
Expand Down
10 changes: 0 additions & 10 deletions configs/components/curl.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,6 @@
pkg.environment 'PATH', "$(shell cygpath -u #{settings[:gcc_bindir]}):$(PATH)"
pkg.environment 'NM', '/usr/bin/nm' if platform.name =~ /windowsfips-2016/
pkg.environment 'CYGWIN', settings[:cygwin]
elsif platform.is_aix?
pkg.environment 'PKG_CONFIG_PATH', '/opt/puppetlabs/puppet/lib/pkgconfig'
pkg.environment 'PATH', "/opt/freeware/bin:$(PATH):#{settings[:bindir]}"
# exclude -Wl,-brtl
ldflags = "-L#{settings[:libdir]}"
else
pkg.environment 'PATH', "/opt/pl-build-tools/bin:$(PATH):#{settings[:bindir]}"
end
Expand All @@ -35,11 +30,6 @@
# that curl's ntlm module depends on (md4 & des).
configure_options << '--disable-ntlm' if !settings[:use_legacy_openssl_algos] && settings[:openssl_version] =~ /^3\./

if (platform.is_solaris? && platform.os_version == '11') || platform.is_aix?
# Makefile generation with automatic dependency tracking fails on these platforms
configure_options << '--disable-dependency-tracking'
end

if platform.is_macos?
pkg.environment 'MACOSX_DEPLOYMENT_TARGET', settings[:deployment_target]
pkg.environment 'CFLAGS', settings[:cflags]
Expand Down
7 changes: 0 additions & 7 deletions configs/components/libedit.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,6 @@

pkg.environment 'PATH', '/opt/pl-build-tools/bin:$(PATH)'

if platform.is_solaris?
pkg.environment 'CC', "/opt/pl-build-tools/bin/#{settings[:platform_triple]}-gcc"
elsif platform.is_aix?
pkg.environment 'CC', '/opt/pl-build-tools/bin/gcc'
pkg.environment 'LDFLAGS', settings[:ldflags]
end

pkg.environment 'CFLAGS', settings[:cflags] if platform.is_macos?

pkg.configure do
Expand Down
16 changes: 1 addition & 15 deletions configs/components/libffi.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,10 @@
pkg.load_from_json('configs/components/libffi.json')
pkg.mirror "#{settings[:buildsources_url]}/#{pkg.get_name}-#{pkg.get_version}.tar.gz"

if platform.is_aix?
pkg.environment 'PATH', '/opt/freeware/bin:$(PATH)'
elsif platform.is_cross_compiled_linux?
if platform.is_cross_compiled_linux?
Comment thread
bastelfreak marked this conversation as resolved.
pkg.environment 'PATH', "/opt/pl-build-tools/bin:$(PATH):#{settings[:bindir]}"
pkg.environment 'CFLAGS', settings[:cflags]
pkg.environment 'LDFLAGS', settings[:ldflags]
elsif platform.is_solaris?
pkg.environment 'PATH',
"/opt/pl-build-tools/bin:$(PATH):/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:#{settings[:bindir]}"
if !platform.is_cross_compiled? && platform.architecture == 'sparc'
# must use gnu99 due to `asm` keyword
# https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gcc/Extended-Asm.html
pkg.environment 'CFLAGS', "#{settings[:cflags]} -std=gnu99"
else
pkg.environment 'CFLAGS', "#{settings[:cflags]} -std=c99"
end
pkg.environment 'LDFLAGS', settings[:ldflags]
pkg.environment 'MAKE', 'gmake'
elsif platform.is_macos?
pkg.environment 'LDFLAGS', settings[:ldflags]
pkg.environment 'CFLAGS', settings[:cflags]
Expand Down
9 changes: 1 addition & 8 deletions configs/components/libxml2.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,10 @@
pkg.load_from_json('configs/components/libxml2.json')
pkg.mirror "#{settings[:buildsources_url]}/libxml2-#{pkg.get_version}.tar.xz"

if platform.is_aix?
pkg.environment 'PATH', '/opt/freeware/bin:$(PATH)'
elsif platform.is_cross_compiled_linux?
if platform.is_cross_compiled_linux?
pkg.environment 'PATH', "/opt/pl-build-tools/bin:$(PATH):#{settings[:bindir]}"
pkg.environment 'CFLAGS', settings[:cflags]
pkg.environment 'LDFLAGS', settings[:ldflags]
elsif platform.is_solaris?
pkg.environment 'PATH',
"/opt/pl-build-tools/bin:$(PATH):/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin:#{settings[:bindir]}"
pkg.environment 'CFLAGS', "#{settings[:cflags]} -std=c99"
pkg.environment 'LDFLAGS', settings[:ldflags]
elsif platform.is_macos?
pkg.environment 'LDFLAGS', settings[:ldflags]
pkg.environment 'CFLAGS', settings[:cflags]
Expand Down
9 changes: 1 addition & 8 deletions configs/components/libyaml.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,10 @@
pkg.load_from_json('configs/components/libyaml.json')
pkg.mirror "#{settings[:buildsources_url]}/yaml-#{pkg.get_version}.tar.gz"

if platform.is_aix?
pkg.environment 'PATH', '/opt/freeware/bin:$(PATH)'
elsif platform.is_cross_compiled_linux?
if platform.is_cross_compiled_linux?
pkg.environment 'PATH', "/opt/pl-build-tools/bin:$(PATH):#{settings[:bindir]}"
pkg.environment 'CFLAGS', settings[:cflags]
pkg.environment 'LDFLAGS', settings[:ldflags]
elsif platform.is_solaris?
pkg.environment 'PATH',
"/opt/pl-build-tools/bin:$(PATH):/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:#{settings[:bindir]}"
pkg.environment 'CFLAGS', "#{settings[:cflags]} -std=c99"
pkg.environment 'LDFLAGS', settings[:ldflags]
elsif platform.is_macos?
pkg.environment 'LDFLAGS', settings[:ldflags]
pkg.environment 'CFLAGS', settings[:cflags]
Expand Down
32 changes: 1 addition & 31 deletions configs/components/openssl-3.0.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@

if platform.name =~ /^(amazon-|el-|redhat-|redhatfips-|fedora-)/
pkg.build_requires 'perl-core'
elsif platform.is_solaris?
# perl is installed in platform definition
else
pkg.build_requires 'perl'
end
Expand All @@ -31,27 +29,6 @@
pkg.environment 'MAKE', platform[:make]

target = platform.architecture == 'x64' ? 'mingw64' : 'mingw'
elsif platform.is_aix?
# REMIND: why not PATH?
pkg.environment 'CC', '/opt/freeware/bin/gcc'

cflags = "#{settings[:cflags]} -static-libgcc"
# see https://github.com/openssl/openssl/issues/18007 about -latomic
# see https://www.ibm.com/docs/en/aix/7.2?topic=l-ld-command about -R<path>, which is equivalent to -rpath
ldflags = "#{settings[:ldflags]} -Wl,-R#{settings[:libdir]} -latomic -lm"
target = 'aix-gcc'
elsif platform.is_solaris?
pkg.environment 'PATH', '/opt/csw/bin:$(PATH):/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin'
if !platform.is_cross_compiled? && platform.architecture == 'sparc'
pkg.environment 'CC', '/opt/pl-build-tools/bin/gcc'
gcc_lib = "/opt/pl-build-tools/#{settings[:platform_triple]}/lib"
else
pkg.environment 'CC', '/opt/csw/bin/gcc'
gcc_lib = "/opt/csw/#{settings[:platform_triple]}/lib"
end
cflags = "#{settings[:cflags]} -fPIC"
ldflags = "-R#{gcc_lib} -Wl,-rpath=#{settings[:libdir]} -L#{gcc_lib}"
target = platform.architecture =~ /86/ ? 'solaris-x86-gcc' : 'solaris-sparcv9-gcc'
elsif platform.is_macos?
pkg.environment 'PATH', '$(PATH):/opt/homebrew/bin:/usr/local/bin'
pkg.environment 'CFLAGS', settings[:cflags]
Expand Down Expand Up @@ -129,14 +106,12 @@

# Individual projects may provide their own openssl configure flags:
project_flags = settings[:openssl_extra_configure_flags] || []
perl_exec = ''
perl_exec = '/opt/freeware/bin/perl' if platform.is_aix?
configure_flags << project_flags

pkg.environment 'CFLAGS', cflags
pkg.environment 'LDFLAGS', ldflags
pkg.configure do
["#{perl_exec} ./Configure #{configure_flags.join(' ')}"]
["./Configure #{configure_flags.join(' ')}"]
end

#######
Expand Down Expand Up @@ -170,11 +145,6 @@
install_prefix = platform.is_windows? ? '' : 'INSTALL_PREFIX=/'
install_commands = []

if platform.is_aix?
# "Removes any currently unused modules in kernel and library memory."
install_commands << 'slibclean'
end

# Skip man and html docs
install_commands << "#{platform[:make]} #{install_prefix} install_sw install_ssldirs"
install_commands << "rm -f #{settings[:prefix]}/bin/c_rehash"
Expand Down
9 changes: 1 addition & 8 deletions configs/components/readline.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,10 @@
pkg.load_from_json('configs/components/readline.json')
pkg.mirror "#{settings[:buildsources_url]}/#{pkg.get_name}-#{pkg.get_version}.tar.gz"

if platform.is_aix?
pkg.environment 'PATH', '/opt/freeware/bin:$(PATH)'
elsif platform.is_cross_compiled_linux?
if platform.is_cross_compiled_linux?
pkg.environment 'PATH', "/opt/pl-build-tools/bin:$(PATH):#{settings[:bindir]}"
pkg.environment 'CFLAGS', settings[:cflags]
pkg.environment 'LDFLAGS', settings[:ldflags]
elsif platform.is_solaris?
pkg.environment 'PATH',
"/opt/pl-build-tools/bin:$(PATH):/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:#{settings[:bindir]}"
pkg.environment 'CFLAGS', "#{settings[:cflags]} -std=c99"
pkg.environment 'LDFLAGS', settings[:ldflags]
elsif platform.is_macos?
pkg.environment 'LDFLAGS', settings[:ldflags]
pkg.environment 'CFLAGS', settings[:cflags]
Expand Down
5 changes: 1 addition & 4 deletions configs/components/ruby-3.2.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@

pkg.apply_patch "#{base}/rbinstall_gem_path.patch" if platform.is_cross_compiled?

pkg.apply_patch "#{base}/reline_disable_terminfo.patch" if platform.is_aix?

if platform.is_windows?
pkg.apply_patch "#{base}/windows_mingw32_mkmf.patch"
pkg.apply_patch "#{base}/ruby-faster-load_32.patch"
Expand Down Expand Up @@ -214,8 +212,7 @@
# then the CC override allows us to build ffi_c.so for ARM as well. The
# "host" ruby is configured in _shared-agent-settings
rbconfig_changes = {}
if platform.is_cross_compiled? || (platform.is_solaris? && platform.architecture != 'sparc')
# REMIND: why are we overriding rbconfig for solaris intel?
if platform.is_cross_compiled?
rbconfig_changes['CC'] = 'gcc'
rbconfig_changes['warnflags'] =
'-Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized'
Expand Down
22 changes: 2 additions & 20 deletions configs/components/ruby-augeas.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,7 @@
pkg.environment 'CONFIGURE_ARGS', '--vendor'
pkg.environment 'PKG_CONFIG_PATH', "#{File.join(settings[:libdir], 'pkgconfig')}:/usr/lib/pkgconfig"

if platform.is_aix?
pkg.environment 'CC', '/opt/freeware/bin/gcc'
pkg.environment 'PATH', '$(PATH):/opt/freeware/bin'
pkg.environment 'RUBY', settings[:host_ruby]
pkg.environment 'LDFLAGS', " -brtl #{settings[:ldflags]}"
end

if platform.is_solaris?
pkg.environment 'RUBY', settings[:host_ruby] if platform.is_cross_compiled?

ruby = if !platform.is_cross_compiled? && platform.architecture == 'sparc'
File.join(settings[:ruby_bindir], 'ruby')
else
# This should really only be done when cross compiling but
# to avoid breaking solaris x86_64 in 7.x continue preloading
# our hook.
"#{settings[:host_ruby]} -r#{settings[:datadir]}/doc/rbconfig-#{settings[:ruby_version]}-orig.rb"
end
elsif platform.is_cross_compiled? && (platform.is_linux? || platform.is_macos?)
if platform.is_cross_compiled? && (platform.is_linux? || platform.is_macos?)
pkg.environment 'RUBY', settings[:host_ruby]
ruby = "#{settings[:host_ruby]} -r#{settings[:datadir]}/doc/rbconfig-#{settings[:ruby_version]}-orig.rb"
pkg.environment 'LDFLAGS', settings[:ldflags]
Expand Down Expand Up @@ -83,7 +65,7 @@
]
end

if platform.is_solaris? || platform.is_cross_compiled_linux?
if platform.is_cross_compiled_linux?
pkg.install do
"chown root:root #{augeas_rb_target}"
end
Expand Down
13 changes: 1 addition & 12 deletions configs/components/ruby-shadow.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,7 @@

pkg.environment 'CONFIGURE_ARGS', '--vendor'

if platform.is_solaris?
pkg.environment 'RUBY', settings[:host_ruby] if platform.is_cross_compiled?

ruby = if !platform.is_cross_compiled? && platform.architecture == 'sparc'
File.join(settings[:ruby_bindir], 'ruby')
else
# This should really only be done when cross compiling but
# to avoid breaking solaris x86_64 in 7.x continue preloading
# our hook.
"#{settings[:host_ruby]} -r#{settings[:datadir]}/doc/rbconfig-#{settings[:ruby_version]}-orig.rb"
end
elsif platform.is_cross_compiled?
if platform.is_cross_compiled?
pkg.environment 'RUBY', settings[:host_ruby]
ruby = "#{settings[:host_ruby]} -r#{settings[:datadir]}/doc/rbconfig-#{settings[:ruby_version]}-orig.rb"
else
Expand Down
Loading