From 7e7287140c4623b2cc3b641dbf4ce394343b8afa Mon Sep 17 00:00:00 2001 From: "Morley, Jonathan" Date: Fri, 21 Oct 2016 23:38:09 -0400 Subject: [PATCH] Still passing tests on macos --- omnibus/Gemfile.lock | 85 +++++++++++++++++++++++++++++ omnibus/config/software/workup.rb | 12 ++--- omnibus/config/software/zlib.rb | 88 +++++++++++++++++++++++++++++++ 3 files changed, 177 insertions(+), 8 deletions(-) create mode 100644 omnibus/Gemfile.lock create mode 100644 omnibus/config/software/zlib.rb diff --git a/omnibus/Gemfile.lock b/omnibus/Gemfile.lock new file mode 100644 index 0000000..ec7df24 --- /dev/null +++ b/omnibus/Gemfile.lock @@ -0,0 +1,85 @@ +GIT + remote: git://github.com/chef/omnibus-software.git + revision: d042e24fa3053ab926bb6a7c066c80e76ad72c94 + branch: ksubrama/ruby23 + specs: + omnibus-software (4.0.0) + chef-sugar (>= 3.4.0) + omnibus (>= 5.5.0) + +GIT + remote: git://github.com/chef/omnibus.git + revision: 61b50f5a20f0930ee977e54cabaff8fe02d3b731 + branch: ksubrama/gcc_investigate + specs: + omnibus (5.5.0) + aws-sdk (~> 2) + chef-sugar (~> 3.3) + cleanroom (~> 1.0) + ffi-yajl (~> 2.2) + license_scout + mixlib-shellout (~> 2.0) + mixlib-versioning + ohai (~> 8.0) + ruby-progressbar (~> 1.7) + thor (~> 0.18) + +GEM + remote: http://rubygems.org/ + specs: + addressable (2.4.0) + aws-sdk (2.6.12) + aws-sdk-resources (= 2.6.12) + aws-sdk-core (2.6.12) + jmespath (~> 1.0) + aws-sdk-resources (2.6.12) + aws-sdk-core (= 2.6.12) + chef-config (12.15.19) + addressable + fuzzyurl + mixlib-config (~> 2.0) + mixlib-shellout (~> 2.0) + chef-sugar (3.4.0) + cleanroom (1.0.0) + ffi (1.9.14) + ffi-yajl (2.3.0) + libyajl2 (~> 1.2) + fuzzyurl (0.9.0) + ipaddress (0.8.3) + jmespath (1.3.1) + libyajl2 (1.2.0) + license_scout (0.1.3) + ffi-yajl (~> 2.2) + mixlib-shellout (~> 2.2) + mixlib-cli (1.7.0) + mixlib-config (2.2.4) + mixlib-log (1.7.1) + mixlib-shellout (2.2.7) + mixlib-versioning (1.1.0) + ohai (8.21.0) + chef-config (>= 12.5.0.alpha.1, < 13) + ffi (~> 1.9) + ffi-yajl (~> 2.2) + ipaddress + mixlib-cli + mixlib-config (~> 2.0) + mixlib-log (>= 1.7.1, < 2.0) + mixlib-shellout (~> 2.0) + plist (~> 3.1) + systemu (~> 2.6.4) + wmi-lite (~> 1.0) + plist (3.2.0) + ruby-progressbar (1.8.1) + systemu (2.6.5) + thor (0.19.1) + wmi-lite (1.0.0) + +PLATFORMS + ruby + +DEPENDENCIES + omnibus! + omnibus-software! + +BUNDLED WITH + 1.13.1 diff --git a/omnibus/config/software/workup.rb b/omnibus/config/software/workup.rb index aaee850..95777f0 100644 --- a/omnibus/config/software/workup.rb +++ b/omnibus/config/software/workup.rb @@ -38,11 +38,11 @@ source git: 'git://github.com/cvent/workup.git' if version != 'local_source' # For nokogiri -dependency 'libxml2' +#dependency 'libxml2' dependency 'libxslt' -dependency 'libiconv' -dependency 'liblzma' -dependency 'zlib' +#dependency 'libiconv' +#dependency 'liblzma' +#dependency 'zlib' # ruby and bundler and friends dependency 'ruby' @@ -50,14 +50,10 @@ dependency 'rubygems' dependency 'bundler' -# dependency "chef" - # Version manifest file dependency 'version-manifest' build do - command 'cat C:\workup\embedded\bin\gem' - env = with_standard_compiler_flags(with_embedded_path) gem 'install pkg/workup-0.1.1.gem', env: env diff --git a/omnibus/config/software/zlib.rb b/omnibus/config/software/zlib.rb new file mode 100644 index 0000000..0a0ba95 --- /dev/null +++ b/omnibus/config/software/zlib.rb @@ -0,0 +1,88 @@ +# +# Copyright 2012-2015 Chef Software, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +name "zlib" +default_version "1.2.8" + +version "1.2.8" do + source md5: "44d667c142d7cda120332623eab69f40" +end +version "1.2.6" do + source md5: "618e944d7c7cd6521551e30b32322f4a" +end + +source url: "http://downloads.sourceforge.net/project/libpng/zlib/#{version}/zlib-#{version}.tar.gz" + +license "Zlib" +license_file "README" +skip_transitive_dependency_licensing true + +relative_path "zlib-#{version}" + +build do + if windows? + env = with_standard_compiler_flags(with_embedded_path) + + patch source: "zlib-windows-relocate.patch", env: env + + # We can't use the top-level Makefile. Instead, the developers have made + # an organic, artisanal, hand-crafted Makefile.gcc for us which takes a few + # variables. + env["BINARY_PATH"] = "/bin" + env["LIBRARY_PATH"] = "/lib" + env["INCLUDE_PATH"] = "/include" + env["DESTDIR"] = "#{install_dir}/embedded" + + make_args = [ + "-fwin32/Makefile.gcc", + "SHARED_MODE=1", + "CFLAGS=\"#{env['CFLAGS']} -Wall\"", + "ASFLAGS=\"#{env['CFLAGS']} -Wall\"", + "LDFLAGS=\"#{env['LDFLAGS']}\"", + # The win32 makefile for zlib does not handle parallel make correctly. + # In particular, see its rule for IMPLIB and SHAREDLIB. The ld step in + # SHAREDLIB will generate both the dll and the dll.a files. The step to + # strip the dll occurs next but since the dll.a file is already present, + # make will attempt to link example_d.exe and minigzip_d.exe in parallel + # with the strip step - causing gcc to freak out when a source file is + # rewritten part way through the linking stage. + #"-j #{workers}", + ] + + make(*make_args, env: env) + make("install", *make_args, env: env) + else + # We omit the omnibus path here because it breaks mac_os_x builds by picking + # up the embedded libtool instead of the system libtool which the zlib + # configure script cannot handle. + # TODO: Do other OSes need this? Is this strictly a mac thing? + env = with_standard_compiler_flags + + # Ensure the PATH is still available + env['PATH'] = ENV['PATH'] + + if freebsd? + # FreeBSD 10+ gets cranky if zlib is not compiled in a + # position-independent way. + env["CFLAGS"] << " -fPIC" + end + + configure env: env + + make "-j #{workers}", env: env + make "-j #{workers} install", env: env + end +end