openssh: add version 9.4p1 and fix compile issue with new zlib-1.3 (#40174)
The fix for the compile issue was improved by Bernhard Kaindl. He also added to fix two classes of other build fails: - add missing openssl dependency version limit to older openssh versions - add missing -fcommon for new compilers building old openssh versions Co-authored-by: snehring <snehring@iastate.edu>
This commit is contained in:
parent
b57c2a10d4
commit
3d2c779b87
@ -23,6 +23,7 @@ class Openssh(AutotoolsPackage):
|
||||
|
||||
tags = ["core-packages"]
|
||||
|
||||
version("9.4p1", sha256="3608fd9088db2163ceb3e600c85ab79d0de3d221e59192ea1923e23263866a85")
|
||||
version("9.3p1", sha256="e9baba7701a76a51f3d85a62c383a3c9dcd97fa900b859bc7db114c1868af8a8")
|
||||
version("9.2p1", sha256="3f66dbf1655fb45f50e1c56da62ab01218c228807b21338d634ebcdf9d71cf46")
|
||||
version("9.1p1", sha256="19f85009c7e3e23787f0236fbb1578392ab4d4bf9f8ec5fe6bc1cd7e8bfdd288")
|
||||
@ -54,6 +55,9 @@ class Openssh(AutotoolsPackage):
|
||||
|
||||
depends_on("krb5+shared", when="+gssapi")
|
||||
depends_on("openssl@:1.0", when="@:7.7p1")
|
||||
depends_on("openssl@:1.1", when="@:7.9p1")
|
||||
# 8.7 and earlier don't support openssl@3.1:
|
||||
depends_on("openssl@:3.0", when="@:8.7p1")
|
||||
depends_on("openssl")
|
||||
depends_on("libedit")
|
||||
depends_on("ncurses")
|
||||
@ -96,6 +100,8 @@ def determine_version(cls, exe):
|
||||
def patch(self):
|
||||
# #29938: skip set-suid (also see man ssh-key-sign: it's not enabled by default)
|
||||
filter_file(r"\$\(INSTALL\) -m 4711", "$(INSTALL) -m711", "Makefile.in")
|
||||
# #39599: fix configure to parse zlib 1.3's version number to prevent build fail
|
||||
filter_file(r"if \(n != 3 && n != 4\)", "if (n < 2)", "configure")
|
||||
|
||||
# https://github.com/Homebrew/homebrew-core/blob/7aabdeb30506be9b01708793ae553502c115dfc8/Formula/o/openssh.rb#L71-L77
|
||||
if self.spec.target.family == "x86_64" and self.spec.platform == "darwin":
|
||||
@ -127,6 +133,9 @@ def setup_build_environment(self, env):
|
||||
# to use the MacOS patches
|
||||
if self.spec.platform == "darwin":
|
||||
env.append_flags("CPPFLAGS", "-D__APPLE_SANDBOX_NAMED_EXTERNAL__")
|
||||
# For "@:7": Newer compilers use -fno-common by default and fail on tun_fwd_ifnames:
|
||||
if self.spec.satisfies("@:7 %gcc@10:") or self.spec.satisfies("@:7 %clang@11:"):
|
||||
env.append_flags("CFLAGS", "-fcommon")
|
||||
|
||||
def setup_test_environment(self, env):
|
||||
"""Configure the regression test suite like Debian's openssh-tests package"""
|
||||
|
Loading…
Reference in New Issue
Block a user