Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog/updates/2026-01-28-openssl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- OpenSSL ([3.5.5](https://github.com/openssl/openssl/blob/openssl-3.5/CHANGES.md#changes-between-354-and-355-27-jan-2026))
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,23 @@ DIST openssl-1.1.1w.tar.gz 9893384 BLAKE2B 2fdba6ca0188928ab2f74e606136afca66cfa
DIST openssl-1.1.1w.tar.gz.asc 833 BLAKE2B d990be69ed913509d52b78e7473668429d4485adb29ef03e4612dd0cadbac4f04c7289d8e5baf6f397bcedeaac9f802f18fc719964d882ae0514ed1ca16ae277 SHA512 0f3d7aa48b1cabf8dd43e8108aeed10a4dffb4f5a244d4da9c86ea358b0c8b90c46da561d21e01c567c2f5035d824ed82ec104aad1776b7f33a1be85990e98ef
DIST openssl-3.0.18.tar.gz 15348046 BLAKE2B 2cb9cefecab790f6e857a63e2ade93e1b28fdfab7110e4ed6049c36c7cc2131e88454cb49e70e0802adf6f9317b3f21e950446a9152b58074f9ffb787732716a SHA512 6bdd16f33b83ae2a12777230c4ff00d0595bbc00253ac8c3ac31e1375e818fc74d7f491bd2e507ff33cab9f0498cfb28fa8690f75a98663568d40901523cdf3c
DIST openssl-3.0.18.tar.gz.asc 833 BLAKE2B bfa698106e314bf8800c5bdf9ec892611a91a2bcb006b7e5f52afc5d0af64be65bf8512e042b37d36db041964aa83c17f4b1ee2f22dcb127d4e4665d3b6c9440 SHA512 cd4cd8afab68cbe0a5b034039112901cf8a25711c55556681f86b04e47389bcffae85a98f155a517156dd9fb29ceb82f627e371881feb928e887053f145bddfd
DIST openssl-3.0.19.tar.gz 15280904 BLAKE2B 0d21fd9037b87c5d22c75e2201208394fa7d6a37ed7a44cc6ae760ab95ff6743a00d26b90141871ba5bd76a56500142df33d04219379e51b6f74e411e9d2b3af SHA512 6e602ac7217e1b4423793ee5c4c10745f70fcde3f9820d6c894ebeedb4f29566e2d0c3c590ae210484dcea4eb53db5bb8dbbfee14bbaca3e147406b1343c3cd7
DIST openssl-3.0.19.tar.gz.asc 833 BLAKE2B f5ed372d80afc3fde1c4298166fabb512bb0f350725497d98a83575b98b049dd8ec3dc169043b11f9135702d37d762bb24afd98eab75d5a42b6554bec2064c8f SHA512 3ae5adb82d071658c3a839d7713c7d4fd09b13dc36860327d0347ca94cb0c712081f03d3e8251af2297b7d1792345a078e18ffa8b92e5f90fe6d5370152813e8
DIST openssl-3.2.6.tar.gz 17805999 BLAKE2B 3c1410d8f8aea119828259cd88d6e8336d20b5176a4b0e1907c79d76fef5954f658bb5c7fd2b20985ed7ee5930842a39c6b1a9aa1a0944c00ead0f81f2c3603d SHA512 a183b9ecfcf75f1dbc7911d726adb26f9da83e307b593dbbd7ded5f46170b63bac44e403cef53d16daf2d8dc116f8c2eb820c9de50d073c75681ef8e5de01c05
DIST openssl-3.2.6.tar.gz.asc 833 BLAKE2B 9f332db499dea93760e1d2f881115cd5c8574141e42b86429d2b009ac6f698ef7341f1a5ff407803506c06fd59e3fe243387befb2ee68584ce88893364c09a17 SHA512 2bfbe94619349fa7af86109a7ad84588a033e690a45d5500e3f1332891e5cb39f18ee631a307b6c8aa5724f2c684b90f276d071a91556f01312bed83d7b30aa3
DIST openssl-3.3.5.tar.gz 18125182 BLAKE2B 377a9a2cbc1f97fb34f1f314789354e047e1bc875eddc4e2aa50578009a3352e196ea33b0d6f57ede199b16d4b0e6096782a0d70ea1a4d923d5543b1caf6ca02 SHA512 4fe2d51afefd21af4e50225bde6dfd2c12eb00ce2a144ee1aadba48463604cd180135b5f71fcea3908977b043ffceb7d2824fa30b969a017df016dccd8519aad
DIST openssl-3.3.5.tar.gz.asc 833 BLAKE2B 7a6e93e68981436932bf3e019e9021863dfafd2699065959086ac1b1f2bda278b94965f5027794ee565e2a80d8c4c0b796b6e17063eccd38e5ec723cfb2411ba SHA512 b79526a5cf0326b63828d534a3ddd2cb5699a226a485345017c9a1ef34fe7610a62a2b6b90d171da8b4660a9937cdf7688c08b93d6e05629a8648627a928676c
DIST openssl-3.3.6.tar.gz 18035615 BLAKE2B 3cc0b33885449192863edc4600d144a98903d2c323f4a6f11e2aba8e6dfa5fa45a9d025d5de60c0511972cb42de9ef7fc81073d8abc5d1d2886b660089b9aaf5 SHA512 3c0840420f30f74404446a9d9fe9ee48222e867190ddc9e51e1c0f1f45c3c0caad6cb41068f65adc2be2aa5e0b8447c42ee821dd28e2ec60140cf004dc3493c1
DIST openssl-3.3.6.tar.gz.asc 833 BLAKE2B 93ea9f040912defd9a228309ce110b1dc535e219223afb0299eacbabb17c333bc282a7656bd870f3d01aa69856c409908d3d0610e541a56d919b1f204bd0b571 SHA512 90f7a392b1348f74e3617212fbad8974d92b8d48832a8d5c338ad792ae25a067ae102475ba935cd41d1a5d89e80458a5f05ef921e942279149d8534bf9ac01e6
DIST openssl-3.4.3.tar.gz 18369414 BLAKE2B e74392b93696d4967d8ec1d0edc2f2d559e56cf6cb28207708d5288a3df2854b37e21b33c9a816829d4215a7575285dd91b65770d0333e966fcc800837bfe3d5 SHA512 84d73d8ee1032b911bd60c8c0c69cca14e37c80c57735789f23d49b968388c641a75add3b347b222228cbb629f0c10c17a2f6c139547bdd261f4bab4a78eb94c
DIST openssl-3.4.3.tar.gz.asc 833 BLAKE2B 52c5c0753230812ce251b274e2e934e9746c51e11aeed73046a5408356d620a32d5703bffe3c0d8933ebc03c659b80d8b1d7d6a77d4876620d0fea3aa54b27ed SHA512 510fbbb693549b0aad3004739f001f8569ca17a859848b48a58afac3f1bd2f92aa2bac649a492fa32bad4e5d5c14f4a6e341253bc6cc9536428307be71daf516
DIST openssl-3.4.4.tar.gz 18278255 BLAKE2B 022d97f839120bdb21a8fa011b42cd1e0f732253f4b7e02172a8cfb5f6a60c855500ce542d49e256ff3cb6428a929487e921ee4834f74dd57d10165ec44924ab SHA512 2f75b045f0dddd2421ecd7b1817a4e5a7608293e797135eb945573d1115b2d89f0fd3706ee5e02c7de2e50b3bfc59ac73014e2cb6270ff6b9e1515691347dbb2
DIST openssl-3.4.4.tar.gz.asc 833 BLAKE2B c8c4e9338e5e6f4630701e894e551bd0606401462762755832e607d3145688624b61beba0c6128f6fbc632d50b8eac13da7c4530300e5579527ad4523251f521 SHA512 a599e8d77426de126a6358d159b46ab9d301962016fa85219f0294e6eb667733436ceeccb0de6017adb71c1b9cd52a496882919e9edd65e749a8ae95d5143cb4
DIST openssl-3.5.4.tar.gz 53190367 BLAKE2B 07e02f88af05e189385eef28599b81bd16d242130975c79df46e565a0dd92f74e59807d4770a2b3316adf08f2ca6a0dd2bfc96ab2a88a8dfb5c0d19197fe8fbf SHA512 365aca6f2e59b5c8261fba683425d177874cf6024b0d216ca309112b879c1f4e8da78617e23c3c95d0b4a26b83ecd0d8348038b999d30e597d19f466c4761227
DIST openssl-3.5.4.tar.gz.asc 833 BLAKE2B 837dfd4778073dbecdf5859dfe11b81dcecd9796a13c06c36c6dadfed04f9cee158759d96116ae8d0985ba29bcaefad874824b8f633f13c252b79a9e28fa7303 SHA512 7bf10c965e5f376979c8cd0a24560ba9d0169ee41d43c54f78642d50d9a27bf111c5553b1ee4c6c1b459b00d465681dea8ba983d0a0396ecc52b9e561769ffe5
DIST openssl-3.5.5.tar.gz 53104821 BLAKE2B 5fe5f7e768ade2dcffdd90841875de3e3a463aac979d57462fa5c69ec5e7288063dfc35cd6b049db007cff9135089fa05956f715476e12efc58a7d6969f6d29a SHA512 7cf0eb91bac175f7fe0adcafef457790d43fe7f98e2d4bef681c2fd5ca365e1fa5b562c645a60ab602365adedf9d91c074624eea66d3d7e155639fc50d5861ec
DIST openssl-3.5.5.tar.gz.asc 833 BLAKE2B 122e9abcadb8559ef42dda7cc985c1457852243f8e8fb12e9a1d3b824853a56f311726252c6b1cfde47c3d5500bf36c18d8f7f19c42582c8f40d974dac22011f SHA512 82645f4fb427467b1e52f096ef6c6ccbdaa5aefcd28c8d3149a92f7c7711d0936e1e097f4168db6196809c19f83c1b85068d327cc1f0c5ad9f33d9d3686003d7
DIST openssl-3.6.0.tar.gz 54974351 BLAKE2B 4a0150aa9a78581e74119b338848458249630c94a43589a5b311d41c669b817b043007ddd13b3fb81233da10af3ccd455f3fbf3b09cf45016c475a8e2044e965 SHA512 866825a1cdf0b705b409402fbc7a713e7d9b8e7736c5126be57b354927954c148a341fc52b02c0629c1e015a889bfd40217f8e703b73235892e91da060909b76
DIST openssl-3.6.0.tar.gz.asc 833 BLAKE2B 47e8aff0e9c0306213c0e3db689c16f7ee65d28a3d1201f317f184980237725598cec5256fc3453e48802ba28f0301867ab9e1413724d68773ead9125562d3c9 SHA512 1622ee1a099a1d2c5cac4de4c464574cd8b2d9c2bd565aa5f7a7efd6d4081849937d3d1b6d6e34254e0904f79a9c2477fb692c71599792092ceb09fc11a30d8d
DIST openssl-3.6.1.tar.gz 54891951 BLAKE2B da949967d40ca9e17baf1bedded5080e37bce2dfc187f2a46f80ec01e708f9d550d055ef8557812135c4a1081b8f3477c5d4dbe46e0f39a9b696a7dbdc6b769a SHA512 492cd2e0a7506e085d9840a929ead994390409a35c24e47e0cf44987920711b61f1513f21b7eee50e56f226b26cd654cda6dbd1f6e439563a93a8f0e530fefb5
DIST openssl-3.6.1.tar.gz.asc 833 BLAKE2B 3af3fc0b57503cf5d1a8c34a460d76fcde1823250c721ac10f523196f57ceb3e7ceb66332af3e10ec24eefa3e4acec145349bedf37fe29fe2dde787f3001ebb3 SHA512 a1feb4e309d5288ed33e9459cee24272b67321eb037e11effd8ac0626aca792be5b442cc8c5e0c1abd288a1c0d05c8af7927b8c4a08e7685c92a6561ad806659
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ case ${CHOST} in
*-winnt*) system="winnt";;
x86_64-*-mingw*) system="mingw64";;
*mingw*) system="mingw";;
*-gnu*) system="hurd";;
*) exit 0;;
esac

