blob: 155ae8ba9a7b4077d6588d9a3135ecabfd367b40 (
plain)
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
73
74
75
|
# Copyright 2012-2022 Martin V\"ath
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( pypy3 python3_{7,8,9,10} )
EGIT_REPO_URI="https://github.com/google/styleguide.git"
inherit elisp-common git-r3 python-single-r1
RESTRICT="mirror"
DESCRIPTION="The google styleguide together with cpplint and an emacs file"
HOMEPAGE="https://github.com/google/styleguide"
SRC_URI=""
LICENSE="CC-BY-3.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="emacs"
EMACSNAME="google-c-style"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
COMMON="emacs? ( app-editors/emacs )"
BDEPEND="${COMMON}"
RDEPEND="${PYTHON_DEPS}
${COMMON}"
PATCHES=("$FILESDIR"/"${PN}"-python3.patch)
src_prepare() {
if use emacs
then mkdir sitefile
cat >"sitefile/50${EMACSNAME}-gentoo.el" <<EOF
(add-to-list 'load-path "@SITELISP@")
(autoload 'google-set-c-style "${EMACSNAME}"
"Set the current buffer's c-style to Google C/C++ Programming
Style. Meant to be added to \`c-mode-common-hook'." t)
(add-hook 'c-mode-common-hook 'google-set-c-style)
; If you want the RETURN key to go to the next line and space over
; to the right place, uncomment the following line
;(add-hook 'c-mode-common-hook 'google-make-newline-indent)
EOF
fi
use prefix || sed -i \
-e '1s"^#!/usr/bin/env python$"#!'"${EPREFIX}/usr/bin/python"'"' \
-- "${S}/${PN}/${PN}.py" || die
python_fix_shebang "${S}"
default
}
src_compile() {
if use emacs
then elisp-compile *.el || die
fi
}
src_install() {
dobin ${PN}/cpplint.py
dodoc ${PN}/README README.md
if use emacs
then elisp-install "${EMACSNAME}" "${EMACSNAME}".{el,elc} || die
elisp-site-file-install "sitefile/50${EMACSNAME}-gentoo.el" "${EMACSNAME}" || die
fi
insinto /usr/share/vim/vimfiles/syntax
doins *.vim
insinto /usr/share/doc/${PF}/html
doins -r *.css *.html *.png *.xsl include
}
pkg_postinst() {
elisp-site-regen
}
pkg_postrm() {
elisp-site-regen
}
|