omnibus-software 22.11.239

Sign up to get free protection for your applications and to get access to all the features.
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