commit:     531ba5bc2cb3014eda26603a9eea3471de115488
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 12 12:11:56 2025 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 12 12:11:56 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=531ba5bc

ecb removed 2025-01-12 bug 911288

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 app-emacs/ecb/Manifest                    |  1 +
 app-emacs/ecb/ecb-2.50_pre20170728.ebuild | 43 ++++++++++++++++++
 app-emacs/ecb/files/70ecb-gentoo.el       |  2 +
 app-emacs/ecb/files/ecb-2.32-gentoo.patch | 73 +++++++++++++++++++++++++++++++
 app-emacs/ecb/metadata.xml                | 39 +++++++++++++++++
 5 files changed, 158 insertions(+)

diff --git a/app-emacs/ecb/Manifest b/app-emacs/ecb/Manifest
new file mode 100644
index 0000000..4d577d2
--- /dev/null
+++ b/app-emacs/ecb/Manifest
@@ -0,0 +1 @@
+DIST ecb-2.50_pre20170728.tar.xz 562144 BLAKE2B 
922a1f101d01717c5d078fbb055903c43e91360061b792e96e9aa9421d19df2cd47f7e69aae6dba4f188e26682d2a758ff8aa57ff500e5b6fdeaea6920b21a25
 SHA512 
074738cc323b595caf3d34d6eaa08d6a1a8d3a53762c9bf48b751ab25a16a26a8c71984996b7e7616f4999a0876c6d03751e1e45b68aad712020778da387a59d

