commit:     8bb288997adf7e4dbe498bfa4ff3baed3e42c455
Author:     Sven Eden <sven.eden <AT> prydeworx <DOT> com>
AuthorDate: Mon Dec 14 16:37:48 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Dec 17 15:04:42 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bb28899

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 <sven.eden <AT> prydeworx.com>
Closes: https://github.com/gentoo/gentoo/pull/18651
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch | 22 ++++++++++++++++++++++
 .../{s2n-0.10.21.ebuild => s2n-0.10.21-r1.ebuild}  | 15 +++++++++++++--
 2 files changed, 35 insertions(+), 2 deletions(-)

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 00000000000..d0eadc7a8bd
--- /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 225dc514461..270991d36e4 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() {

Reply via email to