public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/emacs:graveyard commit in: app-emacs/jde/, app-emacs/jde/files/
@ 2023-10-18 20:18 Ulrich Müller
  0 siblings, 0 replies; only message in thread
From: Ulrich Müller @ 2023-10-18 20:18 UTC (permalink / raw
  To: gentoo-commits

commit:     7f241da4af99a41bc3897d1047fa017dce5fa390
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 18 20:10:57 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 18 20:10:57 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=7f241da4

jde removed 2022-05-29, bug 823611

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

 app-emacs/jde/Manifest                             |   1 +
 app-emacs/jde/files/70jde-gentoo.el                |  10 +
 .../jde/files/jde-2.4.0.1-classpath-gentoo.patch   |  69 +++++++
 .../jde/files/jde-2.4.0.1-fix-paths-gentoo.patch   | 218 +++++++++++++++++++++
 app-emacs/jde/files/jde-2.4.1-doc-directory.patch  |  53 +++++
 app-emacs/jde/jde-2.4.1-r2.ebuild                  |  77 ++++++++
 app-emacs/jde/metadata.xml                         |  31 +++
 7 files changed, 459 insertions(+)

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>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-10-18 20:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-18 20:18 [gentoo-commits] repo/proj/emacs:graveyard commit in: app-emacs/jde/, app-emacs/jde/files/ Ulrich Müller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox