Merge branch 'standalone_argp' into 0.2.x
Some checks are pending
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], almalinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], amazonlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], archlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], clearlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], debian:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], debian:oldstable) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], debian:stable) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], fedora:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], oraclelinux:9) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], ubuntu:22.04) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=OFF], ubuntu:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], almalinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], amazonlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], archlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], clearlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], debian:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], debian:stable) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], fedora:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], oraclelinux:9) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], ubuntu:22.04) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=clang], ubuntu:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], almalinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], amazonlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], archlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], clearlinux:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], debian:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], debian:oldstable) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], debian:stable) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], fedora:latest) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], oraclelinux:9) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], ubuntu:22.04) (push) Waiting to run
Build DATUM Gateway / build (map[cmake_args:-DENABLE_API=ON -DCMAKE_C_COMPILER=gcc], ubuntu:latest) (push) Waiting to run

This commit is contained in:
Luke Dashjr 2025-05-02 02:00:18 +00:00
commit 7f88885cdb
No known key found for this signature in database
GPG Key ID: A291A2C45D0C504A
2 changed files with 40 additions and 5 deletions

View File

@ -59,6 +59,7 @@ endif()
pkg_check_modules(SODIUM REQUIRED libsodium)
find_package(Threads REQUIRED)
include(CheckFunctionExists)
include(CheckLibraryExists)
include(CMakePushCheckState)
cmake_push_check_state(RESET)
@ -70,6 +71,15 @@ if(LIBM)
list(APPEND POW_LIBS "m")
endif()
set(ARGP_LIBS "")
check_function_exists(argp_parse HAVE_ARGP_PARSE)
if(NOT HAVE_ARGP_PARSE)
check_library_exists(argp argp_parse "" ARGP)
if(ARGP)
list(APPEND ARGP_LIBS "argp")
endif()
endif()
cmake_pop_check_state()
add_custom_target(generate_git_version
@ -105,6 +115,7 @@ target_link_libraries(datum_gateway
PUBLIC
${POW_LIBS}
Threads::Threads
${ARGP_LIBS}
${CURL_LIBRARIES} ${CURL_LDFLAGS} ${CURL_LDFLAGS_OTHER}
${JANSSON_LIBRARIES} ${JANSSON_LDFLAGS} ${JANSSON_LDFLAGS_OTHER}
${SODIUM_LIBRARIES} ${SODIUM_LDFLAGS} ${SODIUM_LDFLAGS_OTHER}

View File

@ -88,15 +88,39 @@ Install and fully sync your Bitcoin full node. Instructions for this are beyond
Configure your node to create block templates as you desire. Be sure to reserve some space for the generation transaction, otherwise your work will not be able to fit a reward split. See node configuration recommendations above.
Install the required libraries and development packages for dependencies: cmake, pkg-config, jansson, libmicrohttpd, libsodium, and libcurl.
Install the required libraries and development packages for dependencies: cmake, pkgconf, libcurl, jansson, libsodium, and libmicrohttpd. You may also need psmisc for your node to send blocknotify signals to the DATUM Gateway.
For Debian/Ubuntu it would be:
For Debian/Ubuntu:
sudo apt install cmake pkgconf libcurl4-openssl-dev libjansson-dev libmicrohttpd-dev libsodium-dev psmisc
sudo apt install cmake pkgconf libcurl4-openssl-dev libjansson-dev libsodium-dev libmicrohttpd-dev psmisc
For RedHat/Fedora it would be:
For Fedora/Amazon Linux:
sudo dnf install cmake pkgconf libcurl-devel jansson-devel libmicrohttpd-devel libsodium-devel psmisc
sudo dnf install cmake pkgconf libcurl-devel jansson-devel libsodium-devel libmicrohttpd-devel psmisc
For Alma Linux:
sudo dnf install epel-release dnf-plugins-core
sudo dnf config-manager --set-enabled crb
sudo dnf install cmake pkgconf libcurl-devel jansson-devel libsodium-devel libmicrohttpd-devel psmisc
For Oracle Linux:
sudo dnf install epel-release dnf-plugins-core
sudo dnf config-manager --set-enabled ol9_codeready_builder
sudo dnf install cmake pkgconf libcurl-devel jansson-devel libsodium-devel libmicrohttpd-devel psmisc
For Alpine (also needs a standalone argp library):
sudo apk add build-base cmake pkgconf argp-standalone curl-dev jansson-dev libsodium-dev libmicrohttpd-dev psmisc
For Arch:
sudo pacman -Syu base-devel cmake pkgconf curl jansson libsodium libmicrohttpd psmisc
For Clear Linux:
sudo swupd bundle-add c-basic cmake pkgconf devpkg-curl devpkg-jansson devpkg-libsodium devpkg-libmicrohttpd psmisc
Compile DATUM by running: