omnibus-software 22.11.239

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. checksums.yaml +7 -0
  2. data/.expeditor/Version_inspector/README.md +21 -0
  3. data/.expeditor/Version_inspector/SW-Version-update.py +243 -0
  4. data/.expeditor/Version_inspector/manual_prod_list.json +29 -0
  5. data/.expeditor/Version_inspector/prod_default_version.json +103 -0
  6. data/.expeditor/Version_inspector/prod_list.json +194 -0
  7. data/.expeditor/Version_inspector/requirements.txt +4 -0
  8. data/.expeditor/Version_inspector/update_prod_default_version.sh +24 -0
  9. data/.expeditor/Version_inspector/update_prod_list.sh +35 -0
  10. data/.expeditor/config.yml +33 -0
  11. data/.expeditor/determine_version.sh +15 -0
  12. data/.expeditor/push_git_tag.sh +12 -0
  13. data/.expeditor/run_linux_tests.sh +16 -0
  14. data/.expeditor/verify.pipeline.yml +52 -0
  15. data/.github/CODEOWNERS +5 -0
  16. data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +29 -0
  17. data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +40 -0
  18. data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +17 -0
  19. data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +11 -0
  20. data/.github/dependabot.yml +9 -0
  21. data/.github/lock.yml +1 -0
  22. data/.gitignore +17 -0
  23. data/CODE_OF_CONDUCT.md +1 -0
  24. data/CONTRIBUTING.md +1 -0
  25. data/Dockerfile +21 -0
  26. data/Gemfile +10 -0
  27. data/LICENSE +201 -0
  28. data/README.md +99 -0
  29. data/Rakefile +56 -0
  30. data/VERSION +1 -0
  31. data/config/patches/bash/race-condition.patch +15 -0
  32. data/config/patches/bzip2/aix_makefile.patch +11 -0
  33. data/config/patches/bzip2/makefile_no_bins.patch +77 -0
  34. data/config/patches/bzip2/makefile_take_env_vars.patch +31 -0
  35. data/config/patches/bzip2/soname_install_dir.patch +11 -0
  36. data/config/patches/curl/curl-aix-disable-alpn.patch +22 -0
  37. data/config/patches/curl/curl-freebsd-hostcheck.patch +10 -0
  38. data/config/patches/erlang/epmd-require-explicitly-adding-loopback-address.patch +84 -0
  39. data/config/patches/erlang/updated-epmd-require-explicitly-adding-loopback-address.patch +75 -0
  40. data/config/patches/expat/configure_xlc_visibility.patch +58 -0
  41. data/config/patches/expat/configure_xlc_visibility_2.4.7.patch +59 -0
  42. data/config/patches/figlet/aix-figlet-cdefs.patch +48 -0
  43. data/config/patches/gdbm/v1.8.3-Makefile.in.patch +32 -0
  44. data/config/patches/git/aix-endian-fix.patch +20 -0
  45. data/config/patches/gtar/aix_extra_case.patch +13 -0
  46. data/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +15 -0
  47. data/config/patches/libedit/freebsd-vi-fix.patch +24 -0
  48. data/config/patches/libedit/openbsd-weak-alias-fix.patch +48 -0
  49. data/config/patches/libedit/solaris.patch +36 -0
  50. data/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
  51. data/config/patches/libffi/libffi-3.3-arm64.patch +9608 -0
  52. data/config/patches/libxslt/libxslt-solaris-configure.patch +19 -0
  53. data/config/patches/libxslt/libxslt-windows-relocate.patch +12 -0
  54. data/config/patches/libyaml/windows-configure.patch +26 -0
  55. data/config/patches/libzmq/zeromq-4.0.11_mingw_inet_pton.patch +37 -0
  56. data/config/patches/libzmq/zeromq-aix-4.2.2-LARGE_FILES.patch +56 -0
  57. data/config/patches/libzmq/zeromq-aix-4.2.2-atomic-counter-fetch_and_add.patch +59 -0
  58. data/config/patches/logrotate/logrotate_basedir_override.patch +17 -0
  59. data/config/patches/m4/m4-1.4.18-glibc-change-work-around.patch +115 -0
  60. data/config/patches/make/deb-make-glob.patch +31 -0
  61. data/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
  62. data/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +11 -0
  63. data/config/patches/ncurses/ncurses-clang.patch +43 -0
  64. data/config/patches/ncurses/patch-aa +23 -0
  65. data/config/patches/ncurses/patch-ab +44 -0
  66. data/config/patches/ncurses/patch-ac +40 -0
  67. data/config/patches/ncurses/patch-ad +13 -0
  68. data/config/patches/ncurses/patch-cxx_cursesf.h +22 -0
  69. data/config/patches/ncurses/patch-cxx_cursesm.h +22 -0
  70. data/config/patches/ncurses/patch-ncurses_tinfo_lib__baudrate.c +24 -0
  71. data/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
  72. data/config/patches/openssl/openssl-1.0.1j-windows-relocate-dll.patch +20 -0
  73. data/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
  74. data/config/patches/openssl/openssl-1.0.2x-darwin-arm64.patch +54 -0
  75. data/config/patches/openssl/openssl-1.1.0f-do-not-install-docs.patch +11 -0
  76. data/config/patches/openssl/openssl-3.0.1-do-not-install-docs.patch +22 -0
  77. data/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch +11 -0
  78. data/config/patches/perl/perl-5.18.1-remove_lnsl.patch +441 -0
  79. data/config/patches/perl/perl-5.22.1-remove_lnsl.patch +512 -0
  80. data/config/patches/perl/perl-5.30.0-remove_lnsl.patch +518 -0
  81. data/config/patches/perl/perl-5.32.1-remove_lnsl.patch +456 -0
  82. data/config/patches/perl/perl-5.34.0-remove_lnsl.patch +516 -0
  83. data/config/patches/pkg-config/openbsd-charset.patch +19 -0
  84. data/config/patches/popt/v1.16.ppc64le-configure.patch +18 -0
  85. data/config/patches/redis/password-from-environment.patch +19 -0
  86. data/config/patches/ruby/patch-configure +103 -0
  87. data/config/patches/ruby/remove_nano.patch +10 -0
  88. data/config/patches/ruby/ruby-2.6.7_c99.patch +12 -0
  89. data/config/patches/ruby/ruby-3.0.1-configure.patch +281 -0
  90. data/config/patches/ruby/ruby-3.0.2-configure.patch +251 -0
  91. data/config/patches/ruby/ruby-aix-atomic.patch +11 -0
  92. data/config/patches/ruby/ruby-aix-configure_26_and_later.patch +19 -0
  93. data/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
  94. data/config/patches/ruby/ruby-fast-load_26.patch +16 -0
  95. data/config/patches/ruby/ruby-fast-load_31.patch +16 -0
  96. data/config/patches/ruby/ruby-faster-load_26.patch +11 -0
  97. data/config/patches/ruby/ruby-faster-load_27.patch +11 -0
  98. data/config/patches/ruby/ruby-mkmf.patch +29 -0
  99. data/config/patches/ruby/ruby-no-stack-protector-strong.patch +11 -0
  100. data/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
  101. data/config/patches/ruby/ruby-win32_warning_removal.patch +12 -0
  102. data/config/patches/ruby/ruby_aix_openssl.patch +10 -0
  103. data/config/patches/ruby/ruby_aix_ssl_EAGAIN.patch +19 -0
  104. data/config/patches/ruby/rvm-cflags.patch +27 -0
  105. data/config/patches/stunnel/stunnel-on-windows.patch +42 -0
  106. data/config/patches/zlib/zlib-windows-relocate.patch +20 -0
  107. data/config/software/autoconf.rb +46 -0
  108. data/config/software/automake.rb +49 -0
  109. data/config/software/bash.rb +72 -0
  110. data/config/software/berkshelf-no-depselector.rb +46 -0
  111. data/config/software/berkshelf.rb +34 -0
  112. data/config/software/binutils.rb +47 -0
  113. data/config/software/bundler.rb +38 -0
  114. data/config/software/bzip2.rb +55 -0
  115. data/config/software/cacerts.rb +50 -0
  116. data/config/software/chef-gem.rb +35 -0
  117. data/config/software/chef.rb +112 -0
  118. data/config/software/cmake.rb +94 -0
  119. data/config/software/config_guess.rb +37 -0
  120. data/config/software/cpanminus.rb +49 -0
  121. data/config/software/curl.rb +103 -0
  122. data/config/software/delivery-cli.rb +89 -0
  123. data/config/software/dep-selector-libgecode.rb +48 -0
  124. data/config/software/elasticsearch.rb +61 -0
  125. data/config/software/elixir.rb +35 -0
  126. data/config/software/erlang.rb +134 -0
  127. data/config/software/expat.rb +63 -0
  128. data/config/software/fakeroot.rb +41 -0
  129. data/config/software/ffi-yajl.rb +46 -0
  130. data/config/software/figlet-fonts.rb +31 -0
  131. data/config/software/figlet.rb +44 -0
  132. data/config/software/gcc.rb +60 -0
  133. data/config/software/gdbm.rb +54 -0
  134. data/config/software/gecode.rb +62 -0
  135. data/config/software/gem-permissions.rb +43 -0
  136. data/config/software/git-windows.rb +96 -0
  137. data/config/software/git.rb +138 -0
  138. data/config/software/gmp.rb +48 -0
  139. data/config/software/go-uninstall.rb +33 -0
  140. data/config/software/go.rb +116 -0
  141. data/config/software/google-protobuf.rb +45 -0
  142. data/config/software/gtar.rb +62 -0
  143. data/config/software/help2man.rb +40 -0
  144. data/config/software/highline-gem.rb +37 -0
  145. data/config/software/ibm-jre.rb +59 -0
  146. data/config/software/inspec.rb +43 -0
  147. data/config/software/jre-from-jdk.rb +67 -0
  148. data/config/software/keepalived.rb +68 -0
  149. data/config/software/libarchive.rb +71 -0
  150. data/config/software/libedit.rb +73 -0
  151. data/config/software/libffi.rb +68 -0
  152. data/config/software/libgcc.rb +52 -0
  153. data/config/software/libiconv.rb +55 -0
  154. data/config/software/libintl-perl.rb +56 -0
  155. data/config/software/liblzma.rb +59 -0
  156. data/config/software/libossp-uuid.rb +45 -0
  157. data/config/software/libsodium.rb +40 -0
  158. data/config/software/libtool.rb +56 -0
  159. data/config/software/libuuid.rb +45 -0
  160. data/config/software/libxml2.rb +63 -0
  161. data/config/software/libxslt.rb +64 -0
  162. data/config/software/libyajl2-gem.rb +44 -0
  163. data/config/software/libyaml.rb +50 -0
  164. data/config/software/libzmq.rb +93 -0
  165. data/config/software/logrotate.rb +61 -0
  166. data/config/software/lua.rb +46 -0
  167. data/config/software/m4.rb +40 -0
  168. data/config/software/make.rb +43 -0
  169. data/config/software/makedepend.rb +44 -0
  170. data/config/software/mpc.rb +44 -0
  171. data/config/software/mpfr.rb +45 -0
  172. data/config/software/musl.rb +107 -0
  173. data/config/software/mysql2.rb +50 -0
  174. data/config/software/ncurses.rb +159 -0
  175. data/config/software/nginx.rb +55 -0
  176. data/config/software/nodejs-binary.rb +90 -0
  177. data/config/software/nodejs.rb +58 -0
  178. data/config/software/nokogiri.rb +92 -0
  179. data/config/software/omnibus-ctl.rb +42 -0
  180. data/config/software/openresty.rb +94 -0
  181. data/config/software/opensearch.rb +54 -0
  182. data/config/software/openssl-customization.rb +81 -0
  183. data/config/software/openssl-fips.rb +81 -0
  184. data/config/software/openssl.rb +185 -0
  185. data/config/software/patch.rb +46 -0
  186. data/config/software/patchelf.rb +66 -0
  187. data/config/software/pcre.rb +53 -0
  188. data/config/software/perl-extutils-embed.rb +37 -0
  189. data/config/software/perl-extutils-makemaker.rb +46 -0
  190. data/config/software/perl-thread-queue.rb +40 -0
  191. data/config/software/perl.rb +78 -0
  192. data/config/software/perl_pg_driver.rb +45 -0
  193. data/config/software/pg-gem.rb +36 -0
  194. data/config/software/pkg-config-lite.rb +46 -0
  195. data/config/software/pkg-config.rb +66 -0
  196. data/config/software/popt.rb +54 -0
  197. data/config/software/postgresql.rb +70 -0
  198. data/config/software/preparation.rb +31 -0
  199. data/config/software/python.rb +79 -0
  200. data/config/software/rabbitmq.rb +58 -0
  201. data/config/software/rb-readline.rb +33 -0
  202. data/config/software/rbnacl-libsodium.rb +42 -0
  203. data/config/software/rbzmq.rb +44 -0
  204. data/config/software/rebar.rb +42 -0
  205. data/config/software/redis-gem.rb +36 -0
  206. data/config/software/redis.rb +51 -0
  207. data/config/software/relx.rb +39 -0
  208. data/config/software/rsync.rb +55 -0
  209. data/config/software/ruby-cleanup.rb +254 -0
  210. data/config/software/ruby-msys2-devkit.rb +77 -0
  211. data/config/software/ruby-windows-devkit-bash.rb +41 -0
  212. data/config/software/ruby-windows-devkit.rb +84 -0
  213. data/config/software/ruby.rb +306 -0
  214. data/config/software/rubygems.rb +73 -0
  215. data/config/software/runit.rb +67 -0
  216. data/config/software/rust-uninstall.rb +32 -0
  217. data/config/software/rust.rb +97 -0
  218. data/config/software/sequel-gem.rb +36 -0
  219. data/config/software/server-jre.rb +125 -0
  220. data/config/software/server-open-jre.rb +112 -0
  221. data/config/software/setuptools.rb +48 -0
  222. data/config/software/shebang-cleanup.rb +101 -0
  223. data/config/software/sqitch.rb +87 -0
  224. data/config/software/stunnel.rb +86 -0
  225. data/config/software/util-macros.rb +42 -0
  226. data/config/software/version-manifest.rb +33 -0
  227. data/config/software/xproto.rb +42 -0
  228. data/config/software/zlib.rb +85 -0
  229. data/config/templates/git/config.mak.erb +31 -0
  230. data/config/templates/rubygems/register_devtools.rb.erb +33 -0
  231. data/config/templates/runit/runsvdir-start.erb +42 -0
  232. data/docker-compose.yml +15 -0
  233. data/lib/omnibus-software/version.rb +3 -0
  234. data/lib/omnibus-software.rb +115 -0
  235. data/omnibus-software.gemspec +20 -0
  236. data/test/Gemfile +10 -0
  237. data/test/config/projects/test.rb +14 -0
  238. data/test/generate_steps.rb +55 -0
  239. data/test/omnibus-build.sh +50 -0
  240. data/test/omnibus.rb +55 -0
  241. 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