[-- Attachment #1: Type: text/plain, Size: 1891 bytes --] There is a new pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 10539 bytes --] From 157044a35e9a6eca953900e02815ade0495cbc63 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/3] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- srcpkgs/libmicrohttpd/template | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From 18e71b6461bceeac0269dd284ebc248b6b113bf4 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/3] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 +++++++++++ srcpkgs/psensor/template | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..b705541ed639 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,8 +1,9 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure +disable_parallel_build=1 hostmakedepends="pkg-config help2man glib-devel" makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" depends="lm_sensors" From 6af33461718066e33d0a06a9a6ce6b5fbfa95419 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/3] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc"
[-- Attachment #1: Type: text/plain, Size: 1896 bytes --] There is an updated pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 10758 bytes --] From 157044a35e9a6eca953900e02815ade0495cbc63 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/3] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- srcpkgs/libmicrohttpd/template | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From a7bd0e44ba89f68ea36572c8f4d796cc70dcedb4 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/3] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 +++++++++++ srcpkgs/psensor/template | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..718a13ee7729 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,7 +1,7 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure hostmakedepends="pkg-config help2man glib-devel" makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" @@ -12,3 +12,4 @@ license="GPL-2.0-only" homepage="https://wpitchoune.net/psensor" distfiles="https://wpitchoune.net/${pkgname}/files/${pkgname}-${version}.tar.gz" checksum=99708b313be2cf2d997aacfb6ab13288384c8c3f76266825093013bf568babea +disable_parallel_build=1 From 034d7bbe8a9651f58164f109171fdb425d78e3ff Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/3] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc"
[-- Attachment #1: Type: text/plain, Size: 197 bytes --] New comment by digitalagedragon on void-packages repository https://github.com/void-linux/void-packages/pull/30676#issuecomment-832051801 Comment: alright `xlint` is going in my pre-commit hooks
[-- Attachment #1: Type: text/plain, Size: 277 bytes --] New comment by ericonr on void-packages repository https://github.com/void-linux/void-packages/pull/30676#issuecomment-832089663 Comment: Please increase the version in `common/shlibs`, since the newly compiled stuff will depend on the new version and can't use the old one.
[-- Attachment #1: Type: text/plain, Size: 1896 bytes --] There is an updated pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 14110 bytes --] From 10daa3c515a432727d966bac9e5e78319d848e88 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/3] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- common/shlibs | 2 +- srcpkgs/libmicrohttpd/template | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/common/shlibs b/common/shlibs index 1b284ac33ef2..fa571be12e07 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1328,7 +1328,7 @@ libunwind-aarch64.so.8 libunwind-1.5.0_3 libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 +libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 libmicrodns.so.0 libmicrodns-0.1.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From 1c0db93414fee8876d5ba748a435f21ecdf20b3c Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/3] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 Also fixes problems with the build while cross-compiling. --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 ++++++++++ srcpkgs/psensor/patches/sys_stat_h.patch | 11 ++++++++++ .../psensor/patches/vtargetrun_help2man.patch | 22 +++++++++++++++++++ srcpkgs/psensor/template | 8 ++++--- 4 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch create mode 100644 srcpkgs/psensor/patches/sys_stat_h.patch create mode 100644 srcpkgs/psensor/patches/vtargetrun_help2man.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/patches/sys_stat_h.patch b/srcpkgs/psensor/patches/sys_stat_h.patch new file mode 100644 index 000000000000..e50beb72d792 --- /dev/null +++ b/srcpkgs/psensor/patches/sys_stat_h.patch @@ -0,0 +1,11 @@ +--- src/lib/pio.h.orig 2021-05-04 11:30:59.048044672 -0700 ++++ src/lib/pio.h 2021-05-04 11:31:15.402023602 -0700 +@@ -22,6 +22,8 @@ + + #define P_IO_VER 6 + ++#include <sys/stat.h> ++ + /* Returns '1' if a given 'path' denotates a directory else returns + * 0 + */ diff --git a/srcpkgs/psensor/patches/vtargetrun_help2man.patch b/srcpkgs/psensor/patches/vtargetrun_help2man.patch new file mode 100644 index 000000000000..4dea26e94dcb --- /dev/null +++ b/srcpkgs/psensor/patches/vtargetrun_help2man.patch @@ -0,0 +1,22 @@ +--- src/Makefile.in.orig 2021-05-04 11:34:59.595734742 -0700 ++++ src/Makefile.in 2021-05-04 11:35:12.027718720 -0700 +@@ -892,7 +892,7 @@ + + @HELP2MAN_TRUE@psensor.1: main.c $(top_srcdir)/configure.ac + @HELP2MAN_TRUE@ $(MAKE) $(AM_MAKEFLAGS) psensor$(EXEEXT) +-@HELP2MAN_TRUE@ help2man --include=description.txt -N --name="Temperature monitoring application" --output=psensor.1 ./psensor$(EXEEXT) ++@HELP2MAN_TRUE@ vtargetrun help2man --include=description.txt -N --name="Temperature monitoring application" --output=psensor.1 ./psensor$(EXEEXT) + + @GSETTINGS_RULES@ + +--- src/server/Makefile.in.orig 2021-05-04 11:35:40.895681526 -0700 ++++ src/server/Makefile.in 2021-05-04 11:35:52.402666700 -0700 +@@ -711,7 +711,7 @@ + + @HELP2MAN_TRUE@psensor-server.1: server.c $(top_srcdir)/configure.ac + @HELP2MAN_TRUE@ $(MAKE) $(AM_MAKEFLAGS) psensor-server$(EXEEXT) +-@HELP2MAN_TRUE@ help2man --include=description.txt -N --name="Temperature and system monitoring Web server" --output=psensor-server.1 ./psensor-server$(EXEEXT) ++@HELP2MAN_TRUE@ vtargetrun help2man --include=description.txt -N --name="Temperature and system monitoring Web server" --output=psensor-server.1 ./psensor-server$(EXEEXT) + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..ce8bcb2dd65e 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,10 +1,11 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure -hostmakedepends="pkg-config help2man glib-devel" -makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" +build_helper=qemu +hostmakedepends="pkg-config glib-devel" +makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel help2man" depends="lm_sensors" short_desc="Graphical hardware temperature monitor for Linux" maintainer="Foxlet <foxlet@furcode.co>" @@ -12,3 +13,4 @@ license="GPL-2.0-only" homepage="https://wpitchoune.net/psensor" distfiles="https://wpitchoune.net/${pkgname}/files/${pkgname}-${version}.tar.gz" checksum=99708b313be2cf2d997aacfb6ab13288384c8c3f76266825093013bf568babea +disable_parallel_build=1 From fbecdf32dd9886b3fe4edc7649099463d48e9e18 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/3] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc"
[-- Attachment #1: Type: text/plain, Size: 1896 bytes --] There is an updated pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 12212 bytes --] From 10daa3c515a432727d966bac9e5e78319d848e88 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/3] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- common/shlibs | 2 +- srcpkgs/libmicrohttpd/template | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/common/shlibs b/common/shlibs index 1b284ac33ef2..fa571be12e07 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1328,7 +1328,7 @@ libunwind-aarch64.so.8 libunwind-1.5.0_3 libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 +libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 libmicrodns.so.0 libmicrodns-0.1.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From b9562a714e8e78c1b3e15309873071e273db1ffc Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/3] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 Also fixes problems with the build while cross-compiling. --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 +++++++++++ srcpkgs/psensor/patches/sys_stat_h.patch | 11 +++++++++++ srcpkgs/psensor/template | 10 ++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch create mode 100644 srcpkgs/psensor/patches/sys_stat_h.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/patches/sys_stat_h.patch b/srcpkgs/psensor/patches/sys_stat_h.patch new file mode 100644 index 000000000000..e50beb72d792 --- /dev/null +++ b/srcpkgs/psensor/patches/sys_stat_h.patch @@ -0,0 +1,11 @@ +--- src/lib/pio.h.orig 2021-05-04 11:30:59.048044672 -0700 ++++ src/lib/pio.h 2021-05-04 11:31:15.402023602 -0700 +@@ -22,6 +22,8 @@ + + #define P_IO_VER 6 + ++#include <sys/stat.h> ++ + /* Returns '1' if a given 'path' denotates a directory else returns + * 0 + */ diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..8a6bfee7ab10 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,9 +1,10 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure -hostmakedepends="pkg-config help2man glib-devel" +build_helper=qemu +hostmakedepends="pkg-config glib-devel" makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" depends="lm_sensors" short_desc="Graphical hardware temperature monitor for Linux" @@ -12,3 +13,8 @@ license="GPL-2.0-only" homepage="https://wpitchoune.net/psensor" distfiles="https://wpitchoune.net/${pkgname}/files/${pkgname}-${version}.tar.gz" checksum=99708b313be2cf2d997aacfb6ab13288384c8c3f76266825093013bf568babea +disable_parallel_build=1 + +if [ ! "$CROSS_BUILD" ]; then + makedepends+=" help2man" +fi From 8d8ab43d5ac0513ebc5323023f1c060ee8b37422 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/3] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc"
[-- Attachment #1: Type: text/plain, Size: 1896 bytes --] There is an updated pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 12212 bytes --] From 10daa3c515a432727d966bac9e5e78319d848e88 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/3] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- common/shlibs | 2 +- srcpkgs/libmicrohttpd/template | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/common/shlibs b/common/shlibs index 1b284ac33ef2..fa571be12e07 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1328,7 +1328,7 @@ libunwind-aarch64.so.8 libunwind-1.5.0_3 libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 +libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 libmicrodns.so.0 libmicrodns-0.1.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From 295847e438df71c583c265ce39ab420f0aa1ff9c Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/3] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 Also fixes problems with the build while cross-compiling. --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 +++++++++++ srcpkgs/psensor/patches/sys_stat_h.patch | 11 +++++++++++ srcpkgs/psensor/template | 10 ++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch create mode 100644 srcpkgs/psensor/patches/sys_stat_h.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/patches/sys_stat_h.patch b/srcpkgs/psensor/patches/sys_stat_h.patch new file mode 100644 index 000000000000..e50beb72d792 --- /dev/null +++ b/srcpkgs/psensor/patches/sys_stat_h.patch @@ -0,0 +1,11 @@ +--- src/lib/pio.h.orig 2021-05-04 11:30:59.048044672 -0700 ++++ src/lib/pio.h 2021-05-04 11:31:15.402023602 -0700 +@@ -22,6 +22,8 @@ + + #define P_IO_VER 6 + ++#include <sys/stat.h> ++ + /* Returns '1' if a given 'path' denotates a directory else returns + * 0 + */ diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..8a6bfee7ab10 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,9 +1,10 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure -hostmakedepends="pkg-config help2man glib-devel" +build_helper=qemu +hostmakedepends="pkg-config glib-devel" makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" depends="lm_sensors" short_desc="Graphical hardware temperature monitor for Linux" @@ -12,3 +13,8 @@ license="GPL-2.0-only" homepage="https://wpitchoune.net/psensor" distfiles="https://wpitchoune.net/${pkgname}/files/${pkgname}-${version}.tar.gz" checksum=99708b313be2cf2d997aacfb6ab13288384c8c3f76266825093013bf568babea +disable_parallel_build=1 + +if [ ! "$CROSS_BUILD" ]; then + makedepends+=" help2man" +fi From a1e539013760c696b58e0acae13c8ffc7ee6fba2 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/3] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc"
[-- Attachment #1: Type: text/plain, Size: 1896 bytes --] There is an updated pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 12209 bytes --] From 10daa3c515a432727d966bac9e5e78319d848e88 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/3] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- common/shlibs | 2 +- srcpkgs/libmicrohttpd/template | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/common/shlibs b/common/shlibs index 1b284ac33ef2..fa571be12e07 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1328,7 +1328,7 @@ libunwind-aarch64.so.8 libunwind-1.5.0_3 libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 +libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 libmicrodns.so.0 libmicrodns-0.1.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From c3fd4f2981baa757a2d04b89438a5178457bcf1a Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/3] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 Also fixes problems with the build while cross-compiling. --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 +++++++++++ srcpkgs/psensor/patches/sys_stat_h.patch | 11 +++++++++++ srcpkgs/psensor/template | 10 ++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch create mode 100644 srcpkgs/psensor/patches/sys_stat_h.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/patches/sys_stat_h.patch b/srcpkgs/psensor/patches/sys_stat_h.patch new file mode 100644 index 000000000000..e50beb72d792 --- /dev/null +++ b/srcpkgs/psensor/patches/sys_stat_h.patch @@ -0,0 +1,11 @@ +--- src/lib/pio.h.orig 2021-05-04 11:30:59.048044672 -0700 ++++ src/lib/pio.h 2021-05-04 11:31:15.402023602 -0700 +@@ -22,6 +22,8 @@ + + #define P_IO_VER 6 + ++#include <sys/stat.h> ++ + /* Returns '1' if a given 'path' denotates a directory else returns + * 0 + */ diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..42ee0101ea1c 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,9 +1,10 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure -hostmakedepends="pkg-config help2man glib-devel" +build_helper=qemu +hostmakedepends="pkg-config glib-devel" makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" depends="lm_sensors" short_desc="Graphical hardware temperature monitor for Linux" @@ -12,3 +13,8 @@ license="GPL-2.0-only" homepage="https://wpitchoune.net/psensor" distfiles="https://wpitchoune.net/${pkgname}/files/${pkgname}-${version}.tar.gz" checksum=99708b313be2cf2d997aacfb6ab13288384c8c3f76266825093013bf568babea +disable_parallel_build=1 + +if [ ! "$CROSS_BUILD" ]; then + makedepends+=" help2man" +fi From e603d8678b84aee12e125e9e2f93a9cc8db1859b Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/3] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc"
[-- Attachment #1: Type: text/plain, Size: 1896 bytes --] There is an updated pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 12209 bytes --] From 10daa3c515a432727d966bac9e5e78319d848e88 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/3] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- common/shlibs | 2 +- srcpkgs/libmicrohttpd/template | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/common/shlibs b/common/shlibs index 1b284ac33ef2..fa571be12e07 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1328,7 +1328,7 @@ libunwind-aarch64.so.8 libunwind-1.5.0_3 libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 +libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 libmicrodns.so.0 libmicrodns-0.1.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From c3fd4f2981baa757a2d04b89438a5178457bcf1a Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/3] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 Also fixes problems with the build while cross-compiling. --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 +++++++++++ srcpkgs/psensor/patches/sys_stat_h.patch | 11 +++++++++++ srcpkgs/psensor/template | 10 ++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch create mode 100644 srcpkgs/psensor/patches/sys_stat_h.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/patches/sys_stat_h.patch b/srcpkgs/psensor/patches/sys_stat_h.patch new file mode 100644 index 000000000000..e50beb72d792 --- /dev/null +++ b/srcpkgs/psensor/patches/sys_stat_h.patch @@ -0,0 +1,11 @@ +--- src/lib/pio.h.orig 2021-05-04 11:30:59.048044672 -0700 ++++ src/lib/pio.h 2021-05-04 11:31:15.402023602 -0700 +@@ -22,6 +22,8 @@ + + #define P_IO_VER 6 + ++#include <sys/stat.h> ++ + /* Returns '1' if a given 'path' denotates a directory else returns + * 0 + */ diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..42ee0101ea1c 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,9 +1,10 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure -hostmakedepends="pkg-config help2man glib-devel" +build_helper=qemu +hostmakedepends="pkg-config glib-devel" makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" depends="lm_sensors" short_desc="Graphical hardware temperature monitor for Linux" @@ -12,3 +13,8 @@ license="GPL-2.0-only" homepage="https://wpitchoune.net/psensor" distfiles="https://wpitchoune.net/${pkgname}/files/${pkgname}-${version}.tar.gz" checksum=99708b313be2cf2d997aacfb6ab13288384c8c3f76266825093013bf568babea +disable_parallel_build=1 + +if [ ! "$CROSS_BUILD" ]; then + makedepends+=" help2man" +fi From e603d8678b84aee12e125e9e2f93a9cc8db1859b Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/3] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc"
[-- Attachment #1: Type: text/plain, Size: 1896 bytes --] There is an updated pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 14603 bytes --] From 10daa3c515a432727d966bac9e5e78319d848e88 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/5] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- common/shlibs | 2 +- srcpkgs/libmicrohttpd/template | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/common/shlibs b/common/shlibs index 1b284ac33ef2..fa571be12e07 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1328,7 +1328,7 @@ libunwind-aarch64.so.8 libunwind-1.5.0_3 libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 +libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 libmicrodns.so.0 libmicrodns-0.1.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From c3fd4f2981baa757a2d04b89438a5178457bcf1a Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/5] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 Also fixes problems with the build while cross-compiling. --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 +++++++++++ srcpkgs/psensor/patches/sys_stat_h.patch | 11 +++++++++++ srcpkgs/psensor/template | 10 ++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch create mode 100644 srcpkgs/psensor/patches/sys_stat_h.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/patches/sys_stat_h.patch b/srcpkgs/psensor/patches/sys_stat_h.patch new file mode 100644 index 000000000000..e50beb72d792 --- /dev/null +++ b/srcpkgs/psensor/patches/sys_stat_h.patch @@ -0,0 +1,11 @@ +--- src/lib/pio.h.orig 2021-05-04 11:30:59.048044672 -0700 ++++ src/lib/pio.h 2021-05-04 11:31:15.402023602 -0700 +@@ -22,6 +22,8 @@ + + #define P_IO_VER 6 + ++#include <sys/stat.h> ++ + /* Returns '1' if a given 'path' denotates a directory else returns + * 0 + */ diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..42ee0101ea1c 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,9 +1,10 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure -hostmakedepends="pkg-config help2man glib-devel" +build_helper=qemu +hostmakedepends="pkg-config glib-devel" makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" depends="lm_sensors" short_desc="Graphical hardware temperature monitor for Linux" @@ -12,3 +13,8 @@ license="GPL-2.0-only" homepage="https://wpitchoune.net/psensor" distfiles="https://wpitchoune.net/${pkgname}/files/${pkgname}-${version}.tar.gz" checksum=99708b313be2cf2d997aacfb6ab13288384c8c3f76266825093013bf568babea +disable_parallel_build=1 + +if [ ! "$CROSS_BUILD" ]; then + makedepends+=" help2man" +fi From e603d8678b84aee12e125e9e2f93a9cc8db1859b Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/5] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc" From 511d716498959a665a67cb4bfadd9ab8032941a1 Mon Sep 17 00:00:00 2001 From: Anthony Iliopoulos <ailiop@altatus.com> Date: Tue, 20 Apr 2021 12:48:53 +0200 Subject: [PATCH 4/5] libmicrodns: update to 0.2.0. --- common/shlibs | 2 ++ srcpkgs/libmicrodns/template | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/shlibs b/common/shlibs index fa571be12e07..b9cdc0d9c11b 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1330,6 +1330,8 @@ libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 libmicrodns.so.0 libmicrodns-0.1.0_1 +libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 +libmicrodns.so.1 libmicrodns-0.2.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 libagg.so.2 agg-2.5_1 diff --git a/srcpkgs/libmicrodns/template b/srcpkgs/libmicrodns/template index ad8f569455a7..3b113940bd56 100644 --- a/srcpkgs/libmicrodns/template +++ b/srcpkgs/libmicrodns/template @@ -1,6 +1,6 @@ # Template file for 'libmicrodns' pkgname=libmicrodns -version=0.1.2 +version=0.2.0 revision=1 build_style=meson hostmakedepends="pkg-config" @@ -9,7 +9,7 @@ maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>" license="LGPL-2.1-only" homepage="https://github.com/videolabs/libmicrodns" distfiles="https://github.com/videolabs/libmicrodns/archive/${version}.tar.gz" -checksum=2b4d733f9472e11b71d66208c025de2e1f4a1087814bdc1e12e1aa78aca670e5 +checksum=9864a088ffef4d4255d5abf63c6f603d1dc343dfec2809ff0c3f1624045b80fa libmicrodns-devel_package() { short_desc+=" - development files" From 6cdea25ca107a7f34a324ef8bec5c393f5c7f6eb Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 25 May 2021 10:48:02 -0700 Subject: [PATCH 5/5] libmicrohttpd: resolve common/shlibs conflict --- common/shlibs | 2 -- 1 file changed, 2 deletions(-) diff --git a/common/shlibs b/common/shlibs index b9cdc0d9c11b..552663d16d8d 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1329,8 +1329,6 @@ libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 -libmicrodns.so.0 libmicrodns-0.1.0_1 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 libmicrodns.so.1 libmicrodns-0.2.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1
[-- Attachment #1: Type: text/plain, Size: 1896 bytes --] There is an updated pull request by digitalagedragon against master on the void-packages repository https://github.com/digitalagedragon/void-packages libmicrohttpd https://github.com/void-linux/void-packages/pull/30676 libmicrohttpd: update to 0.9.73 <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/30676.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-libmicrohttpd-30676.patch --] [-- Type: text/x-diff, Size: 12985 bytes --] From 10daa3c515a432727d966bac9e5e78319d848e88 Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:41:33 -0700 Subject: [PATCH 1/4] libmicrohttpd: update to 0.9.73 This update breaks some C++ implementations (see https://github.com/kismetwireless/kismet/issues/281 and https://github.com/void-linux/void-packages/commit/05ed2cb76ba90544e9910e5dbbcabd19d97a1a99). I've checked all the packages that depend on libmicrohttpd; all but two (psensor and retroshare) build against libmicrohttpd >= 0.9.71 by now, and those two are easy enough to patch. The relevant change is just switching some API return types from `int` to an enum with the same values, so there isn't any concern about ABI compatibility with the change (and in fact it's only a warning on a C compiler). --- common/shlibs | 2 +- srcpkgs/libmicrohttpd/template | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/common/shlibs b/common/shlibs index 1b284ac33ef2..fa571be12e07 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1328,7 +1328,7 @@ libunwind-aarch64.so.8 libunwind-1.5.0_3 libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 +libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 libmicrodns.so.0 libmicrodns-0.1.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1 diff --git a/srcpkgs/libmicrohttpd/template b/srcpkgs/libmicrohttpd/template index fa988788d76d..f6f1e0824fc5 100644 --- a/srcpkgs/libmicrohttpd/template +++ b/srcpkgs/libmicrohttpd/template @@ -1,8 +1,7 @@ # Template file for 'libmicrohttpd' pkgname=libmicrohttpd -version=0.9.70 -reverts="0.9.71_1" -revision=2 +version=0.9.73 +revision=1 build_style=gnu-configure makedepends="libgcrypt-devel gnutls-devel libcurl-devel" short_desc="Library embedding HTTP server functionality" @@ -10,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>" license="LGPL-2.1-or-later" homepage="https://www.gnu.org/software/libmicrohttpd/" distfiles="${GNU_SITE}/libmicrohttpd/${pkgname}-${version}.tar.gz" -checksum=90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307 +checksum=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e LDFLAGS=" -lgnutls" From c3fd4f2981baa757a2d04b89438a5178457bcf1a Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:45:41 -0700 Subject: [PATCH 2/4] psensor: patch for compatibility with libmicrohttpd >= 0.9.71 Also fixes problems with the build while cross-compiling. --- srcpkgs/psensor/patches/mhd_result_enum.patch | 11 +++++++++++ srcpkgs/psensor/patches/sys_stat_h.patch | 11 +++++++++++ srcpkgs/psensor/template | 10 ++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/psensor/patches/mhd_result_enum.patch create mode 100644 srcpkgs/psensor/patches/sys_stat_h.patch diff --git a/srcpkgs/psensor/patches/mhd_result_enum.patch b/srcpkgs/psensor/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..133716066a07 --- /dev/null +++ b/srcpkgs/psensor/patches/mhd_result_enum.patch @@ -0,0 +1,11 @@ +--- src/server/server.c.orig 2021-05-03 14:22:41.152648985 -0700 ++++ src/server/server.c 2021-05-03 14:23:00.865645454 -0700 +@@ -306,7 +306,7 @@ + MHD_RESPMEM_MUST_FREE); + } + +-static int cbk_http_request(void *cls, ++static enum MHD_Result cbk_http_request(void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, diff --git a/srcpkgs/psensor/patches/sys_stat_h.patch b/srcpkgs/psensor/patches/sys_stat_h.patch new file mode 100644 index 000000000000..e50beb72d792 --- /dev/null +++ b/srcpkgs/psensor/patches/sys_stat_h.patch @@ -0,0 +1,11 @@ +--- src/lib/pio.h.orig 2021-05-04 11:30:59.048044672 -0700 ++++ src/lib/pio.h 2021-05-04 11:31:15.402023602 -0700 +@@ -22,6 +22,8 @@ + + #define P_IO_VER 6 + ++#include <sys/stat.h> ++ + /* Returns '1' if a given 'path' denotates a directory else returns + * 0 + */ diff --git a/srcpkgs/psensor/template b/srcpkgs/psensor/template index 67e810091579..42ee0101ea1c 100644 --- a/srcpkgs/psensor/template +++ b/srcpkgs/psensor/template @@ -1,9 +1,10 @@ # Template file for 'psensor' pkgname=psensor version=1.2.0 -revision=2 +revision=3 build_style=gnu-configure -hostmakedepends="pkg-config help2man glib-devel" +build_helper=qemu +hostmakedepends="pkg-config glib-devel" makedepends="gtk+3-devel udisks2-devel libgtop-devel json-c-devel libsensors-devel libatasmart-devel libcurl-devel libnotify-devel libappindicator-devel libmicrohttpd-devel" depends="lm_sensors" short_desc="Graphical hardware temperature monitor for Linux" @@ -12,3 +13,8 @@ license="GPL-2.0-only" homepage="https://wpitchoune.net/psensor" distfiles="https://wpitchoune.net/${pkgname}/files/${pkgname}-${version}.tar.gz" checksum=99708b313be2cf2d997aacfb6ab13288384c8c3f76266825093013bf568babea +disable_parallel_build=1 + +if [ ! "$CROSS_BUILD" ]; then + makedepends+=" help2man" +fi From e603d8678b84aee12e125e9e2f93a9cc8db1859b Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 4 May 2021 08:47:12 -0700 Subject: [PATCH 3/4] retroshare: patch for compatibility with libmicrohttpd >= 0.9.71 --- .../retroshare/patches/mhd_result_enum.patch | 96 +++++++++++++++++++ srcpkgs/retroshare/template | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/retroshare/patches/mhd_result_enum.patch diff --git a/srcpkgs/retroshare/patches/mhd_result_enum.patch b/srcpkgs/retroshare/patches/mhd_result_enum.patch new file mode 100644 index 000000000000..0da034802b7e --- /dev/null +++ b/srcpkgs/retroshare/patches/mhd_result_enum.patch @@ -0,0 +1,96 @@ +--- libresapi/src/api/ApiServerMHD.cpp.orig 2021-05-04 08:25:21.960601037 -0700 ++++ libresapi/src/api/ApiServerMHD.cpp 2021-05-04 08:26:27.071424663 -0700 +@@ -113,7 +113,7 @@ + // return MHD_NO to terminate connection + // return MHD_YES otherwise + // this function will get called by MHD until a response was queued +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size) = 0; + }; +@@ -125,7 +125,7 @@ + MHDUploadHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDUploadHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char */*url*/, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -184,7 +184,7 @@ + MHDApiHandler(ApiServer* s): mState(BEGIN), mApiServer(s){} + virtual ~MHDApiHandler(){} + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char *method, const char */*version*/, + const char *upload_data, size_t *upload_data_size) + { +@@ -265,7 +265,7 @@ + uint64_t mSize; + + // return MHD_NO or MHD_YES +- virtual int handleRequest( struct MHD_Connection *connection, ++ virtual enum MHD_Result handleRequest( struct MHD_Connection *connection, + const char *url, const char */*method*/, const char */*version*/, + const char */*upload_data*/, size_t */*upload_data_size*/) + { +@@ -327,7 +327,7 @@ + #endif // ENABLE_FILESTREAMER + + // MHD will call this for each element of the http header +-static int _extract_host_header_it_cb(void *cls, ++static enum MHD_Result _extract_host_header_it_cb(void *cls, + enum MHD_ValueKind kind, + const char *key, + const char *value) +@@ -522,12 +522,12 @@ + mDaemon = 0; + } + +-int ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) ++enum MHD_Result ApiServerMHD::static_acceptPolicyCallback(void *cls, const sockaddr *addr, socklen_t addrlen) + { + return ((ApiServerMHD*)cls)->acceptPolicyCallback(addr, addrlen); + } + +-int ApiServerMHD::static_accessHandlerCallback(void* cls, struct MHD_Connection * connection, ++enum MHD_Result ApiServerMHD::static_accessHandlerCallback(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 **con_cls) +@@ -543,13 +543,13 @@ + } + + +-int ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) ++enum MHD_Result ApiServerMHD::acceptPolicyCallback(const sockaddr* /*addr*/, socklen_t /*addrlen*/) + { + // accept all connetions + return MHD_YES; + } + +-int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, ++enum MHD_Result ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) +--- libresapi/src/api/ApiServerMHD.h.orig 2021-05-04 08:25:24.368594515 -0700 ++++ libresapi/src/api/ApiServerMHD.h 2021-05-04 08:25:25.942590251 -0700 +@@ -58,11 +58,11 @@ + + private: + // static callbacks for libmicrohttpd, they call the members below +- static int static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); +- static int static_accessHandlerCallback(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 **con_cls); ++ static enum MHD_Result static_acceptPolicyCallback(void* cls, const struct sockaddr * addr, socklen_t addrlen); ++ static enum MHD_Result static_accessHandlerCallback(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 **con_cls); + static void static_requestCompletedCallback(void *cls, struct MHD_Connection* connection, void **con_cls, enum MHD_RequestTerminationCode toe); +- int acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); +- int accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); ++ enum MHD_Result acceptPolicyCallback(const struct sockaddr * addr, socklen_t addrlen); ++ enum MHD_Result accessHandlerCallback(struct MHD_Connection * connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + void requestCompletedCallback(struct MHD_Connection *connection, void **con_cls, MHD_RequestTerminationCode toe); + bool mConfigOk; + std::string mRootDir; diff --git a/srcpkgs/retroshare/template b/srcpkgs/retroshare/template index 870bad191a35..e65594a4b16e 100644 --- a/srcpkgs/retroshare/template +++ b/srcpkgs/retroshare/template @@ -1,7 +1,7 @@ # Template file for 'retroshare' pkgname=retroshare version=0.6.5 -revision=5 +revision=6 wrksrc="RetroShare-${version}" build_style=qmake configure_args="RS_UPNP_LIB=miniupnpc" From c4a0490c5eee1dd7b465678ca7049d5b8c89221d Mon Sep 17 00:00:00 2001 From: Morgan Thomas <m@m0rg.dev> Date: Tue, 25 May 2021 10:48:02 -0700 Subject: [PATCH 4/4] libmicrohttpd: resolve common/shlibs conflict --- common/shlibs | 2 -- 1 file changed, 2 deletions(-) diff --git a/common/shlibs b/common/shlibs index 28fac7d3eb0e..67525c45392e 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1330,8 +1330,6 @@ libunwind-ppc32.so.8 libunwind-1.5.0_3 libunwind-ppc64.so.8 libunwind-1.5.0_3 libunwind-setjmp.so.0 libunwind-1.5.0_3 libmicrohttpd.so.12 libmicrohttpd-0.9.73_1 -libmicrodns.so.0 libmicrodns-0.1.0_1 -libmicrohttpd.so.12 libmicrohttpd-0.9.48_1 libmicrodns.so.1 libmicrodns-0.2.0_1 libgit2.so.1.0 libgit2-1.0.1_3 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1
[-- Attachment #1: Type: text/plain, Size: 240 bytes --] New comment by ericonr on void-packages repository https://github.com/void-linux/void-packages/pull/30676#issuecomment-851518148 Comment: I will fold #31218 into this, because they haven't released the version with the build fixes yet :/
[-- Attachment #1: Type: text/plain, Size: 208 bytes --] New comment by ericonr on void-packages repository https://github.com/void-linux/void-packages/pull/30676#issuecomment-856417304 Comment: Pushed with a6f4c6166b88c0777b941e69f0378fdead65b648, thanks a lot!
[-- Attachment #1: Type: text/plain, Size: 1716 bytes --] There's a closed pull request on the void-packages repository libmicrohttpd: update to 0.9.73 https://github.com/void-linux/void-packages/pull/30676 Description: <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [x] I generally don't use the affected packages but briefly tested this PR This has been in the pipeline for 6 months or so. `libmicrohttpd` 0.9.71 broke some existing C++ code, and by now most of the packages that depend on it have integrated to the new API. I've made sure every package that depends on `libmicrohttpd` compiles against 0.9.73. <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [ ] I built this PR locally for my native architecture, (ARCH-LIBC) - [ ] I built this PR locally for these architectures (if supported. mark crossbuilds): - [ ] aarch64-musl - [ ] armv7l - [ ] armv6l-musl -->