Expand Down Expand Up @@ -165,6 +166,13 @@ mingw*)
# special case ... no xxx-yyy style name
echo ${system}
;;
hurd)
case ${chost_machine} in
i[0-9]86*) machine=x86;;
x86_64*) machine=x86_64;;
*) machine=generic32;;
esac
;;
esac


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ case ${CHOST} in
*-winnt*) system="winnt";;
x86_64-*-mingw*) system="mingw64";;
*mingw*) system="mingw";;
*-gnu*) system="hurd";;
*) exit 0;;
esac

Expand Down Expand Up @@ -179,6 +180,13 @@ mingw*)
# special case ... no xxx-yyy style name
echo ${system}
;;
hurd)
case ${chost_machine} in
i[0-9]86*) machine=x86;;
x86_64*) machine=x86_64;;
*) machine=generic32;;
esac
;;
esac


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz

LICENSE="openssl"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux ~arm64-macos"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos"
IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test tls-compression +tls-heartbeat vanilla"
RESTRICT="!bindist? ( bindist )
!test? ( test )"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="openssl"
SLOT="0/1.1" # .so version of libssl/libcrypto
if [[ ${PV} != *_pre* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi
IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla verify-sig weak-ssl-ciphers"
RESTRICT="!test? ( test )"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ else
"

if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi

BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,289 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
inherit edo flag-o-matic linux-info toolchain-funcs
inherit multilib multilib-minimal multiprocessing preserve-libs

DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
HOMEPAGE="https://openssl-library.org/"

MY_P=${P/_/-}

if [[ ${PV} == *9999 ]] ; then
[[ ${PV} == *.*.9999 ]] && EGIT_BRANCH="openssl-${PV%%.9999}"
EGIT_REPO_URI="https://github.com/openssl/openssl.git"

inherit git-r3
else
inherit verify-sig
SRC_URI="
https://github.com/openssl/openssl/releases/download/${P}/${P}.tar.gz
verify-sig? (
https://github.com/openssl/openssl/releases/download/${P}/${P}.tar.gz.asc
)
"

if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi

BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )"
fi

S="${WORKDIR}"/${MY_P}

LICENSE="Apache-2.0"
SLOT="0/3" # .so version of libssl/libcrypto
IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla weak-ssl-ciphers"
RESTRICT="!test? ( test )"

COMMON_DEPEND="
tls-compression? ( >=virtual/zlib-1.2.8-r1:=[static-libs(+)?,${MULTILIB_USEDEP}] )
"
BDEPEND+="
>=dev-lang/perl-5
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
app-alternatives/bc
sys-process/procps
)
"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
PDEPEND="app-misc/ca-certificates"

