new package: theia-ide (#49539)
This commit is contained in:
parent
986102ab7a
commit
a573f2248d
59
var/spack/repos/builtin/packages/theia-ide/package.py
Normal file
59
var/spack/repos/builtin/packages/theia-ide/package.py
Normal file
@ -0,0 +1,59 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class TheiaIde(Package):
|
||||
"""A modern and open IDE for cloud and desktop.
|
||||
The Theia IDE is based on the Theia platform."""
|
||||
|
||||
homepage = "https://theia-ide.org/"
|
||||
url = "https://github.com/eclipse-theia/theia-ide/archive/refs/tags/v1.59.1.tar.gz"
|
||||
|
||||
maintainers("RobertMaaskant")
|
||||
|
||||
license("MIT", checked_by="RobertMaaskant")
|
||||
|
||||
version("1.59.1", sha256="f3e4fdb76aa0d5a4f034d9fe8889e8c798425d8c0a452688277002b7f09ea7d0")
|
||||
|
||||
conflicts("platform=darwin", msg="Currently only packaged for Linux")
|
||||
conflicts("platform=windows", msg="Currently only packaged for Linux")
|
||||
|
||||
depends_on("c", type="build")
|
||||
depends_on("cxx", type="build")
|
||||
|
||||
with default_args(type="build"):
|
||||
depends_on("gmake")
|
||||
depends_on("kbproto")
|
||||
depends_on("libsecret")
|
||||
depends_on("libx11")
|
||||
depends_on("libxau")
|
||||
depends_on("libxcb")
|
||||
depends_on("libxdmcp")
|
||||
depends_on("libxkbfile")
|
||||
depends_on("pkg-config")
|
||||
depends_on("xproto")
|
||||
|
||||
depends_on("npm@10.8.2:")
|
||||
depends_on("yarn@1.7.0:1")
|
||||
|
||||
# required by node-gyp ^9.0.0: https://github.com/eclipse-theia/theia/blob/v1.59.0/package.json#L45
|
||||
# https://github.com/nodejs/node-gyp/tree/v9.0.0?tab=readme-ov-file#on-unix
|
||||
depends_on("python@3.7:3.10")
|
||||
|
||||
with default_args(type="run"):
|
||||
depends_on("git@2.11.0:")
|
||||
# https://github.com/microsoft/vscode/blob/1.98.2/.nvmrc
|
||||
depends_on("node-js@20.18.2:20")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
yarn = which("yarn", required=True)
|
||||
yarn()
|
||||
yarn("build")
|
||||
yarn("download:plugins")
|
||||
yarn("package:applications")
|
||||
|
||||
mkdirp(prefix.bin)
|
||||
install("applications/electron/dist/TheiaIDE.AppImage", prefix.bin.join("theia-ide"))
|
Loading…
Reference in New Issue
Block a user