summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-06-22 09:03:10 -0600
committermo khan <mo.khan@gmail.com>2020-06-22 09:03:10 -0600
commit54acd47ec1ae0965822b5e73a4b153d2f84ef542 (patch)
tree0a4dcdbc510829d63417ced7177accaabe37268f
parente4d682a80e957d4eb277f0a37138922fd17819e7 (diff)
Start to build python packages
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock189
-rw-r--r--config/projects/pythons.rb4
-rw-r--r--config/software/asdf-python.rb15
-rw-r--r--config/software/libsqlite3.rb26
5 files changed, 52 insertions, 184 deletions
diff --git a/Gemfile b/Gemfile
index 1e776ac..45b3932 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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