Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ jobs:
config:
- name: Linux
os: ubuntu-16.04
packages: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
packages: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
cc: gcc
cxx: g++

Expand Down Expand Up @@ -299,7 +299,7 @@ jobs:
- name: x86_64 Linux [GOAL:install] [xenial] [no depends only system libs]
os: ubuntu-16.04
host: x86_64-unknown-linux-gnu
apt_get: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
apt_get: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
unit_tests: true
functional_tests: true
no_depends: 1
Expand All @@ -310,7 +310,7 @@ jobs:
- name: x86_64 Linux [GOAL:install] [bionic] [no depends only system libs]
os: ubuntu-18.04
host: x86_64-unknown-linux-gnu
apt_get: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
apt_get: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
unit_tests: true
no_depends: 1
goal: install
Expand Down
32 changes: 8 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(ENV{target} "Mac")
add_definitions("-DMAC_OSX")
list(APPEND CMAKE_PREFIX_PATH /usr/local/opt/qt5)
list(APPEND CMAKE_PREFIX_PATH /usr/local/opt/openssl@1.1)
list(APPEND CMAKE_PREFIX_PATH /usr/local/Cellar/berkeley-db@4)
set(BerkeleyDB_ROOT_DIR "/usr/local/Cellar/berkeley-db@4/${BDB_VER}/")
set(Boost_USE_MULTITHREADED ON)
Expand Down Expand Up @@ -74,15 +73,6 @@ if(BerkeleyDB_FOUND)
endif()
endif()

find_package(OpenSSL COMPONENTS Crypto REQUIRED)
if(OPENSSL_FOUND)
message(STATUS "Found OpenSSL (${OPENSSL_VERSION}): ${OPENSSL_LIBRARIES}")
if(OPENSSL_VERSION VERSION_GREATER_EQUAL 1.1)
message(STATUS "Found unsupported OpenSSL version!")
set(SSL_CONFIGURE_FLAGS "--with-unsupported-ssl")
endif()
endif()

find_package(LibEvent REQUIRED)

