omnibus-software 22.11.239
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.expeditor/Version_inspector/README.md +21 -0
- data/.expeditor/Version_inspector/SW-Version-update.py +243 -0
- data/.expeditor/Version_inspector/manual_prod_list.json +29 -0
- data/.expeditor/Version_inspector/prod_default_version.json +103 -0
- data/.expeditor/Version_inspector/prod_list.json +194 -0
- data/.expeditor/Version_inspector/requirements.txt +4 -0
- data/.expeditor/Version_inspector/update_prod_default_version.sh +24 -0
- data/.expeditor/Version_inspector/update_prod_list.sh +35 -0
- data/.expeditor/config.yml +33 -0
- data/.expeditor/determine_version.sh +15 -0
- data/.expeditor/push_git_tag.sh +12 -0
- data/.expeditor/run_linux_tests.sh +16 -0
- data/.expeditor/verify.pipeline.yml +52 -0
- data/.github/CODEOWNERS +5 -0
- data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +29 -0
- data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +40 -0
- data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +17 -0
- data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +11 -0
- data/.github/dependabot.yml +9 -0
- data/.github/lock.yml +1 -0
- data/.gitignore +17 -0
- data/CODE_OF_CONDUCT.md +1 -0
- data/CONTRIBUTING.md +1 -0
- data/Dockerfile +21 -0
- data/Gemfile +10 -0
- data/LICENSE +201 -0
- data/README.md +99 -0
- data/Rakefile +56 -0
- data/VERSION +1 -0
- data/config/patches/bash/race-condition.patch +15 -0
- data/config/patches/bzip2/aix_makefile.patch +11 -0
- data/config/patches/bzip2/makefile_no_bins.patch +77 -0
- data/config/patches/bzip2/makefile_take_env_vars.patch +31 -0
- data/config/patches/bzip2/soname_install_dir.patch +11 -0
- data/config/patches/curl/curl-aix-disable-alpn.patch +22 -0
- data/config/patches/curl/curl-freebsd-hostcheck.patch +10 -0
- data/config/patches/erlang/epmd-require-explicitly-adding-loopback-address.patch +84 -0
- data/config/patches/erlang/updated-epmd-require-explicitly-adding-loopback-address.patch +75 -0
- data/config/patches/expat/configure_xlc_visibility.patch +58 -0
- data/config/patches/expat/configure_xlc_visibility_2.4.7.patch +59 -0
- data/config/patches/figlet/aix-figlet-cdefs.patch +48 -0
- data/config/patches/gdbm/v1.8.3-Makefile.in.patch +32 -0
- data/config/patches/git/aix-endian-fix.patch +20 -0
- data/config/patches/gtar/aix_extra_case.patch +13 -0
- data/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +15 -0
- data/config/patches/libedit/freebsd-vi-fix.patch +24 -0
- data/config/patches/libedit/openbsd-weak-alias-fix.patch +48 -0
- data/config/patches/libedit/solaris.patch +36 -0
- data/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
- data/config/patches/libffi/libffi-3.3-arm64.patch +9608 -0
- data/config/patches/libxslt/libxslt-solaris-configure.patch +19 -0
- data/config/patches/libxslt/libxslt-windows-relocate.patch +12 -0
- data/config/patches/libyaml/windows-configure.patch +26 -0
- data/config/patches/libzmq/zeromq-4.0.11_mingw_inet_pton.patch +37 -0
- data/config/patches/libzmq/zeromq-aix-4.2.2-LARGE_FILES.patch +56 -0
- data/config/patches/libzmq/zeromq-aix-4.2.2-atomic-counter-fetch_and_add.patch +59 -0
- data/config/patches/logrotate/logrotate_basedir_override.patch +17 -0
- data/config/patches/m4/m4-1.4.18-glibc-change-work-around.patch +115 -0
- data/config/patches/make/deb-make-glob.patch +31 -0
- data/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
- data/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +11 -0
- data/config/patches/ncurses/ncurses-clang.patch +43 -0
- data/config/patches/ncurses/patch-aa +23 -0
- data/config/patches/ncurses/patch-ab +44 -0
- data/config/patches/ncurses/patch-ac +40 -0
- data/config/patches/ncurses/patch-ad +13 -0
- data/config/patches/ncurses/patch-cxx_cursesf.h +22 -0
- data/config/patches/ncurses/patch-cxx_cursesm.h +22 -0
- data/config/patches/ncurses/patch-ncurses_tinfo_lib__baudrate.c +24 -0
- data/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
- data/config/patches/openssl/openssl-1.0.1j-windows-relocate-dll.patch +20 -0
- data/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
- data/config/patches/openssl/openssl-1.0.2x-darwin-arm64.patch +54 -0
- data/config/patches/openssl/openssl-1.1.0f-do-not-install-docs.patch +11 -0
- data/config/patches/openssl/openssl-3.0.1-do-not-install-docs.patch +22 -0
- data/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch +11 -0
- data/config/patches/perl/perl-5.18.1-remove_lnsl.patch +441 -0
- data/config/patches/perl/perl-5.22.1-remove_lnsl.patch +512 -0
- data/config/patches/perl/perl-5.30.0-remove_lnsl.patch +518 -0
- data/config/patches/perl/perl-5.32.1-remove_lnsl.patch +456 -0
- data/config/patches/perl/perl-5.34.0-remove_lnsl.patch +516 -0
- data/config/patches/pkg-config/openbsd-charset.patch +19 -0
- data/config/patches/popt/v1.16.ppc64le-configure.patch +18 -0
- data/config/patches/redis/password-from-environment.patch +19 -0
- data/config/patches/ruby/patch-configure +103 -0
- data/config/patches/ruby/remove_nano.patch +10 -0
- data/config/patches/ruby/ruby-2.6.7_c99.patch +12 -0
- data/config/patches/ruby/ruby-3.0.1-configure.patch +281 -0
- data/config/patches/ruby/ruby-3.0.2-configure.patch +251 -0
- data/config/patches/ruby/ruby-aix-atomic.patch +11 -0
- data/config/patches/ruby/ruby-aix-configure_26_and_later.patch +19 -0
- data/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
- data/config/patches/ruby/ruby-fast-load_26.patch +16 -0
- data/config/patches/ruby/ruby-fast-load_31.patch +16 -0
- data/config/patches/ruby/ruby-faster-load_26.patch +11 -0
- data/config/patches/ruby/ruby-faster-load_27.patch +11 -0
- data/config/patches/ruby/ruby-mkmf.patch +29 -0
- data/config/patches/ruby/ruby-no-stack-protector-strong.patch +11 -0
- data/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
- data/config/patches/ruby/ruby-win32_warning_removal.patch +12 -0
- data/config/patches/ruby/ruby_aix_openssl.patch +10 -0
- data/config/patches/ruby/ruby_aix_ssl_EAGAIN.patch +19 -0
- data/config/patches/ruby/rvm-cflags.patch +27 -0
- data/config/patches/stunnel/stunnel-on-windows.patch +42 -0
- data/config/patches/zlib/zlib-windows-relocate.patch +20 -0
- data/config/software/autoconf.rb +46 -0
- data/config/software/automake.rb +49 -0
- data/config/software/bash.rb +72 -0
- data/config/software/berkshelf-no-depselector.rb +46 -0
- data/config/software/berkshelf.rb +34 -0
- data/config/software/binutils.rb +47 -0
- data/config/software/bundler.rb +38 -0
- data/config/software/bzip2.rb +55 -0
- data/config/software/cacerts.rb +50 -0
- data/config/software/chef-gem.rb +35 -0
- data/config/software/chef.rb +112 -0
- data/config/software/cmake.rb +94 -0
- data/config/software/config_guess.rb +37 -0
- data/config/software/cpanminus.rb +49 -0
- data/config/software/curl.rb +103 -0
- data/config/software/delivery-cli.rb +89 -0
- data/config/software/dep-selector-libgecode.rb +48 -0
- data/config/software/elasticsearch.rb +61 -0
- data/config/software/elixir.rb +35 -0
- data/config/software/erlang.rb +134 -0
- data/config/software/expat.rb +63 -0
- data/config/software/fakeroot.rb +41 -0
- data/config/software/ffi-yajl.rb +46 -0
- data/config/software/figlet-fonts.rb +31 -0
- data/config/software/figlet.rb +44 -0
- data/config/software/gcc.rb +60 -0
- data/config/software/gdbm.rb +54 -0
- data/config/software/gecode.rb +62 -0
- data/config/software/gem-permissions.rb +43 -0
- data/config/software/git-windows.rb +96 -0
- data/config/software/git.rb +138 -0
- data/config/software/gmp.rb +48 -0
- data/config/software/go-uninstall.rb +33 -0
- data/config/software/go.rb +116 -0
- data/config/software/google-protobuf.rb +45 -0
- data/config/software/gtar.rb +62 -0
- data/config/software/help2man.rb +40 -0
- data/config/software/highline-gem.rb +37 -0
- data/config/software/ibm-jre.rb +59 -0
- data/config/software/inspec.rb +43 -0
- data/config/software/jre-from-jdk.rb +67 -0
- data/config/software/keepalived.rb +68 -0
- data/config/software/libarchive.rb +71 -0
- data/config/software/libedit.rb +73 -0
- data/config/software/libffi.rb +68 -0
- data/config/software/libgcc.rb +52 -0
- data/config/software/libiconv.rb +55 -0
- data/config/software/libintl-perl.rb +56 -0
- data/config/software/liblzma.rb +59 -0
- data/config/software/libossp-uuid.rb +45 -0
- data/config/software/libsodium.rb +40 -0
- data/config/software/libtool.rb +56 -0
- data/config/software/libuuid.rb +45 -0
- data/config/software/libxml2.rb +63 -0
- data/config/software/libxslt.rb +64 -0
- data/config/software/libyajl2-gem.rb +44 -0
- data/config/software/libyaml.rb +50 -0
- data/config/software/libzmq.rb +93 -0
- data/config/software/logrotate.rb +61 -0
- data/config/software/lua.rb +46 -0
- data/config/software/m4.rb +40 -0
- data/config/software/make.rb +43 -0
- data/config/software/makedepend.rb +44 -0
- data/config/software/mpc.rb +44 -0
- data/config/software/mpfr.rb +45 -0
- data/config/software/musl.rb +107 -0
- data/config/software/mysql2.rb +50 -0
- data/config/software/ncurses.rb +159 -0
- data/config/software/nginx.rb +55 -0
- data/config/software/nodejs-binary.rb +90 -0
- data/config/software/nodejs.rb +58 -0
- data/config/software/nokogiri.rb +92 -0
- data/config/software/omnibus-ctl.rb +42 -0
- data/config/software/openresty.rb +94 -0
- data/config/software/opensearch.rb +54 -0
- data/config/software/openssl-customization.rb +81 -0
- data/config/software/openssl-fips.rb +81 -0
- data/config/software/openssl.rb +185 -0
- data/config/software/patch.rb +46 -0
- data/config/software/patchelf.rb +66 -0
- data/config/software/pcre.rb +53 -0
- data/config/software/perl-extutils-embed.rb +37 -0
- data/config/software/perl-extutils-makemaker.rb +46 -0
- data/config/software/perl-thread-queue.rb +40 -0
- data/config/software/perl.rb +78 -0
- data/config/software/perl_pg_driver.rb +45 -0
- data/config/software/pg-gem.rb +36 -0
- data/config/software/pkg-config-lite.rb +46 -0
- data/config/software/pkg-config.rb +66 -0
- data/config/software/popt.rb +54 -0
- data/config/software/postgresql.rb +70 -0
- data/config/software/preparation.rb +31 -0
- data/config/software/python.rb +79 -0
- data/config/software/rabbitmq.rb +58 -0
- data/config/software/rb-readline.rb +33 -0
- data/config/software/rbnacl-libsodium.rb +42 -0
- data/config/software/rbzmq.rb +44 -0
- data/config/software/rebar.rb +42 -0
- data/config/software/redis-gem.rb +36 -0
- data/config/software/redis.rb +51 -0
- data/config/software/relx.rb +39 -0
- data/config/software/rsync.rb +55 -0
- data/config/software/ruby-cleanup.rb +254 -0
- data/config/software/ruby-msys2-devkit.rb +77 -0
- data/config/software/ruby-windows-devkit-bash.rb +41 -0
- data/config/software/ruby-windows-devkit.rb +84 -0
- data/config/software/ruby.rb +306 -0
- data/config/software/rubygems.rb +73 -0
- data/config/software/runit.rb +67 -0
- data/config/software/rust-uninstall.rb +32 -0
- data/config/software/rust.rb +97 -0
- data/config/software/sequel-gem.rb +36 -0
- data/config/software/server-jre.rb +125 -0
- data/config/software/server-open-jre.rb +112 -0
- data/config/software/setuptools.rb +48 -0
- data/config/software/shebang-cleanup.rb +101 -0
- data/config/software/sqitch.rb +87 -0
- data/config/software/stunnel.rb +86 -0
- data/config/software/util-macros.rb +42 -0
- data/config/software/version-manifest.rb +33 -0
- data/config/software/xproto.rb +42 -0
- data/config/software/zlib.rb +85 -0
- data/config/templates/git/config.mak.erb +31 -0
- data/config/templates/rubygems/register_devtools.rb.erb +33 -0
- data/config/templates/runit/runsvdir-start.erb +42 -0
- data/docker-compose.yml +15 -0
- data/lib/omnibus-software/version.rb +3 -0
- data/lib/omnibus-software.rb +115 -0
- data/omnibus-software.gemspec +20 -0
- data/test/Gemfile +10 -0
- data/test/config/projects/test.rb +14 -0
- data/test/generate_steps.rb +55 -0
- data/test/omnibus-build.sh +50 -0
- data/test/omnibus.rb +55 -0
- metadata +296 -0
@@ -0,0 +1,43 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2012-2014 Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
#
|
18
|
+
# Use this software definition to fix the gem-permissions on * nix builds.
|
19
|
+
#
|
20
|
+
# expeditor/ignore: logic only
|
21
|
+
|
22
|
+
name "gem-permissions"
|
23
|
+
|
24
|
+
default_version "0.0.1"
|
25
|
+
|
26
|
+
license :project_license
|
27
|
+
skip_transitive_dependency_licensing true
|
28
|
+
|
29
|
+
build do
|
30
|
+
unless windows?
|
31
|
+
block "Fix gem permissions" do
|
32
|
+
FileUtils.chmod_R("a+rX", "#{install_dir}/embedded/lib/ruby/gems/")
|
33
|
+
rescue Errno::ENOENT
|
34
|
+
# It is possible that the above method will fail for a variety of reasons, including:
|
35
|
+
# * there is a symlink to a file that does not exist.
|
36
|
+
#
|
37
|
+
# If that happens we "retry" with a slower, but safer approach.
|
38
|
+
Dir["#{install_dir}/embedded/lib/ruby/gems/**/**"].each do |entry|
|
39
|
+
FileUtils.chmod("a+rX", entry) if File.exist?(entry)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
# expeditor/ignore: deprecated 2021-04
|
17
|
+
#
|
18
|
+
|
19
|
+
name "git-windows"
|
20
|
+
default_version "2.33.0"
|
21
|
+
|
22
|
+
license "LGPL-2.1"
|
23
|
+
# the license file does not ship in the portable git package so pull from the source repo
|
24
|
+
license_file "https://raw.githubusercontent.com/git-for-windows/git/master/LGPL-2.1"
|
25
|
+
|
26
|
+
arch_suffix = windows_arch_i386? ? "32" : "64"
|
27
|
+
# The Git for Windows project includes a build number in their tagging
|
28
|
+
# scheme and therefore in the URLs for downloaded releases.
|
29
|
+
# Occasionally, something goes wrong with a build/release and the "real"
|
30
|
+
# release of a version has a build number other than 1. And so far, the
|
31
|
+
# release URLs have not followed a consistent pattern for whether and how
|
32
|
+
# the build number is included.
|
33
|
+
# This URL pattern has worked for most releases. If a version has multiple
|
34
|
+
# builds, set the `source url:` again explicitly to the one appropriate for
|
35
|
+
# that version's release.
|
36
|
+
source url: "https://github.com/git-for-windows/git/releases/download/v#{version}.windows.1/PortableGit-#{version}-#{arch_suffix}-bit.7z.exe"
|
37
|
+
|
38
|
+
if windows_arch_i386?
|
39
|
+
# version_list: url=https://github.com/git-for-windows/git/releases filter=PortableGit-*-32-bit.7z.exe
|
40
|
+
version("2.33.0") { source sha256: "c3b6f1a8f8c1b5be2175b7190d35926dce07a58294780291326a437ef0694676" }
|
41
|
+
version("2.31.1") { source sha256: "d6d48e16e3f0ecbc0a45d410ad3ebae15e5618202855ebe72cd9757e4d35b880" }
|
42
|
+
version("2.30.2") { source sha256: "8b203531c91d3f9075aa3ef1e89b0d6e5d18aa289c3bc485e093c9bfb860a116" }
|
43
|
+
version("2.29.2") { source sha256: "5e4dc60d3ee143585da03843613bc4d9032b1b6f4d3a2473ef6d9adc8e4c71c0" }
|
44
|
+
version("2.28.0") { source sha256: "11b854e9246057a22014dbf349adfc160ffa740dba7af0dbd42d642661b2cc7f" }
|
45
|
+
version("2.27.0") { source sha256: "8cbe1e3b57eb9d02e92cff12089454f2cf090c02958080d62e199ef8764542d3" }
|
46
|
+
else
|
47
|
+
# version_list: url=https://github.com/git-for-windows/git/releases filter=PortableGit-*-64-bit.7z.exe
|
48
|
+
version("2.33.0") { source sha256: "12c10fad2c2db17d9867dbbacff1adc8be50868b793a73d451c2b878914bb32d" }
|
49
|
+
version("2.31.1") { source sha256: "fce2161a8891c4deefdb8d215ab76498c245072f269843ef1a489c4312baef52" }
|
50
|
+
version("2.30.2") { source sha256: "f719f248de3dd7ef234331f8da95762594a388f6aa62f4c0260df18068e5a447" }
|
51
|
+
version("2.29.2") { source sha256: "7d114e81a541536b025313efcdf6feea1e973323f2b8f53995721bfd511139bd" }
|
52
|
+
version("2.28.0") { source sha256: "0cd682188b76eeb3a5da3a466d4095d2ccd892e07aae5871c45bf8c43cdb3b13" }
|
53
|
+
version("2.27.0") { source sha256: "0fd2218ba73e07e5a664d06e0ce514edcd241a2de0ba29ceca123e7d36aa8f58" }
|
54
|
+
end
|
55
|
+
|
56
|
+
# The git portable archives come with their own copy of posix related tools
|
57
|
+
# i.e. msys/basic posix/what-do-you-mean-you-dont-have-bash tools that git
|
58
|
+
# needs. Surprising nobody who has ever dealt with this on windows, we ship
|
59
|
+
# our own set of posix libraries and ported tools - the highlights being
|
60
|
+
# tar.exe, sh.exe, bash.exe, perl.exe etc. Since our tools reside in
|
61
|
+
# embedded/bin, we cannot simply extract git's bin/ cmd/ and lib directories
|
62
|
+
# into embedded. So we we land them in embedded/git instead. Git uses a
|
63
|
+
# strategy similar to ours when it comes to "appbundling" its binaries. It has
|
64
|
+
# a /bin top level directory and a /cmd directory. The unixy parts of it use
|
65
|
+
# /bin. The windowsy parts of it use /cmd. If you add /cmd to the path, there
|
66
|
+
# are tiny shim-executables in there that forward your call to the appropriate
|
67
|
+
# internal binaries with the path and environment reconfigured correctly.
|
68
|
+
# Unfortunately, they work based on relative directories... so /cmd/git.exe
|
69
|
+
# looks for ../bin/git. If we want delivery-cli or other applications to access
|
70
|
+
# git binaries without having to add yet another directory to the system path,
|
71
|
+
# we need to add our own shims (or shim-shims as I like to call them). These
|
72
|
+
# are .bat files in embedded/bin - one for each binary in git's /cmd directory -
|
73
|
+
# that simply call out to git's shim binaries.
|
74
|
+
|
75
|
+
build do
|
76
|
+
|
77
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
78
|
+
|
79
|
+
source_7z = "#{project_dir}/PortableGit-#{version}-#{arch_suffix}-bit.7z.exe"
|
80
|
+
destination = "#{install_dir}/embedded/git"
|
81
|
+
|
82
|
+
command "#{source_7z} -y"
|
83
|
+
sync "PortableGit", "#{windows_safe_path(destination)}", env: env
|
84
|
+
|
85
|
+
block "Create bat files to point to executables under embedded/git/cmd" do
|
86
|
+
Dir.glob("#{destination}/cmd/*") do |git_bin|
|
87
|
+
ext = File.extname(git_bin)
|
88
|
+
base = File.basename(git_bin, ext)
|
89
|
+
File.open("#{install_dir}/embedded/bin/#{base}.bat", "w") do |f|
|
90
|
+
f.puts "@ECHO OFF"
|
91
|
+
f.print "START \"\" " if %w{gitk git-gui}.include?(base.downcase)
|
92
|
+
f.puts "\"%~dp0..\\git\\cmd\\#{base}#{ext}\" %*"
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
@@ -0,0 +1,138 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
name "git"
|
18
|
+
default_version "2.37.3"
|
19
|
+
|
20
|
+
license "LGPL-2.1"
|
21
|
+
license_file "LGPL-2.1"
|
22
|
+
skip_transitive_dependency_licensing true
|
23
|
+
|
24
|
+
dependency "curl"
|
25
|
+
dependency "zlib"
|
26
|
+
dependency "openssl"
|
27
|
+
dependency "pcre"
|
28
|
+
dependency "libiconv" # FIXME: can we figure out how to remove this?
|
29
|
+
dependency "expat"
|
30
|
+
|
31
|
+
relative_path "git-#{version}"
|
32
|
+
|
33
|
+
# version_list: url=https://www.kernel.org/pub/software/scm/git/ filter=*.tar.gz
|
34
|
+
version("2.37.3") { source sha256: "181f65587155ea48c682f63135678ec53055adf1532428752912d356e46b64a8" }
|
35
|
+
version("2.37.2") { source sha256: "4c428908e3a2dca4174df6ef49acc995a4fdb1b45205a2c79794487a33bc06e5" }
|
36
|
+
version("2.37.1") { source sha256: "7dded96a52e7996ce90dd74a187aec175737f680dc063f3f33c8932cf5c8d809" }
|
37
|
+
version("2.37.0") { source sha256: "fc3ffe6c65c1f7c681a1ce6bb91703866e432c762731d4b57c566d696f6d62c3" }
|
38
|
+
version("2.36.1") { source sha256: "37d936fd17c81aa9ddd3dba4e56e88a45fa534ad0ba946454e8ce818760c6a2c" }
|
39
|
+
version("2.36.0") { source sha256: "9785f8c99daea037b8443d2f7397ac6aafbf8d5ff21fbfe2e5c0d443d126e211" }
|
40
|
+
version("2.35.3") { source sha256: "cad708072d5c0b390c71651f5edb44143f00b357766973470bf9adebc0944c03" }
|
41
|
+
|
42
|
+
# we need to keep 2.24.1 until we can remove the version pin in omnibus-toolchain Solaris builds
|
43
|
+
version("2.24.1") { source sha256: "ad5334956301c86841eb1e5b1bb20884a6bad89a10a6762c958220c7cf64da02" }
|
44
|
+
|
45
|
+
source url: "https://www.kernel.org/pub/software/scm/git/git-#{version}.tar.gz"
|
46
|
+
|
47
|
+
# git builds git-core as binaries into a special directory. We need to include
|
48
|
+
# that directory in bin_dirs so omnibus can sign them during macOS deep signing.
|
49
|
+
bin_dirs bin_dirs.concat ["#{install_dir}/embedded/libexec/git-core"]
|
50
|
+
|
51
|
+
build do
|
52
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
53
|
+
|
54
|
+
# We do a distclean so we ensure that the autoconf files are not trying to be
|
55
|
+
# clever.
|
56
|
+
make "distclean"
|
57
|
+
|
58
|
+
# In 2.13.1 they introduced some sha code that wasn't super good at endianness
|
59
|
+
if aix?
|
60
|
+
# AIX needs /opt/freeware/bin only for patch
|
61
|
+
patch_env = env.dup
|
62
|
+
patch_env["PATH"] = "/opt/freeware/bin:#{env["PATH"]}"
|
63
|
+
|
64
|
+
patch source: "aix-endian-fix.patch", plevel: 0, env: patch_env
|
65
|
+
end
|
66
|
+
|
67
|
+
config_hash = {
|
68
|
+
# Universal options
|
69
|
+
NO_GETTEXT: "YesPlease",
|
70
|
+
NEEDS_LIBICONV: "YesPlease",
|
71
|
+
NO_INSTALL_HARDLINKS: "YesPlease",
|
72
|
+
NO_PERL: "YesPlease",
|
73
|
+
NO_PYTHON: "YesPlease",
|
74
|
+
NO_TCLTK: "YesPlease",
|
75
|
+
}
|
76
|
+
|
77
|
+
if freebsd?
|
78
|
+
config_hash["CHARSET_LIB"] = "-lcharset"
|
79
|
+
config_hash["FREAD_READS_DIRECTORIES"] = "UnfortunatelyYes"
|
80
|
+
config_hash["HAVE_CLOCK_GETTIME"] = "YesPlease"
|
81
|
+
config_hash["HAVE_CLOCK_MONOTONIC"] = "YesPlease"
|
82
|
+
config_hash["HAVE_GETDELIM"] = "YesPlease"
|
83
|
+
config_hash["HAVE_PATHS_H"] = "YesPlease"
|
84
|
+
config_hash["HAVE_STRINGS_H"] = "YesPlease"
|
85
|
+
config_hash["PTHREAD_LIBS"] = "-pthread"
|
86
|
+
config_hash["USE_ST_TIMESPEC"] = "YesPlease"
|
87
|
+
config_hash["HAVE_BSD_SYSCTL"] = "YesPlease"
|
88
|
+
config_hash["NO_R_TO_GCC_LINKER"] = "YesPlease"
|
89
|
+
elsif aix?
|
90
|
+
env["CC"] = "xlc_r"
|
91
|
+
env["INSTALL"] = "/opt/freeware/bin/install"
|
92
|
+
env["CFLAGS"] = "-q64 -qmaxmem=-1 -I#{install_dir}/embedded/include -D_LARGE_FILES -O2"
|
93
|
+
env["CPPFLAGS"] = "-q64 -qmaxmem=-1 -I#{install_dir}/embedded/include -D_LARGE_FILES -O2"
|
94
|
+
env["LDFLAGS"] = "-q64 -L#{install_dir}/embedded/lib -lcurl -lssl -lcrypto -lz -Wl,-blibpath:#{install_dir}/embedded/lib:/usr/lib:/lib"
|
95
|
+
# xlc doesn't understand the '-Wl,-rpath' syntax at all so... we don't enable
|
96
|
+
# the NO_R_TO_GCC_LINKER flag. This means that it will try to use the
|
97
|
+
# old style -R for libraries and as a result, xlc will ignore it. In this case, we
|
98
|
+
# we want that to happen because we explicitly set the libpath with the correct
|
99
|
+
# command line argument in omnibus itself.
|
100
|
+
config_hash["CC_LD_DYNPATH"] = "-R"
|
101
|
+
config_hash["AR"] = "ar -X64"
|
102
|
+
config_hash["NO_REGEX"] = "YesPlease"
|
103
|
+
else
|
104
|
+
# Linux things!
|
105
|
+
config_hash["HAVE_PATHS_H"] = "YesPlease"
|
106
|
+
config_hash["NO_R_TO_GCC_LINKER"] = "YesPlease"
|
107
|
+
end
|
108
|
+
|
109
|
+
# ensure that header files in git's source code are found first before looking in other directories
|
110
|
+
# this solves an issue that occurs when libarchive has been built and installed and its archive.h header
|
111
|
+
# file in #{install_dir}/embedded/include is accidentally picked up when compiling git
|
112
|
+
env["CFLAGS"] = "-I. #{env["CFLAGS"]}"
|
113
|
+
env["CPPFLAGS"] = "-I. #{env["CPPFLAGS"]}"
|
114
|
+
env["CXXFLAGS"] = "-I. #{env["CXXFLAGS"]}"
|
115
|
+
env["CFLAGS"] = "-std=c99 #{env["CFLAGS"]}"
|
116
|
+
|
117
|
+
erb source: "config.mak.erb",
|
118
|
+
dest: "#{project_dir}/config.mak",
|
119
|
+
mode: 0755,
|
120
|
+
vars: {
|
121
|
+
cc: env["CC"],
|
122
|
+
ld: env["LD"],
|
123
|
+
cflags: env["CFLAGS"],
|
124
|
+
cppflags: env["CPPFLAGS"],
|
125
|
+
install: env["INSTALL"],
|
126
|
+
install_dir: install_dir,
|
127
|
+
ldflags: env["LDFLAGS"],
|
128
|
+
shell_path: env["SHELL_PATH"],
|
129
|
+
config_hash: config_hash,
|
130
|
+
}
|
131
|
+
|
132
|
+
#
|
133
|
+
# NOTE - If you run ./configure the environment variables set above will not be
|
134
|
+
# used and only the command line args will be used. The issue with this is you
|
135
|
+
# cannot specify everything on the command line that you can with the env vars.
|
136
|
+
make "prefix=#{install_dir}/embedded -j #{workers}", env: env
|
137
|
+
make "prefix=#{install_dir}/embedded install", env: env
|
138
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2014 Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
name "gmp"
|
18
|
+
default_version "6.0.0a"
|
19
|
+
|
20
|
+
# version_list: url=https://ftp.gnu.org/gnu/gmp/ filter=*.tar.bz2
|
21
|
+
|
22
|
+
version("6.2.1") { source sha256: "eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c" }
|
23
|
+
version("6.1.0") { source sha256: "498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8" }
|
24
|
+
version("6.0.0a") { source sha256: "7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf" }
|
25
|
+
|
26
|
+
source url: "https://ftp.gnu.org/gnu/gmp/gmp-#{version}.tar.bz2"
|
27
|
+
|
28
|
+
if version == "6.0.0a"
|
29
|
+
# version 6.0.0a expands to 6.0.0
|
30
|
+
relative_path "gmp-6.0.0"
|
31
|
+
else
|
32
|
+
relative_path "gmp-#{version}"
|
33
|
+
end
|
34
|
+
|
35
|
+
build do
|
36
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
37
|
+
|
38
|
+
if solaris2?
|
39
|
+
env["ABI"] = "32"
|
40
|
+
end
|
41
|
+
|
42
|
+
configure_command = ["./configure",
|
43
|
+
"--prefix=#{install_dir}/embedded"]
|
44
|
+
|
45
|
+
command configure_command.join(" "), env: env
|
46
|
+
make "-j #{workers}", env: env
|
47
|
+
make "-j #{workers} install", env: env
|
48
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2019 Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
# expeditor/ignore: logic only
|
17
|
+
|
18
|
+
name "go-uninstall"
|
19
|
+
default_version "0.0.1"
|
20
|
+
license :project_license
|
21
|
+
dependency "go"
|
22
|
+
|
23
|
+
build do
|
24
|
+
# Until Omnibus has full support for build depedencies (see chef/omnibus#483)
|
25
|
+
# we are going to manually uninstall Go
|
26
|
+
%w{go gofmt}.each do |bin|
|
27
|
+
delete "#{install_dir}/embedded/bin/#{bin}"
|
28
|
+
end
|
29
|
+
|
30
|
+
block "Delete Go language from embedded directory" do
|
31
|
+
remove_directory "#{install_dir}/embedded/go"
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2019 Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
name "go"
|
18
|
+
default_version "1.19.1"
|
19
|
+
license "BSD-3-Clause"
|
20
|
+
license_file "https://raw.githubusercontent.com/golang/go/master/LICENSE"
|
21
|
+
|
22
|
+
# Defaults
|
23
|
+
platform = "linux"
|
24
|
+
arch = "amd64"
|
25
|
+
ext = "tar.gz"
|
26
|
+
|
27
|
+
if windows?
|
28
|
+
platform = "windows"
|
29
|
+
ext = "zip"
|
30
|
+
|
31
|
+
# version_list: url=https://golang.org/dl/ filter=*.windows-amd64.zip
|
32
|
+
version("1.19.1") { source sha256: "b33584c1d93b0e9c783de876b7aa99d3018bdeccd396aeb6d516a74e9d88d55f" }
|
33
|
+
version("1.19") { source sha256: "bcaaf966f91980d35ae93c37a8fe890e4ddfca19448c0d9f66c027d287e2823a" }
|
34
|
+
version("1.18.5") { source sha256: "73753620602d4b4469770040c53db55e5dd6af2ad07ecc18f71f164c3224eaad" }
|
35
|
+
version("1.18.3") { source sha256: "9c46023f3ad0300fcfd1e62f2b6c2dfd9667b1f2f5c7a720b14b792af831f071" }
|
36
|
+
version("1.18.2") { source sha256: "41fc44109c39a98e0c3672989ac5ad205cbb5768067e099dc4fb2b75cba922cf" }
|
37
|
+
version("1.17.7") { source sha256: "1b648165d62a2f5399f3c42c7e59de9f4aa457212c4ea763e1b650546fac72e2" }
|
38
|
+
version("1.17.6") { source sha256: "5bf8f87aec7edfc08e6bc845f1c30dba6de32b863f89ae46553ff4bbcc1d4954" }
|
39
|
+
version("1.17.5") { source sha256: "671faf99cd5d81cd7e40936c0a94363c64d654faa0148d2af4bbc262555620b9" }
|
40
|
+
version("1.17.2") { source sha256: "fa6da0b829a66f5fab7e4e312fd6aa1b2d8f045c7ecee83b3d00f6fe5306759a" }
|
41
|
+
version("1.17") { source sha256: "2a18bd65583e221be8b9b7c2fbe3696c40f6e27c2df689bbdcc939d49651d151" }
|
42
|
+
version("1.16.3") { source sha256: "a4400345135b36cb7942e52bbaf978b66814738b855eeff8de879a09fd99de7f" }
|
43
|
+
|
44
|
+
elsif mac_os_x?
|
45
|
+
platform = "darwin"
|
46
|
+
|
47
|
+
# version_list: url=https://golang.org/dl/ filter=*.darwin-amd64.tar.gz
|
48
|
+
version("1.19.1") { source sha256: "b2828a2b05f0d2169afc74c11ed010775bf7cf0061822b275697b2f470495fb7" }
|
49
|
+
version("1.19") { source sha256: "df6509885f65f0d7a4eaf3dfbe7dda327569787e8a0a31cbf99ae3a6e23e9ea8" }
|
50
|
+
version("1.18.5") { source sha256: "828eeca8b5abea3e56921df8fa4b1101380a5ebcfee10acbc8ffe7ec0bf5876b" }
|
51
|
+
version("1.18.3") { source sha256: "d9dcf8fc35da54c6f259be41954783a9f4984945a855d03a003a7fd6ea4c5ca1" }
|
52
|
+
version("1.18.2") { source sha256: "1f5f539ce0baa8b65f196ee219abf73a7d9cf558ba9128cc0fe4833da18b04f2" }
|
53
|
+
version("1.18") { source sha256: "70bb4a066997535e346c8bfa3e0dfe250d61100b17ccc5676274642447834969" }
|
54
|
+
version("1.17.7") { source sha256: "7c3d9cc70ee592515d92a44385c0cba5503fd0a9950f78d76a4587916c67a84d" }
|
55
|
+
version("1.17.6") { source sha256: "874bc6f95e07697380069a394a21e05576a18d60f4ba178646e1ebed8f8b1f89" }
|
56
|
+
version("1.17.5") { source sha256: "2db6a5d25815b56072465a2cacc8ed426c18f1d5fc26c1fc8c4f5a7188658264" }
|
57
|
+
version("1.17.2") { source sha256: "7914497a302a132a465d33f5ee044ce05568bacdb390ab805cb75a3435a23f94" }
|
58
|
+
version("1.17") { source sha256: "355bd544ce08d7d484d9d7de05a71b5c6f5bc10aa4b316688c2192aeb3dacfd1" }
|
59
|
+
version("1.16.3") { source sha256: "6bb1cf421f8abc2a9a4e39140b7397cdae6aca3e8d36dcff39a1a77f4f1170ac" }
|
60
|
+
|
61
|
+
elsif armhf?
|
62
|
+
platform = "armv6l"
|
63
|
+
# version_list: url=https://golang.org/dl/ filter=*.linux-armv6l.tar.gz
|
64
|
+
version("1.19.1") { source sha256: "efe93f5671621ee84ce5e262e1e21acbc72acefbaba360f21778abd083d4ad16" }
|
65
|
+
version("1.19") { source sha256: "25197c7d70c6bf2b34d7d7c29a2ff92ba1c393f0fb395218f1147aac2948fb93" }
|
66
|
+
version("1.18.5") { source sha256: "d5ac34ac5f060a5274319aa04b7b11e41b123bd7887d64efb5f44ead236957af" }
|
67
|
+
version("1.18.3") { source sha256: "b8f0b5db24114388d5dcba7ca0698510ea05228b0402fcbeb0881f74ae9cb83b" }
|
68
|
+
version("1.18.2") { source sha256: "570dc8df875b274981eaeabe228d0774985de42e533ffc8c7ff0c9a55174f697" }
|
69
|
+
version("1.17.7") { source sha256: "874774f078b182fa21ffcb3878467eb5cb7e78bbffa6343ea5f0fbe47983433b" }
|
70
|
+
version("1.17.6") { source sha256: "9ac723e6b41cb7c3651099a09332a8a778b69aa63a5e6baaa47caf0d818e2d6d" }
|
71
|
+
version("1.17.5") { source sha256: "aa1fb6c53b4fe72f159333362a10aca37ae938bde8adc9c6eaf2a8e87d1e47de" }
|
72
|
+
version("1.17.2") { source sha256: "04d16105008230a9763005be05606f7eb1c683a3dbf0fbfed4034b23889cb7f2" }
|
73
|
+
version("1.17") { source sha256: "ae89d33f4e4acc222bdb04331933d5ece4ae71039812f6ccd7493cb3e8ddfb4e" }
|
74
|
+
version("1.16.3") { source sha256: "0dae30385e3564a557dac7f12a63eedc73543e6da0f6017990e214ce8cc8797c" }
|
75
|
+
elsif arm?
|
76
|
+
platform = "arm64"
|
77
|
+
# version_list: url=https://golang.org/dl/ filter=*.linux-arm64.tar.gz
|
78
|
+
version("1.19.1") { source sha256: "49960821948b9c6b14041430890eccee58c76b52e2dbaafce971c3c38d43df9f" }
|
79
|
+
version("1.19") { source sha256: "efa97fac9574fc6ef6c9ff3e3758fb85f1439b046573bf434cccb5e012bd00c8" }
|
80
|
+
version("1.18.5") { source sha256: "006f6622718212363fa1ff004a6ab4d87bbbe772ec5631bab7cac10be346e4f1" }
|
81
|
+
version("1.18.3") { source sha256: "beacbe1441bee4d7978b900136d1d6a71d150f0a9bb77e9d50c822065623a35a" }
|
82
|
+
version("1.18.2") { source sha256: "fc4ad28d0501eaa9c9d6190de3888c9d44d8b5fb02183ce4ae93713f67b8a35b" }
|
83
|
+
version("1.17.7") { source sha256: "a5aa1ed17d45ee1d58b4a4099b12f8942acbd1dd09b2e9a6abb1c4898043c5f5" }
|
84
|
+
version("1.17.6") { source sha256: "82c1a033cce9bc1b47073fd6285233133040f0378439f3c4659fe77cc534622a" }
|
85
|
+
version("1.17.5") { source sha256: "6f95ce3da40d9ce1355e48f31f4eb6508382415ca4d7413b1e7a3314e6430e7e" }
|
86
|
+
version("1.17.2") { source sha256: "a5a43c9cdabdb9f371d56951b14290eba8ce2f9b0db48fb5fc657943984fd4fc" }
|
87
|
+
version("1.17") { source sha256: "01a9af009ada22122d3fcb9816049c1d21842524b38ef5d5a0e2ee4b26d7c3e7" }
|
88
|
+
version("1.16.3") { source sha256: "566b1d6f17d2bc4ad5f81486f0df44f3088c3ed47a3bec4099d8ed9939e90d5d" }
|
89
|
+
else
|
90
|
+
# version_list: url=https://golang.org/dl/ filter=*.linux-amd64.tar.gz
|
91
|
+
version("1.19.1") { source sha256: "acc512fbab4f716a8f97a8b3fbaa9ddd39606a28be6c2515ef7c6c6311acffde" }
|
92
|
+
version("1.19") { source sha256: "464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6" }
|
93
|
+
version("1.18.5") { source sha256: "9e5de37f9c49942c601b191ac5fba404b868bfc21d446d6960acc12283d6e5f2" }
|
94
|
+
version("1.18.3") { source sha256: "956f8507b302ab0bb747613695cdae10af99bbd39a90cae522b7c0302cc27245" }
|
95
|
+
version("1.18.2") { source sha256: "e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc" }
|
96
|
+
version("1.18") { source sha256: "e85278e98f57cdb150fe8409e6e5df5343ecb13cebf03a5d5ff12bd55a80264f" }
|
97
|
+
version("1.17.7") { source sha256: "02b111284bedbfa35a7e5b74a06082d18632eff824fd144312f6063943d49259" }
|
98
|
+
version("1.17.6") { source sha256: "231654bbf2dab3d86c1619ce799e77b03d96f9b50770297c8f4dff8836fc8ca2" }
|
99
|
+
version("1.17.5") { source sha256: "bd78114b0d441b029c8fe0341f4910370925a4d270a6a590668840675b0c653e" }
|
100
|
+
version("1.17.2") { source sha256: "f242a9db6a0ad1846de7b6d94d507915d14062660616a61ef7c808a76e4f1676" }
|
101
|
+
version("1.17") { source sha256: "6bf89fc4f5ad763871cf7eac80a2d594492de7a818303283f1366a7f6a30372d" }
|
102
|
+
version("1.16.3") { source sha256: "951a3c7c6ce4e56ad883f97d9db74d3d6d80d5fec77455c6ada6c1f7ac4776d2" }
|
103
|
+
end
|
104
|
+
|
105
|
+
source url: "https://dl.google.com/go/go#{version}.%{platform}-%{arch}.%{ext}" % { platform: platform, arch: arch, ext: ext }
|
106
|
+
|
107
|
+
build do
|
108
|
+
# We do not use 'sync' since we've found multiple errors with other software definitions
|
109
|
+
mkdir "#{install_dir}/embedded/go"
|
110
|
+
copy "#{project_dir}/go/*", "#{install_dir}/embedded/go"
|
111
|
+
|
112
|
+
mkdir "#{install_dir}/embedded/bin"
|
113
|
+
%w{go gofmt}.each do |bin|
|
114
|
+
link "#{install_dir}/embedded/go/bin/#{bin}", "#{install_dir}/embedded/bin/#{bin}"
|
115
|
+
end
|
116
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2018 Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
### NOTE ###
|
18
|
+
# We build this definition from source rather than installing from the
|
19
|
+
# gem so the native extension builds against the correct ruby rather than shipping
|
20
|
+
# a vendored library for each 2.x version of ruby, which is what is packaged
|
21
|
+
# with the gem.
|
22
|
+
|
23
|
+
name "google-protobuf"
|
24
|
+
default_version "v3.21.4"
|
25
|
+
|
26
|
+
dependency "ruby"
|
27
|
+
|
28
|
+
source git: "https://github.com/google/protobuf.git"
|
29
|
+
|
30
|
+
# versions_list: https://github.com/protocolbuffers/protobuf/tags filter=*.tar.gz
|
31
|
+
|
32
|
+
license :project_license
|
33
|
+
|
34
|
+
build do
|
35
|
+
mkdir "#{project_dir}/ruby/ext/google/protobuf_c/third_party/utf8_range"
|
36
|
+
copy "#{project_dir}/third_party/utf8_range/utf8_range.h", "#{project_dir}/ruby/ext/google/protobuf_c/third_party/utf8_range"
|
37
|
+
copy "#{project_dir}/third_party/utf8_range/naive.c", "#{project_dir}/ruby/ext/google/protobuf_c/third_party/utf8_range"
|
38
|
+
copy "#{project_dir}/third_party/utf8_range/range2-neon.c", "#{project_dir}/ruby/ext/google/protobuf_c/third_party/utf8_range"
|
39
|
+
copy "#{project_dir}/third_party/utf8_range/range2-sse.c", "#{project_dir}/ruby/ext/google/protobuf_c/third_party/utf8_range"
|
40
|
+
copy "#{project_dir}/third_party/utf8_range/LICENSE", "#{project_dir}/ruby/ext/google/protobuf_c/third_party/utf8_range"
|
41
|
+
|
42
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
43
|
+
gem "build google-protobuf.gemspec", env: env, cwd: "#{project_dir}/ruby"
|
44
|
+
gem "install google-protobuf-*.gem", env: env, cwd: "#{project_dir}/ruby"
|
45
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2016-2019 Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
name "gtar"
|
18
|
+
default_version "1.34"
|
19
|
+
|
20
|
+
# version_list: url=https://ftp.gnu.org/gnu/tar/ filter=*.tar.gz
|
21
|
+
version("1.34") { source sha256: "03d908cf5768cfe6b7ad588c921c6ed21acabfb2b79b788d1330453507647aed" }
|
22
|
+
version("1.33") { source sha256: "7c77c427e8cce274d46a6325d45a55b08e13e2d2d0c9e6c0860a6d2b9589ff0e" }
|
23
|
+
version("1.32") { source sha256: "b59549594d91d84ee00c99cf2541a3330fed3a42c440503326dab767f2fbb96c" }
|
24
|
+
version("1.30") { source sha256: "4725cc2c2f5a274b12b39d1f78b3545ec9ebb06a6e48e8845e1995ac8513b088" }
|
25
|
+
version("1.29") { source sha256: "cae466e6e58c7292355e7080248f244db3a4cf755f33f4fa25ca7f9a7ed09af0" }
|
26
|
+
|
27
|
+
license "GPL-3.0"
|
28
|
+
license_file "COPYING"
|
29
|
+
|
30
|
+
source url: "https://ftp.gnu.org/gnu/tar/tar-#{version}.tar.gz"
|
31
|
+
|
32
|
+
relative_path "tar-#{version}"
|
33
|
+
|
34
|
+
build do
|
35
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
36
|
+
|
37
|
+
configure_command = [
|
38
|
+
"./configure",
|
39
|
+
"FORCE_UNSAFE_CONFIGURE=1",
|
40
|
+
"--prefix=#{install_dir}/embedded",
|
41
|
+
]
|
42
|
+
|
43
|
+
# First off let's disable selinux support, as it causes issues on some platforms
|
44
|
+
# We're not doing it on every platform because this breaks on macOS
|
45
|
+
unless osx?
|
46
|
+
configure_command << " --without-selinux"
|
47
|
+
end
|
48
|
+
|
49
|
+
if s390x?
|
50
|
+
# s390x doesn't support posix acls
|
51
|
+
configure_command << " --without-posix-acls"
|
52
|
+
elsif aix? && version.satisfies?("< 1.32")
|
53
|
+
# xlc doesn't allow duplicate entries in case statements
|
54
|
+
patch_env = env.dup
|
55
|
+
patch_env["PATH"] = "/opt/freeware/bin:#{env["PATH"]}"
|
56
|
+
patch source: "aix_extra_case.patch", plevel: 0, env: patch_env
|
57
|
+
end
|
58
|
+
|
59
|
+
command configure_command.join(" "), env: env
|
60
|
+
make "-j #{workers}", env: env
|
61
|
+
make "-j #{workers} install", env: env
|
62
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2012-2014 Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
# expeditor/ignore: deprecated 2021-04
|
17
|
+
|
18
|
+
name "help2man"
|
19
|
+
default_version "1.40.5"
|
20
|
+
|
21
|
+
version "1.47.3" do
|
22
|
+
source url: "https://ftp.gnu.org/gnu/help2man/help2man-1.47.3.tar.xz",
|
23
|
+
md5: "d1d44a7a7b2bd61755a2045d96ecaea0"
|
24
|
+
end
|
25
|
+
|
26
|
+
version "1.40.5" do
|
27
|
+
source url: "https://ftp.gnu.org/gnu/help2man/help2man-1.40.5.tar.gz",
|
28
|
+
md5: "75a7d2f93765cd367aab98986a75f88c"
|
29
|
+
end
|
30
|
+
|
31
|
+
relative_path "help2man-1.40.5"
|
32
|
+
|
33
|
+
build do
|
34
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
35
|
+
|
36
|
+
command "./configure --prefix=#{install_dir}/embedded", env: env
|
37
|
+
|
38
|
+
make env: env
|
39
|
+
make "install", env: env
|
40
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2014 Chef Software, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
# expeditor/ignore: deprecated 2021-04
|
17
|
+
|
18
|
+
name "highline-gem"
|
19
|
+
default_version "1.6.21"
|
20
|
+
|
21
|
+
license "Ruby"
|
22
|
+
license_file "https://raw.githubusercontent.com/JEG2/highline/master/LICENSE"
|
23
|
+
license_file "http://www.ruby-lang.org/en/LICENSE.txt"
|
24
|
+
# highline does not have any dependencies. We only install it from
|
25
|
+
# rubygems here.
|
26
|
+
skip_transitive_dependency_licensing true
|
27
|
+
|
28
|
+
dependency "ruby"
|
29
|
+
|
30
|
+
build do
|
31
|
+
env = with_standard_compiler_flags(with_embedded_path)
|
32
|
+
|
33
|
+
gem "install highline" \
|
34
|
+
" --version '#{version}'" \
|
35
|
+
" --bindir '#{install_dir}/embedded/bin'" \
|
36
|
+
" --no-document", env: env
|
37
|
+
end
|