From df65372f5f63c245f66a34b7ef8d2c18271ffb18 Mon Sep 17 00:00:00 2001 From: John Date: Wed, 8 Jul 2020 17:19:30 +0200 Subject: [PATCH] kiwix-lib: update to 9.3.0. --- ...8b94eb94e631b263706e24a363b69564fe55.patch | 241 ++++++++++++++++++ srcpkgs/kiwix-lib/template | 4 +- 2 files changed, 243 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/kiwix-lib/patches/cf8e8b94eb94e631b263706e24a363b69564fe55.patch diff --git a/srcpkgs/kiwix-lib/patches/cf8e8b94eb94e631b263706e24a363b69564fe55.patch b/srcpkgs/kiwix-lib/patches/cf8e8b94eb94e631b263706e24a363b69564fe55.patch new file mode 100644 index 00000000000..4c57f7ef15e --- /dev/null +++ b/srcpkgs/kiwix-lib/patches/cf8e8b94eb94e631b263706e24a363b69564fe55.patch @@ -0,0 +1,241 @@ +From cf8e8b94eb94e631b263706e24a363b69564fe55 Mon Sep 17 00:00:00 2001 +From: Kelson +Date: Wed, 8 Jul 2020 11:38:57 +0200 +Subject: [PATCH] Fix compilation with libmicrohttpd v0.97.1 + +--- + src/microhttpd_wrapper.h | 24 +++++++++++++ + src/server.cpp | 62 +++++++++++++++++----------------- + src/server/request_context.cpp | 8 ++--- + src/server/request_context.h | 6 ++-- + src/server/response.cpp | 6 ++-- + src/server/response.h | 4 +-- + 6 files changed, 67 insertions(+), 43 deletions(-) + create mode 100644 src/microhttpd_wrapper.h + +diff --git a/src/microhttpd_wrapper.h b/src/microhttpd_wrapper.h +new file mode 100644 +index 0000000..f609f3d +--- /dev/null ++++ src/microhttpd_wrapper.h +@@ -0,0 +1,24 @@ ++/* ++ * Copyright 2020 Emmanuel Engelhart ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 3 of the License, or ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ++ * MA 02110-1301, USA. ++ */ ++ ++#include ++ ++#if MHD_VERSION < 0x00097002 ++typedef int MHD_Result; ++#endif +diff --git a/src/server.cpp b/src/server.cpp +index 2547d2e..22bc17a 100644 +--- src/server.cpp ++++ src/server.cpp +@@ -36,7 +36,7 @@ + #endif + + extern "C" { +-#include ++#include "microhttpd_wrapper.h" + } + + #include "tools/otherTools.h" +@@ -77,14 +77,14 @@ static IdNameMapper defaultNameMapper; + + typedef kainjow::mustache::data MustacheData; + +-static int staticHandlerCallback(void* cls, +- struct MHD_Connection* connection, +- const char* url, +- const char* method, +- const char* version, +- const char* upload_data, +- size_t* upload_data_size, +- void** cont_cls); ++static MHD_Result staticHandlerCallback(void* cls, ++ struct MHD_Connection* connection, ++ const char* url, ++ const char* method, ++ const char* version, ++ const char* upload_data, ++ size_t* upload_data_size, ++ void** cont_cls); + + + class InternalServer { +@@ -101,13 +101,13 @@ class InternalServer { + bool blockExternalLinks); + virtual ~InternalServer() = default; + +- int handlerCallback(struct MHD_Connection* connection, +- const char* url, +- const char* method, +- const char* version, +- const char* upload_data, +- size_t* upload_data_size, +- void** cont_cls); ++ MHD_Result handlerCallback(struct MHD_Connection* connection, ++ const char* url, ++ const char* method, ++ const char* version, ++ const char* upload_data, ++ size_t* upload_data_size, ++ void** cont_cls); + bool start(); + void stop(); + +@@ -267,14 +267,14 @@ void InternalServer::stop() + MHD_stop_daemon(mp_daemon); + } + +-static int staticHandlerCallback(void* cls, +- struct MHD_Connection* connection, +- const char* url, +- const char* method, +- const char* version, +- const char* upload_data, +- size_t* upload_data_size, +- void** cont_cls) ++static MHD_Result staticHandlerCallback(void* cls, ++ struct MHD_Connection* connection, ++ const char* url, ++ const char* method, ++ const char* version, ++ const char* upload_data, ++ size_t* upload_data_size, ++ void** cont_cls) + { + InternalServer* _this = static_cast(cls); + +@@ -287,13 +287,13 @@ static int staticHandlerCallback(void* cls, + cont_cls); + } + +-int InternalServer::handlerCallback(struct MHD_Connection* connection, +- const char* url, +- const char* method, +- const char* version, +- const char* upload_data, +- size_t* upload_data_size, +- void** cont_cls) ++MHD_Result InternalServer::handlerCallback(struct MHD_Connection* connection, ++ const char* url, ++ const char* method, ++ const char* version, ++ const char* upload_data, ++ size_t* upload_data_size, ++ void** cont_cls) + { + auto start_time = std::chrono::steady_clock::now(); + if (m_verbose.load() ) { +diff --git a/src/server/request_context.cpp b/src/server/request_context.cpp +index 9ed28be..93fc60c 100644 +--- src/server/request_context.cpp ++++ src/server/request_context.cpp +@@ -92,16 +92,16 @@ RequestContext::RequestContext(struct MHD_Connection* connection, + RequestContext::~RequestContext() + {} + +-int RequestContext::fill_header(void *__this, enum MHD_ValueKind kind, +- const char *key, const char *value) ++MHD_Result RequestContext::fill_header(void *__this, enum MHD_ValueKind kind, ++ const char *key, const char *value) + { + RequestContext *_this = static_cast(__this); + _this->headers[key] = value; + return MHD_YES; + } + +-int RequestContext::fill_argument(void *__this, enum MHD_ValueKind kind, +- const char *key, const char* value) ++MHD_Result RequestContext::fill_argument(void *__this, enum MHD_ValueKind kind, ++ const char *key, const char* value) + { + RequestContext *_this = static_cast(__this); + _this->arguments[key] = value == nullptr ? "" : value; +diff --git a/src/server/request_context.h b/src/server/request_context.h +index 4860fcf..7cb8f3d 100644 +--- src/server/request_context.h ++++ src/server/request_context.h +@@ -30,7 +30,7 @@ + #include "byte_range.h" + + extern "C" { +-#include ++#include "microhttpd_wrapper.h" + } + + namespace kiwix { +@@ -98,8 +98,8 @@ class RequestContext { + std::map arguments; + + private: // functions +- static int fill_header(void *, enum MHD_ValueKind, const char*, const char*); +- static int fill_argument(void *, enum MHD_ValueKind, const char*, const char*); ++ static MHD_Result fill_header(void *, enum MHD_ValueKind, const char*, const char*); ++ static MHD_Result fill_argument(void *, enum MHD_ValueKind, const char*, const char*); + }; + + template<> std::string RequestContext::get_argument(const std::string& name) const; +diff --git a/src/server/response.cpp b/src/server/response.cpp +index 2f76ed1..41b1788 100644 +--- src/server/response.cpp ++++ src/server/response.cpp +@@ -57,8 +57,8 @@ Response::Response(const std::string& root, bool verbose, bool withTaskbar, bool + } + + +-static int print_key_value (void *cls, enum MHD_ValueKind kind, +- const char *key, const char *value) ++static MHD_Result print_key_value (void *cls, enum MHD_ValueKind kind, ++ const char *key, const char *value) + { + printf (" - %s: '%s'\n", key, value); + return MHD_YES; +@@ -288,7 +288,7 @@ Response::create_mhd_response(const RequestContext& request) + return nullptr; + } + +-int Response::send(const RequestContext& request, MHD_Connection* connection) ++MHD_Result Response::send(const RequestContext& request, MHD_Connection* connection) + { + MHD_Response* response = create_mhd_response(request); + +diff --git a/src/server/response.h b/src/server/response.h +index 49e346c..fa7fd46 100644 +--- src/server/response.h ++++ src/server/response.h +@@ -29,7 +29,7 @@ + #include "etag.h" + + extern "C" { +-#include ++#include "microhttpd_wrapper.h" + } + + namespace kiwix { +@@ -48,7 +48,7 @@ class Response { + Response(const std::string& root, bool verbose, bool withTaskbar, bool withLibraryButton, bool blockExternalLinks); + ~Response() = default; + +- int send(const RequestContext& request, MHD_Connection* connection); ++ MHD_Result send(const RequestContext& request, MHD_Connection* connection); + + void set_template(const std::string& template_str, kainjow::mustache::data data); + void set_content(const std::string& content); diff --git a/srcpkgs/kiwix-lib/template b/srcpkgs/kiwix-lib/template index dc1e2ab4337..ff1ee89cbd8 100644 --- a/srcpkgs/kiwix-lib/template +++ b/srcpkgs/kiwix-lib/template @@ -1,6 +1,6 @@ # Template file for 'kiwix-lib' pkgname=kiwix-lib -version=9.2.2 +version=9.3.0 revision=1 build_style=meson hostmakedepends="pkg-config" @@ -12,7 +12,7 @@ license="GPL-3.0-or-later" homepage="https://www.kiwix.org/" changelog="https://github.com/kiwix/kiwix-lib/blob/${version}/ChangeLog" distfiles="https://github.com/kiwix/kiwix-lib/archive/${version}.tar.gz" -checksum=35ff73e80b97ee1cfd8e5d222707ee36da4bf8fea28fbc3f3eb423dc13225689 +checksum=b521b3b8e3eee7821adb162988b15f87117024a6a927c2b8a8b9231f0c486bc3 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then makedepends+=" libatomic-devel"