MULTILIB_WRAPPED_HEADERS=(
/usr/include/openssl/configuration.h
)

pkg_setup() {
if use ktls ; then
if kernel_is -lt 4 18 ; then
ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
else
CONFIG_CHECK="~TLS ~TLS_DEVICE"
ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"

linux-info_pkg_setup
fi
fi

[[ ${MERGE_TYPE} == binary ]] && return

# must check in pkg_setup; sysctl doesn't work with userpriv!
if use test && use sctp ; then
# test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
# if sctp.auth_enable is not enabled.
local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
fi
fi
}

src_prepare() {
# Make sure we only ever touch Makefile.org and avoid patching a file
# that gets blown away anyways by the Configure script in src_configure
rm -f Makefile || die

if ! use vanilla ; then
PATCHES+=(
# Add patches which are Gentoo-specific customisations here
)
fi

default

if use test && use sctp && has network-sandbox ${FEATURES} ; then
einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
rm test/recipes/80-test_ssl_new.t || die
fi

# Test fails depending on kernel configuration, bug #699134
rm test/recipes/30-test_afalg.t || die
}

src_configure() {
# Keep this in sync with app-misc/c_rehash
SSL_CNF_DIR="/etc/ssl"

# Quiet out unknown driver argument warnings since openssl
# doesn't have well-split CFLAGS and we're making it even worse
# and 'make depend' uses -Werror for added fun (bug #417795 again)
tc-is-clang && append-flags -Qunused-arguments

# We really, really need to build OpenSSL w/ strict aliasing disabled.
# It's filled with violations and it *will* result in miscompiled
# code. This has been in the ebuild for > 10 years but even in 2022,
# it's still relevant:
# - https://github.com/llvm/llvm-project/issues/55255
# - https://github.com/openssl/openssl/issues/12247
# - https://github.com/openssl/openssl/issues/18225
# - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
# Don't remove the no strict aliasing bits below!
filter-flags -fstrict-aliasing
append-flags -fno-strict-aliasing
# The OpenSSL developers don't test with LTO right now, it leads to various
# warnings/errors (which may or may not be false positives), it's considered
# unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
filter-lto

append-flags $(test-flags-CC -Wa,--noexecstack)

# bug #895308
append-atomic-flags
# Configure doesn't respect LIBS
export LDLIBS="${LIBS}"

# bug #197996
unset APPS
# bug #312551
unset SCRIPTS
# bug #311473
unset CROSS_COMPILE

tc-export AR CC CXX RANLIB RC

multilib-minimal_src_configure
}

