Skip to main content
Glama
conanfile.py3.04 kB
#!/usr/bin/env python3 """ Conan recipe for OpenSSL Tools Orchestration. This recipe packages the OpenSSL Tools orchestration system with Agent Skills integration and FIPS compliance capabilities. """ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir import os class OpenSSLToolsConan(ConanFile): name = "openssl-tools-orchestrator" version = "0.2.0" description = "OpenSSL Tools Orchestration with Agent Skills Integration" license = "MIT" url = "https://github.com/sparesparrow/openssl-tools" homepage = "https://github.com/sparesparrow/openssl-tools" topics = ("openssl", "fips", "orchestration", "mcp", "agent-skills") settings = "os", "compiler", "build_type", "arch" options = { "fips_enabled": [True, False], "shared": [True, False], "fPIC": [True, False], } default_options = { "fips_enabled": True, "shared": False, "fPIC": True, } exports_sources = "CMakeLists.txt", "src/*", "include/*", "tests/*" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: self.options.rm_safe("fPIC") def requirements(self): self.requires("openssl/3.1.4") self.requires("zlib/1.3") self.requires("cmake/3.27.7") self.requires("ninja/1.11.1") if self.options.fips_enabled: self.requires("fips-crypto/1.0.0") def build_requirements(self): self.tool_requires("cmake/3.27.7") self.tool_requires("ninja/1.11.1") def layout(self): cmake_layout(self) def generate(self): tc = CMakeToolchain(self) tc.variables["FIPS_ENABLED"] = self.options.fips_enabled tc.generate() def build(self): cmake = CMake(self) cmake.configure() cmake.build() def package(self): copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) copy(self, "*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) copy(self, "*.dll", dst=os.path.join(self.package_folder, "bin"), src=self.build_folder, keep_path=False) copy(self, "*.so", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) copy(self, "*.dylib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) copy(self, "*.a", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) def package_info(self): self.cpp_info.libs = ["openssl_tools_orchestrator"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread"] if self.options.fips_enabled: self.cpp_info.defines = ["FIPS_MODE=1"]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sparesparrow/mcp-project-orchestrator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server