Pkgcheck-Flycheck
News
Repository
With this commit first GNU Emacs integration was merged into the pkgcheck repository.
History
- https://github.com/pkgcore/pkgcheck/issues/417
- https://github.com/pkgcore/pkgcheck/pull/420
- https://github.com/gentoo/gentoo/pull/26700
Thanks
Huge thanks to Sam James and Arthur Zamarin for support and interest in getting this feature done.
Installation
Unmasking
The Flycheck integration is unreleased as of now, this will (hopefully) change in the future, but for now You need live versions of snakeoil
, pkgcore
and pkgcheck
.
File: /etc/portage/package.accept_keywords/pkgcore.conf
1 2 3 |
dev-python/snakeoil ** sys-apps/pkgcore ** dev-util/pkgcheck ** |
Also You will need to unmask app-emacs/flycheck
and its dependencies.
File: /etc/portage/package.accept_keywords/emacs.conf
1 2 3 |
app-emacs/epl app-emacs/pkg-info app-emacs/flycheck |
Emerging
Install pkgcheck with the emacs
USE flag enabled.
File: /etc/portage/package.use/pkgcore.conf
1 |
dev-util/pkgcheck emacs |
Afterwards run:
1 2 |
emerge -1av dev-python/snakeoil sys-apps/pkgcore dev-util/pkgcheck emerge -av --noreplace dev-util/pkgcheck |
Configuration
Following is what I would suggest to put into your Emacs config file:
1 2 3 4 5 6 7 8 |
(require 'ebuild-mode) (require 'flycheck) (require 'flycheck-pkgcheck) (setq flycheck-pkgcheck-enable t) (add-hook 'ebuild-mode-hook 'flycheck-mode) (add-hook 'ebuild-mode-hook 'flycheck-pkgcheck-setup) |
If You are using use-package
:
1 2 3 4 5 6 7 8 9 10 11 |
(use-package flycheck :ensure nil) (use-package ebuild-mode :ensure nil :hook ((ebuild-mode . flycheck-mode))) (use-package flycheck-pkgcheck :ensure nil :custom ((flycheck-pkgcheck-enable t)) :hook ((ebuild-mode . flycheck-pkgcheck-setup))) |
The lines with :ensure nil
are there to prevent use-package
from trying to download the particular package from Elpa (because we use system packages for this configuration).