From 8bb288997adf7e4dbe498bfa4ff3baed3e42c455 Mon Sep 17 00:00:00 2001 From: Sven Eden Date: Mon, 14 Dec 2020 17:37:48 +0100 Subject: [PATCH] dev-libs/s2n: Fix USE="test" and remove -Werror USE="test" was broken, because building of a shared library does not work at the moment. Fixed by removing hidden default visibility. See: https://github.com/awslabs/s2n/issues/2401 -Werror is not recommended for releases and should always be disabled when encountered in build-logs, because there are numerous cases where this breaks without purpose. Closes: https://bugs.gentoo.org/759796 Closes: https://bugs.gentoo.org/759799 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Sven Eden Closes: https://github.com/gentoo/gentoo/pull/18651 Signed-off-by: Joonas Niilola --- .../s2n/files/s2n-0.10.21-remove_Werror.patch | 22 +++++++++++++++++++ ...n-0.10.21.ebuild => s2n-0.10.21-r1.ebuild} | 15 +++++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch rename dev-libs/s2n/{s2n-0.10.21.ebuild => s2n-0.10.21-r1.ebuild} (69%) diff --git a/dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch b/dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch new file mode 100644 index 0000000000000..d0eadc7a8bd30 --- /dev/null +++ b/dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch @@ -0,0 +1,22 @@ +--- a/CMakeLists.txt 2020-12-14 17:24:27.577239622 +0100 ++++ b/CMakeLists.txt 2020-12-14 17:24:50.036240917 +0100 +@@ -193,7 +193,7 @@ + + set(CMAKE_C_FLAGS_DEBUGOPT "") + +-target_compile_options(${PROJECT_NAME} PRIVATE -pedantic -std=gnu99 -Wall -Werror -Wimplicit -Wunused -Wcomment -Wchar-subscripts ++target_compile_options(${PROJECT_NAME} PRIVATE -pedantic -std=gnu99 -Wall -Wimplicit -Wunused -Wcomment -Wchar-subscripts + -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -Wno-deprecated-declarations -Wno-unknown-pragmas -Wformat-security + -Wno-missing-braces -fvisibility=hidden -DS2N_EXPORTS) + +--- a/s2n.mk 2020-12-14 17:24:35.546240082 +0100 ++++ b/s2n.mk 2020-12-14 17:25:05.604241814 +0100 +@@ -42,7 +42,7 @@ + DEFAULT_CFLAGS = -std=c99 -Wcast-qual + endif + +-DEFAULT_CFLAGS += -pedantic -Wall -Werror -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized \ ++DEFAULT_CFLAGS += -pedantic -Wall -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized \ + -Wshadow -Wcast-align -Wwrite-strings -fPIC -Wno-missing-braces\ + -D_POSIX_C_SOURCE=200809L -O2 -I$(LIBCRYPTO_ROOT)/include/ \ + -I$(S2N_ROOT)/api/ -I$(S2N_ROOT) -Wno-deprecated-declarations -Wno-unknown-pragmas -Wformat-security \ diff --git a/dev-libs/s2n/s2n-0.10.21.ebuild b/dev-libs/s2n/s2n-0.10.21-r1.ebuild similarity index 69% rename from dev-libs/s2n/s2n-0.10.21.ebuild rename to dev-libs/s2n/s2n-0.10.21-r1.ebuild index 225dc51446154..270991d36e4d1 100644 --- a/dev-libs/s2n/s2n-0.10.21.ebuild +++ b/dev-libs/s2n/s2n-0.10.21-r1.ebuild @@ -22,8 +22,12 @@ RDEPEND=" " DEPEND="${RDEPEND}" +PATCHES=( + "${FILESDIR}"/${P}-remove_Werror.patch +) + src_prepare() { - default + cmake_src_prepare # Fix # QA Notice: The following files contain writable and executable sections (...) @@ -31,7 +35,14 @@ src_prepare() { -e '$a\\n#if defined(__linux__) && defined(__ELF__)\n.section .note.GNU-stack,"",%progbits\n#endif' \ -i "${S}"/pq-crypto/sike_r2/fp_x64_asm.S || die "sed failed" - cmake_src_prepare + # Fix shared library building, needed for USE="test" + # See: https://github.com/awslabs/s2n/issues/2401 + if use test; then + sed -i -e 's, -fvisibility=hidden,,' "${S}"/CMakeLists.txt || die "sed failed" + # Remove s2n_self_talk_nonblocking_test, it is broken. + # See: https://github.com/awslabs/s2n/issues/2051#issuecomment-744543724 + rm "${S}"/tests/unit/s2n_self_talk_nonblocking_test.c + fi } src_configure() {