find_package(GMP REQUIRED)
Expand All @@ -105,7 +95,7 @@ endif()
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/config/pivx-config.h")
else()
execute_process(
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/configure ${CONFIGSITE} ${BDB_CONFIGURE_FLAGS} ${BIGNUM_CONFIGURE_FLAGS} ${SSL_CONFIGURE_FLAGS}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/configure ${CONFIGSITE} ${BDB_CONFIGURE_FLAGS} ${BIGNUM_CONFIGURE_FLAGS}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
endif()
Expand Down Expand Up @@ -245,7 +235,7 @@ target_include_directories(SERVER_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src/leveldb/include
${CMAKE_CURRENT_SOURCE_DIR}/src/leveldb/helpers/memenv
${CMAKE_CURRENT_SOURCE_DIR}/src/rust/include
${ZMQ_INCLUDE_DIR} ${LIBEVENT_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${BerkeleyDB_INCLUDE_DIRS}
${ZMQ_INCLUDE_DIR} ${LIBEVENT_INCLUDE_DIR} ${BerkeleyDB_INCLUDE_DIRS}
)

if(ZMQ_FOUND)
Expand All @@ -255,7 +245,7 @@ if(ZMQ_FOUND)
./src/zmq/zmqpublishnotifier.cpp
)
add_library(ZMQ_A STATIC ${BitcoinHeaders} ${ZMQ_SOURCES} ${ZMQ_LIB})
target_include_directories(ZMQ_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${ZMQ_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR})
target_include_directories(ZMQ_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${ZMQ_INCLUDE_DIR})
target_compile_definitions(ZMQ_A PUBLIC "-DZMQ_STATIC")
endif()

Expand Down Expand Up @@ -297,7 +287,6 @@ target_include_directories(WALLET_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src/secp256k1/include
${CMAKE_CURRENT_SOURCE_DIR}/src/univalue/include
${CMAKE_CURRENT_SOURCE_DIR}/src/leveldb/include
${OPENSSL_INCLUDE_DIR}
${BerkeleyDB_INCLUDE_DIRS}
)

Expand Down Expand Up @@ -338,7 +327,7 @@ set(BITCOIN_CRYPTO_SOURCES
./src/crypto/sph_types.h
)
add_library(BITCOIN_CRYPTO_A STATIC ${BITCOIN_CRYPTO_SOURCES})
target_include_directories(BITCOIN_CRYPTO_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${OPENSSL_INCLUDE_DIR})
target_include_directories(BITCOIN_CRYPTO_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src)

set(ZEROCOIN_SOURCES
./src/libzerocoin/bignum.h
Expand All @@ -360,9 +349,7 @@ set(ZEROCOIN_SOURCES
./src/libzerocoin/Params.cpp
)
add_library(ZEROCOIN_A STATIC ${ZEROCOIN_SOURCES})
target_include_directories(ZEROCOIN_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
${OPENSSL_INCLUDE_DIR}
)
target_include_directories(ZEROCOIN_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src)

set(COMMON_SOURCES
./src/base58.cpp
Expand Down Expand Up @@ -410,7 +397,6 @@ target_include_directories(COMMON_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src/secp256k1/include
${CMAKE_CURRENT_SOURCE_DIR}/src/leveldb/include
${CMAKE_CURRENT_SOURCE_DIR}/src/univalue/include
${OPENSSL_INCLUDE_DIR}
${BerkeleyDB_INCLUDE_DIRS}
)

Expand Down Expand Up @@ -441,7 +427,6 @@ add_library(UTIL_A STATIC ${BitcoinHeaders} ${UTIL_SOURCES})
target_include_directories(UTIL_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src/univalue/include
${CMAKE_CURRENT_SOURCE_DIR}/src/rust/include
${OPENSSL_INCLUDE_DIR}
)

set(CLI_A_SOURCES ./src/rpc/client.cpp)
Expand Down Expand Up @@ -474,7 +459,6 @@ target_include_directories(SAPLING_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src/sapling
${CMAKE_CURRENT_SOURCE_DIR}/src/rust/include
${CMAKE_CURRENT_SOURCE_DIR}/src/univalue/include
${OPENSSL_INCLUDE_DIR}
${BerkeleyDB_INCLUDE_DIRS}
)

Expand All @@ -499,7 +483,7 @@ target_link_libraries(pivx-cli
BITCOIN_CRYPTO_A
SAPLING_A
rustzcash
${Boost_LIBRARIES} ${OPENSSL_CRYPTO_LIBRARY} ${LIBEVENT_LIB} ${sodium_LIBRARY_RELEASE} -ldl pthread
${Boost_LIBRARIES} ${LIBEVENT_LIB} ${sodium_LIBRARY_RELEASE} -ldl pthread
)
if($ENV{target} MATCHES "Windows")
target_link_libraries(pivx-cli ${WINDOWS_LDADD})
Expand All @@ -523,7 +507,7 @@ target_link_libraries(pivx-tx
secp256k1
SAPLING_A
rustzcash
${Boost_LIBRARIES} ${OPENSSL_CRYPTO_LIBRARY} ${LIBEVENT_LIB} ${sodium_LIBRARY_RELEASE} ${GMP_LIBRARY} -ldl pthread
${Boost_LIBRARIES} ${LIBEVENT_LIB} ${sodium_LIBRARY_RELEASE} ${GMP_LIBRARY} -ldl pthread
)
if($ENV{target} MATCHES "Windows")
target_link_libraries(pivx-tx ${WINDOWS_LDADD})
Expand Down Expand Up @@ -558,7 +542,7 @@ target_link_libraries(pivxd
crc32c
secp256k1
rustzcash
${BerkeleyDB_LIBRARIES} ${OPENSSL_CRYPTO_LIBRARY} ${Boost_LIBRARIES} ${LIBEVENT_LIB} ${GMP_LIBRARY} pthread
${BerkeleyDB_LIBRARIES} ${Boost_LIBRARIES} ${LIBEVENT_LIB} ${GMP_LIBRARY} pthread
)
if($ENV{target} MATCHES "Windows")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wstack-protector -fstack-protector-all -fPIE -pipe -O2 -pthread -Wl,--dynamicbase -Wl,--nxcompat -Wl,--high-entropy-va -pie --static")
Expand Down
1 change: 0 additions & 1 deletion build-aux/snap/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,6 @@ parts:
- python3
- help2man
- doxygen
- libssl-dev
- libgmp-dev
- libevent-dev
- libboost-all-dev
Expand Down
9 changes: 0 additions & 9 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -558,13 +558,8 @@ case $host in
dnl It's safe to add these paths even if the functionality is disabled by
dnl the user (--without-wallet or --without-gui for example).

openssl_prefix=`$BREW --prefix openssl 2>/dev/null`
bdb_prefix=`$BREW --prefix berkeley-db4 2>/dev/null`
qt5_prefix=`$BREW --prefix qt5 2>/dev/null`
if test x$openssl_prefix != x; then
PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH
fi
if test x$bdb_prefix != x; then
CPPFLAGS="$CPPFLAGS -I$bdb_prefix/include"
LIBS="$LIBS -L$bdb_prefix/lib"
Expand Down Expand Up @@ -1118,7 +1113,6 @@ if test x$use_pkgconfig = xyes; then
m4_ifdef(
[PKG_CHECK_MODULES],
[
PKG_CHECK_MODULES([CRYPTO], [libcrypto],,[AC_MSG_ERROR(libcrypto not found.)])
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode],,[BITCOIN_QT_FAIL(libqrencode not found)])])
if test x$use_qtcharts != xno; then
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([CHARTS], [Qt5Charts],[have_qtcharts=yes], [have_qtcharts=no])])
Expand All @@ -1144,8 +1138,6 @@ if test x$use_pkgconfig = xyes; then
]
)
else
AC_CHECK_HEADER([openssl/crypto.h],,AC_MSG_ERROR(libcrypto headers missing))
AC_CHECK_LIB([crypto], [main],CRYPTO_LIBS=-lcrypto, AC_MSG_ERROR(libcrypto missing))

