diff options
| author | mo khan <mo.khan@gmail.com> | 2020-06-19 01:53:46 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-06-19 01:53:46 -0600 |
| commit | fc32ac9067f5550725f708cda036c489a04cd6f3 (patch) | |
| tree | e2e1df36acd364c6a7b24f841e9a973ab301bea1 | |
| parent | 4749650718fde20f466dbc077faedc429fa67f9d (diff) | |
Build mono
| -rw-r--r-- | Dockerfile | 11 | ||||
| -rw-r--r-- | Gemfile | 12 | ||||
| -rwxr-xr-x | bin/docker-shell | 2 | ||||
| -rw-r--r-- | config/projects/asdf.rb | 25 | ||||
| -rw-r--r-- | config/software/asdf-mono-6-8-0-123.rb | 22 | ||||
| -rw-r--r-- | config/software/asdf-ruby.rb | 49 |
6 files changed, 46 insertions, 75 deletions
@@ -1,13 +1,18 @@ FROM debian:stable-slim -COPY . /root/omnibus +COPY Gemfile* /root/omnibus/ WORKDIR /root/omnibus RUN apt-get update -q \ && apt-get install -y --no-install-recommends \ autoconf \ + automake \ bison \ build-essential \ ca-certificates \ + cmake \ + curl \ fakeroot \ + gettext \ + git \ git \ libdb-dev \ libffi-dev \ @@ -16,10 +21,14 @@ RUN apt-get update -q \ libncurses5-dev \ libreadline6-dev \ libssl-dev \ + libtool \ + libtool-bin \ libyaml-dev \ + python3 \ ruby \ ruby-dev \ zlib1g-dev \ + && ln -s /usr/bin/python3 /usr/bin/python \ && gem install bundler \ && bundle install \ && echo 'done' @@ -1,16 +1,4 @@ source 'https://rubygems.org' -# Install omnibus 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' - -# 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 -# the Test Kitchen-based build lab. You can skip these unnecessary dependencies -# by running `bundle install --without development` to speed up build times. -group :development do - gem 'berkshelf' -end diff --git a/bin/docker-shell b/bin/docker-shell index b5087a2..00e11f9 100755 --- a/bin/docker-shell +++ b/bin/docker-shell @@ -8,5 +8,5 @@ IMAGE_NAME=${IMAGE_NAME:-$(basename "$PWD"):latest} docker run --rm -it \ --network=host \ - --volume "$PWD":/root/omnibus \ + --volume="$PWD":/root/omnibus \ "$IMAGE_NAME" /bin/bash -l diff --git a/config/projects/asdf.rb b/config/projects/asdf.rb index 0351464..17eb405 100644 --- a/config/projects/asdf.rb +++ b/config/projects/asdf.rb @@ -17,18 +17,19 @@ build_iteration 1 # Creates required build directories dependency "preparation" -dependency "asdf-ruby-2-4-5" -dependency "asdf-ruby-2-4-10" -dependency "asdf-ruby-2-5-8" -dependency "asdf-ruby-2-6-0" -dependency "asdf-ruby-2-6-1" -dependency "asdf-ruby-2-6-2" -dependency "asdf-ruby-2-6-3" -dependency "asdf-ruby-2-6-4" -dependency "asdf-ruby-2-6-5" -dependency "asdf-ruby-2-6-6" -dependency "asdf-ruby-2-7-0" -dependency "asdf-ruby-2-7-1" +#dependency "asdf-ruby-2-4-5" +#dependency "asdf-ruby-2-4-10" +#dependency "asdf-ruby-2-5-8" +#dependency "asdf-ruby-2-6-0" +#dependency "asdf-ruby-2-6-1" +#dependency "asdf-ruby-2-6-2" +#dependency "asdf-ruby-2-6-3" +#dependency "asdf-ruby-2-6-4" +#dependency "asdf-ruby-2-6-5" +#dependency "asdf-ruby-2-6-6" +#dependency "asdf-ruby-2-7-0" +#dependency "asdf-ruby-2-7-1" +dependency "asdf-mono-6-8-0-123" # asdf dependencies/components # dependency "somedep" diff --git a/config/software/asdf-mono-6-8-0-123.rb b/config/software/asdf-mono-6-8-0-123.rb new file mode 100644 index 0000000..13275c1 --- /dev/null +++ b/config/software/asdf-mono-6-8-0-123.rb @@ -0,0 +1,22 @@ +name "asdf-mono-6-8-0-123" + +license_file "LICENSE" +license_file "COPYING" +skip_transitive_dependency_licensing true + +default_version "6.8.0.123" +source url: "https://download.mono-project.com/sources/mono/mono-#{version}.tar.xz", sha256: "e2e42d36e19f083fc0d82f6c02f7db80611d69767112af353df2f279744a2ac5" + +relative_path "mono-#{version}" + +dependency "zlib" + +build do + env = with_standard_compiler_flags(with_embedded_path) + configure_command = [ + "--prefix=#{install_dir}/installs/mono/#{version}", + ] + configure(*configure_command, env: env) + make "-j #{workers}", env: env + make "-j #{workers} install", env: env +end diff --git a/config/software/asdf-ruby.rb b/config/software/asdf-ruby.rb deleted file mode 100644 index e9739bd..0000000 --- a/config/software/asdf-ruby.rb +++ /dev/null @@ -1,49 +0,0 @@ -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" - -relative_path "ruby-#{version}" - -env = with_standard_compiler_flags(with_embedded_path) -env["CFLAGS"] << " -O3 -g -pipe" - -build do - configure_command = [ - "--disable-dtrace", - "--disable-install-doc", - "--disable-install-rdoc", - "--disable-jit-support", - "--enable-shared", - "--prefix=#{install_dir}/installs/ruby/#{version}", - "--with-out-ext=dbm,readline", - "--without-gdbm", - "--without-gmp", - "--without-valgrind", - "--without-tk", - ] - configure(*configure_command, env: env) - make "-j #{workers}", env: env - make "-j #{workers} install", env: env -end |
