diff --git a/lang/solidity/Makefile b/lang/solidity/Makefile index 6d29a884ac74..ccc495f11910 100644 --- a/lang/solidity/Makefile +++ b/lang/solidity/Makefile @@ -1,54 +1,54 @@ PORTNAME= solidity -PORTVERSION= 0.8.20 +PORTVERSION= 0.8.21 CATEGORIES= lang MASTER_SITES= https://github.com/ethereum/solidity/releases/download/v${PORTVERSION}/ DISTNAME= ${PORTNAME}_${PORTVERSION} MAINTAINER= ale@FreeBSD.org COMMENT= Solidity Contract-Oriented Programming Language WWW= https://github.com/ethereum/solidity LICENSE= GPLv3 NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe sparc64 NOT_FOR_ARCHS_REASON= solidity currently does not support big endian systems BUILD_DEPENDS= boost-libs>=0:devel/boost-libs \ libfmt>=0:devel/libfmt \ range-v3>=0:devel/range-v3 LIB_DEPENDS= libjsoncpp.so:devel/jsoncpp USES= cmake compiler:c++14-lang cpe CPE_VENDOR= ${PORTNAME}lang OPTIONS_DEFINE= Z3 CVC4 OPTIONS_DEFAULT=Z3 #CVC4 OPTIONS_EXCLUDE_i386= Z3 Z3_DESC= SMT Checker via Z3 CVC4_DESC= SMT Checker via CVC4 Z3_LIB_DEPENDS= libz3.so:math/z3 CVC4_LIB_DEPENDS= libcvc5.so:math/cvc5 libgmp.so:math/gmp Z3_CMAKE_OFF= USE_Z3 CVC4_CMAKE_OFF= USE_CVC4 CVC4_BROKEN= solidity uses cvc4 which has been succeeded by cvc5 CMAKE_ARGS+= -DUSE_LD_GOLD=OFF -DTESTS=OFF \ -DRANGE_V3_INCLUDE_DIR="${LOCALBASE}/include" \ -DJSONCPP_INCLUDE_DIR:STRING="${LOCALBASE}/include/jsoncpp" \ -DJSONCPP_LIB_DIR:STRING="${LOCALBASE}/lib" \ -DSTRICT_Z3_VERSION=OFF PLIST_FILES= bin/solc \ bin/yul-phaser .include .if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400079 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 )) CXXFLAGS+= -Wno-unqualified-std-cast-call .endif pre-patch: @${CP} ${FILESDIR}/fmtlib.cmake ${FILESDIR}/jsoncpp.cmake ${WRKSRC}/cmake/ @${REINPLACE_CMD} '/EthCcache/d' ${WRKSRC}/CMakeLists.txt .include diff --git a/lang/solidity/distinfo b/lang/solidity/distinfo index 82d377a540b0..3e73ebf00022 100644 --- a/lang/solidity/distinfo +++ b/lang/solidity/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1683798989 -SHA256 (solidity_0.8.20.tar.gz) = 8a54043ebbd436b8b38d625d90ceb69dce07c150822fb6d796e440ccc2c17981 -SIZE (solidity_0.8.20.tar.gz) = 3263637 +TIMESTAMP = 1689924739 +SHA256 (solidity_0.8.21.tar.gz) = 6d1bb8e72850320e72d788575f6bd25dd4930cb6dd9edd35a59266a46f610d13 +SIZE (solidity_0.8.21.tar.gz) = 4055931 diff --git a/lang/solidity/files/patch-cmake_range-v3.cmake b/lang/solidity/files/patch-cmake_range-v3.cmake index ea5bff8c52bd..cff65acdb261 100644 --- a/lang/solidity/files/patch-cmake_range-v3.cmake +++ b/lang/solidity/files/patch-cmake_range-v3.cmake @@ -1,39 +1,39 @@ ---- cmake/range-v3.cmake.orig 2021-01-28 15:15:15 UTC +--- cmake/range-v3.cmake.orig 2023-07-19 09:24:46 UTC +++ cmake/range-v3.cmake @@ -1,36 +1,11 @@ -include(ExternalProject) - if (${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten") set(RANGE_V3_CMAKE_COMMAND emcmake cmake) else() set(RANGE_V3_CMAKE_COMMAND ${CMAKE_COMMAND}) endif() --set(prefix "${CMAKE_BINARY_DIR}/deps") +-set(prefix "${PROJECT_BINARY_DIR}/deps") -set(RANGE_V3_INCLUDE_DIR "${prefix}/include") - -ExternalProject_Add(range-v3-project - PREFIX "${prefix}" -- DOWNLOAD_DIR "${CMAKE_SOURCE_DIR}/deps/downloads" +- DOWNLOAD_DIR "${PROJECT_SOURCE_DIR}/deps/downloads" - DOWNLOAD_NAME range-v3-0.12.0.tar.gz - URL https://github.com/ericniebler/range-v3/archive/0.12.0.tar.gz - URL_HASH SHA256=015adb2300a98edfceaf0725beec3337f542af4915cec4d0b89fa0886f4ba9cb - CMAKE_COMMAND ${RANGE_V3_CMAKE_COMMAND} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DBUILD_TESTING=OFF - -DRANGES_CXX_STD=${CMAKE_CXX_STANDARD} - -DRANGE_V3_DOCS=OFF - -DRANGE_V3_EXAMPLES=OFF - -DRANGE_V3_TESTS=OFF - -DRANGES_BUILD_CALENDAR_EXAMPLE=OFF - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - BUILD_BYPRODUCTS "${RANGE_V3_INCLUDE_DIR}/range/v3/all.hpp" -) - # Create range-v3 imported library add_library(range-v3 INTERFACE IMPORTED) -file(MAKE_DIRECTORY ${RANGE_V3_INCLUDE_DIR}) # Must exist. set_target_properties(range-v3 PROPERTIES INTERFACE_COMPILE_OPTIONS "\$<\$:/permissive->" INTERFACE_SYSTEM_INCLUDE_DIRECTORIES ${RANGE_V3_INCLUDE_DIR} diff --git a/lang/solidity/files/patch-libevmasm_Assembly.cpp b/lang/solidity/files/patch-libevmasm_Assembly.cpp index 41034a4cceaa..e82803281e1e 100644 --- a/lang/solidity/files/patch-libevmasm_Assembly.cpp +++ b/lang/solidity/files/patch-libevmasm_Assembly.cpp @@ -1,11 +1,11 @@ ---- libevmasm/Assembly.cpp.orig 2022-03-24 17:16:26 UTC +--- libevmasm/Assembly.cpp.orig 2023-07-19 09:24:46 UTC +++ libevmasm/Assembly.cpp -@@ -48,6 +48,8 @@ using namespace solidity::evmasm; +@@ -47,6 +47,8 @@ using namespace solidity::evmasm; using namespace solidity::langutil; using namespace solidity::util; +#undef MSIZE // remove MSIZE definition from , included by boost 1.66.0 + AssemblyItem const& Assembly::append(AssemblyItem _i) { assertThrow(m_deposit >= 0, AssemblyException, "Stack underflow."); diff --git a/lang/solidity/files/patch-libevmasm_Instruction.h b/lang/solidity/files/patch-libevmasm_Instruction.h index 3b8c13e7d7e6..36f47c312bee 100644 --- a/lang/solidity/files/patch-libevmasm_Instruction.h +++ b/lang/solidity/files/patch-libevmasm_Instruction.h @@ -1,11 +1,11 @@ ---- libevmasm/Instruction.h.orig 2022-03-16 14:18:52 UTC +--- libevmasm/Instruction.h.orig 2023-07-19 09:24:46 UTC +++ libevmasm/Instruction.h -@@ -26,6 +26,8 @@ - #include +@@ -27,6 +27,8 @@ #include + #include +#undef MSIZE // remove MSIZE definition from , included by boost 1.66.0 + namespace solidity::evmasm { diff --git a/lang/solidity/files/patch-libevmasm_SemanticInformation.cpp b/lang/solidity/files/patch-libevmasm_SemanticInformation.cpp index 1d7ec7ac648c..7c125836bd3b 100644 --- a/lang/solidity/files/patch-libevmasm_SemanticInformation.cpp +++ b/lang/solidity/files/patch-libevmasm_SemanticInformation.cpp @@ -1,11 +1,11 @@ ---- libevmasm/SemanticInformation.cpp.orig 2022-03-24 17:18:03 UTC +--- libevmasm/SemanticInformation.cpp.orig 2023-07-19 09:24:46 UTC +++ libevmasm/SemanticInformation.cpp -@@ -29,6 +29,8 @@ using namespace std; +@@ -28,6 +28,8 @@ using namespace solidity; using namespace solidity::evmasm; +#undef MSIZE // remove MSIZE definition from , included by boost 1.66.0 + - vector SemanticInformation::readWriteOperations(Instruction _instruction) + std::vector SemanticInformation::readWriteOperations(Instruction _instruction) { switch (_instruction)