commit:     a2984645dbb71ab7057c5c0930fab972e2cfccf5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 17 11:55:16 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 13:33:00 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2984645

dev-util/quilt: Install the Emacs mode

A separate package for app-emacs/quilt-el made sense in the past when
it had its own upstream. This is no longer the case; nowadays the Gentoo
packages are built from the same tarball.

Bug: https://bugs.gentoo.org/247500
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dev-util/quilt/files/50quilt-gentoo.el             |  7 ++
 .../files/quilt-el-0.45.4-header-window.patch      | 13 ++++
 dev-util/quilt/quilt-0.68-r1.ebuild                | 76 ++++++++++++++++++++++
 3 files changed, 96 insertions(+)

diff --git a/dev-util/quilt/files/50quilt-gentoo.el 
b/dev-util/quilt/files/50quilt-gentoo.el
new file mode 100644
index 000000000000..e5b51e318d73
--- /dev/null
+++ b/dev-util/quilt/files/50quilt-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'quilt-mode "quilt"
+  "Toggle quilt-mode. With positive arg, enable quilt-mode." t)
+(autoload 'quilt-hook "quilt"
+  "Enable quilt mode for quilt-controlled files.")
+(add-hook 'find-file-hook 'quilt-hook)
+(add-hook 'after-revert-hook 'quilt-hook)

diff --git a/dev-util/quilt/files/quilt-el-0.45.4-header-window.patch 
b/dev-util/quilt/files/quilt-el-0.45.4-header-window.patch
new file mode 100644
index 000000000000..eae848e804f5
--- /dev/null
+++ b/dev-util/quilt/files/quilt-el-0.45.4-header-window.patch
@@ -0,0 +1,13 @@
+Delete window after editing is complete
+Patch from flameeyes
+
+--- a/lib/quilt.el
++++ b/lib/quilt.el
+@@ -399,6 +399,7 @@
+     (cd quilt-header-directory)
+     (shell-command (concat "EDITOR=cat quilt -r header <" tmp))
+     (kill-buffer (current-buffer))
++    (delete-window)
+     (delete-file tmp)))
+ 
+ (defvar quilt-header-mode-map (make-keymap))

diff --git a/dev-util/quilt/quilt-0.68-r1.ebuild 
b/dev-util/quilt/quilt-0.68-r1.ebuild
new file mode 100644
index 000000000000..6e8b0c278193
--- /dev/null
+++ b/dev-util/quilt/quilt-0.68-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit bash-completion-r1 elisp-common
+
+DESCRIPTION="quilt patch manager"
+HOMEPAGE="https://savannah.nongnu.org/projects/quilt";
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2 GPL-1+"  # any GPL version for quilt.el
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux 
~x86-linux ~ppc-macos ~x64-solaris"
+IUSE="emacs graphviz"
+# unresolved test failures
+RESTRICT="test"
+
+RDEPEND="!app-emacs/quilt-el
+       sys-apps/ed
+       dev-util/diffstat
+       graphviz? ( media-gfx/graphviz )
+       elibc_Darwin? ( app-misc/getopt )
+       elibc_SunOS? ( app-misc/getopt )
+       >=sys-apps/coreutils-9.4-r1
+       app-arch/zstd:="
+
+PATCHES=( "${FILESDIR}"/${PN}-el-0.45.4-header-window.patch )
+
+pkg_setup() {
+       use graphviz && return 0
+       echo
+       elog "If you intend to use the folding functionality (graphical 
illustration of the"
+       elog "patch stack) then you'll need to remerge this package with 
USE=graphviz."
+       echo
+}
+
+src_prepare() {
+       # Add support for USE=graphviz
+       use graphviz || PATCHES+=( "${FILESDIR}"/${PN}-0.66-no-graphviz.patch )
+       default
+}
+
+src_configure() {
+       local myconf=()
+       [[ ${CHOST} == *-darwin* || ${CHOST} == *-solaris* ]] \
+               && myconf+=( "--with-getopt=${EPREFIX}/usr/bin/getopt-long" )
+       econf "${myconf[@]}"
+}
+
+src_compile() {
+       default
+       use emacs && elisp-compile lib/quilt.el
+}
+
+src_install() {
+       emake BUILD_ROOT="${D}" install
+
+       rm -rf "${ED}"/usr/share/doc/${P}
+       dodoc AUTHORS COPYING NEWS TODO "doc/README" "doc/README.MAIL" 
"doc/quilt.pdf"
+
+       # Remove misplaced Emacs mode
+       rm -rf "${ED}"/usr/share/emacs || die
+
+       if use emacs; then
+               elisp-install ${PN} lib/quilt.{el,elc}
+               elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el
+               dodoc doc/README.EMACS
+       fi
+
+       rm -rf "${ED}"/etc/bash_completion.d
+       newbashcomp bash_completion ${PN}
+
+       # Remove the compat symlinks
+       rm -rf "${ED}"/usr/share/quilt/compat
+}

Reply via email to