diff options
| author | mo khan <mo.khan@gmail.com> | 2020-06-16 17:27:00 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-06-16 17:27:00 -0600 |
| commit | 6f2d8f013765a3a5065edc6201dd082f0eeacd2b (patch) | |
| tree | 4ec77dc15960f2c90dac6bb039c80b913e59ae27 | |
| parent | df370980301b81abf491c7583765d46a8474a821 (diff) | |
Install asdf-rubies
| -rw-r--r-- | Dockerfile | 2 | ||||
| -rw-r--r-- | Gemfile | 2 | ||||
| -rw-r--r-- | Gemfile.lock | 280 | ||||
| -rw-r--r-- | config/projects/asdf.rb | 1 | ||||
| -rw-r--r-- | config/software/asdf-ruby.rb | 53 |
5 files changed, 336 insertions, 2 deletions
@@ -22,5 +22,5 @@ RUN apt-get update -q \ zlib1g-dev \ && gem install bundler \ && bundle install \ - && omnibus build asdf \ + && bundle exec omnibus build asdf \ && echo 'done' @@ -5,7 +5,7 @@ gem 'omnibus', '~> 7.0' # Use Chef's software definitions. It is recommended that you write your own # software definitions, but you can clone/fork Chef's to get you started. -# gem 'omnibus-software', github: 'chef/omnibus-software' +gem 'omnibus-software', github: 'chef/omnibus-software' # This development group is installed by default when you run `bundle install`, # but if you are using Omnibus in a CI-based infrastructure, you do not need diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..eea43e5 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,280 @@ +GIT + remote: https://github.com/chef/omnibus-software.git + revision: 86a1c7ebb859161385676e3bfe537e13ba680f59 + specs: + omnibus-software (4.0.0) + omnibus (>= 5.6.1) + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + awesome_print (1.8.0) + aws-eventstream (1.1.0) + aws-partitions (1.329.0) + aws-sdk-core (3.100.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.34.1) + aws-sdk-core (~> 3, >= 3.99.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.68.1) + aws-sdk-core (~> 3, >= 3.99.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.1.4) + aws-eventstream (~> 1.0, >= 1.0.2) + bcrypt_pbkdf (1.0.1) + berkshelf (7.0.10) + chef (>= 13.6.52) + chef-config + cleanroom (~> 1.0) + concurrent-ruby (~> 1.0) + minitar (>= 0.6) + mixlib-archive (>= 0.4, < 2.0) + mixlib-config (>= 2.2.5) + mixlib-shellout (>= 2.0, < 4.0) + octokit (~> 4.0) + retryable (>= 2.0, < 4.0) + solve (~> 4.0) + thor (>= 0.20) + builder (3.2.4) + chef (15.11.8) + addressable + bcrypt_pbkdf (~> 1.0) + bundler (>= 1.10) + chef-config (= 15.11.8) + chef-utils (= 15.11.8) + chef-zero (>= 14.0.11) + diff-lcs (~> 1.2, >= 1.2.4) + ed25519 (~> 1.2) + erubis (~> 2.7) + ffi (~> 1.9, >= 1.9.25) + ffi-libarchive + ffi-yajl (~> 2.2) + highline (>= 1.6.9, < 2) + iniparse (~> 1.4) + license-acceptance (~> 1.0, >= 1.0.5) + mixlib-archive (>= 0.4, < 2.0) + mixlib-authentication (>= 2.1, < 4) + mixlib-cli (>= 2.1.1, < 3.0) + mixlib-log (>= 2.0.3, < 4.0) + mixlib-shellout (>= 3.0.3, < 4.0) + net-sftp (~> 2.1, >= 2.1.2) + net-ssh (>= 4.2, < 6) + net-ssh-multi (~> 1.2, >= 1.2.1) + ohai (~> 15.0) + plist (~> 3.2) + proxifier (~> 1.0) + syslog-logger (~> 1.6) + train-core (~> 3.2, >= 3.2.28) + train-winrm (>= 0.2.5) + tty-screen (~> 0.6) + uuidtools (~> 2.1.5) + chef-cleanroom (1.0.2) + chef-config (15.11.8) + addressable + chef-utils (= 15.11.8) + fuzzyurl + mixlib-config (>= 2.2.12, < 4.0) + mixlib-shellout (>= 2.0, < 4.0) + tomlrb (~> 1.2) + chef-sugar (5.1.9) + chef-utils (15.11.8) + chef-zero (14.0.17) + ffi-yajl (~> 2.2) + hashie (>= 2.0, < 4.0) + mixlib-log (>= 2.0, < 4.0) + rack (~> 2.0, >= 2.0.6) + uuidtools (~> 2.1) + citrus (3.0.2) + cleanroom (1.0.0) + concurrent-ruby (1.1.6) + diff-lcs (1.3) + ed25519 (1.2.4) + equatable (0.6.1) + erubi (1.9.0) + erubis (2.7.0) + faraday (1.0.1) + multipart-post (>= 1.2, < 3) + ffi (1.13.1) + ffi-libarchive (1.0.0) + ffi (~> 1.0) + ffi-yajl (2.3.3) + libyajl2 (~> 1.2) + fuzzyurl (0.9.0) + gssapi (1.3.0) + ffi (>= 1.0.1) + gyoku (1.3.1) + builder (>= 2.1.2) + hashie (3.6.0) + highline (1.7.10) + httpclient (2.8.3) + iniparse (1.5.0) + iostruct (0.0.4) + ipaddress (0.8.3) + jmespath (1.4.0) + json (2.3.0) + libyajl2 (1.2.0) + license-acceptance (1.0.19) + pastel (~> 0.7) + tomlrb (~> 1.2) + tty-box (~> 0.3) + tty-prompt (~> 0.18) + license_scout (1.1.8) + ffi-yajl (~> 2.2) + mixlib-shellout (>= 2.2, < 4.0) + toml-rb (>= 1, < 3) + little-plugger (1.1.4) + logging (2.2.2) + little-plugger (~> 1.1) + multi_json (~> 1.10) + minitar (0.9) + mixlib-archive (1.0.5) + mixlib-log + mixlib-authentication (3.0.6) + mixlib-cli (2.1.6) + mixlib-config (3.0.6) + tomlrb + mixlib-log (3.0.8) + mixlib-shellout (3.0.9) + mixlib-versioning (1.2.12) + molinillo (0.6.6) + multi_json (1.14.1) + multipart-post (2.1.1) + necromancer (0.5.1) + net-scp (3.0.0) + net-ssh (>= 2.6.5, < 7.0.0) + net-sftp (2.1.2) + net-ssh (>= 2.6.5) + net-ssh (5.2.0) + net-ssh-gateway (2.0.0) + net-ssh (>= 4.0.0) + net-ssh-multi (1.2.1) + net-ssh (>= 2.6.5) + net-ssh-gateway (>= 1.2.0) + nori (2.6.0) + octokit (4.18.0) + faraday (>= 0.9) + sawyer (~> 0.8.0, >= 0.5.3) + ohai (15.9.1) + chef-config (>= 12.8, < 16) + ffi (~> 1.9) + ffi-yajl (~> 2.2) + ipaddress + mixlib-cli (>= 1.7.0) + mixlib-config (>= 2.0, < 4.0) + mixlib-log (>= 2.0.1, < 4.0) + mixlib-shellout (>= 2.0, < 4.0) + plist (~> 3.1) + systemu (~> 2.6.4) + wmi-lite (~> 1.0) + omnibus (7.0.13) + aws-sdk-s3 (~> 1) + chef-cleanroom (~> 1.0) + chef-sugar (>= 3.3) + ffi-yajl (~> 2.2) + license_scout (~> 1.0) + mixlib-shellout (>= 2.0, < 4.0) + mixlib-versioning + ohai (>= 13, < 17) + pedump + ruby-progressbar (~> 1.7) + thor (>= 0.18, < 2.0) + pastel (0.7.4) + equatable (~> 0.6) + tty-color (~> 0.5) + pedump (0.5.4) + awesome_print + iostruct (>= 0.0.4) + multipart-post (>= 2.0.0) + progressbar + rainbow + zhexdump (>= 0.0.2) + plist (3.5.0) + progressbar (1.10.1) + proxifier (1.0.3) + public_suffix (4.0.5) + rack (2.2.3) + rainbow (3.0.0) + retryable (3.0.5) + ruby-progressbar (1.10.1) + rubyntlm (0.6.2) + rubyzip (2.3.0) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + semverse (3.0.0) + solve (4.0.3) + molinillo (~> 0.6) + semverse (>= 1.1, < 4.0) + strings (0.1.8) + strings-ansi (~> 0.1) + unicode-display_width (~> 1.5) + unicode_utils (~> 1.4) + strings-ansi (0.2.0) + syslog-logger (1.6.8) + systemu (2.6.5) + thor (1.0.1) + toml-rb (2.0.1) + citrus (~> 3.0, > 3.0) + tomlrb (1.3.0) + train-core (3.3.1) + addressable (~> 2.5) + ffi (!= 1.13.0) + json (>= 1.8, < 3.0) + mixlib-shellout (>= 2.0, < 4.0) + net-scp (>= 1.2, < 4.0) + net-ssh (>= 2.9, < 7.0) + train-winrm (0.2.6) + winrm (~> 2.0) + winrm-fs (~> 1.0) + tty-box (0.5.0) + pastel (~> 0.7.2) + strings (~> 0.1.6) + tty-cursor (~> 0.7) + tty-color (0.5.1) + tty-cursor (0.7.1) + tty-prompt (0.21.0) + necromancer (~> 0.5.0) + pastel (~> 0.7.0) + tty-reader (~> 0.7.0) + tty-reader (0.7.0) + tty-cursor (~> 0.7) + tty-screen (~> 0.7) + wisper (~> 2.0.0) + tty-screen (0.8.0) + unicode-display_width (1.7.0) + unicode_utils (1.4.0) + uuidtools (2.1.5) + winrm (2.3.4) + builder (>= 2.1.2) + erubi (~> 1.8) + gssapi (~> 1.2) + gyoku (~> 1.0) + httpclient (~> 2.2, >= 2.2.0.2) + logging (>= 1.6.1, < 3.0) + nori (~> 2.0) + rubyntlm (~> 0.6.0, >= 0.6.1) + winrm-fs (1.3.4) + erubi (~> 1.8) + logging (>= 1.6.1, < 3.0) + rubyzip (~> 2.0) + winrm (~> 2.0) + wisper (2.0.1) + wmi-lite (1.0.5) + zhexdump (0.0.2) + +PLATFORMS + ruby + +DEPENDENCIES + berkshelf + omnibus (~> 7.0) + omnibus-software! + +BUNDLED WITH + 2.1.4 diff --git a/config/projects/asdf.rb b/config/projects/asdf.rb index 97c1483..1d7c0f8 100644 --- a/config/projects/asdf.rb +++ b/config/projects/asdf.rb @@ -17,6 +17,7 @@ build_iteration 1 # Creates required build directories dependency "preparation" +dependency "asdf-ruby" # asdf dependencies/components # dependency "somedep" diff --git a/config/software/asdf-ruby.rb b/config/software/asdf-ruby.rb new file mode 100644 index 0000000..9ea15cd --- /dev/null +++ b/config/software/asdf-ruby.rb @@ -0,0 +1,53 @@ +name "asdf-ruby" + +license "BSD-2-Clause" +license_file "BSDL" +license_file "COPYING" +license_file "LEGAL" +skip_transitive_dependency_licensing true + +default_version "2.6.6" + +dependency "zlib" +dependency "openssl" +dependency "libffi" +dependency "libyaml" + +version("2.7.1") { source sha256: "d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418" } +version("2.7.0") { source sha256: "8c99aa93b5e2f1bc8437d1bbbefd27b13e7694025331f77245d0c068ef1f8cbe" } +version("2.6.6") { source sha256: "364b143def360bac1b74eb56ed60b1a0dca6439b00157ae11ff77d5cd2e92291" } +version("2.6.5") { source sha256: "66976b716ecc1fd34f9b7c3c2b07bbd37631815377a2e3e85a5b194cfdcbed7d" } +version("2.6.4") { source sha256: "4fc1d8ba75505b3797020a6ffc85a8bcff6adc4dabae343b6572bf281ee17937" } +version("2.6.3") { source sha256: "577fd3795f22b8d91c1d4e6733637b0394d4082db659fccf224c774a2b1c82fb" } +version("2.6.2") { source sha256: "a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab" } +version("2.6.1") { source sha256: "17024fb7bb203d9cf7a5a42c78ff6ce77140f9d083676044a7db67f1e5191cb8" } + +source url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz" + +semver = Gem::Version.create(version).segments +ruby_mmv = "#{semver[0..1].join(".")}.0" +ruby_dir = "#{install_dir}/embedded/lib/ruby/#{ruby_mmv}" +gem_dir = "#{install_dir}/embedded/lib/ruby/gems/#{ruby_mmv}" +bin_dirs bin_dirs.concat ["#{gem_dir}/gems/*/bin/**"] +lib_dirs ["#{ruby_dir}/**", "#{gem_dir}/extensions/**", "#{gem_dir}/gems/*", "#{gem_dir}/gems/*/lib/**", "#{gem_dir}/gems/*/ext/**"] + +relative_path "ruby-#{version}" + +env = with_standard_compiler_flags(with_embedded_path) +env["CFLAGS"] << " -O3 -g -pipe" + +build do + configure_command = ["--with-out-ext=dbm,readline", + "--enable-shared", + "--disable-install-doc", + "--without-gmp", + "--without-doc", + "--without-gdbm", + "--without-tk", + "--disable-dtrace", + "--disable-jit-support"] + configure_command << "--with-opt-dir=#{install_dir}/embedded" + configure(*configure_command, env: env) + make "-j #{workers}", env: env + make "-j #{workers} install", env: env +end |
