Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bootstrappable FCMPs #2

Draft
wants to merge 2 commits into
base: 8929_fcmp
Choose a base branch
from
Draft
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ ClangBuildAnalyzerSession.txt

# guix
/guix
/cargo

# Created by https://www.gitignore.io

Expand Down
1 change: 0 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,3 @@
[submodule "external/full-chain-membership-proofs"]
path = external/full-chain-membership-proofs
url = https://github.com/j-berman/full-chain-membership-proofs.git
branch = cpp-compat-ed25519
15 changes: 15 additions & 0 deletions contrib/guix/cargo.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
(use-modules (gnu packages)
(gnu packages bash)
((gnu packages certs) #:select (nss-certs))
(gnu packages rust)
((gnu packages tls) #:select (openssl)))

(packages->manifest
(append
(list
bash
coreutils-minimal
nss-certs
openssl
rust
(list rust "cargo"))))
16 changes: 16 additions & 0 deletions contrib/guix/guix-build
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,21 @@ EOF
exit 0
fi

# Fetch cargo dependencies
time-machine environment --manifest="${PWD}/contrib/guix/cargo.scm" \
--container \
--pure \
--network \
--no-cwd \
--user="user" \
--share="$PWD"=/monero \
-- bash -c "cd /monero/external/full-chain-membership-proofs &&
cargo fetch &&
cd /monero/src/rust &&
cargo fetch &&
rm -rf /monero/cargo &&
mv /home/user/.cargo /monero/cargo"

# Run the build script 'contrib/guix/libexec/build.sh' in the build
# container specified by 'contrib/guix/manifest.scm'.
#
Expand Down Expand Up @@ -434,6 +449,7 @@ EOF
--pure \
--no-cwd \
--share="$PWD"=/monero \
--share="$PWD/cargo"=/home/user/.cargo \
--share="$DISTSRC_BASE"=/distsrc-base \
--share="$OUTDIR_BASE"=/outdir-base \
--share="$LOGDIR_BASE"=/logdir-base \
Expand Down
2 changes: 2 additions & 0 deletions contrib/guix/libexec/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ case "$HOST" in
export CROSS_C_INCLUDE_PATH="${CROSS_GCC_LIB}/include:${CROSS_GCC_LIB}/include-fixed:${CROSS_GLIBC}/include:${CROSS_KERNEL}/include"
export CROSS_CPLUS_INCLUDE_PATH="${CROSS_GCC}/include/c++:${CROSS_GCC}/include/c++/${HOST}:${CROSS_GCC}/include/c++/backward:${CROSS_C_INCLUDE_PATH}"
export CROSS_LIBRARY_PATH="${CROSS_GCC_LIB_STORE}/lib:${CROSS_GCC_LIB}:${CROSS_GLIBC}/lib:${CROSS_GLIBC_STATIC}/lib"

export LD_LIBRARY_PATH="/gnu/store/6ncav55lbk5kqvwwflrzcr41hp5jbq0c-gcc-11.3.0-lib/lib"
;;
*freebsd*)
;;
Expand Down
3 changes: 3 additions & 0 deletions contrib/guix/manifest.scm
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
(gnu packages perl)
(gnu packages pkg-config)
((gnu packages python) #:select (python-minimal))
(gnu packages rust)
((gnu packages tls) #:select (openssl))
((gnu packages version-control) #:select (git-minimal))
(guix build-system gnu)
Expand Down Expand Up @@ -249,6 +250,8 @@ chain for " target " development."))
gperf
gettext-minimal
cmake-minimal
rust
`(,rust "cargo")
;; Native GCC 10 toolchain
gcc-toolchain-10
(list gcc-toolchain-10 "static")
Expand Down
1 change: 1 addition & 0 deletions external/full-chain-membership-proofs
2 changes: 2 additions & 0 deletions src/rust/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ add_custom_command(
VERBATIM
)

add_custom_target(rust_cxx ALL DEPENDS ${CXX_HEADER})

set(monero_rust_sources ${MONERO_RUST_CXX})

monero_find_all_headers(monero_rust_headers "${MONERO_RUST_HEADER_DIR}")
Expand Down
9 changes: 6 additions & 3 deletions src/seraphis_core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,12 @@ set(seraphis_core_sources

monero_find_all_headers(seraphis_core_headers, "${CMAKE_CURRENT_SOURCE_DIR}")

monero_add_library(seraphis_core
${seraphis_core_sources}
${seraphis_core_headers})
monero_add_library_with_deps(
NAME seraphis_core
DEPENDS rust_cxx
SOURCES
${seraphis_core_sources}
${seraphis_core_headers})

target_link_libraries(seraphis_core
PUBLIC
Expand Down
9 changes: 6 additions & 3 deletions src/seraphis_crypto/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,12 @@ set(seraphis_crypto_sources

monero_find_all_headers(seraphis_crypto_headers, "${CMAKE_CURRENT_SOURCE_DIR}")

monero_add_library(seraphis_crypto
${seraphis_crypto_sources}
${seraphis_crypto_headers})
monero_add_library_with_deps(
NAME seraphis_crypto
DEPENDS rust_cxx
SOURCES
${seraphis_crypto_sources}
${seraphis_crypto_headers})

target_link_libraries(seraphis_crypto
PUBLIC
Expand Down
9 changes: 6 additions & 3 deletions src/seraphis_impl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,12 @@ set(seraphis_impl_sources

monero_find_all_headers(seraphis_impl_headers, "${CMAKE_CURRENT_SOURCE_DIR}")

monero_add_library(seraphis_impl
${seraphis_impl_sources}
${seraphis_impl_headers})
monero_add_library_with_deps(
NAME seraphis_impl
DEPENDS rust_cxx
SOURCES
${seraphis_impl_sources}
${seraphis_impl_headers})

target_link_libraries(seraphis_impl
PUBLIC
Expand Down
9 changes: 6 additions & 3 deletions src/seraphis_main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,12 @@ set(seraphis_main_sources

monero_find_all_headers(seraphis_main_headers, "${CMAKE_CURRENT_SOURCE_DIR}")

monero_add_library(seraphis_main
${seraphis_main_sources}
${seraphis_main_headers})
monero_add_library_with_deps(
NAME seraphis_main
DEPENDS rust_cxx
SOURCES
${seraphis_main_sources}
${seraphis_main_headers})

target_link_libraries(seraphis_main
PUBLIC
Expand Down
9 changes: 6 additions & 3 deletions src/seraphis_mocks/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,12 @@ set(seraphis_mocks_sources

monero_find_all_headers(seraphis_mocks_headers, "${CMAKE_CURRENT_SOURCE_DIR}")

monero_add_library(seraphis_mocks
${seraphis_mocks_sources}
${seraphis_mocks_headers})
monero_add_library_with_deps(
NAME seraphis_mocks
DEPENDS rust_cxx
SOURCES
${seraphis_mocks_sources}
${seraphis_mocks_headers})

target_link_libraries(seraphis_mocks
PUBLIC
Expand Down
Loading