if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests != xnononono; then
AC_CHECK_HEADER([event2/event.h],, AC_MSG_ERROR(libevent headers missing),)
Expand Down Expand Up @@ -1481,7 +1473,6 @@ AC_SUBST(BOOST_LIBS)
AC_SUBST(TESTDEFS)
AC_SUBST(MINIUPNPC_CPPFLAGS)
AC_SUBST(MINIUPNPC_LIBS)
AC_SUBST(CRYPTO_LIBS)
AC_SUBST(EVENT_LIBS)
AC_SUBST(EVENT_PTHREADS_LIBS)
AC_SUBST(SODIUM_LIBS)
Expand Down
86 changes: 0 additions & 86 deletions depends/packages/openssl.mk

This file was deleted.

2 changes: 1 addition & 1 deletion depends/packages/packages.mk
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ rust_crates := \
crate_zcash_proofs

rust_packages := rust $(rust_crates)
packages:=boost openssl libevent gmp $(zcash_packages) libsodium
packages:=boost libevent gmp $(zcash_packages) libsodium

qt_packages = qrencode zlib

Expand Down
2 changes: 1 addition & 1 deletion doc/build-osx.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Then install [Homebrew](https://brew.sh).
Dependencies
----------------------

brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config python3 qt5 zmq libevent qrencode gmp libsodium rust
brew install autoconf automake berkeley-db4 libtool boost miniupnpc pkg-config python3 qt5 zmq libevent qrencode gmp libsodium rust

See [dependencies.md](dependencies.md) for a complete overview.

Expand Down
5 changes: 2 additions & 3 deletions doc/build-unix.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ These dependencies are required:

Library | Purpose | Description
------------|--------------------|----------------------
libssl | Crypto | Random Number Generation, Elliptic Curve Cryptography
libboost | Utility | Library for threading, data structures, etc
libevent | Networking | OS independent asynchronous networking
libgmp | Bignum Arithmetic | Precision arithmetic
Expand Down Expand Up @@ -72,7 +71,7 @@ Build requirements:

Now, you can either build from self-compiled [depends](/depends/README.md) or install the required dependencies:

sudo apt-get install libssl-dev libgmp-dev libevent-dev libboost-all-dev libsodium-dev cargo
sudo apt-get install libgmp-dev libevent-dev libboost-all-dev libsodium-dev cargo

BerkeleyDB is required for the wallet.

Expand Down Expand Up @@ -124,7 +123,7 @@ built by default.

Build requirements:

sudo dnf install which gcc-c++ libtool make autoconf automake compat-openssl10-devel libevent-devel boost-devel libdb4-devel libdb4-cxx-devel gmp-devel libsodium-devel cargo python3
sudo dnf install which gcc-c++ libtool make autoconf automake libevent-devel boost-devel libdb4-devel libdb4-cxx-devel gmp-devel libsodium-devel cargo python3

Optional:

Expand Down
1 change: 0 additions & 1 deletion doc/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ These are the dependencies currently used by PIVX Core. You can find instruction
| libpng | | | | | [Yes](https://github.com/pivx-project/pivx/blob/master/depends/packages/qt.mk#L64) |
| librsvg | | | | | |
| MiniUPnPc | [2.2.2](https://miniupnp.tuxfamily.org/files) | | No | | |
| OpenSSL | [1.0.1k](https://www.openssl.org/source) | | Yes | | |
| GMP | [6.1.2](https://gmplib.org/) | | No | | |
| PCRE | | | | | [Yes](https://github.com/pivx-project/pivx/blob/master/depends/packages/qt.mk#L66) |
| Python (tests) | | [3.5](https://www.python.org/downloads) | | | |
Expand Down
5 changes: 5 additions & 0 deletions doc/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,11 @@ The `autocombine` RPC command has been replaced with specific set/get commands (
The minimum supported miniUPnPc API version is set to 10. This keeps compatibility with Ubuntu 16.04 LTS and Debian 8 `libminiupnpc-dev` packages. Please note, on Debian this package is still vulnerable to [CVE-2017-8798](https://security-tracker.debian.org/tracker/CVE-2017-8798) (in jessie only) and [CVE-2017-1000494](https://security-tracker.debian.org/tracker/CVE-2017-1000494) (both in jessie and in stretch).


#### Build System

OpenSSL is no longer used by PIVX Core


#### Disable PoW mining RPC Commands

A new configure flag has been introduced to allow more granular control over weather or not the PoW mining RPC commands are compiled into the wallet. By default they are not. This behavior can be overridden by passing `--enable-mining-rpc` to the `configure` script.
Expand Down
1 change: 0 additions & 1 deletion libbitcoinconsensus.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,3 @@ Description: Library for the Bitcoin consensus protocol.
Version: @PACKAGE_VERSION@
Libs: -L${libdir} -lbitcoinconsensus
Cflags: -I${includedir}
Requires.private: libcrypto
8 changes: 4 additions & 4 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ LIBUNIVALUE = $(UNIVALUE_LIBS)
endif

BITCOIN_CONFIG_INCLUDES=-I$(builddir)/config
BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) $(CRYPTO_CFLAGS)
BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)

BITCOIN_INCLUDES += -I$(srcdir)/rust/include
BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include
Expand Down Expand Up @@ -621,7 +621,7 @@ pivxd_LDADD = \
$(LIBRUSTZCASH) \
$(LIBZCASH_LIBS)

pivxd_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) $(ZMQ_LIBS)
pivxd_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) $(ZMQ_LIBS)

# pivx-cli binary #
pivx_cli_SOURCES = pivx-cli.cpp
Expand All @@ -642,7 +642,7 @@ pivx_cli_LDADD = \
$(LIBRUSTZCASH) \
$(LIBZCASH_LIBS)

pivx_cli_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) $(EVENT_LIBS)
pivx_cli_LDADD += $(BOOST_LIBS) $(EVENT_LIBS)
#

# pivx-tx binary #
Expand All @@ -666,7 +666,7 @@ pivx_tx_LDADD = \
$(LIBRUSTZCASH) \
$(LIBZCASH_LIBS)

pivx_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
pivx_tx_LDADD += $(BOOST_LIBS)
#

# bitcoinconsensus library #
Expand Down
Loading