SecBSD's official ports repository

This commit is contained in:
purplerain 2023-08-16 22:26:55 +00:00
commit 2c0afcbbf3
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
64331 changed files with 5339189 additions and 0 deletions

44
lang/solidity/Makefile Normal file
View 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
View file

@ -0,0 +1,2 @@
SHA256 (solidity_0.8.21.tar.gz) = bRu45yhQMg5y14hXX2vSXdSTDLbdnt01pZJmpG9hDRM=
SIZE (solidity_0.8.21.tar.gz) = 4055931

View 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)

View 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
View 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.

View file

@ -0,0 +1,6 @@
Solidity, the Smart Contract Programming Language.
Help:
$ solc --help

2
lang/solidity/pkg/PLIST Normal file
View file

@ -0,0 +1,2 @@
@bin bin/solc
@bin bin/yul-phaser