diff --git a/app-emacs/ecb/ecb-2.50_pre20170728.ebuild 
b/app-emacs/ecb/ecb-2.50_pre20170728.ebuild
new file mode 100644
index 0000000..9c0199f
--- /dev/null
+++ b/app-emacs/ecb/ecb-2.50_pre20170728.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Source code browser for Emacs"
+HOMEPAGE="http://ecb.sourceforge.net/";
+# snapshot of https://github.com/ecb-home/ecb.git, created with "make distrib"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz";
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+SITEFILE="70${PN}-gentoo.el"
+DOC_CONTENTS="ECB is autoloaded in site-gentoo.el. Add the line
+       \n\t(require 'ecb)
+       \nto your ~/.emacs file to enable all features on Emacs startup."
+
+src_prepare() {
+       eapply "${FILESDIR}"/${PN}-2.32-gentoo.patch
+       sed -i -e "s:@PF@:${PF}:" ecb-help.el || die "sed failed"
+       eapply_user
+}
+
+src_compile() {
+       default
+}
+
+src_install() {
+       elisp_src_install
+
+       insinto "${SITEETC}/${PN}"
+       doins -r ecb-images
+
+       doinfo info-help/ecb.info*
+       dodoc NEWS README RELEASE_NOTES
+       docinto html
+       dodoc html-help/*.html
+}

diff --git a/app-emacs/ecb/files/70ecb-gentoo.el 
b/app-emacs/ecb/files/70ecb-gentoo.el
new file mode 100644
index 0000000..bc71f7c
--- /dev/null
+++ b/app-emacs/ecb/files/70ecb-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(require 'ecb-autoloads)

diff --git a/app-emacs/ecb/files/ecb-2.32-gentoo.patch 
b/app-emacs/ecb/files/ecb-2.32-gentoo.patch
new file mode 100644
index 0000000..09d3d86
--- /dev/null
+++ b/app-emacs/ecb/files/ecb-2.32-gentoo.patch
@@ -0,0 +1,73 @@
+Change default paths to Gentoo install locations.
+Allow for compressed Info files.
+
+--- ecb-2.32-orig/ecb-common-browser.el        2005-07-11 16:16:01.000000000 
+0200
++++ ecb-2.32/ecb-common-browser.el     2009-03-03 09:42:51.000000000 +0100
+@@ -261,10 +261,7 @@
+ ;; additonal images are necessary - but currently i don't think we need
+ ;; special images for this analyse-stuff.
+ (defcustom ecb-tree-image-icons-directories
+-  (let ((base (concat (if ecb-regular-xemacs-package-p
+-                          (format "%s" (locate-data-directory "ecb"))
+-                        ecb-ecb-dir)
+-                      "ecb-images/")))
++  (let ((base "/usr/share/emacs/etc/ecb/ecb-images/"))
+     (cons (concat base "default/height-17")
+           (mapcar (function (lambda (i)
+                               (cons (car i) (concat base (cdr i)))))
+--- ecb-2.32-orig/ecb-help.el  2005-07-11 16:16:00.000000000 +0200
++++ ecb-2.32/ecb-help.el       2009-03-03 09:47:49.000000000 +0100
+@@ -81,16 +81,8 @@
+                  (const :tag "Html" :value html)))
+ 
+ 
+-(defcustom ecb-help-info-path (concat
+-                               (if ecb-running-xemacs
+-                                   (if (file-exists-p
+-                                        (concat ecb-ecb-dir
+-                                                ecb-help-info-subdir
+-                                                ecb-help-info-start-file))
+-                                       ecb-help-info-subdir
+-                                     "../../info/")
+-                                 ecb-help-info-subdir)
+-                               ecb-help-info-start-file)
++(defcustom ecb-help-info-path
++  (concat "/usr/share/info/" ecb-help-info-start-file)
+   "*Path where the ECB online help in info format resides.
+ This must be the location of the file \"ecb.info\" which comes with the ECB
+ distribution. If is installed by unpacking the archive available on the ECB
+@@ -107,24 +99,7 @@
+   :type 'file)
+ 
+ (defcustom ecb-help-html-path
+-  (if (not ecb-running-xemacs)
+-      (concat ecb-help-html-subdir ecb-help-html-start-file)
+-    (cond ((file-exists-p
+-            (concat ecb-ecb-dir
+-                    ecb-help-html-subdir
+-                    ecb-help-html-start-file))
+-           (concat ecb-help-html-subdir ecb-help-html-start-file))
+-          ((file-exists-p
+-            (concat ecb-ecb-dir
+-                    "../../html/"
+-                    ecb-help-html-start-file))
+-           (concat "../../html/" ecb-help-html-start-file))
+-          ((file-exists-p
+-            (concat ecb-ecb-dir
+-                    "../../html/ecb/index.html"))
+-           "../../html/ecb/index.html")
+-          (t
+-           (concat "../../etc/ecb/html/" ecb-help-html-start-file))))
++  (concat "/usr/share/doc/@PF@/html/" ecb-help-html-start-file)
+   "*Path where the ECB online help in HTML format resides.
+ This must be the location of the file \"index.html\" which comes with the ECB
+ distribution. If is installed by unpacking the archive available on the ECB
+@@ -145,7 +120,7 @@
+   "Starts `info' with INFO-FILE. If INFO-FILE does not exists then nil is
+ returned otherwise true. If NO-FILE-NOT-EXIST-ERR is not nil then just nil is
+ returned if INFO-FILE does not exist otherwise an error is reported."
+-  (if (file-exists-p info-file)
++  (if (file-expand-wildcards (concat info-file "*"))
+       (prog1 t
+         (info info-file))
+     (unless no-file-not-exist-err

diff --git a/app-emacs/ecb/metadata.xml b/app-emacs/ecb/metadata.xml
new file mode 100644
index 0000000..bae34f0
--- /dev/null
+++ b/app-emacs/ecb/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+<maintainer type="project">
+  <email>[email protected]</email>
+  <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<longdescription>
+  ECB stands for "Emacs Code Browser". While Emacs already has good editing
+  support for many modes, its browsing support is somewhat lacking. That's
+  where ECB comes in: it displays a number of informational windows that allow
+  for easy source code navigation and overview.
+
+  The informational windows can contain:
+
+    * A directory tree,
+    * a list of source files in the current directory,
+    * a list of functions/classes/methods/... in the current file, (ECB uses
+      the Semantic Bovinator, or Imenu, or etags, for getting this list so all
+      languages supported by any of these tools are automatically supported by
+      ECB too),
+    * a history of recently visited files,
+    * the Speedbar and
+    * output from compilation (the compilation window) and other modes like
+      help, grep etc. or whatever a user defines to be displayed in this
+      window.
+
+  As an added bonus, ECB makes sure to keep these informational windows
+  visible, even when you use C-x 1 and similar commands.
+
+  It goes without saying that you can configure the layout, ie. which
+  informational windows should be displayed where. ECB comes with a number of
+  ready-made window layouts to choose from.
+</longdescription>
+<stabilize-allarches/>
+<upstream>
+  <remote-id type="sourceforge">ecb</remote-id>
+</upstream>
+</pkgmetadata>

Reply via email to