Browse Source

gnu: libqalculate: Fix libcurl gnutls CA cert bundle file.

* gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/maths.scm (libqalculate)[source]: Use it.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
wip-gnome3.36
R Veera Kumar 2 years ago
committed by Danny Milosavljevic
parent
commit
9b3c231e3c
No known key found for this signature in database GPG Key ID: E71A35542C30BAA5
  1. 1
      gnu/local.mk
  2. 4
      gnu/packages/maths.scm
  3. 53
      gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch

1
gnu/local.mk

@ -1144,6 +1144,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \

4
gnu/packages/maths.scm

@ -5416,7 +5416,9 @@ researchers and developers alike to get started on SAT.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df"))))
(base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df"))
(patches
(search-patches "libqalculate-3.8.0-libcurl-ssl-fix.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

53
gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch

@ -0,0 +1,53 @@
Author: R Veera Kumar 2020 <vkor@vkten.in>
Desc:
1) Fixes download of exchange rates by specifying SSL CA certificates bundle
file while using libcurl (Since libcurl in guix is compiled without using
a default CA cert bundle file)
2) Like above fix for using https site in another case
diff -uNr libqalculate-3.8.0/libqalculate/Calculator-definitions.cc libqalculate-3.8.0.new/libqalculate/Calculator-definitions.cc
--- libqalculate-3.8.0/libqalculate/Calculator-definitions.cc 2020-02-16 15:08:29.000000000 +0530
+++ libqalculate-3.8.0.new/libqalculate/Calculator-definitions.cc 2020-04-17 21:27:36.386039369 +0530
@@ -3610,6 +3610,7 @@
curl = curl_easy_init();
if(!curl) {return false;}
curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(1).c_str());
+ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer);
@@ -3663,6 +3664,7 @@
sbuffer = "";
curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(2).c_str());
+ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer);
@@ -3687,6 +3689,7 @@
sbuffer = "";
curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(3).c_str());
+ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer);
@@ -3710,6 +3713,7 @@
sbuffer = "";
curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(4).c_str());
+ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
curl_easy_setopt(curl, CURLOPT_TIMEOUT, (timeout > 4 && n <= 0) ? 4 : timeout);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer);
diff -uNr libqalculate-3.8.0/libqalculate/util.cc libqalculate-3.8.0.new/libqalculate/util.cc
--- libqalculate-3.8.0/libqalculate/util.cc 2019-12-14 22:56:45.000000000 +0530
+++ libqalculate-3.8.0.new/libqalculate/util.cc 2020-04-17 21:12:17.259674572 +0530
@@ -769,6 +769,7 @@
curl = curl_easy_init();
if(!curl) {return -1;}
curl_easy_setopt(curl, CURLOPT_URL, "https://qalculate.github.io/CURRENT_VERSIONS");
+ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer);
Loading…
Cancel
Save