spacemacs/layers/+lang/gpu/packages.el
Eivind Fonn 08561d8631 core: implement :depends for package declarations
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)

This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.

This commit also fixes:

- configuration-layer/describe-package now shows which post-init and pre-init
  functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
  configuration-layer/discover-layers. Previously, this led to all layers being
  recreated after e.g. `SPC h SPC`, without any of the dotfile information.
  Since this information is now necessary for
  configuration-layer/describe-package, it’s important that we don’t clear the
  indexed layers when invoking this function.
2017-06-22 11:53:05 +02:00

45 lines
1.1 KiB
EmacsLisp

;;; packages.el --- GPU layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
;;
;; Author: Evan Klitzke <evan@eklitzke.org>
;; URL: https://github.com/eklitzke
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
(setq gpu-packages
'(
(company-glsl :location (recipe
:fetcher github
:repo "Kaali/company-glsl")
:depends company
:toggle (executable-find "glslangValidator"))
cuda-mode
glsl-mode
opencl-mode
))
(defun gpu/init-company-glsl ()
(use-package company-glsl
:defer t
:init (spacemacs|add-company-backends
:backends company-glsl
:modes glsl-mode)))
(defun gpu/init-cuda-mode ()
(use-package cuda-mode :defer t))
(defun gpu/init-glsl-mode ()
"Initialize GLSL mode"
(use-package glsl-mode
:defer t
:mode (("\\.fsh\\'" . glsl-mode)
("\\.vsh\\'" . glsl-mode))))
(defun gpu/init-opencl-mode ()
(use-package opencl-mode
:defer t
:mode (("\\.cl\\'" . opencl-mode))))