summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/atk/package.py
blob: bcb6425b081521d4d5fa6481ad8ad0443fbe95a2 (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
# 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 Atk(Package):
    """ATK provides the set of accessibility interfaces that are
    implemented by other toolkits and applications. Using the ATK
    interfaces, accessibility tools have full access to view and
    control running applications."""

    homepage = "https://developer.gnome.org/atk/"
    url = "https://ftp.gnome.org/pub/gnome/sources/atk/2.30/atk-2.30.0.tar.xz"
    list_url = "https://ftp.gnome.org/pub/gnome/sources/atk"
    list_depth = 1

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

    version("2.38.0", sha256="ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36")
    version("2.36.0", sha256="fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788")
    version("2.30.0", sha256="dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b")
    version("2.28.1", sha256="cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc")
    version(
        "2.20.0",
        sha256="493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0",
        deprecated=True,
    )
    version(
        "2.14.0",
        sha256="2875cc0b32bfb173c066c22a337f79793e0c99d2cc5e81c4dac0d5a523b8fbad",
        deprecated=True,
    )

    depends_on("meson@0.40.1:", type="build", when="@2.28:")
    depends_on("meson@0.46.0:", type="build", when="@2.29:")
    depends_on("glib")
    depends_on("gettext")
    depends_on("pkgconfig", type="build")
    depends_on("gobject-introspection")
    depends_on("libffi")

    def url_for_version(self, version):
        """Handle gnome's version-based custom URLs."""
        url = "http://ftp.gnome.org/pub/gnome/sources/atk"
        return url + f"/{version.up_to(2)}/atk-{version}.tar.xz"

    def setup_run_environment(self, env):
        env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))

    def setup_dependent_build_environment(self, env, dependent_spec):
        env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
        env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))

    def setup_dependent_run_environment(self, env, dependent_spec):
        env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
        env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))

    def install(self, spec, prefix):
        with working_dir("spack-build", create=True):
            meson("..", *std_meson_args)
            ninja("-v")
            ninja("install")

    @when("@:2.27")
    def install(self, spec, prefix):
        configure(f"--prefix={prefix}")
        make()
        if self.run_tests:
            make("check")
        make("install")
        if self.run_tests:
            make("installcheck")