[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#40663] [PATCH v2] gnu: libqalculate: Fixes for libcurl gnutls CA ce
From: |
R Veera Kumar |
Subject: |
[bug#40663] [PATCH v2] gnu: libqalculate: Fixes for libcurl gnutls CA cert bundle file |
Date: |
Fri, 17 Apr 2020 22:21:01 +0530 |
* 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.
---
Changes in v2:
- Use getenv to get path of CA cert bundle file
- Include fix for missed exchange urls
---
gnu/local.mk | 1 +
gnu/packages/maths.scm | 4 +-
.../libqalculate-3.8.0-libcurl-ssl-fix.patch | 53 +++++++++++++++++++
3 files changed, 57 insertions(+), 1 deletion(-)
create mode 100644
gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index af79f9afed..fb0454fd45 100644
--- a/gnu/local.mk
+++ b/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 \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 9930f491a2..7db2b31012 100644
--- a/gnu/packages/maths.scm
+++ b/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)
diff --git a/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch
b/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch
new file mode 100644
index 0000000000..b638963874
--- /dev/null
+++ b/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch
@@ -0,0 +1,53 @@
+Author: R Veera Kumar 2020 <address@hidden>
+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);
--
2.26.1