From: Thomas Ruschival <thomas@ruschival.de>
To: buildroot@buildroot.org
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Subject: Re: [Buildroot] [PATCH 1/1] package/pistache: bump version & switch to meson build
Date: Mon, 14 Mar 2022 18:21:13 +0100 [thread overview]
Message-ID: <87sfrkpi0m.fsf@ruschival.de> (raw)
In-Reply-To: <20220312170048.GI283544@scaer>
Hi Yann, Nicolas,
I will look into that and send an updated patch later this week.
Thanks Nicolas for the hint, I forgot about the DEPENDENCIES...
Regards
Thomas
On 2022-03-12 at 18:00 CET, Yann E. MORIN wrote:
> Thomas, All,
>
> On 2022-03-12 11:44 +0100, Thomas Ruschival spake thusly:
>> While upstream pistache has not yet released a stable 'tag'
>> a lot has changed since June 2020:
>>
>> * project has moved to meson build system, cmake builds
>> do not install headers.
>> * patches in buildroot are no longer required
>> * project-implemented Pistache::Optional was replaced by
>> use of std::optional. This is only available in C++17
>> * dependency to rapidjson has been introduced
>>
>> Signed-off-by: Thomas Ruschival <thomas@ruschival.de>
>
> I've marked this patch as chagnes-requested: Nicolas explained what you
> need to do to pass the test-pkg step. Can you look into that, test on
> your side, and respin an updated patch?
>
> Thanks!
>
> Regards,
> Yann E. MORIN.
>
>> ---
>> ...-add-C-language-to-project-statement.patch | 70 --------------
>> ...eLists.txt-respect-BUILD_SHARED_LIBS.patch | 95 -------------------
>> ...de-pistache-typeid.h-include-cstddef.patch | 38 --------
>> package/pistache/Config.in | 9 +-
>> package/pistache/pistache.hash | 2 +-
>> package/pistache/pistache.mk | 9 +-
>> 6 files changed, 11 insertions(+), 212 deletions(-)
>> delete mode 100644 package/pistache/0001-CMakeLists.txt-add-C-language-to-project-statement.patch
>> delete mode 100644 package/pistache/0002-CMakeLists.txt-respect-BUILD_SHARED_LIBS.patch
>> delete mode 100644 package/pistache/0003-include-pistache-typeid.h-include-cstddef.patch
>>
>> diff --git a/package/pistache/0001-CMakeLists.txt-add-C-language-to-project-statement.patch b/package/pistache/0001-CMakeLists.txt-add-C-language-to-project-statement.patch
>> deleted file mode 100644
>> index c393a48d0d..0000000000
>> --- a/package/pistache/0001-CMakeLists.txt-add-C-language-to-project-statement.patch
>> +++ /dev/null
>> @@ -1,70 +0,0 @@
>> -From a50fc9bde098e4e89584a5da9f94f620c11b6733 Mon Sep 17 00:00:00 2001
>> -From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>> -Date: Sun, 16 Aug 2020 12:31:46 +0200
>> -Subject: [PATCH] CMakeLists.txt: add C language to project statement
>> -MIME-Version: 1.0
>> -Content-Type: text/plain; charset=UTF-8
>> -Content-Transfer-Encoding: 8bit
>> -
>> -This will fix the detection of atomic:
>> -
>> --- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
>> --- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed
>> --- Looking for __atomic_load_8 in atomic
>> --- Looking for __atomic_load_8 in atomic - not found
>> -CMake Error at CMakeModules/CheckAtomic.cmake:76 (message):
>> - Host compiler appears to require libatomic for 64-bit operations, but
>> - cannot find it.
>> -Call Stack (most recent call first):
>> - CMakeLists.txt:19 (include)
>> -
>> -Indeed if C language is not enabled, the test will be run with the C++
>> -compiler resulting in the following error:
>> -
>> -Building CXX object CMakeFiles/cmTC_fad22.dir/CheckFunctionExists.cxx.o
>> -/tmp/instance-0/output-1/host/bin/mipsel-linux-g++ --sysroot=/tmp/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_FORTIFY_SOURCE=1 -Wall -Wconversion -pedantic -Wextra -Wno-missing-field-initializers -DCHECK_FUNCTION_EXISTS=__atomic_load_8 -DNDEBUG -o CMakeFiles/cmTC_fad22.dir/CheckFunctionExists.cxx.o -c /tmp/instance-0/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
>> -<command-line>: error: new declaration 'char __atomic_load_8()' ambiguates built-in declaration 'long long unsigned int __atomic_load_8(const volatile void*, int)' [-fpermissive]
>> -/tmp/instance-0/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx:7:3: note: in expansion of macro 'CHECK_FUNCTION_EXISTS'
>> - CHECK_FUNCTION_EXISTS(void);
>> - ^~~~~~~~~~~~~~~~~~~~~
>> -/tmp/instance-0/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx: In function 'int main(int, char**)':
>> -/tmp/instance-0/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx:17:25: error: too few arguments to function 'long long unsigned int __atomic_load_8(const volatile void*, int)'
>> - CHECK_FUNCTION_EXISTS();
>> - ^
>> -
>> -whereas with a C compiler, we'll get:
>> -
>> -Building C object CMakeFiles/cmTC_4b0f4.dir/CheckFunctionExists.c.o
>> -/home/fabrice/buildroot/output/host/bin/riscv32-linux-gcc --sysroot=/home/fabrice/buildroot/output/host/riscv32-buildroot-linux-gnu/sysroot -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -DCHECK_FUNCTION_EXISTS=__atomic_load_8 -DNDEBUG -o CMakeFiles/cmTC_4b0f4.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c
>> -<command-line>: warning: conflicting types for built-in function ‘__atomic_load_8’ [-Wbuiltin-declaration-mismatch]
>> -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’
>> - CHECK_FUNCTION_EXISTS(void);
>> - ^~~~~~~~~~~~~~~~~~~~~
>> -Linking C executable cmTC_4b0f4
>> -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4b0f4.dir/link.txt --verbose=1
>> -/home/fabrice/buildroot/output/host/bin/riscv32-linux-gcc --sysroot=/home/fabrice/buildroot/output/host/riscv32-buildroot-linux-gnu/sysroot -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -DCHECK_FUNCTION_EXISTS=__atomic_load_8 -DNDEBUG CMakeFiles/cmTC_4b0f4.dir/CheckFunctionExists.c.o -o cmTC_4b0f4 -latomic
>> -
>> -Fixes:
>> - - http://autobuild.buildroot.org/results/2bf06c6a9e55b449ec5875cf9415a9e55b2065d6
>> -
>> -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>> ----
>> - CMakeLists.txt | 2 +-
>> - 1 file changed, 1 insertion(+), 1 deletion(-)
>> -
>> -diff --git a/CMakeLists.txt b/CMakeLists.txt
>> -index edc73c5..0286647 100644
>> ---- a/CMakeLists.txt
>> -+++ b/CMakeLists.txt
>> -@@ -9,7 +9,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
>> - set(CMAKE_CXX_EXTENSIONS OFF)
>> -
>> - project (pistache
>> -- LANGUAGES CXX)
>> -+ LANGUAGES C CXX)
>> -
>> - include(GNUInstallDirs)
>> -
>> ---
>> -2.27.0
>> -
>> diff --git a/package/pistache/0002-CMakeLists.txt-respect-BUILD_SHARED_LIBS.patch b/package/pistache/0002-CMakeLists.txt-respect-BUILD_SHARED_LIBS.patch
>> deleted file mode 100644
>> index 09f59b11ec..0000000000
>> --- a/package/pistache/0002-CMakeLists.txt-respect-BUILD_SHARED_LIBS.patch
>> +++ /dev/null
>> @@ -1,95 +0,0 @@
>> -From 45824f58b10575d8d88d4bce934aedee821a6df0 Mon Sep 17 00:00:00 2001
>> -From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>> -Date: Thu, 15 Oct 2020 22:26:55 +0200
>> -Subject: [PATCH] CMakeLists.txt: respect BUILD_SHARED_LIBS
>> -
>> -Don't build and install pistache_shared if the standard cmake
>> -BUILD_SHARED_LIBS is set to OFF
>> -
>> -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>> -[Backport from upstream:
>> - https://github.com/oktal/pistache/commit/c04166ca9e6420a8fbc93fef4055ee2eccdcebe4
>> -]
>> ----
>> - src/CMakeLists.txt | 43 +++++++++++++++++++++++++------------------
>> - 1 file changed, 25 insertions(+), 18 deletions(-)
>> -
>> -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
>> -index 6521b20..c5b049f 100644
>> ---- a/src/CMakeLists.txt
>> -+++ b/src/CMakeLists.txt
>> -@@ -26,31 +26,36 @@ set(include_install_dir ${CMAKE_INSTALL_INCLUDEDIR})
>> - set(lib_install_dir ${CMAKE_INSTALL_LIBDIR})
>> - set(bin_install_dir ${CMAKE_INSTALL_BINDIR})
>> -
>> --add_library(pistache_shared SHARED $<TARGET_OBJECTS:pistache>)
>> --add_library(pistache_static STATIC $<TARGET_OBJECTS:pistache>)
>> -+if (BUILD_SHARED_LIBS)
>> -+ add_library(pistache_shared SHARED $<TARGET_OBJECTS:pistache>)
>> -+ target_link_libraries(pistache_shared PRIVATE Threads::Threads ${CMAKE_REQUIRED_LIBRARIES})
>> -+ target_include_directories(pistache_shared INTERFACE ${PISTACHE_INCLUDE})
>> -+endif ()
>> -
>> --target_link_libraries(pistache_shared PRIVATE Threads::Threads ${CMAKE_REQUIRED_LIBRARIES})
>> -+add_library(pistache_static STATIC $<TARGET_OBJECTS:pistache>)
>> - target_link_libraries(pistache_static PRIVATE Threads::Threads ${CMAKE_REQUIRED_LIBRARIES})
>> --
>> --target_include_directories(pistache_shared INTERFACE ${PISTACHE_INCLUDE})
>> - target_include_directories(pistache_static INTERFACE ${PISTACHE_INCLUDE})
>> -
>> - if (PISTACHE_USE_SSL)
>> - target_compile_definitions(pistache PUBLIC PISTACHE_USE_SSL)
>> -- target_compile_definitions(pistache_shared PUBLIC PISTACHE_USE_SSL)
>> - target_compile_definitions(pistache_static PUBLIC PISTACHE_USE_SSL)
>> -
>> - target_include_directories(pistache PRIVATE ${OPENSSL_INCLUDE_DIR})
>> -- target_link_libraries(pistache_shared PUBLIC OpenSSL::SSL OpenSSL::Crypto)
>> - target_link_libraries(pistache_static PUBLIC OpenSSL::SSL OpenSSL::Crypto)
>> -+ if (BUILD_SHARED_LIBS)
>> -+ target_compile_definitions(pistache_shared PUBLIC PISTACHE_USE_SSL)
>> -+ target_link_libraries(pistache_shared PUBLIC OpenSSL::SSL OpenSSL::Crypto)
>> -+ endif ()
>> - endif ()
>> -
>> - set(Pistache_OUTPUT_NAME "pistache")
>> --set_target_properties(pistache_shared PROPERTIES
>> -- OUTPUT_NAME ${Pistache_OUTPUT_NAME}
>> -- VERSION ${version}
>> -- SOVERSION ${VERSION_MAJOR}
>> --)
>> -+if (BUILD_SHARED_LIBS)
>> -+ set_target_properties(pistache_shared PROPERTIES
>> -+ OUTPUT_NAME ${Pistache_OUTPUT_NAME}
>> -+ VERSION ${version}
>> -+ SOVERSION ${VERSION_MAJOR}
>> -+ )
>> -+endif ()
>> -
>> - set_target_properties(pistache_static PROPERTIES
>> - OUTPUT_NAME ${Pistache_OUTPUT_NAME}
>> -@@ -60,13 +65,15 @@ if (PISTACHE_INSTALL)
>> - set(Pistache_CONFIG_FILE "PistacheConfig.cmake")
>> - set(Pistache_CONFIG_VERSION_FILE "PistacheConfigVersion.cmake")
>> -
>> -- install(
>> -- TARGETS pistache_shared
>> -- EXPORT PistacheTargets
>> -- ARCHIVE DESTINATION ${lib_install_dir}
>> -- LIBRARY DESTINATION ${lib_install_dir}
>> -- RUNTIME DESTINATION ${bin_install_dir}
>> -- INCLUDES DESTINATION ${include_install_dir})
>> -+ if (BUILD_SHARED_LIBS)
>> -+ install(
>> -+ TARGETS pistache_shared
>> -+ EXPORT PistacheTargets
>> -+ ARCHIVE DESTINATION ${lib_install_dir}
>> -+ LIBRARY DESTINATION ${lib_install_dir}
>> -+ RUNTIME DESTINATION ${bin_install_dir}
>> -+ INCLUDES DESTINATION ${include_install_dir})
>> -+ endif()
>> -
>> - install(
>> - DIRECTORY "${PROJECT_SOURCE_DIR}/include/pistache"
>> ---
>> -2.28.0
>> -
>> diff --git a/package/pistache/0003-include-pistache-typeid.h-include-cstddef.patch b/package/pistache/0003-include-pistache-typeid.h-include-cstddef.patch
>> deleted file mode 100644
>> index be06ca760a..0000000000
>> --- a/package/pistache/0003-include-pistache-typeid.h-include-cstddef.patch
>> +++ /dev/null
>> @@ -1,38 +0,0 @@
>> -From 37291201ed948e9d65993a717c59bb14f4187e13 Mon Sep 17 00:00:00 2001
>> -From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>> -Date: Thu, 5 Aug 2021 19:02:56 +0200
>> -Subject: [PATCH] include/pistache/typeid.h: include cstddef
>> -
>> -Include cstddef to avoid the following build failure with gcc 11:
>> -
>> -In file included from /tmp/instance-3/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/src/../include/pistache/async.h:10,
>> - from /tmp/instance-3/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/src/../include/pistache/client.h:9,
>> - from /tmp/instance-3/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/src/client/client.cc:7:
>> -/tmp/instance-3/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/src/../include/pistache/typeid.h:26:12: error: expected type-specifier before 'size_t'
>> - 26 | operator size_t() const { return reinterpret_cast<size_t>(id_); }
>> - | ^~~~~~
>> -
>> -Fixes:
>> - - http://autobuild.buildroot.org/results/2443559df8c2357476e4cbdbebb08280cbb80a3b
>> -
>> -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>> -[Upstream status: https://github.com/pistacheio/pistache/pull/965]
>> ----
>> - include/pistache/typeid.h | 1 +
>> - 1 file changed, 1 insertion(+)
>> -
>> -diff --git a/include/pistache/typeid.h b/include/pistache/typeid.h
>> -index 10353ca..893e7c1 100644
>> ---- a/include/pistache/typeid.h
>> -+++ b/include/pistache/typeid.h
>> -@@ -7,6 +7,7 @@
>> -
>> - #pragma once
>> -
>> -+#include <cstddef>
>> - #include <functional>
>> -
>> - namespace Pistache
>> ---
>> -2.30.2
>> -
>> diff --git a/package/pistache/Config.in b/package/pistache/Config.in
>> index 96aed5210a..806c27077a 100644
>> --- a/package/pistache/Config.in
>> +++ b/package/pistache/Config.in
>> @@ -1,22 +1,23 @@
>> config BR2_PACKAGE_PISTACHE
>> bool "pistache"
>> - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
>> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17, std::optional
>> depends on BR2_USE_WCHAR
>> depends on BR2_TOOLCHAIN_HAS_THREADS
>> depends on BR2_INSTALL_LIBSTDCPP
>> + depends on BR2_PACKAGE_RAPIDJSON
>> depends on !BR2_TOOLCHAIN_USES_UCLIBC
>> depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597
>> help
>> Pistache is a modern and elegant HTTP and REST framework
>> - for C++. It is entirely written in pure C++14 and provides
>> + for C++. It is entirely written in pure C++17 and provides
>> a clear and pleasant API.
>>
>> https://github.com/oktal/pistache
>>
>> -comment "pistache needs a glibc toolchain w/ C++, gcc >= 4.9, threads, wchar, not binutils bug 27597"
>> +comment "pistache needs a glibc toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597"
>> depends on !BR2_INSTALL_LIBSTDCPP || \
>> BR2_TOOLCHAIN_USES_UCLIBC || \
>> - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
>> + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
>> !BR2_TOOLCHAIN_HAS_THREADS || \
>> !BR2_USE_WCHAR || \
>> BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597
>> diff --git a/package/pistache/pistache.hash b/package/pistache/pistache.hash
>> index 5079387eb7..9a2cd1d1f9 100644
>> --- a/package/pistache/pistache.hash
>> +++ b/package/pistache/pistache.hash
>> @@ -1,3 +1,3 @@
>> #locally computed
>> -sha256 70aeef5f5a4603cb2ceb20a284e3239f5da520e68f39dcb572c9f21473ac0b6d pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d.tar.gz
>> +sha256 f2b3e8b2581cfed5e036d1b97a9b97dc7022b3ddaab69c4691238faff3199bc1 pistache-3ec9d7c4f8b828fdd391550fff81b01e72dd6269.tar.gz
>> sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 LICENSE
>> diff --git a/package/pistache/pistache.mk b/package/pistache/pistache.mk
>> index 4d6bd283ea..0f49ad12db 100644
>> --- a/package/pistache/pistache.mk
>> +++ b/package/pistache/pistache.mk
>> @@ -4,7 +4,7 @@
>> #
>> ################################################################################
>>
>> -PISTACHE_VERSION = f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d
>> +PISTACHE_VERSION = 3ec9d7c4f8b828fdd391550fff81b01e72dd6269
>> PISTACHE_SITE = $(call github,oktal,pistache,$(PISTACHE_VERSION))
>> PISTACHE_LICENSE = Apache-2.0
>> PISTACHE_LICENSE_FILES = LICENSE
>> @@ -13,9 +13,10 @@ PISTACHE_INSTALL_STAGING = YES
>>
>> ifeq ($(BR2_PACKAGE_OPENSSL),y)
>> PISTACHE_DEPENDENCIES += openssl
>> -PISTACHE_CONF_OPTS += -DPISTACHE_USE_SSL=ON
>> +PISTACHE_CONF_OPTS += -DPISTACHE_USE_SSL=true
>> +PISTACHE_CONF_OPTS += -DPISTACHE_ENABLE_NETWORK_TESTS=false
>> else
>> -PISTACHE_CONF_OPTS += -DPISTACHE_USE_SSL=OFF
>> +PISTACHE_CONF_OPTS += -DPISTACHE_USE_SSL=false
>> endif
>>
>> -$(eval $(cmake-package))
>> +$(eval $(meson-package))
>> --
>> 2.30.2
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2022-03-14 17:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-12 10:44 [Buildroot] [PATCH 0/1] Bump pistache, switch to meson build (test-pkg fails) Thomas Ruschival
2022-03-12 10:44 ` [Buildroot] [PATCH 1/1] package/pistache: bump version & switch to meson build Thomas Ruschival
2022-03-12 12:24 ` Nicolas Cavallari
2022-03-12 17:00 ` Yann E. MORIN
2022-03-14 17:21 ` Thomas Ruschival [this message]
2022-03-14 18:13 ` [Buildroot] [PATCH v2 0/1] Bump pistache, switch to meson build (test-pkg o.k.) Thomas Ruschival
2022-03-14 18:13 ` [Buildroot] [PATCH v2 1/1] package/pistache: bump version & switch to meson build Thomas Ruschival
2022-03-24 20:12 ` Arnout Vandecappelle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sfrkpi0m.fsf@ruschival.de \
--to=thomas@ruschival.de \
--cc=buildroot@buildroot.org \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox