summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/py-python-mapnik/package.py
blob: 199f20295bae34b013c46d95c7d43797febadc26 (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
# 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 *
from spack.pkg.builtin.boost import Boost


class PyPythonMapnik(PythonPackage):
    """
    Python bindings for mapnik
    """

    homepage = "https://github.com/mapnik/python-mapnik"
    url = "https://github.com/mapnik/python-mapnik/archive/v3.0.16.tar.gz"

    license("LGPL-2.1-or-later")

    version("3.0.16", sha256="643117752fa09668a1e26a360d13cd137329ae2013eb14ad92ab72fbc479fc70")
    version("3.0.13", sha256="ced684745e778c0cac0edba89c09c6f9b9f1db18fc12744ed4710a88b78a3389")

    depends_on("py-setuptools", type="build")
    depends_on("mapnik", type=("build", "link", "run"))
    depends_on("boost +python+thread")

    # TODO: replace this with an explicit list of components of Boost,
    # for instance depends_on('boost +filesystem')
    # See https://github.com/spack/spack/pull/22303 for reference
    depends_on(Boost.with_default_variants)
    # py-pycairo is need by mapnik.printing
    depends_on("py-pycairo", type=("build", "run"))

    # Package can't find boost_python without the following
    def setup_build_environment(self, env):
        # Inform the package that boost python library is of form
        # 'libboost_python27.so' as opposed to 'libboost_python.so'
        py_ver = str(self.spec["python"].version.up_to(2).joined)
        env.set("BOOST_PYTHON_LIB", "boost_python" + py_ver)