Subject: [PATCH] gnu: quassel: Enable SSL

From: Ryan Moe <[email-masked]>
Date: Sat, 22 Jul 2017 07:18:42 -0700

This allows quasselclient to connect to SSL-enabled quasselcore
instances.

* gnu/packages/patches/quassel-fix-ssl-check.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/irc.scm (quassel)[arguments]: Use it.
---
 gnu/local.mk                                     |  1 +
 gnu/packages/irc.scm                             |  3 ++-
 gnu/packages/patches/quassel-fix-ssl-check.patch | 23 +++++++++++++++++++++++
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/quassel-fix-ssl-check.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 6d9e57062..f1f343b86 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -984,6 +984,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/qt4-ldflags.patch			\
   %D%/packages/patches/qtscript-disable-tests.patch		\
   %D%/packages/patches/quagga-reproducible-build.patch          \
+  %D%/packages/patches/quassel-fix-ssl-check.patch              \
   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
   %D%/packages/patches/rapicorn-isnan.patch			\
   %D%/packages/patches/raptor2-heap-overflow.patch		\
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 011665d38..8bd877d28 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -68,7 +68,8 @@
                             version ".tar.bz2"))
         (sha256
          (base32
-          "0ka456fb8ha3w7g74xlzfg6w4azxjjxgrhl4aqpbwg3lnd6fbr4k"))))
+          "0ka456fb8ha3w7g74xlzfg6w4azxjjxgrhl4aqpbwg3lnd6fbr4k"))
+              (patches (search-patches "quassel-fix-ssl-check.patch"))))
     (build-system cmake-build-system)
     (arguments
       ;; The three binaries are not mutually exlusive, and are all built
diff --git a/gnu/packages/patches/quassel-fix-ssl-check.patch b/gnu/packages/patches/quassel-fix-ssl-check.patch
new file mode 100644
index 000000000..14c57883f
--- /dev/null
+++ b/gnu/packages/patches/quassel-fix-ssl-check.patch
@@ -0,0 +1,23 @@
+The check in qglobal.h requires -fPIC (not -fPIE as it
+is now). When this check fails SSL is disabled.
+
+This patch comes from upstream master [0] and can be removed
+when the next version is packaged.
+
+[0] https://github.com/quassel/quassel/commit/4768c9e99
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -428,6 +428,11 @@ endif()
+ cmake_push_check_state(RESET)
+ set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES} ${Qt5Core_INCLUDE_DIRS})
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
++
++if (USE_QT5 AND Qt5_POSITION_INDEPENDENT_CODE)
++    set(CMAKE_REQUIRED_FLAGS "-fPIC -DQT_NO_VERSION_TAGGING")
++endif()
++
+ check_cxx_source_compiles("
+     #include \"qglobal.h\"
+     #if defined QT_NO_SSL
+
-- 
2.13.3