summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/py-nbconvert/package.py
blob: af19eb9f220ec182277baf5d9f98c2d68e4ec9a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)


from spack.package import *


class PyNbconvert(PythonPackage):
    """Jupyter Notebook Conversion"""

    homepage = "https://github.com/jupyter/nbconvert"
    pypi = "nbconvert/nbconvert-6.0.1.tar.gz"

    license("BSD-3-Clause")

    version("7.4.0", sha256="51b6c77b507b177b73f6729dba15676e42c4e92bcb00edc8cc982ee72e7d89d7")
    version("7.0.0", sha256="fd1e361da30e30e4c5a5ae89f7cae95ca2a4d4407389672473312249a7ba0060")
    version("6.5.1", sha256="2c01f3f518fee736c3d3f999dd20e0a16febba17a0d60a3b0fd28fbdec14115d")
    version("6.5.0", sha256="223e46e27abe8596b8aed54301fadbba433b7ffea8196a68fd7b1ff509eee99d")
    version("6.4.2", sha256="eb2803db18f6facce6bf3b01b684fe47907994bd156d15eaccdf011e3d7f8164")
    version("6.3.0", sha256="5e77d6203854944520105e38f2563a813a4a3708e8563aa598928a3b5ee1081a")
    version("6.2.0", sha256="16ceecd0afaa8fd26c245fa32e2c52066c02f13aa73387fffafd84750baea863")
    version("6.0.1", sha256="db94117fbac29153834447e31b30cda337d4450e46e0bdb1a36eafbbf4435156")
    version("5.6.0", sha256="427a468ec26e7d68a529b95f578d5cbf018cb4c1f889e897681c2b6d11897695")
    version("5.5.0", sha256="138381baa41d83584459b5cfecfc38c800ccf1f37d9ddd0bd440783346a4c39c")
    version("4.2.0", sha256="55946d7522741294fcdd50799bd1777d16673ce721fecca0610cdb86749863c6")
    version("4.1.0", sha256="e0296e45293dd127d028f678e3b6aba3f1db3283a134178bdb49eea402d4cf1c")
    version("4.0.0", sha256="472ad15d1a71f1ef00c4094c11bb93638858fc89fb2c5838b3aa6b67d981b437")

    variant("serve", default=True, description="Include a webserver")

    depends_on("python@3.7:", when="@6.2.0:", type=("build", "run"))
    depends_on("py-hatchling@0.25:", when="@7:", type="build")

    depends_on("py-beautifulsoup4", when="@6.4.4:", type=("build", "run"))
    depends_on("py-bleach", when="@5:", type=("build", "run"))
    depends_on("py-defusedxml", when="@5:", type=("build", "run"))
    depends_on("py-importlib-metadata@3.6:", when="@7: ^python@:3.9", type=("build", "run"))
    depends_on("py-jinja2@3:", when="@6.5:", type=("build", "run"))
    depends_on("py-jinja2@2.4:", when="@5:", type=("build", "run"))
    depends_on("py-jinja2", type=("build", "run"))
    depends_on("py-jupyter-core@4.7:", when="@6.5:", type=("build", "run"))
    depends_on("py-jupyter-core", type=("build", "run"))
    depends_on("py-jupyterlab-pygments", when="@6:", type=("build", "run"))
    depends_on("py-markupsafe@2:", when="@6.4.5:", type=("build", "run"))
    depends_on("py-mistune@2.0.3:2", when="@7:", type=("build", "run"))
    depends_on("py-mistune@0.8.1:1", when="@:6", type=("build", "run"))
    depends_on("py-nbclient@0.5:", when="@6.5:", type=("build", "run"))
    depends_on("py-nbclient@0.5", when="@6:6.4", type=("build", "run"))
    depends_on("py-nbformat@5.1:", when="@6.5:", type=("build", "run"))
    depends_on("py-nbformat@4.4:", when="@5:", type=("build", "run"))
    depends_on("py-nbformat", type=("build", "run"))
    depends_on("py-packaging", when="@6.5:", type=("build", "run"))
    depends_on("py-pandocfilters@1.4.1:", when="@5:", type=("build", "run"))
    depends_on("py-pygments@2.4.1:", when="@6:", type=("build", "run"))
    depends_on("py-pygments", type=("build", "run"))
    depends_on("py-tinycss2", when="@6.5:", type=("build", "run"))
    depends_on("py-traitlets@5:", when="@6.2.0:", type=("build", "run"))
    depends_on("py-traitlets@4.2:", when="@5:", type=("build", "run"))
    depends_on("py-traitlets", type=("build", "run"))

    # https://bugs.gentoo.org/720870
    # https://github.com/jupyter/nbconvert/pull/937
    depends_on("py-tornado@6.1:", when="@6.5: +serve", type=("build", "run"))
    depends_on("py-tornado@4.0:", when="@5.4.1: +serve", type=("build", "run"))
    depends_on("py-tornado@4.0:5", when="@:5.4.0 +serve", type=("build", "run"))

    # Historical dependencies
    depends_on("py-setuptools", when="@5:6", type=("build", "run"))
    depends_on("py-setuptools@60:", when="@6.5:6", type=("build", "run"))
    depends_on("py-entrypoints", when="@:6", type=("build", "run"))
    depends_on("py-entrypoints@0.2.2:", when="@5:6", type=("build", "run"))
    depends_on("py-testpath", when="@5:6.4", type=("build", "run"))
    depends_on("py-lxml", when="@6.5.1:7.0", type=("build", "run"))

    def patch(self):
        # We bundle this with the spack package so that the installer
        # doesn't try to download it.
        install(
            join_path(self.package_dir, "style.min.css"),
            join_path("nbconvert", "resources", "style.min.css"),
        )

    def setup_run_environment(self, env):
        env.prepend_path("JUPYTER_PATH", self.prefix.share.jupyter)

    def setup_dependent_build_environment(self, env, dependent_spec):
        env.prepend_path("JUPYTER_PATH", self.prefix.share.jupyter)

    def setup_dependent_run_environment(self, env, dependent_spec):
        env.prepend_path("JUPYTER_PATH", self.prefix.share.jupyter)