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,185 @@
1
+ #
2
+ # Copyright:: Copyright (c) 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 "openssl"
18
+
19
+ license "OpenSSL"
20
+ license_file "LICENSE"
21
+ skip_transitive_dependency_licensing true
22
+
23
+ dependency "cacerts"
24
+ dependency "openssl-fips" if fips_mode?
25
+
26
+ default_version "1.0.2zb" # do_not_auto_update
27
+
28
+ # Openssl builds engines as libraries into a special directory. We need to include
29
+ # that directory in lib_dirs so omnibus can sign them during macOS deep signing.
30
+ lib_dirs lib_dirs.concat(["#{install_dir}/embedded/lib/engines"])
31
+ lib_dirs lib_dirs.concat(["#{install_dir}/embedded/lib/engines-1.1"]) if version.start_with?("1.1")
32
+ if version.start_with?("3.")
33
+ lib_dirs lib_dirs.concat(["#{install_dir}/embedded/lib/engines-3"])
34
+ lib_dirs lib_dirs.concat(["#{install_dir}/embedded/lib/ossl-modules"])
35
+ end
36
+
37
+ # 1.0.2u was the last public release of 1.0.2. Subsequent releases come from a support contract with OpenSSL Software Services
38
+ if version.satisfies?("< 1.1.0")
39
+ source url: "https://s3.amazonaws.com/chef-releng/openssl/openssl-#{version}.tar.gz", extract: :lax_tar
40
+ else
41
+ # As of 2020-09-09 even openssl-1.0.0.tar.gz can be downloaded from /source/openssl-VERSION.tar.gz
42
+ # However, the latest releases are not in /source/old/VERSION/openssl-VERSION.tar.gz.
43
+ # Let's stick with the simpler one for now.
44
+ source url: "https://www.openssl.org/source/openssl-#{version}.tar.gz", extract: :lax_tar
45
+ end
46
+
47
+ version("3.0.5") { source sha256: "aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a" }
48
+ version("3.0.4") { source sha256: "2831843e9a668a0ab478e7020ad63d2d65e51f72977472dc73efcefbafc0c00f" }
49
+ version("3.0.3") { source sha256: "ee0078adcef1de5f003c62c80cc96527721609c6f3bb42b7795df31f8b558c0b" }
50
+ version("3.0.1") { source sha256: "c311ad853353bce796edad01a862c50a8a587f62e7e2100ef465ab53ec9b06d1" } # only ruby 3.1 supports openssl-3.0.1
51
+ version("1.1.1q") { source sha256: "d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca" }
52
+ version("1.1.1p") { source sha256: "bf61b62aaa66c7c7639942a94de4c9ae8280c08f17d4eac2e44644d9fc8ace6f" }
53
+ version("1.1.1o") { source sha256: "9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" }
54
+ version("1.1.1m") { source sha256: "f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96" }
55
+ version("1.1.1l") { source sha256: "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1" }
56
+ version("1.0.2zb") { source sha256: "b7d8f8c895279caa651e7f3de9a7b87b8dd01a452ca3d9327f45a9ef31d0c518" }
57
+ version("1.0.2za") { source sha256: "86ec5d2ecb53839e9ec999db7f8715d0eb7e534d8a1d8688ef25280fbeee2ff8" }
58
+
59
+ relative_path "openssl-#{version}"
60
+
61
+ build do
62
+ env = with_standard_compiler_flags(with_embedded_path)
63
+ if aix?
64
+ env["M4"] = "/opt/freeware/bin/m4"
65
+ elsif mac_os_x? && arm?
66
+ env["CFLAGS"] << " -Qunused-arguments"
67
+ elsif windows?
68
+ # XXX: OpenSSL explicitly sets -march=i486 and expects that to be honored.
69
+ # It has OPENSSL_IA32_SSE2 controlling whether it emits optimized SSE2 code
70
+ # and the 32-bit calling convention involving XMM registers is... vague.
71
+ # Do not enable SSE2 generally because the hand optimized assembly will
72
+ # overwrite registers that mingw expects to get preserved.
73
+ env["CFLAGS"] = "-I#{install_dir}/embedded/include"
74
+ env["CPPFLAGS"] = env["CFLAGS"]
75
+ env["CXXFLAGS"] = env["CFLAGS"]
76
+ end
77
+
78
+ configure_args = [
79
+ "--prefix=#{install_dir}/embedded",
80
+ "no-unit-test",
81
+ "no-comp",
82
+ "no-idea",
83
+ "no-mdc2",
84
+ "no-rc5",
85
+ "no-ssl2",
86
+ "no-ssl3",
87
+ "no-zlib",
88
+ "shared",
89
+ ]
90
+
91
+ configure_args += ["--libdir=#{install_dir}/embedded/lib"] if version.satisfies?(">=3.0.1")
92
+
93
+ # https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire/
94
+ configure_args += [ "-DOPENSSL_TRUSTED_FIRST_DEFAULT" ] if version.satisfies?(">= 1.0.2zb") && version.satisfies?("< 1.1.0")
95
+
96
+ configure_args += ["--with-fipsdir=#{install_dir}/embedded", "fips"] if fips_mode?
97
+
98
+ configure_cmd =
99
+ if aix?
100
+ "perl ./Configure aix64-cc"
101
+ elsif mac_os_x?
102
+ intel? ? "./Configure darwin64-x86_64-cc" : "./Configure darwin64-arm64-cc no-asm"
103
+ elsif smartos?
104
+ "/bin/bash ./Configure solaris64-x86_64-gcc -static-libgcc"
105
+ elsif omnios?
106
+ "/bin/bash ./Configure solaris-x86-gcc"
107
+ elsif solaris2?
108
+ platform = sparc? ? "solaris64-sparcv9-gcc" : "solaris64-x86_64-gcc"
109
+ if version.satisfies?("< 1.1.0")
110
+ "/bin/bash ./Configure #{platform} -static-libgcc"
111
+ else
112
+ "./Configure #{platform} -static-libgcc"
113
+ end
114
+ elsif windows?
115
+ platform = windows_arch_i386? ? "mingw" : "mingw64"
116
+ "perl.exe ./Configure #{platform}"
117
+ else
118
+ prefix =
119
+ if linux? && ppc64?
120
+ "./Configure linux-ppc64"
121
+ elsif linux? && s390x?
122
+ # With gcc > 4.3 on s390x there is an error building
123
+ # with inline asm enabled
124
+ "./Configure linux64-s390x -DOPENSSL_NO_INLINE_ASM"
125
+ else
126
+ "./config"
127
+ end
128
+ "#{prefix} disable-gost"
129
+ end
130
+
131
+ patch_env = if aix?
132
+ # This enables omnibus to use 'makedepend'
133
+ # from fileset 'X11.adt.imake' (AIX install media)
134
+ env["PATH"] = "/usr/lpp/X11/bin:#{ENV["PATH"]}"
135
+ penv = env.dup
136
+ penv["PATH"] = "/opt/freeware/bin:#{env["PATH"]}"
137
+ penv
138
+ else
139
+ env
140
+ end
141
+
142
+ if version.start_with? "1.0"
143
+ patch source: "openssl-1.0.1f-do-not-build-docs.patch", env: patch_env
144
+ elsif version.start_with? "1.1"
145
+ patch source: "openssl-1.1.0f-do-not-install-docs.patch", env: patch_env
146
+ elsif version.start_with? "3.0"
147
+ patch source: "openssl-3.0.1-do-not-install-docs.patch", env: patch_env
148
+ end
149
+
150
+ if version.start_with?("1.0.2") && mac_os_x? && arm?
151
+ patch source: "openssl-1.0.2x-darwin-arm64.patch"
152
+ end
153
+
154
+ if version.start_with?("1.0.2") && windows?
155
+ # Patch Makefile.org to update the compiler flags/options table for mingw.
156
+ patch source: "openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch", env: env
157
+ end
158
+
159
+ # Out of abundance of caution, we put the feature flags first and then
160
+ # the crazy platform specific compiler flags at the end.
161
+ configure_args << env["CFLAGS"]
162
+
163
+ configure_command = configure_args.unshift(configure_cmd).join(" ")
164
+
165
+ command configure_command, env: env, in_msys_bash: true
166
+
167
+ if version.start_with?("1.0.2") && windows?
168
+ patch source: "openssl-1.0.1j-windows-relocate-dll.patch", env: env
169
+ end
170
+
171
+ make "depend", env: env
172
+ # make -j N on openssl is not reliable
173
+ make env: env
174
+ if aix?
175
+ # We have to sudo this because you can't actually run slibclean without being root.
176
+ # Something in openssl changed in the build process so now it loads the libcrypto
177
+ # and libssl libraries into AIX's shared library space during the first part of the
178
+ # compile. This means we need to clear the space since it's not being used and we
179
+ # can't install the library that is already in use. Ideally we would patch openssl
180
+ # to make this not be an issue.
181
+ # Bug Ref: http://rt.openssl.org/Ticket/Display.html?id=2986&user=guest&pass=guest
182
+ command "sudo /usr/sbin/slibclean", env: env
183
+ end
184
+ make "install", env: env
185
+ end
@@ -0,0 +1,46 @@
1
+ #
2
+ # Copyright 2015-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
+ name "patch"
18
+
19
+ dependency "config_guess"
20
+
21
+ license "GPL-3.0"
22
+ license_file "COPYING"
23
+ skip_transitive_dependency_licensing true
24
+
25
+ default_version "2.7.6"
26
+
27
+ # version_list: url=https://ftp.gnu.org/gnu/patch/ filter=*.tar.gz
28
+
29
+ version("2.7.6") { source sha256: "8cf86e00ad3aaa6d26aca30640e86b0e3e1f395ed99f189b06d4c9f74bc58a4e" }
30
+ version("2.7.5") { source sha256: "7436f5a19f93c3ca83153ce9c5cbe4847e97c5d956e57a220121e741f6e7968f" }
31
+ version("2.7") { source sha256: "59c29f56faa0a924827e6a60c6accd6e2900eae5c6aaa922268c717f06a62048" }
32
+
33
+ source url: "https://ftp.gnu.org/gnu/patch/patch-#{version}.tar.gz"
34
+
35
+ relative_path "patch-#{version}"
36
+
37
+ env = with_standard_compiler_flags(with_embedded_path)
38
+
39
+ build do
40
+
41
+ update_config_guess(target: "build-aux")
42
+
43
+ configure "--disable-xattr", env: env
44
+ make "-j #{workers}", env: env
45
+ make "-j #{workers} install", env: env
46
+ end
@@ -0,0 +1,66 @@
1
+ #
2
+ # Copyright 2019-2020 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
+ # This software definition installs project called 'patchelf' which can be
18
+ # used to change rpath of a precompiled binary.
19
+
20
+ name "patchelf"
21
+
22
+ default_version "0.13.1" # version greater than 0.13.1 require C++17 compiler to build
23
+
24
+ license :project_license
25
+
26
+ skip_transitive_dependency_licensing true
27
+
28
+ # version_list: url=https://github.com/NixOS/patchelf/releases filter=*.tar.gz
29
+
30
+ version "0.15.0" do
31
+ source sha256: "53a8d58ed4e060412b8fdcb6489562b3c62be6f65cee5af30eba60f4423bfa0f"
32
+ relative_path "patchelf-#{version}"
33
+ end
34
+
35
+ version "0.14.5" do
36
+ source sha256: "113ada3f1ace08f0a7224aa8500f1fa6b08320d8f7df05ff58585286ec5faa6f"
37
+ relative_path "patchelf-#{version}"
38
+ end
39
+
40
+ version "0.13.1" do
41
+ source sha256: "08c0237e89be74d61ddf8f6ff218439cdd62af572d568fb38913b53e222831de"
42
+ relative_path "patchelf-0.13.1.20211127.72b6d44"
43
+ end
44
+
45
+ version "0.11" do
46
+ source sha256: "e52378cc2f9379c6e84a04ac100a3589145533a7b0cd26ef23c79dfd8a9038f9"
47
+ relative_path "patchelf-0.11.20200609.d6b2a72"
48
+ end
49
+
50
+ version "0.10" do
51
+ source sha256: "b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019"
52
+ relative_path "patchelf-0.10"
53
+ end
54
+
55
+ if version.satisfies?(">= 0.12")
56
+ source url: "https://github.com/NixOS/patchelf/releases/download/#{version}/patchelf-#{version}.tar.gz"
57
+ else
58
+ source url: "https://nixos.org/releases/patchelf/patchelf-#{version}/patchelf-#{version}.tar.gz"
59
+ end
60
+
61
+ build do
62
+ env = with_standard_compiler_flags(with_embedded_path)
63
+ configure "--prefix #{install_dir}/embedded"
64
+ make env: env
65
+ make "install", env: env
66
+ end
@@ -0,0 +1,53 @@
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 "pcre"
18
+ default_version "8.45"
19
+
20
+ license "BSD-2-Clause"
21
+ license_file "LICENCE"
22
+ skip_transitive_dependency_licensing true
23
+
24
+ dependency "libedit"
25
+ dependency "ncurses"
26
+ dependency "config_guess"
27
+
28
+ # version_list: url=https://sourceforge.net/projects/pcre/files/pcre/ filter=*.tar.gz
29
+
30
+ version("8.45") { source sha256: "4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09" }
31
+ version("8.44") { source sha256: "aecafd4af3bd0f3935721af77b889d9024b2e01d96b58471bd91a3063fb47728" }
32
+ version("8.38") { source sha256: "9883e419c336c63b0cb5202b09537c140966d585e4d0da66147dc513da13e629" }
33
+
34
+ source url: "https://downloads.sourceforge.net/project/pcre/pcre/#{version}/pcre-#{version}.tar.gz"
35
+
36
+ relative_path "pcre-#{version}"
37
+
38
+ build do
39
+ env = with_standard_compiler_flags(with_embedded_path)
40
+
41
+ update_config_guess
42
+
43
+ command "./configure" \
44
+ " --prefix=#{install_dir}/embedded" \
45
+ " --disable-cpp" \
46
+ " --enable-utf" \
47
+ " --enable-unicode-properties" \
48
+ " --enable-pcretest-libedit" \
49
+ "--disable-pcregrep-jit", env: env
50
+
51
+ make "-j #{workers}", env: env
52
+ make "install", env: env
53
+ 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 "perl-extutils-embed"
19
+ default_version "1.14"
20
+
21
+ dependency "perl"
22
+
23
+ source url: "http://search.cpan.org/CPAN/authors/id/D/DO/DOUGM/ExtUtils-Embed-#{version}.tar.gz",
24
+ md5: "b2a2c26a18bca3ce69f8a0b1b54a0105"
25
+
26
+ relative_path "ExtUtils-Embed-#{version}"
27
+
28
+ build do
29
+ env = with_standard_compiler_flags(with_embedded_path).merge(
30
+ "INSTALL_BASE" => "#{install_dir}/embedded"
31
+ )
32
+
33
+ command "#{install_dir}/embedded/bin/perl Makefile.PL", env: env
34
+
35
+ make env: env
36
+ make "install", env: env
37
+ end
@@ -0,0 +1,46 @@
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 "perl-extutils-makemaker"
19
+ default_version "6.78"
20
+
21
+ dependency "perl"
22
+
23
+ version "6.98" do
24
+ source md5: "3eb83b59e33159ecc700bf60ac3c357a"
25
+ end
26
+ version "6.78" do
27
+ source md5: "843886bc1060b5e5c619e34029343eba"
28
+ end
29
+ version "7.10" do
30
+ source md5: "2639a21adee5e0a903730c12dcba08ec"
31
+ end
32
+
33
+ source url: "http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-#{version}.tar.gz"
34
+
35
+ relative_path "ExtUtils-MakeMaker-#{version}"
36
+
37
+ build do
38
+ env = with_standard_compiler_flags(with_embedded_path).merge(
39
+ "INSTALL_BASE" => "#{install_dir}/embedded"
40
+ )
41
+
42
+ command "#{install_dir}/embedded/bin/perl Makefile.PL", env: env
43
+
44
+ make env: env
45
+ make "install", env: env
46
+ end
@@ -0,0 +1,40 @@
1
+ #
2
+ # Copyright 2019 Oregon State University
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 "perl-thread-queue"
19
+ default_version "3.13"
20
+
21
+ dependency "perl"
22
+
23
+ version "3.13" do
24
+ source sha256: "6ba3dacddd2fbb66822b4aa1d11a0a5273cd04c825cb3ff31c20d7037cbfdce8"
25
+ end
26
+
27
+ source url: "http://search.cpan.org/CPAN/authors/id/J/JD/JDHEDDEN/Thread-Queue-#{version}.tar.gz"
28
+
29
+ relative_path "Thread-Queue-#{version}"
30
+
31
+ build do
32
+ env = with_standard_compiler_flags(with_embedded_path).merge(
33
+ "INSTALL_BASE" => "#{install_dir}/embedded"
34
+ )
35
+
36
+ command "#{install_dir}/embedded/bin/perl Makefile.PL", env: env
37
+
38
+ make env: env
39
+ make "install", env: env
40
+ end
@@ -0,0 +1,78 @@
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 "perl"
18
+
19
+ license "Artistic-2.0"
20
+ license_file "Artistic"
21
+ skip_transitive_dependency_licensing true
22
+
23
+ default_version "5.36.0"
24
+
25
+ # versions_list: http://www.cpan.org/src/ filter=*.tar.gz
26
+ version("5.36.0") { source sha256: "e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a" }
27
+ version("5.34.1") { source sha256: "357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1" }
28
+ version("5.34.0") { source sha256: "551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a" }
29
+ version("5.32.1") { source sha256: "03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c" }
30
+ version("5.30.0") { source sha256: "851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2" }
31
+ version("5.22.1") { source sha256: "2b475d0849d54c4250e9cba4241b7b7291cffb45dfd083b677ca7b5d38118f27" }
32
+ version("5.18.1") { source sha256: "655e11a8ffba8853efcdce568a142c232600ed120ac24aaebb4e6efe74e85b2b" }
33
+ source url: "https://www.cpan.org/src/5.0/perl-#{version}.tar.gz"
34
+
35
+ # perl builds perl as libraries into a special directory. We need to include
36
+ # that directory in lib_dirs so omnibus can sign them during macOS deep signing.
37
+ lib_dirs lib_dirs.concat ["#{install_dir}/embedded/lib/perl5/**"]
38
+
39
+ relative_path "perl-#{version}"
40
+
41
+ build do
42
+ env = with_standard_compiler_flags(with_embedded_path)
43
+
44
+ if version.satisfies?("<= 5.34.0")
45
+ patch source: "perl-#{version}-remove_lnsl.patch", plevel: 1, env: env
46
+ end
47
+
48
+ if solaris2?
49
+ cc_command = "-Dcc='gcc -m64 -static-libgcc'"
50
+ elsif aix?
51
+ cc_command = "-Dcc='/opt/IBM/xlc/13.1.0/bin/cc_r -q64'"
52
+ elsif freebsd? && ohai["os_version"].to_i >= 1000024
53
+ cc_command = "-Dcc='clang'"
54
+ elsif mac_os_x?
55
+ cc_command = "-Dcc='clang'"
56
+ else
57
+ cc_command = "-Dcc='gcc -static-libgcc'"
58
+ end
59
+
60
+ configure_command = ["sh Configure",
61
+ " -de",
62
+ " -Dprefix=#{install_dir}/embedded",
63
+ " -Duseshrplib",
64
+ " -Dusethreads",
65
+ " #{cc_command}",
66
+ " -Dnoextensions='DB_File GDBM_File NDBM_File ODBM_File'"]
67
+
68
+ if aix?
69
+ configure_command << "-Dmake=gmake"
70
+ configure_command << "-Duse64bitall"
71
+ end
72
+
73
+ command configure_command.join(" "), env: env
74
+ make "-j #{workers}", env: env
75
+ # using the install.perl target lets
76
+ # us skip install the manpages
77
+ make "install.perl", env: env
78
+ end
@@ -0,0 +1,45 @@
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 "perl_pg_driver"
18
+ default_version "3.16.0"
19
+
20
+ dependency "perl"
21
+ dependency "cpanminus"
22
+ dependency "postgresql"
23
+
24
+ license "Artistic"
25
+ license_file "README"
26
+ license_file "LICENSES/artistic.txt"
27
+
28
+ # version_list: url=https://cpan.metacpan.org/authors/id/T/TU/TURNSTEP/ filter=*.tar.gz
29
+
30
+ version("3.16.0") { source sha256: "2c31163d8bdaaf8beaef9c97b8f260432d67a534bc7b69e7265c21cb841432b8" }
31
+ version("3.15.1") { source sha256: "13c7543b545c9a5253c86550ccd9204d06fe5f34a7dc51769d3dd665563fc17e" }
32
+ version("3.15.0") { source sha256: "69cc19870f9d935f16530be39d0ed60afadc5e560e29c3a17af4498e7e3082d9" }
33
+ version("3.14.2") { source sha256: "c973e98458960a78ec54032a71b3840f178418dd7e69d063e462a0f10ec68e4d" }
34
+ version("3.5.3") { source sha256: "7e98a9b975256a4733db1c0e974cad5ad5cb821489323e395ed97bd058e0a90e" }
35
+ version("3.3.0") { source sha256: "52f43de5b2d916d447d7ed252b127f728b226dc88db57d4fe9712e21d3586ffe" }
36
+
37
+ source url: "https://search.cpan.org/CPAN/authors/id/T/TU/TURNSTEP/DBD-Pg-#{version}.tar.gz"
38
+
39
+ relative_path "DBD-Pg-#{version}"
40
+
41
+ build do
42
+ env = with_standard_compiler_flags(with_embedded_path)
43
+
44
+ command "cpanm -v --notest .", env: env
45
+ end
@@ -0,0 +1,36 @@
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 "pg-gem"
18
+ default_version "0.17.1"
19
+
20
+ license "BSD-2-Clause"
21
+ license_file "https://raw.githubusercontent.com/ged/ruby-pg/master/LICENSE"
22
+ license_file "https://raw.githubusercontent.com/ged/ruby-pg/master/BSDL"
23
+ # pg gem does not have any dependencies. We only install it from
24
+ # rubygems here.
25
+ skip_transitive_dependency_licensing true
26
+
27
+ dependency "ruby"
28
+
29
+ build do
30
+ env = with_standard_compiler_flags(with_embedded_path)
31
+
32
+ gem "install pg" \
33
+ " --version '#{version}'" \
34
+ " --bindir '#{install_dir}/embedded/bin'" \
35
+ " --no-document", env: env
36
+ end