summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/sublime-text/package.py
blob: 312658e3bf53dc0f73161ba25aeb0828ed4e4322 (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
# Copyright 2013-2023 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 SublimeText(Package):
    """Sublime Text is a sophisticated text editor for code, markup and
    prose."""

    homepage = "https://www.sublimetext.com/"
    url = "https://download.sublimetext.com/sublime_text_build_4152_x64.tar.xz"

    maintainers("LRWeber")

    version("4.4152", sha256="6ede3c83519959897041c6506e850753c19962603b71bd9f73a625ae1e4d3554")
    version("4.4143", sha256="7de862c38d19367414117110328dded754ac709fed54c8cc5cb0737c894c073c")
    version(
        "3.2.2.3211", sha256="0b3c8ca5e6df376c3c24a4b9ac2e3b391333f73b229bc6e87d0b4a5f636d74ee"
    )
    version(
        "3.2.1.3207", sha256="acb64f1de024a0f004888096afa101051e48d96c7a3e7fe96e11312d524938c4"
    )
    version(
        "3.1.1.3176", sha256="74f17c1aec4ddec9d4d4c39f5aec0414a4755d407a05efa571e8892e0b9cf732"
    )
    version("3.0.3126", sha256="18db132e9a305fa3129014b608628e06f9442f48d09cfe933b3b1a84dd18727a")
    version("2.0.2", sha256="01baed30d66432e30002a309ff0393967be1daba5cce653e43bba6bd6c38ab84")

    # Licensing
    license_required = True
    license_url = "https://www.sublimehq.com/store/text"

    # Sublime text comes as a pre-compiled binary.
    # Since we can't link to Spack packages, we'll just have to
    # add them as runtime dependencies.

    # depends_on("libgobject", type="run")
    depends_on("gtkplus@:2", type="run", when="@:3.1")
    depends_on("gtkplus@3:", type="run", when="@3.2:3.2.2")
    depends_on("glib", type="run", when="@:3.2.2")
    depends_on("libx11", type="run", when="@:3.2.2")
    depends_on("pcre", type="run", when="@:3.2.2")
    depends_on("libffi", type="run", when="@:3.2.2")
    depends_on("libxcb", type="run", when="@:3.2.2")
    depends_on("libxau", type="run", when="@:3.2.2")

    def url_for_version(self, version):
        if version[0] == 2:
            return "https://download.sublimetext.com/Sublime%20Text%20{0}%20x64.tar.bz2".format(
                version
            )
        elif version[0] == 3:
            return (
                "https://download.sublimetext.com/sublime_text_{0}_build_{1}_x64.tar.bz2".format(
                    version[0], version[-1]
                )
            )
        else:
            return "https://download.sublimetext.com/sublime_text_build_{0}_x64.tar.xz".format(
                version[-1]
            )

    def install(self, spec, prefix):
        install_tree(".", prefix)
        src = join_path(prefix, "sublime_text")
        dst = join_path(prefix, "bin")
        mkdirp(dst)
        force_symlink(src, join_path(dst, "sublime_text"))
        force_symlink(src, join_path(dst, "subl"))