From 3d90c689cfa3a0d508c26659a86d8fca6ddbbc22 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sat, 22 Jul 2017 19:42:26 +0200 Subject: [PATCH] synergy: add patch to build with openssl 1.1 --- pkgs/applications/misc/synergy/default.nix | 4 +++- .../misc/synergy/openssl-1.1.patch | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/misc/synergy/openssl-1.1.patch diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 6c02a51367e..89d493bcd01 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, xlibsWrapper, libX11, libXi, libXtst, libXrandr +{ stdenv, fetchFromGitHub, fetchpatch, cmake, xlibsWrapper, libX11, libXi, libXtst, libXrandr , xinput, curl, openssl, unzip }: with stdenv.lib; @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "0ksgr9hkf09h54572p7k7b9zkfhcdb2g2d5x7ixxn028y8i3jyp3"; }; + patches = [ ./openssl-1.1.patch ]; + postPatch = '' ${unzip}/bin/unzip -d ext/gmock-1.6.0 ext/gmock-1.6.0.zip ${unzip}/bin/unzip -d ext/gtest-1.6.0 ext/gtest-1.6.0.zip diff --git a/pkgs/applications/misc/synergy/openssl-1.1.patch b/pkgs/applications/misc/synergy/openssl-1.1.patch new file mode 100644 index 00000000000..56dc6112844 --- /dev/null +++ b/pkgs/applications/misc/synergy/openssl-1.1.patch @@ -0,0 +1,18 @@ +--- a/src/lib/net/SecureSocket.cpp 2017-07-22 19:33:22.442645291 +0200 ++++ b/src/lib/net/SecureSocket.cpp 2017-07-22 19:36:25.632595581 +0200 +@@ -805,9 +805,14 @@ + showCipherStackDesc(sStack); + } + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + // m_ssl->m_ssl->session->ciphers is not forward compatable, In future release +- // of OpenSSL, it's not visible, need to use SSL_get_client_ciphers() instead ++ // of OpenSSL, it's not visible + STACK_OF(SSL_CIPHER) * cStack = m_ssl->m_ssl->session->ciphers; ++#else ++ // Use SSL_get_client_ciphers() for newer versions ++ STACK_OF(SSL_CIPHER) * cStack = SSL_get_client_ciphers(m_ssl->m_ssl); ++#endif + if (cStack == NULL) { + LOG((CLOG_DEBUG1 "remote cipher list not available")); + }