summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-06-19 21:24:57 -0600
committermo khan <mo.khan@gmail.com>2020-06-19 21:24:57 -0600
commit67499778f503b0ec10fe2ccaab4bcb7f1cd053d5 (patch)
tree9b58301cdeca86945d02b418b91058804107be29
parent5dfaf8f34f0d967ee443e40daeb4f7ed043993d3 (diff)
Combine rubies in single software definition
-rw-r--r--.gitlab-ci.yml14
-rw-r--r--config/projects/asdf-ruby.rb31
-rw-r--r--config/projects/mono.rb (renamed from config/projects/asdf-mono.rb)4
-rw-r--r--config/projects/rubies.rb34
-rw-r--r--config/software/asdf-mono.rb (renamed from config/software/asdf-mono-6-8-0-123.rb)2
-rw-r--r--config/software/asdf-ruby.rb54
6 files changed, 104 insertions, 35 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 92ca96c..fb8b4c3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -31,9 +31,21 @@ build-docker-image:
- docker build -t $TMP_IMAGE .
- docker push $TMP_IMAGE
-ruby-deb:
+.ruby-deb:
script:
- bundle exec omnibus build asdf-ruby
+ variables:
+ RUBY_VERSION: '2.7.1'
+
+ruby-2-7-1-deb:
+ extends: .ruby-deb
+ variables:
+ RUBY_VERSION: '2.7.1'
+
+ruby-2-7-0-deb:
+ extends: .ruby-deb
+ variables:
+ RUBY_VERSION: '2.7.0'
mono-deb:
script:
diff --git a/config/projects/asdf-ruby.rb b/config/projects/asdf-ruby.rb
deleted file mode 100644
index a1cdd33..0000000
--- a/config/projects/asdf-ruby.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-name "asdf-ruby"
-maintainer "mkhan@gitlab.com"
-homepage "https://gitlab.com/xlgmokha/omnibus-asdf"
-
-# Defaults to C:/asdf on Windows
-# and /opt/asdf on all other platforms
-install_dir "/opt/asdf"
-
-build_version "0.1.0"
-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"
-
-# asdf dependencies/components
-# dependency "somedep"
-
-#exclude "**/.git"
-#exclude "**/bundler/git"
diff --git a/config/projects/asdf-mono.rb b/config/projects/mono.rb
index 647dbd2..6ad3715 100644
--- a/config/projects/asdf-mono.rb
+++ b/config/projects/mono.rb
@@ -1,4 +1,4 @@
-asdf "name-mono"
+asdf "mono"
maintainer "mkhan@gitlab.com"
homepage "https://gitlab.com/xlgmokha/omnibus-asdf"
@@ -11,7 +11,7 @@ build_iteration 1
# Creates required build directories
dependency "preparation"
-dependency "asdf-mono-6-8-0-123"
+dependency "asdf-mono"
# asdf dependencies/components
# dependency "somedep"
diff --git a/config/projects/rubies.rb b/config/projects/rubies.rb
new file mode 100644
index 0000000..5c74503
--- /dev/null
+++ b/config/projects/rubies.rb
@@ -0,0 +1,34 @@
+name "rubies"
+maintainer "mkhan@gitlab.com"
+homepage "https://gitlab.com/xlgmokha/omnibus-asdf"
+
+# Defaults to C:/asdf on Windows
+# and /opt/asdf on all other platforms
+install_dir "/opt/asdf"
+
+build_version "0.1.0"
+build_iteration 1
+
+# Creates required build directories
+dependency "preparation"
+override 'asdf-ruby', version: ENV['RUBY_VERSION']
+dependency "asdf-ruby"
+
+#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"
+
+# asdf dependencies/components
+# dependency "somedep"
+
+#exclude "**/.git"
+#exclude "**/bundler/git"
diff --git a/config/software/asdf-mono-6-8-0-123.rb b/config/software/asdf-mono.rb
index 13275c1..e9e6f6f 100644
--- a/config/software/asdf-mono-6-8-0-123.rb
+++ b/config/software/asdf-mono.rb
@@ -1,4 +1,4 @@
-name "asdf-mono-6-8-0-123"
+name "asdf-mono"
license_file "LICENSE"
license_file "COPYING"
diff --git a/config/software/asdf-ruby.rb b/config/software/asdf-ruby.rb
new file mode 100644
index 0000000..be3aadc
--- /dev/null
+++ b/config/software/asdf-ruby.rb
@@ -0,0 +1,54 @@
+name "asdf-ruby"
+
+license "BSD-2-Clause"
+license_file "BSDL"
+license_file "COPYING"
+license_file "LEGAL"
+skip_transitive_dependency_licensing true
+
+default_version "2.7.1"
+
+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" }
+version("2.6.0") { source sha256: "f3c35b924a11c88ff111f0956ded3cdc12c90c04b72b266ac61076d3697fc072" }
+
+version("2.5.8") { source sha256: "6c0bdf07876c69811a9e7dc237c43d40b1cb6369f68e0e17953d7279b524ad9a" }
+version("2.4.5") { source sha256: "6737741ae6ffa61174c8a3dcdd8ba92bc38827827ab1d7ea1ec78bc3cefc5198" }
+version("2.4.10") { source sha256: "93d06711795bfb76dbe7e765e82cdff3ddf9d82eff2a1f24dead9bb506eaf2d0" }
+
+source url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz"
+
+relative_path "ruby-#{version}"
+
+build do
+ env = with_standard_compiler_flags(with_embedded_path)
+ env["CFLAGS"] << " -O3 -g -pipe"
+ 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