summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml22
-rw-r--r--share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml1
-rw-r--r--share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml69
-rw-r--r--var/spack/repos/builtin/packages/lsd/package.py22
4 files changed, 113 insertions, 1 deletions
diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
index 0c3991efed..e1d7561300 100644
--- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
+++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
@@ -461,6 +461,28 @@ build_systems-build:
- artifacts: True
job: build_systems-generate
+###########################################
+# Build tests for different developer tools
+###########################################
+.developer-tools:
+ extends: [ ".linux_x86_64_v3" ]
+ variables:
+ SPACK_CI_STACK_NAME: developer-tools
+
+developer-tools-generate:
+ extends: [ ".developer-tools", ".generate-x86_64"]
+
+developer-tools-build:
+ extends: [ ".developer-tools", ".build" ]
+ trigger:
+ include:
+ - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
+ job: developer-tools-generate
+ strategy: depend
+ needs:
+ - artifacts: True
+ job: developer-tools-generate
+
#########################################
# RADIUSS
#########################################
diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml
index 8634042101..986277bfdd 100644
--- a/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml
+++ b/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml
@@ -193,7 +193,6 @@ ci:
- blt
- bzip2
- camp
- - cmake
- curl
- czmq
- darshan-util
diff --git a/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml
new file mode 100644
index 0000000000..cc4c27261f
--- /dev/null
+++ b/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml
@@ -0,0 +1,69 @@
+spack:
+ view: false
+ packages:
+ all:
+ require: target=x86_64_v3
+ concretizer:
+ unify: true
+ definitions:
+ - default_specs:
+ # editors
+ - neovim~no_luajit
+ - py-pynvim
+ - emacs@29.1+json+native+treesitter # note, pulls in gcc
+ # - tree-sitter is a dep, should also have cli but no package
+ - nano # just in case
+ # tags and scope search helpers
+ - universal-ctags # only maintained ctags, works better with c++
+ - direnv
+ # runtimes and compilers
+ - python
+ - llvm+link_llvm_dylib~lld~lldb~polly+python build_type=MinSizeRel # for clangd, clang-format
+ - node-js # for editor plugins etc., pyright language server
+ - npm
+ - go # to build fzf, gh, hub
+ - rust+analysis # fd, ripgrep, hyperfine, exa, rust-analyzer
+ - binutils+ld+gold+plugins # support linking with built gcc
+ # styling and lints
+ - astyle
+ - cppcheck
+ - uncrustify
+ - py-fprettify
+ - py-fortran-language-server
+ - py-python-lsp-server
+ # cli dev tools
+ - ripgrep
+ - gh
+ - fd
+ - bfs
+ - fzf
+ - tree
+ - jq
+ - py-yq
+ - hub
+ - ncdu
+ - eza
+ - lsd
+ - hyperfine
+ - htop
+ - tmux
+ - ccache
+ # ensure we can use a jobserver build and do this fast
+ - gmake
+ - ninja # should be @kitware, can't be because of meson requirement
+ - "openssl certs=system" # must be this, system external does not work
+ - arch:
+ - '%gcc target=x86_64_v3'
+
+ specs:
+ - matrix:
+ - - $default_specs
+ - - $arch
+
+ ci:
+ pipeline-gen:
+ - build-job:
+ image: "ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4:2023.08.01"
+
+ cdash:
+ build-group: Developer Tools
diff --git a/var/spack/repos/builtin/packages/lsd/package.py b/var/spack/repos/builtin/packages/lsd/package.py
new file mode 100644
index 0000000000..a1702a8e75
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lsd/package.py
@@ -0,0 +1,22 @@
+# 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 Lsd(CargoPackage):
+ """A rewrite of GNU ls with lots of added features like colors, icons, tree-view,
+ more formatting options etc."""
+
+ homepage = "https://github.com/lsd-rs/lsd"
+ url = "https://github.com/lsd-rs/lsd/archive/refs/tags/v1.0.0.tar.gz"
+
+ maintainers("trws")
+
+ license("Apache-2.0")
+
+ version("1.0.0", sha256="ab34e9c85bc77cfa42b43bfb54414200433a37419f3b1947d0e8cfbb4b7a6325")
+
+ depends_on("rust@1.63:")