diff options
| author | mo khan <mo.khan@gmail.com> | 2020-06-22 09:03:10 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-06-22 09:03:10 -0600 |
| commit | 54acd47ec1ae0965822b5e73a4b153d2f84ef542 (patch) | |
| tree | 0a4dcdbc510829d63417ced7177accaabe37268f | |
| parent | e4d682a80e957d4eb277f0a37138922fd17819e7 (diff) | |
Start to build python packages
| -rw-r--r-- | Gemfile | 2 | ||||
| -rw-r--r-- | Gemfile.lock | 189 | ||||
| -rw-r--r-- | config/projects/pythons.rb | 4 | ||||
| -rw-r--r-- | config/software/asdf-python.rb | 15 | ||||
| -rw-r--r-- | config/software/libsqlite3.rb | 26 |
5 files changed, 52 insertions, 184 deletions
@@ -1,4 +1,4 @@ source 'https://rubygems.org' gem 'omnibus', '~> 7.0' -gem 'omnibus-software', github: 'chef/omnibus-software' +gem 'omnibus-software', git: 'https://github.com/chef/omnibus-software.git' diff --git a/Gemfile.lock b/Gemfile.lock index eea43e5..1da3922 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: https://github.com/chef/omnibus-software.git - revision: 86a1c7ebb859161385676e3bfe537e13ba680f59 + revision: 2cf96c6c07de7d05ded6b45a0531feb10ae7cd9e specs: omnibus-software (4.0.0) omnibus (>= 5.6.1) @@ -12,7 +12,7 @@ GEM public_suffix (>= 2.0.2, < 5.0) awesome_print (1.8.0) aws-eventstream (1.1.0) - aws-partitions (1.329.0) + aws-partitions (1.332.0) aws-sdk-core (3.100.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) @@ -21,147 +21,45 @@ GEM 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-s3 (1.69.0) 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) + aws-sigv4 (1.2.0) + aws-eventstream (~> 1, >= 1.0.2) chef-cleanroom (1.0.2) - chef-config (15.11.8) + chef-config (16.2.44) addressable - chef-utils (= 15.11.8) + chef-utils (= 16.2.44) 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) + chef-utils (16.2.44) 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) + ohai (16.2.0) + chef-config (>= 12.8, < 17) + chef-utils (>= 16.0, < 17) ffi (~> 1.9) ffi-yajl (~> 2.2) ipaddress @@ -184,9 +82,6 @@ GEM 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) @@ -196,75 +91,14 @@ GEM 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) @@ -272,7 +106,6 @@ PLATFORMS ruby DEPENDENCIES - berkshelf omnibus (~> 7.0) omnibus-software! diff --git a/config/projects/pythons.rb b/config/projects/pythons.rb index f420aa2..54493d0 100644 --- a/config/projects/pythons.rb +++ b/config/projects/pythons.rb @@ -6,13 +6,13 @@ homepage "https://gitlab.com/xlgmokha/omnibus-asdf" # and /opt/asdf on all other platforms install_dir "/opt/asdf" -build_version ENV['PYTHON_VERSION'] +build_version ENV.fetch('PYTHON_VERSION', '0.1.0') build_iteration 1 # Creates required build directories dependency "preparation" dependency "asdf-python-plugin" -override 'asdf-python', version: ENV['PYTHON_VERSION'] +override('asdf-python', version: ENV['PYTHON_VERSION']) if ENV['PYTHON_VERSION'] dependency "asdf-python" # asdf dependencies/components diff --git a/config/software/asdf-python.rb b/config/software/asdf-python.rb index b7b6763..0a7b27e 100644 --- a/config/software/asdf-python.rb +++ b/config/software/asdf-python.rb @@ -6,11 +6,19 @@ skip_transitive_dependency_licensing true default_version "3.8.3" +dependency "libffi" dependency "ncurses" dependency "zlib" dependency "openssl" +dependency "pkg-config" +dependency "bzip2" +dependency "libsqlite3" +dependency "liblzma" +dependency "libyaml" +#dependency "libreadline" version("3.8.3") { source sha256: "6af6d4d2e010f9655518d0fc6738c7ff7069f10a4d2fbd55509e467f092a8b90" } +version("3.8.1") { source sha256: "c7cfa39a43b994621b245e029769e9126caa2a93571cee2e743b213cceac35fb" } source url: "https://python.org/ftp/python/#{version}/Python-#{version}.tgz" @@ -19,11 +27,12 @@ relative_path "Python-#{version}" build do env = with_standard_compiler_flags(with_embedded_path) configure_command = [ - "--prefix=#{install_dir}/installs/ruby/#{version}", + "--prefix=#{install_dir}/installs/python/#{version}", + "--with-ssl=#{install_dir}/embedded", "--enable-shared", "--with-dbmliborder=", ] configure(*configure_command, env: env) - make env: env - make "install", env: env + make "-j #{workers}", env: env + make "-j #{workers} install", env: env end diff --git a/config/software/libsqlite3.rb b/config/software/libsqlite3.rb new file mode 100644 index 0000000..5b4823f --- /dev/null +++ b/config/software/libsqlite3.rb @@ -0,0 +1,26 @@ +name "libsqlite3" +default_version "3.31.1" + +dependency "config_guess" + +source url: "https://www.sqlite.org/2020/sqlite-autoconf-3310100.tar.gz", + sha256: "62284efebc05a76f909c580ffa5c008a7d22a1287285d68b7825a2b6b51949ae" + +relative_path "sqlite-autoconf-3310100" + +env = { + "LDFLAGS" => "-L#{install_dir}/embedded/lib -I#{install_dir}/embedded/include", + "CFLAGS" => "-L#{install_dir}/embedded/lib -I#{install_dir}/embedded/include", + "LD_RUN_PATH" => "#{install_dir}/embedded/lib", +} + +build do + env = with_standard_compiler_flags(with_embedded_path) + configure_command = [ + "--prefix=#{install_dir}/embedded", + "--disable-nls" + ] + configure(*configure_command, env: env) + make("-j #{workers}", env: env) + make("-j #{workers} install", env: env) +end |
