commit:     260bf947a8e105471d97f9c921540bdee968d8a0
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Tue Sep 23 21:00:47 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct  3 11:39:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=260bf947

llvm-core/clang-common: install clang-format.el with IUSE=emacs

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Part-of: https://github.com/gentoo/gentoo/pull/43898
Closes: https://github.com/gentoo/gentoo/pull/43898
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 ...21.1.2.ebuild => clang-common-20.1.8-r1.ebuild} | 30 +++++++++++++++++++---
 llvm-core/clang-common/clang-common-21.1.2.ebuild  | 30 +++++++++++++++++++---
 .../clang-common/clang-common-22.0.0.9999.ebuild   | 30 +++++++++++++++++++---
 .../clang-common-22.0.0_pre20251001.ebuild         | 30 +++++++++++++++++++---
 4 files changed, 108 insertions(+), 12 deletions(-)

diff --git a/llvm-core/clang-common/clang-common-21.1.2.ebuild 
b/llvm-core/clang-common/clang-common-20.1.8-r1.ebuild
similarity index 93%
copy from llvm-core/clang-common/clang-common-21.1.2.ebuild
copy to llvm-core/clang-common/clang-common-20.1.8-r1.ebuild
index 6ff3220636e5..668afb0e71de 100644
--- a/llvm-core/clang-common/clang-common-21.1.2.ebuild
+++ b/llvm-core/clang-common/clang-common-20.1.8-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit bash-completion-r1 llvm.org multilib
+inherit bash-completion-r1 elisp-common llvm.org multilib
 
 DESCRIPTION="Common files shared between multiple slots of clang"
 HOMEPAGE="https://llvm.org/";
@@ -13,7 +13,7 @@ SLOT="0"
 KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 
~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
 IUSE="
        default-compiler-rt default-libcxx default-lld
-       bootstrap-prefix cet hardened llvm-libunwind
+       bootstrap-prefix cet emacs hardened llvm-libunwind
 "
 
 PDEPEND="
@@ -31,15 +31,21 @@ PDEPEND="
 # enforce flags on clang-runtime as well to aid transition
 PDEPEND+="
        
llvm-runtimes/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?]
+       emacs? ( >=app-editors/emacs-26.3:* )
 "
 IDEPEND="
        !default-compiler-rt? ( sys-devel/gcc-config )
        !default-libcxx? ( sys-devel/gcc-config )
 "
+BDEPEND="
+       emacs? ( >=app-editors/emacs-26.3:* )
+"
 
-LLVM_COMPONENTS=( clang/utils )
+LLVM_COMPONENTS=( clang/utils clang/tools/clang-format )
 llvm.org_set_globals
 
