Subject: [bug#31490] [PATCH] gnu: Add emacs-cmake-mode.

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 22 May 2018 09:16:06 -0400

Hi Oleg,

Oleg Pykhalov <[email-masked]> writes:

> Hello Maxim,
>
> Thank you for review.
>
> Maxim Cournoyer <[email-masked]> writes:
>
>> On May 18, 2018 12:27:16 PM UTC, Oleg Pykhalov <[email-masked]> wrote:
>>>* gnu/packages/cmake.scm (emacs-cmake-mode): New public variable.
>>>---
>>> gnu/packages/cmake.scm | 17 +++++++++++++++++
>>> 1 file changed, 17 insertions(+)
>>>
>
> […]
>
>> Should we delete the Emacs mode files from our cmake package to not
>> have duplication in the store when installing both CMake and
>> emacs-cmake-mode?
>
> Sure, we should.  Could I push the following patch to core-updates?
>
> From 46cb6d48c7fd7712fca1d5619d02eba992b9182a Mon Sep 17 00:00:00 2001
> From: Oleg Pykhalov <[email-masked]>
> Date: Tue, 22 May 2018 07:41:45 +0300
> Subject: [PATCH] gnu: cmake: Delete Emacs library.
>
> * gnu/packages/finance.scm (cmake)[arguments]: Delete Emacs library.
> ---
>  gnu/packages/cmake.scm | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
> index e9fa86641..5f4a3c846 100644
> --- a/gnu/packages/cmake.scm
> +++ b/gnu/packages/cmake.scm
> @@ -85,6 +85,13 @@
>             " --exclude-regex ^\\(" (string-join skipped-tests "\\|") "\\)$")))
>         #:phases
>         (modify-phases %standard-phases
> +         (add-after 'unpack 'split-package
> +           ;; Remove files that have been packaged in other package recipes.
> +           (lambda _
> +             (delete-file "Auxiliary/cmake-mode.el")
> +             (substitute* "Auxiliary/CMakeLists.txt"
> +               (("install\\(FILES cmake-mode.el \
> +DESTINATION \\$\\{CMAKE_DATA_DIR\\}/editors/emacs\\)") ""))))

Nitpick: I'd use a regexp to match the text following cmake-mode.el on
the line to make it more resilient to any future changes. Otherwise this
LGTM :)

Maxim