Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-22 08:05:48

0001 # Copyright Spack Project Developers. See COPYRIGHT file for details.
0002 #
0003 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
0004 
0005 from spack_repo.builtin.build_systems.python import PythonPackage
0006 
0007 from spack.package import *
0008 
0009 
0010 class RucioEicMcpServer(PythonPackage):
0011     """An MCP server for querying Rucio data-management for the EIC (REST API, no rucio client)."""
0012 
0013     homepage = "https://github.com/eic/rucio-eic-mcp-server"
0014     url = "https://github.com/eic/rucio-eic-mcp-server/archive/refs/tags/v0.2.0.tar.gz"
0015     git = "https://github.com/eic/rucio-eic-mcp-server.git"
0016 
0017     maintainers("wdconinc")
0018 
0019     tags = ["eic"]
0020 
0021     license("MIT", checked_by="aprozo")
0022 
0023     version("main", branch="main")
0024     # merge of #2 (streamable HTTP); no tag yet
0025     version("0.2.0", commit="39f8bfd173dd8dc6b29ea113da6b660f24f98817")
0026     version("0.1.0", commit="e5b630bdebaa6d7156a71db5c6287d3fb425ee17")
0027 
0028     depends_on("python@3.10:", type=("build", "run"))
0029     depends_on("py-setuptools@61:", type="build")
0030     depends_on("py-wheel", type="build")
0031 
0032     # no mcp[cli] (click pin conflicts); mcp 2 dropped mcp.server.fastmcp
0033     depends_on("py-mcp@1.10.1:1", type=("build", "run"))
0034     depends_on("py-requests@2.28:", type=("build", "run"))
0035 
0036     def setup_build_environment(self, env):
0037         # `--test root` runs the import test in this environment, set up before
0038         # the install; python-venv adds site-packages only once it exists
0039         venv = self.spec["python-venv"].package
0040         for d in {venv.platlib, venv.purelib}:
0041             env.prepend_path("PYTHONPATH", join_path(self.prefix, d))