+SITEFILE="50clang-gentoo.el"
+
 pkg_pretend() {
        [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
 
@@ -143,6 +149,11 @@ doclang_cfg() {
        esac
 }
 
+src_compile() {
+       default
+       use emacs && elisp-compile ../tools/clang-format/clang-format.el
+}
+
 src_install() {
        newbashcomp bash-autocomplete.sh clang
 
@@ -300,6 +311,11 @@ src_install() {
                        -isysroot ${EPREFIX}/MacOSX.sdk
                EOF
        fi
+
+       if use emacs ; then
+               elisp-install clang ../tools/clang-format/clang-format.{el,elc}
+               elisp-make-site-file "${SITEFILE}" clang
+       fi
 }
 
 pkg_preinst() {
@@ -313,3 +329,11 @@ pkg_preinst() {
                fi
        fi
 }
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

diff --git a/llvm-core/clang-common/clang-common-21.1.2.ebuild 
b/llvm-core/clang-common/clang-common-21.1.2.ebuild
index 6ff3220636e5..668afb0e71de 100644
--- a/llvm-core/clang-common/clang-common-21.1.2.ebuild
+++ b/llvm-core/clang-common/clang-common-21.1.2.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit bash-completion-r1 llvm.org multilib
+inherit bash-completion-r1 elisp-common llvm.org multilib
 
 DESCRIPTION="Common files shared between multiple slots of clang"
 HOMEPAGE="https://llvm.org/";
@@ -13,7 +13,7 @@ SLOT="0"
 KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 
~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
 IUSE="
        default-compiler-rt default-libcxx default-lld
-       bootstrap-prefix cet hardened llvm-libunwind
+       bootstrap-prefix cet emacs hardened llvm-libunwind
 "
 
 PDEPEND="
@@ -31,15 +31,21 @@ PDEPEND="
 # enforce flags on clang-runtime as well to aid transition
 PDEPEND+="
        
llvm-runtimes/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?]
+       emacs? ( >=app-editors/emacs-26.3:* )
 "
 IDEPEND="
        !default-compiler-rt? ( sys-devel/gcc-config )
        !default-libcxx? ( sys-devel/gcc-config )
 "
+BDEPEND="
+       emacs? ( >=app-editors/emacs-26.3:* )
+"
 
-LLVM_COMPONENTS=( clang/utils )
+LLVM_COMPONENTS=( clang/utils clang/tools/clang-format )
 llvm.org_set_globals
 
+SITEFILE="50clang-gentoo.el"
+
 pkg_pretend() {
        [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
 
@@ -143,6 +149,11 @@ doclang_cfg() {
        esac
 }
 
+src_compile() {
+       default
+       use emacs && elisp-compile ../tools/clang-format/clang-format.el
+}
+
 src_install() {
        newbashcomp bash-autocomplete.sh clang
 
@@ -300,6 +311,11 @@ src_install() {
                        -isysroot ${EPREFIX}/MacOSX.sdk
                EOF
        fi
+
+       if use emacs ; then
+               elisp-install clang ../tools/clang-format/clang-format.{el,elc}
+               elisp-make-site-file "${SITEFILE}" clang
+       fi
 }
 
 pkg_preinst() {
@@ -313,3 +329,11 @@ pkg_preinst() {
                fi
        fi
 }
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

diff --git a/llvm-core/clang-common/clang-common-22.0.0.9999.ebuild 
b/llvm-core/clang-common/clang-common-22.0.0.9999.ebuild
index 4f0d35918328..163c1c4f6814 100644
--- a/llvm-core/clang-common/clang-common-22.0.0.9999.ebuild
+++ b/llvm-core/clang-common/clang-common-22.0.0.9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit bash-completion-r1 llvm.org multilib
+inherit bash-completion-r1 elisp-common llvm.org multilib
 
 DESCRIPTION="Common files shared between multiple slots of clang"
 HOMEPAGE="https://llvm.org/";
@@ -12,7 +12,7 @@ LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
 SLOT="0"
 IUSE="
        default-compiler-rt default-libcxx default-lld
-       bootstrap-prefix cet hardened llvm-libunwind
+       bootstrap-prefix cet emacs hardened llvm-libunwind
 "
 
 PDEPEND="
@@ -30,15 +30,21 @@ PDEPEND="
 # enforce flags on clang-runtime as well to aid transition
 PDEPEND+="
        
llvm-runtimes/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?]
+       emacs? ( >=app-editors/emacs-26.3:* )
 "
 IDEPEND="
        !default-compiler-rt? ( sys-devel/gcc-config )
        !default-libcxx? ( sys-devel/gcc-config )
 "
+BDEPEND="
+       emacs? ( >=app-editors/emacs-26.3:* )
+"
 
-LLVM_COMPONENTS=( clang/utils )
+LLVM_COMPONENTS=( clang/utils clang/tools/clang-format )
 llvm.org_set_globals
 
+SITEFILE="50clang-gentoo.el"
+
 pkg_pretend() {
        [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
 
@@ -142,6 +148,11 @@ doclang_cfg() {
        esac
 }
 
+src_compile() {
+       default
+       use emacs && elisp-compile ../tools/clang-format/clang-format.el
+}
+
 src_install() {
        newbashcomp bash-autocomplete.sh clang
 
@@ -299,6 +310,11 @@ src_install() {
                        -isysroot ${EPREFIX}/MacOSX.sdk
                EOF
        fi
+
+       if use emacs ; then
+               elisp-install clang ../tools/clang-format/clang-format.{el,elc}
+               elisp-make-site-file "${SITEFILE}" clang
+       fi
 }
 
 pkg_preinst() {
@@ -312,3 +328,11 @@ pkg_preinst() {
                fi
        fi
 }
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

diff --git a/llvm-core/clang-common/clang-common-22.0.0_pre20251001.ebuild 
b/llvm-core/clang-common/clang-common-22.0.0_pre20251001.ebuild
index 4f0d35918328..163c1c4f6814 100644
--- a/llvm-core/clang-common/clang-common-22.0.0_pre20251001.ebuild
+++ b/llvm-core/clang-common/clang-common-22.0.0_pre20251001.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit bash-completion-r1 llvm.org multilib
+inherit bash-completion-r1 elisp-common llvm.org multilib
 
 DESCRIPTION="Common files shared between multiple slots of clang"
 HOMEPAGE="https://llvm.org/";
@@ -12,7 +12,7 @@ LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
 SLOT="0"
 IUSE="
        default-compiler-rt default-libcxx default-lld
-       bootstrap-prefix cet hardened llvm-libunwind
+       bootstrap-prefix cet emacs hardened llvm-libunwind
 "
 
 PDEPEND="
@@ -30,15 +30,21 @@ PDEPEND="
 # enforce flags on clang-runtime as well to aid transition
 PDEPEND+="
        
llvm-runtimes/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?]
+       emacs? ( >=app-editors/emacs-26.3:* )
 "
 IDEPEND="
        !default-compiler-rt? ( sys-devel/gcc-config )
        !default-libcxx? ( sys-devel/gcc-config )
 "
+BDEPEND="
+       emacs? ( >=app-editors/emacs-26.3:* )
+"
 
-LLVM_COMPONENTS=( clang/utils )
+LLVM_COMPONENTS=( clang/utils clang/tools/clang-format )
 llvm.org_set_globals
 
+SITEFILE="50clang-gentoo.el"
+
 pkg_pretend() {
        [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
 
@@ -142,6 +148,11 @@ doclang_cfg() {
        esac
 }
 
+src_compile() {
+       default
+       use emacs && elisp-compile ../tools/clang-format/clang-format.el
+}
+
 src_install() {
        newbashcomp bash-autocomplete.sh clang
 
@@ -299,6 +310,11 @@ src_install() {
                        -isysroot ${EPREFIX}/MacOSX.sdk
                EOF
        fi
+
+       if use emacs ; then
+               elisp-install clang ../tools/clang-format/clang-format.{el,elc}
+               elisp-make-site-file "${SITEFILE}" clang
+       fi
 }
 
 pkg_preinst() {
@@ -312,3 +328,11 @@ pkg_preinst() {
                fi
        fi
 }
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

Reply via email to