summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-06-19 01:53:46 -0600
committermo khan <mo.khan@gmail.com>2020-06-19 01:53:46 -0600
commitfc32ac9067f5550725f708cda036c489a04cd6f3 (patch)
treee2e1df36acd364c6a7b24f841e9a973ab301bea1
parent4749650718fde20f466dbc077faedc429fa67f9d (diff)
Build mono
-rw-r--r--Dockerfile11
-rw-r--r--Gemfile12
-rwxr-xr-xbin/docker-shell2
-rw-r--r--config/projects/asdf.rb25
-rw-r--r--config/software/asdf-mono-6-8-0-123.rb22
-rw-r--r--config/software/asdf-ruby.rb49
6 files changed, 46 insertions, 75 deletions
diff --git a/Dockerfile b/Dockerfile
index 4b927ca..0ffe646 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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'
diff --git a/Gemfile b/Gemfile
index 752c7f1..1e776ac 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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