SecBSD's official ports repository
This commit is contained in:
commit
2c0afcbbf3
64331 changed files with 5339189 additions and 0 deletions
44
lang/solidity/Makefile
Normal file
44
lang/solidity/Makefile
Normal file
|
@ -0,0 +1,44 @@
|
|||
COMMENT= solidity contract oriented programming language
|
||||
|
||||
V= 0.8.21
|
||||
DISTNAME= solidity_${V}
|
||||
PKGNAME= solidity-${V}
|
||||
|
||||
CATEGORIES= lang
|
||||
|
||||
HOMEPAGE= https://github.com/ethereum/solidity
|
||||
|
||||
MAINTAINER= Purple Rain <purplerain@secbsd.org>
|
||||
|
||||
# GPL-3.0
|
||||
PERMIT_PACKAGE= Yes
|
||||
|
||||
MASTER_SITES= https://github.com/ethereum/solidity/releases/download/v0.8.21/
|
||||
|
||||
WANTLIB+= c m gmp pthread z3 ${COMPILER_LIBCXX}
|
||||
|
||||
COMPILER= base-clang ports-gcc
|
||||
|
||||
MODULES= devel/cmake
|
||||
|
||||
BUILD_DEPENDS= devel/boost \
|
||||
devel/fmt \
|
||||
devel/range-v3 \
|
||||
devel/jsoncpp
|
||||
|
||||
LIB_DEPENDS= devel/gmp \
|
||||
math/z3
|
||||
|
||||
CONFIGURE_ARGS= INC="-I${LOCALBASE}/include" \
|
||||
LIBS="-lm -L${LOCALBASE}/lib -lgmp"
|
||||
|
||||
CONFIGURE_ENV+= CFLAGS="${CFLAGS}" \
|
||||
CPPFLAGS="${CFLAGS} ${CPPFLAGS}" \
|
||||
LDFLAGS="${LDFLAGS}"
|
||||
|
||||
CONFIGURE_ARGS+= -DUSE_LD_GOLD=OFF -DTESTS=OFF \
|
||||
-DRANGE_V3_INCLUDE_DIR="${LOCALBASE}/include" \
|
||||
-DJSONCPP_INCLUDE_DIR:STRING="${LOCALBASE}/include/jsoncpp" \
|
||||
-DSTRICT_Z3_VERSION=OFF
|
||||
|
||||
.include <bsd.port.mk>
|
2
lang/solidity/distinfo
Normal file
2
lang/solidity/distinfo
Normal file
|
@ -0,0 +1,2 @@
|
|||
SHA256 (solidity_0.8.21.tar.gz) = bRu45yhQMg5y14hXX2vSXdSTDLbdnt01pZJmpG9hDRM=
|
||||
SIZE (solidity_0.8.21.tar.gz) = 4055931
|
25
lang/solidity/patches/patch-cmake_fmtlib_cmake
Normal file
25
lang/solidity/patches/patch-cmake_fmtlib_cmake
Normal file
|
@ -0,0 +1,25 @@
|
|||
Index: cmake/fmtlib.cmake
|
||||
--- cmake/fmtlib.cmake.orig
|
||||
+++ cmake/fmtlib.cmake
|
||||
@@ -1,20 +1 @@
|
||||
-include(FetchContent)
|
||||
-
|
||||
-FetchContent_Declare(
|
||||
- fmtlib
|
||||
- PREFIX "${PROJECT_BINARY_DIR}/deps"
|
||||
- DOWNLOAD_DIR "${PROJECT_SOURCE_DIR}/deps/downloads"
|
||||
- DOWNLOAD_NAME fmt-8.0.1.tar.gz
|
||||
- URL https://github.com/fmtlib/fmt/archive/8.0.1.tar.gz
|
||||
- URL_HASH SHA256=b06ca3130158c625848f3fb7418f235155a4d389b2abc3a6245fb01cb0eb1e01
|
||||
-)
|
||||
-
|
||||
-if (CMAKE_VERSION VERSION_LESS "3.14.0")
|
||||
- FetchContent_GetProperties(fmtlib)
|
||||
- if (NOT fmtlib_POPULATED)
|
||||
- FetchContent_Populate(fmtlib)
|
||||
- add_subdirectory(${fmtlib_SOURCE_DIR} ${fmtlib_BINARY_DIR})
|
||||
- endif()
|
||||
-else()
|
||||
- FetchContent_MakeAvailable(fmtlib)
|
||||
-endif()
|
||||
+find_package(fmt REQUIRED)
|
40
lang/solidity/patches/patch-cmake_range-v3_cmake
Normal file
40
lang/solidity/patches/patch-cmake_range-v3_cmake
Normal file
|
@ -0,0 +1,40 @@
|
|||
Index: cmake/range-v3.cmake
|
||||
--- cmake/range-v3.cmake.orig
|
||||
+++ cmake/range-v3.cmake
|
||||
@@ -1,36 +1,5 @@
|
||||
-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 "${PROJECT_BINARY_DIR}/deps")
|
||||
-set(RANGE_V3_INCLUDE_DIR "${prefix}/include")
|
||||
-
|
||||
-ExternalProject_Add(range-v3-project
|
||||
- PREFIX "${prefix}"
|
||||
- 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=<INSTALL_DIR>
|
||||
- -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 "\$<\$<CXX_COMPILER_ID:MSVC>:/permissive->"
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES ${RANGE_V3_INCLUDE_DIR}
|
9
lang/solidity/pkg/DESCR
Normal file
9
lang/solidity/pkg/DESCR
Normal file
|
@ -0,0 +1,9 @@
|
|||
Solidity is a contract-oriented, high-level language for implementing
|
||||
smart contracts. It was influenced by C++, Python and JavaScript and
|
||||
is designed to target the Ethereum Virtual Machine (EVM).
|
||||
|
||||
Solidity is statically typed, supports inheritance, libraries and
|
||||
complex user-defined types among other features.
|
||||
|
||||
It is possible to create contracts for voting, crowdfunding,
|
||||
blind auctions, multi-signature wallets and more.
|
6
lang/solidity/pkg/MESSAGE
Normal file
6
lang/solidity/pkg/MESSAGE
Normal file
|
@ -0,0 +1,6 @@
|
|||
|
||||
Solidity, the Smart Contract Programming Language.
|
||||
|
||||
Help:
|
||||
|
||||
$ solc --help
|
2
lang/solidity/pkg/PLIST
Normal file
2
lang/solidity/pkg/PLIST
Normal file
|
@ -0,0 +1,2 @@
|
|||
@bin bin/solc
|
||||
@bin bin/yul-phaser
|
Loading…
Add table
Add a link
Reference in a new issue