multilib_src_configure() {
use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }

local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")

# See if our toolchain supports __uint128_t. If so, it's 64bit
# friendly and can use the nicely optimized code paths, bug #460790.
#local ec_nistp_64_gcc_128
#
# Disable it for now though (bug #469976)
# Do NOT re-enable without substantial discussion first!
#
#echo "__uint128_t i;" > "${T}"/128.c
#if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
# ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
#fi

local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
einfo "Using configuration: ${sslout:-(openssl knows best)}"

# https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
local myeconfargs=(
${sslout}

$(use cpu_flags_x86_sse2 || echo "no-sse2")
enable-camellia
enable-ec
enable-ec2m
enable-sm2
enable-srp
$(use elibc_musl && echo "no-async")
enable-idea
enable-mdc2
enable-rc5
$(use fips && echo "enable-fips")
$(use_ssl asm)
$(use_ssl ktls)
$(use_ssl rfc3779)
$(use_ssl sctp)
$(use test || echo "no-tests")
$(use_ssl tls-compression zlib)
$(use_ssl weak-ssl-ciphers)

--prefix="${EPREFIX}"/usr
--openssldir="${EPREFIX}"${SSL_CNF_DIR}
--libdir=$(get_libdir)

shared
threads
)

edo perl "${S}/Configure" "${myeconfargs[@]}"
}

