diff --git a/.github/workflows/export.yml b/.github/workflows/export.yml index 235a1aba66ecf..f6fdc5ac04aa0 100644 --- a/.github/workflows/export.yml +++ b/.github/workflows/export.yml @@ -3,14 +3,14 @@ name: Export on: pull_request: paths: - - '.github/workflows/export.yml' - - 'recipes/**' + - ".github/workflows/export.yml" + - "recipes/**" push: branches: - master paths: - - '.github/workflows/export.yml' - - 'recipes/**' + - ".github/workflows/export.yml" + - "recipes/**" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -39,13 +39,14 @@ jobs: conan export ed25519/all --version=2015.03 conan export grpc/all --version=1.72.0 conan export m4/all --version=1.4.19 + conan export mpt-crypto/all --version=0.1.0-rc1 conan export nudb/all --version=2.0.9 conan export openssl/3.x.x --version=3.5.4 conan export secp256k1/all --version=0.7.1 conan export snappy/all --version=1.1.10 conan export soci/all --version=4.0.3 - conan export wasmi/all --version=1.0.6 conan export wasm-xrplf/all --version=2.4.1-xrplf + conan export wasmi/all --version=1.0.6 - name: Add Conan remote run: | conan remote add --index 0 ${{ env.CONAN_REMOTE_NAME }} ${{ env.CONAN_REMOTE_URL }} diff --git a/recipes/mpt-crypto/all/conandata.yml b/recipes/mpt-crypto/all/conandata.yml new file mode 100644 index 0000000000000..733a2c6791d03 --- /dev/null +++ b/recipes/mpt-crypto/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.0-rc1": + url: https://github.com/XRPLF/mpt-crypto/archive/refs/tags/0.1.0-rc1.zip + sha256: bbcd1b2ac7b31854a85ee8f28b409f0d4b558597ae7ff86e0778f0c5d90ea132 diff --git a/recipes/mpt-crypto/all/conanfile.py b/recipes/mpt-crypto/all/conanfile.py new file mode 100644 index 0000000000000..75088921afc5b --- /dev/null +++ b/recipes/mpt-crypto/all/conanfile.py @@ -0,0 +1,61 @@ +from conan import ConanFile, tools +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get + +required_conan_version = ">=2.0.0" + + +class MptCryptoConan(ConanFile): + name = "mpt-crypto" + description = "MPT-Crypto: Cryptographic Primitives for Confidential Assets" + url = "https://github.com/XRPLF/mpt-crypto" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "tests": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "tests": False, + } + + requires = [ + "openssl/3.5.5", + "secp256k1/0.7.1", + ] + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + self.folders.generators = "build/generators" + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_TESTS"] = self.options.tests + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["mpt-crypto"] + self.cpp_info.set_property("cmake_file_name", "mpt-crypto") + self.cpp_info.set_property("cmake_target_name", "mpt-crypto::mpt-crypto") diff --git a/recipes/mpt-crypto/config.yml b/recipes/mpt-crypto/config.yml new file mode 100644 index 0000000000000..30bae347b7977 --- /dev/null +++ b/recipes/mpt-crypto/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.0-rc1": + folder: all