diff options
| author | mo khan <mo@mokhan.ca> | 2021-03-08 23:00:03 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2021-03-08 23:00:03 -0700 |
| commit | bd21b1b8de67efba9d25a804a4c68958edde3c5c (patch) | |
| tree | d486741b1ae4e709812740a672a7303460b0996d /config | |
| parent | ab45b4784b090b6bf2535848694a22d669cccd8a (diff) | |
install spandx gem
Diffstat (limited to 'config')
| -rw-r--r-- | config/software/preparation.rb | 10 | ||||
| -rw-r--r-- | config/software/spandx-ruby.rb | 71 | ||||
| -rw-r--r-- | config/software/spandx-zlib.rb | 55 |
3 files changed, 77 insertions, 59 deletions
diff --git a/config/software/preparation.rb b/config/software/preparation.rb index 1f068bb..c8cc9a0 100644 --- a/config/software/preparation.rb +++ b/config/software/preparation.rb @@ -5,12 +5,14 @@ default_version "1.0.0" license :project_license skip_transitive_dependency_licensing true -dependency "ruby" +dependency "spandx-ruby" build do block do - touch "#{install_dir}/embedded/lib/.gitkeep" - touch "#{install_dir}/embedded/bin/.gitkeep" - touch "#{install_dir}/bin/.gitkeep" + touch "#{install_dir}/embedded/lib/.keep" + touch "#{install_dir}/embedded/bin/.keep" + touch "#{install_dir}/bin/.keep" + + gem "install spandx --no-document" end end diff --git a/config/software/spandx-ruby.rb b/config/software/spandx-ruby.rb new file mode 100644 index 0000000..bebd1d6 --- /dev/null +++ b/config/software/spandx-ruby.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +name "ruby" + +license "BSD-2-Clause" +license_file "BSDL" +license_file "COPYING" +license_file "LEGAL" + +default_version "3.0.0" + +dependency "libffi" +dependency "liblzma" +dependency "libxml2" +dependency "libyaml" +dependency "openssl" +dependency "zlib" + +source \ + url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz", + sha256: "a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28" + +relative_path "ruby-#{version}" +embedded_dir = "#{install_dir}/embedded" + +build do + env = with_standard_compiler_flags(with_embedded_path) + configure_command = [ + "--disable-debug-env", + "--disable-dtrace", + "--disable-install-capi", + "--disable-install-doc", + "--disable-install-rdoc", + "--disable-jit-support", + "--enable-shared", + "--prefix=#{embedded_dir}", + "--with-out-ext=dbm,readline,rdoc,win32,win32ole,sdbm", + "--without-gdbm", + "--without-gmp", + "--without-jemalloc", + "--without-tk", + "--without-valgrind" + ] + configure(*configure_command, env: env) + make "-j #{workers}", env: env + make "-j #{workers} install", env: env +end + +build do + %w[benchmark pstore rss test-unit webrick minitest].each do |gem_name| + delete "#{embedded_dir}/lib/ruby/gems/**/gems/#{gem_name}*" + delete "#{embedded_dir}/lib/ruby/**/#{gem_name}*" + end + + delete "#{embedded_dir}/bin/*rac*" + delete "#{embedded_dir}/bin/erb" + delete "#{embedded_dir}/bin/irb" + delete "#{embedded_dir}/bin/rake" + delete "#{embedded_dir}/bin/rdoc" + delete "#{embedded_dir}/bin/ri" + delete "#{embedded_dir}/bin/thor" + delete "#{embedded_dir}/lib/ruby/gems/**/cache" + delete "#{embedded_dir}/lib/ruby/gems/**/doc" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.github" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.gitignore" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.travis.yml" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/bundler/man" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/man" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/test" + delete "#{embedded_dir}/share" +end diff --git a/config/software/spandx-zlib.rb b/config/software/spandx-zlib.rb deleted file mode 100644 index c5c0507..0000000 --- a/config/software/spandx-zlib.rb +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright 2021 YOUR NAME -# -# 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. -# - -# These options are required for all software definitions -name "spandx-zlib" -default_version "1.2.6" - -# A software can specify more than one version that is available for install -version("1.2.6") { source md5: "618e944d7c7cd6521551e30b32322f4a" } -version("1.2.8") { source md5: "44d667c142d7cda120332623eab69f40" } - -# Sources may be URLs, git locations, or path locations -source url: "http://downloads.sourceforge.net/project/libpng/zlib/#{version}/zlib-#{version}.tar.gz" - -# This is the path, inside the tarball, where the source resides -relative_path "zlib-#{version}" - -build do - # Setup a default environment from Omnibus - you should use this Omnibus - # helper everywhere. It will become the default in the future. - env = with_standard_compiler_flags(with_embedded_path) - - # Manipulate any configure flags you wish: - # For some reason zlib needs this flag on solaris - env["CFLAGS"] << " -DNO_VIZ" if solaris? - - # "command" is part of the build DSL. There are a number of handy options - # available, such as "copy", "sync", "ruby", etc. For a complete list, please - # consult the Omnibus gem documentation. - # - # "install_dir" is exposed and refers to the top-level projects +install_dir+ - command "./configure" \ - " --prefix=#{install_dir}/embedded", env: env - - # You can have multiple steps - they are executed in the order in which they - # are read. - # - # "workers" is a DSL method that returns the most suitable number of - # builders for the currently running system. - command "make -j #{workers}", env: env - command "make -j #{workers} install", env: env -end |