multilib_src_compile() {
emake build_sw

if multilib_is_native_abi; then
emake build_docs
fi
}

multilib_src_test() {
# VFP = show subtests verbosely and show failed tests verbosely
# Normal V=1 would show everything verbosely but this slows things down.
emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
}

multilib_src_install() {
# Only -j1 is supported for the install targets:
# https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
emake DESTDIR="${D}" -j1 install_sw
if use fips; then
emake DESTDIR="${D}" -j1 install_fips
# Regen this in pkg_preinst, bug 900625
rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
fi

if multilib_is_native_abi; then
emake DESTDIR="${D}" -j1 install_ssldirs
emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
fi

# This is crappy in that the static archives are still built even
# when USE=static-libs. But this is due to a failing in the openssl
# build system: the static archives are built as PIC all the time.
# Only way around this would be to manually configure+compile openssl
# twice; once with shared lib support enabled and once without.
if ! use static-libs ; then
rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
fi
}

multilib_src_install_all() {
# openssl installs perl version of c_rehash by default, but
# we provide a shell version via app-misc/c_rehash
rm "${ED}"/usr/bin/c_rehash || die

dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el

# Create the certs directory
keepdir ${SSL_CNF_DIR}/certs

# bug #254521
dodir /etc/sandbox.d
echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl

diropts -m0700
keepdir ${SSL_CNF_DIR}/private
}

pkg_preinst() {
if use fips; then
# Regen fipsmodule.cnf, bug 900625
ebegin "Running openssl fipsinstall"
LD_LIBRARY_PATH="${ED}/usr/$(get_libdir)" \
"${ED}/usr/bin/openssl" fipsinstall -quiet \
-out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
-module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
eend $?
fi

preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
/usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
}

pkg_postinst() {
ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
eend $?

preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
/usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ else
"

if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
fi

BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )"
Expand Down
Loading