summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2023-10-18 22:10:57 +0200
committerUlrich Müller <ulm@gentoo.org>2023-10-18 22:10:57 +0200
commit7f241da4af99a41bc3897d1047fa017dce5fa390 (patch)
treeac50e3b0ff5158ba8fc9f3b0c48c22344e7ba672
parentyc removed 2021-07-17 bug 796878 (diff)
downloademacs-7f241da4af99a41bc3897d1047fa017dce5fa390.tar.gz
emacs-7f241da4af99a41bc3897d1047fa017dce5fa390.tar.bz2
emacs-7f241da4af99a41bc3897d1047fa017dce5fa390.zip
jde removed 2022-05-29, bug 823611
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r--app-emacs/jde/Manifest1
-rw-r--r--app-emacs/jde/files/70jde-gentoo.el10
-rw-r--r--app-emacs/jde/files/jde-2.4.0.1-classpath-gentoo.patch69
-rw-r--r--app-emacs/jde/files/jde-2.4.0.1-fix-paths-gentoo.patch218
-rw-r--r--app-emacs/jde/files/jde-2.4.1-doc-directory.patch53
-rw-r--r--app-emacs/jde/jde-2.4.1-r2.ebuild77
-rw-r--r--app-emacs/jde/metadata.xml31
7 files changed, 459 insertions, 0 deletions
diff --git a/app-emacs/jde/Manifest b/app-emacs/jde/Manifest
new file mode 100644
index 0000000..8bf849d
--- /dev/null
+++ b/app-emacs/jde/Manifest
@@ -0,0 +1 @@
+DIST jdee-2.4.1.tar.xz 2742232 BLAKE2B f022cb55583acc7846bc04b59e843050947819c6bb2494bbe08ac3895c15d914df28d3c3a50cfd945efa7ed507cda9906a42866c85463907544095377cc1bf07 SHA512 5ce5f0f84b2502e9af808f33210511e8b7682902b1f342d678fe42dd8f9f3690b90ef7bb22583550eb769818782c50f545d6baf47b52bc7f4502fab411ab5359
diff --git a/app-emacs/jde/files/70jde-gentoo.el b/app-emacs/jde/files/70jde-gentoo.el
new file mode 100644
index 0000000..c7fff6a
--- /dev/null
+++ b/app-emacs/jde/files/70jde-gentoo.el
@@ -0,0 +1,10 @@
+(add-to-list 'load-path "@SITELISP@")
+(require 'jde-autoload)
+
+(setq jde-java-directory "/usr/share/jde")
+(setq jde-bsh-jar-file "@BSH_JAR@")
+(setq jde-checkstyle-jar-file "@CHECKSTYLE_JAR@")
+(setq jde-checkstyle-style "/usr/share/checkstyle/checks/sun_checks.xml")
+(setq jde-html-directory "/usr/share/doc/@PF@/html")
+(setq bsh-html-directory "/usr/share/doc/@PF@/html")
+(setq jde-check-version-flag nil)
diff --git a/app-emacs/jde/files/jde-2.4.0.1-classpath-gentoo.patch b/app-emacs/jde/files/jde-2.4.0.1-classpath-gentoo.patch
new file mode 100644
index 0000000..47fdd4e
--- /dev/null
+++ b/app-emacs/jde/files/jde-2.4.0.1-classpath-gentoo.patch
@@ -0,0 +1,69 @@
+Initialise classpath for beanshell and checkstyle using java-config.
+Gentoo specific patch.
+
+--- jde-orig/lisp/beanshell.el
++++ jde/lisp/beanshell.el
+@@ -809,6 +809,14 @@
+ "BeanShell intended to be used independently of any other
+ Emacs package.")
+
++(defun bsh-get-gentoo-classpath ()
++ (or bsh-classpath
++ (with-temp-buffer
++ (call-process "java-config" nil t nil "-d" "-p" "bsh")
++ (skip-chars-backward "\n")
++ (setq bsh-classpath
++ (split-string (buffer-substring (point-min) (point)) ":+")))))
++
+ (defmethod initialize-instance ((this bsh-standalone-bsh) &rest fields)
+ "Constructor for the standard bsh BeanShell instance."
+ (call-next-method)
+@@ -845,7 +853,7 @@
+ bsh-vm)
+ (executable-find (if (eq system-type 'windows-nt) "javaw" "java"))))
+
+- (oset this cp bsh-classpath)
++ (oset this cp (bsh-get-gentoo-classpath))
+
+ (oset this startup-dir bsh-startup-directory))
+
+--- jde-orig/lisp/jde-bsh.el
++++ jde/lisp/jde-bsh.el
+@@ -187,7 +187,7 @@
+ (jde-get-tools-jar)
+ (if ant-home (expand-file-name "lib" ant-home)))
+ (jde-pi-get-bsh-classpath)
+- bsh-classpath
++ (bsh-get-gentoo-classpath)
+ (jde-expand-classpath (jde-get-global-classpath)))))))
+
+ ;; Create the BeanShell wrapper object.
+--- jde-orig/lisp/jde-checkstyle.el
++++ jde/lisp/jde-checkstyle.el
+@@ -305,6 +305,14 @@
+ (format "-D%s=%s" (car prop) (cdr prop)))
+ jde-checkstyle-expanded-properties))
+
++(defun jde-checkstyle-get-gentoo-classpath ()
++ (or jde-checkstyle-classpath
++ (with-temp-buffer
++ (call-process "java-config" nil t nil "-d" "-p" "checkstyle")
++ (skip-chars-backward "\n")
++ (setq jde-checkstyle-classpath
++ (split-string (buffer-substring (point-min) (point)) ":+")))))
++
+ (defmethod jde-checkstyle-exec ((this jde-checkstyle-checker))
+
+ (jde-checkstyle-create-checker-buffer this)
+@@ -327,9 +335,8 @@
+ (jde-checkstyle-get-property-args this))
+ (oref this :interactive-args)
+ (list "-classpath"
+- (if jde-checkstyle-classpath
+- (jde-build-classpath jde-checkstyle-classpath)
+- (jde-normalize-path jde-checkstyle-jar-file)))
++ (jde-build-classpath
++ (jde-checkstyle-get-gentoo-classpath)))
+ (list jde-checkstyle-class)
+ (list "-c"
+ (if jde-checkstyle-style
diff --git a/app-emacs/jde/files/jde-2.4.0.1-fix-paths-gentoo.patch b/app-emacs/jde/files/jde-2.4.0.1-fix-paths-gentoo.patch
new file mode 100644
index 0000000..a129b58
--- /dev/null
+++ b/app-emacs/jde/files/jde-2.4.0.1-fix-paths-gentoo.patch
@@ -0,0 +1,218 @@
+Make paths of directories and jar files configurable.
+
+Part of this patch was taken from Debian and heavily modified, see:
+http://patch-tracking.debian.net/patch/series/view/jde/2.3.5.1-5/0005-Set-the-location-of-needed-files-for-beanshell.el-an.patch
+
+--- jde-orig/lisp/beanshell.el
++++ jde/lisp/beanshell.el
+@@ -891,14 +891,21 @@
+
+ (add-to-list 'auto-mode-alist '("\\.bsh\\'" . bsh-script-mode))
+
++(defcustom bsh-html-directory
++ (let ((jde-dir (jde-find-jde-doc-directory)))
++ (if jde-dir
++ (expand-file-name "doc/html/bsh-ug" jde-dir)))
++ "Directory of the beanshell HTML documentation."
++ :group 'bsh
++ :type 'directory)
++
+ ;;;###autoload
+ (defun bsh-script-help ()
+ "Display BeanShell User's Guide."
+ (interactive)
+- (let* ((jde-dir (jde-find-jde-doc-directory))
+- (bsh-help
+- (if jde-dir
+- (expand-file-name "doc/html/bsh-ug/bsh-ug.html" jde-dir))))
++ (let ((bsh-help
++ (if bsh-html-directory
++ (expand-file-name "bsh-ug.html" bsh-html-directory))))
+ (if (and
+ bsh-help
+ (file-exists-p bsh-help))
+--- jde-orig/lisp/jde-bsh.el
++++ jde/lisp/jde-bsh.el
+@@ -91,22 +91,59 @@
+ "The single instance of the JDEE's BeanShell."))
+ "Class of JDEE BeanShells. There is only one per Emacs session.")
+
++(defcustom jde-java-directory
++ (expand-file-name "java" (jde-find-jde-data-directory))
++ "Top-level directory of JDE Java files."
++ :group 'jde-project
++ :type 'directory)
++
++(defcustom jde-bsh-commands-directory
++ (expand-file-name "bsh-commands" jde-java-directory)
++ "Directory of beanshell commands."
++ :group 'bsh
++ :type 'directory)
++
++(defcustom jde-classes-directory
++ (expand-file-name "classes" jde-java-directory)
++ "Directory of JDE classes."
++ :group 'jde-project
++ :type 'directory)
++
++(defcustom jde-checkstyle-jar-file
++ (expand-file-name "lib/checkstyle-all.jar" jde-java-directory)
++ "Path of the checkstyle-jar file."
++ :group 'jde-project
++ :type 'file)
++
++(defcustom jde-regexp-jar-file
++ (expand-file-name "lib/jakarta-regexp.jar" jde-java-directory)
++ "Path of the regexp-jar file."
++ :group 'jde-project
++ :type 'file)
++
++(defcustom jde-jde-jar-file
++ (expand-file-name "lib/jde.jar" jde-java-directory)
++ "Path of the jde-jar file."
++ :group 'jde-project
++ :type 'file)
++
++(defcustom jde-bsh-jar-file
++ (expand-file-name "lib/bsh.jar" jde-java-directory)
++ "Path of the bsh-jar file."
++ :group 'jde-project
++ :type 'file)
++
+ (defmethod initialize-instance ((this jde-bsh) &rest fields)
+ "Constructor for the JDEE BeanShell instance."
+ (call-next-method)
+- (let* ((jde-java-directory
+- (concat
+- (jde-find-jde-data-directory)
+- "java/")))
+-
+- (oset this bsh-cmd-dir (expand-file-name "bsh-commands" jde-java-directory))
+- (oset this checkstyle-jar (expand-file-name "lib/checkstyle-all.jar" jde-java-directory))
+- (oset this regexp-jar (expand-file-name "lib/jakarta-regexp.jar" jde-java-directory))
+- (oset this jde-classes-dir (expand-file-name "classes" jde-java-directory))
+- (oset this jde-jar (expand-file-name "lib/jde.jar" jde-java-directory))
+- (oset this jar (expand-file-name "lib/bsh.jar" jde-java-directory))
+- (oset this separate-error-buffer jde-bsh-separate-buffer)
+- (oset-default 'jde-bsh the-bsh this)))
++ (oset this bsh-cmd-dir jde-bsh-commands-directory)
++ (oset this checkstyle-jar jde-checkstyle-jar-file)
++ (oset this regexp-jar jde-regexp-jar-file)
++ (oset this jde-classes-dir jde-classes-directory)
++ (oset this jde-jar jde-jde-jar-file)
++ (oset this jar jde-bsh-jar-file)
++ (oset this separate-error-buffer jde-bsh-separate-buffer)
++ (oset-default 'jde-bsh the-bsh this))
+
+ (defmethod bsh-create-buffer ((this jde-bsh))
+ "Creates the JDEE's beanshell buffer."
+@@ -150,6 +187,7 @@
+ (jde-get-tools-jar)
+ (if ant-home (expand-file-name "lib" ant-home)))
+ (jde-pi-get-bsh-classpath)
++ bsh-classpath
+ (jde-expand-classpath (jde-get-global-classpath)))))))
+
+ ;; Create the BeanShell wrapper object.
+--- jde-orig/lisp/jde-bug.el
++++ jde/lisp/jde-bug.el
+@@ -2438,10 +2438,10 @@
+ (defun jde-bug-help ()
+ "Displays the JDEbug User's Guide."
+ (interactive)
+- (let* ((jde-dir (jde-find-jde-doc-directory))
+- (jdebug-help
+- (if jde-dir
+- (expand-file-name "doc/html/jdebug-ug/jdebug-ug.html" jde-dir))))
++ (let ((jdebug-help
++ (if jde-html-directory
++ (expand-file-name "jdebug-ug/jdebug-ug.html"
++ jde-html-directory))))
+ (if (and
+ jdebug-help
+ (file-exists-p jdebug-help))
+--- jde-orig/lisp/jde-checkstyle.el
++++ jde/lisp/jde-checkstyle.el
+@@ -322,10 +322,6 @@
+ (vm-path (oref (jde-run-get-vm) :path))
+ (source-file
+ (concat (file-name-nondirectory buffer-file-name)))
+- (jde-java-directory
+- (concat
+- (jde-find-jde-data-directory)
+- "java/"))
+ (args (append
+ (unless jde-checkstyle-expanded-properties-file
+ (jde-checkstyle-get-property-args this))
+@@ -333,13 +329,13 @@
+ (list "-classpath"
+ (if jde-checkstyle-classpath
+ (jde-build-classpath jde-checkstyle-classpath)
+- (jde-normalize-path
+- (expand-file-name "lib/checkstyle-all.jar" jde-java-directory))))
++ (jde-normalize-path jde-checkstyle-jar-file)))
+ (list jde-checkstyle-class)
+ (list "-c"
+ (if jde-checkstyle-style
+ (jde-normalize-path jde-checkstyle-style)
+- (concat (jde-find-jde-data-directory) "java/lib/sun_checks.xml")))
++ (expand-file-name "lib/sun_checks.xml"
++ jde-java-directory)))
+ (if jde-checkstyle-expanded-properties-file
+ (list "-p" (jde-normalize-path jde-checkstyle-expanded-properties-file)))
+ (if jde-checkstyle-module-package-names-file
+--- jde-orig/lisp/jde-dbs.el
++++ jde/lisp/jde-dbs.el
+@@ -907,9 +907,6 @@
+ (jde-normalize-path 'jde-run-working-directory)
+ source-directory))
+ (vm (oref (jde-run-get-vm) :path))
+- (jde-java-directory
+- (expand-file-name "java"
+- (jde-find-jde-data-directory)))
+ (vm-args
+ (let (args)
+ (setq args
+--- jde-orig/lisp/jde.el
++++ jde/lisp/jde.el
+@@ -1722,14 +1722,19 @@
+ jde.el."
+ (jde-find-jde-data-directory))
+
++(defcustom jde-html-directory
++ (expand-file-name "doc/html" (jde-find-jde-doc-directory))
++ "Directory of the JDE HTML documentation."
++ :group 'jde-project
++ :type 'directory)
++
+ ;;;###autoload
+ (defun jde-show-help ()
+ "Displays the JDE User's Guide in a browser."
+ (interactive)
+- (let* ((jde-dir (jde-find-jde-doc-directory))
+- (jde-help
+- (if jde-dir
+- (expand-file-name "doc/html/jde-ug/jde-ug.html" jde-dir))))
++ (let ((jde-help
++ (if jde-html-directory
++ (expand-file-name "jde-ug/jde-ug.html" jde-html-directory))))
+ (if (and
+ jde-help
+ (file-exists-p jde-help))
+--- jde-orig/lisp/jde-jdb.el
++++ jde/lisp/jde-jdb.el
+@@ -1459,10 +1459,10 @@
+
+ (defun jde-jdb-help ()
+ (interactive)
+- (let* ((jde-dir (jde-find-jde-doc-directory))
+- (jdb-ug-path
+- (if jde-dir
+- (expand-file-name "doc/html/jdb-ug/jdb-ug-frame.html" jde-dir))))
++ (let ((jdb-ug-path
++ (if jde-html-directory
++ (expand-file-name "jdb-ug/jdb-ug-frame.html"
++ jde-html-directory))))
+ (if (and
+ jdb-ug-path
+ (file-exists-p jdb-ug-path))
diff --git a/app-emacs/jde/files/jde-2.4.1-doc-directory.patch b/app-emacs/jde/files/jde-2.4.1-doc-directory.patch
new file mode 100644
index 0000000..c96fcd8
--- /dev/null
+++ b/app-emacs/jde/files/jde-2.4.1-doc-directory.patch
@@ -0,0 +1,53 @@
+Move definition of jde-find-jde-doc-directory to jde-util.el.
+
+--- jdee-orig/lisp/beanshell.el
++++ jdee/lisp/beanshell.el
+@@ -82,7 +82,7 @@
+ (eval-when-compile
+ (require 'cl))
+
+-(declare-function jde-find-jde-doc-directory "jde" nil)
++(require 'jde-util)
+
+ (defgroup bsh nil
+ "Customizations for the Emacs inteface to Pat Neimeyer's Java
+--- jdee-orig/lisp/jde-util.el
++++ jdee/lisp/jde-util.el
+@@ -139,6 +139,17 @@
+ (if dir dir (jde-root)))
+ (jde-root))))
+
++(defun jde-find-jde-doc-directory ()
++ "Return the path of the JDE documentation directory.
++Returns nil if the directory cannot be found. At some
++point, XEmacs will include the JDE. Versions of XEmacs
++that include JDE will store the JDE doc in a data
++directory called jde. On all other Emacs versions, the JDE
++expects to find the documentation in a subdirectory
++named doc of the directory that contains the file
++jde.el."
++ (jde-find-jde-data-directory))
++
+ (defun jde-temp-directory ()
+ "Get the location used by the host system to store temporary files."
+ (or (if (boundp 'temporary-file-directory) temporary-file-directory)
+--- jdee-orig/lisp/jde.el
++++ jdee/lisp/jde.el
+@@ -1762,17 +1762,6 @@
+
+
+ ;; JDE help
+-(defun jde-find-jde-doc-directory ()
+- "Return the path of the JDE documentation directory.
+-Returns nil if the directory cannot be found. At some
+-point, XEmacs will include the JDE. Versions of XEmacs
+-that include JDE will store the JDE doc in a data
+-directory called jde. On all other Emacs versions, the JDE
+-expects to find the documentation in a subdirectory
+-named doc of the directory that contains the file
+-jde.el."
+- (jde-find-jde-data-directory))
+-
+ (defcustom jde-html-directory
+ (expand-file-name "doc/html" (jde-find-jde-doc-directory))
+ "Directory of the JDE HTML documentation."
diff --git a/app-emacs/jde/jde-2.4.1-r2.ebuild b/app-emacs/jde/jde-2.4.1-r2.ebuild
new file mode 100644
index 0000000..a4bcf20
--- /dev/null
+++ b/app-emacs/jde/jde-2.4.1-r2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-ant-2 elisp
+
+DESCRIPTION="Java Development Environment for Emacs"
+HOMEPAGE="http://jdee.sourceforge.net/"
+# snapshot of svn://svn.code.sf.net/p/jdee/code/branches/2.4.1 (rev 292)
+# (upstream's distfile misses build.xml)
+SRC_URI="mirror://gentoo/jdee-${PV}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND=">=virtual/jdk-1.8:*
+ dev-java/bsh:0
+ dev-java/junit:0
+ dev-util/checkstyle:0"
+DEPEND="${RDEPEND}
+ dev-java/ant-contrib:0"
+
+S="${WORKDIR}/jdee-${PV}"
+SITEFILE="70${PN}-gentoo.el"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.0.1-fix-paths-gentoo.patch"
+ "${FILESDIR}/${PN}-2.4.0.1-classpath-gentoo.patch"
+ "${FILESDIR}/${PN}-2.4.1-doc-directory.patch"
+)
+
+pkg_setup() {
+ java-pkg-2_pkg_setup
+ elisp_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ local bshjar csjar
+ bshjar=$(java-pkg_getjar --build-only bsh bsh.jar) || die
+ csjar=$(java-pkg_getjar --build-only checkstyle checkstyle.jar) || die
+ sed -e "s:@BSH_JAR@:${bshjar}:;s:@CHECKSTYLE_JAR@:${csjar}:" \
+ -e "s:@PF@:${PF}:" "${FILESDIR}/${SITEFILE}" >"${SITEFILE}" || die
+
+ cd java/lib || die
+ java-pkg_jar-from --build-only checkstyle checkstyle.jar checkstyle-all.jar
+ java-pkg_jar-from junit
+ java-pkg_jar-from bsh
+}
+
+src_compile() {
+ ANT_TASKS="ant-contrib" \
+ eant bindist $(usex doc source-doc "")
+}
+
+src_install() {
+ local dist="dist/jdee-${PV%_*}"
+
+ java-pkg_dojar ${dist}/java/lib/jde.jar
+ insinto "${JAVA_PKG_SHAREPATH}"
+ doins -r java/bsh-commands
+
+ use source && java-pkg_dosrc java/src/*
+ use doc && java-pkg_dojavadoc ${dist}/doc/java/api
+
+ elisp-install ${PN} ${dist}/lisp/*.{el,elc}
+ elisp-site-file-install "${SITEFILE}"
+
+ dobin ${dist}/lisp/jtags
+
+ dodoc -r doc/html
+ find "${ED}"/usr/share/doc -iname "*makefile" -delete || die
+}
diff --git a/app-emacs/jde/metadata.xml b/app-emacs/jde/metadata.xml
new file mode 100644
index 0000000..2a92351
--- /dev/null
+++ b/app-emacs/jde/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+</maintainer>
+<longdescription>
+ The Java Development Environment for Emacs is a software package
+ that interfaces Emacs to command-line Java development tools (for
+ example, JavaSoft's JDK). JDEE features include:
+
+ * JDEE menu with compile, run, debug, build, browse, project, and
+ help commands
+ * syntax coloring
+ * auto indentation
+ * compile error to source links
+ * source-level debugging
+ * source code browsing
+ * make file support
+ * automatic code generation
+ * Java source interpreter (Pat Neimeyer's BeanShell)
+</longdescription>
+<upstream>
+ <remote-id type="sourceforge">jdee</remote-id>
+</upstream>
+</pkgmetadata>