Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Sep 2005 00:09:16 +0300
From:      Panagiotis Astithas <past@ebs.gr>
To:        freebsd-java@freebsd.org
Subject:   [patch] Install a desktop icon for the jdk15 Control Panel
Message-ID:  <433B067C.2020500@ebs.gr>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------050406020704030502050009
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

I cooked up this patch to fix something that has been annoying me for a 
long time. When we install the jdk we don't fix the provided 
sun_java.desktop file, or install it in a suitable place for desktop 
environments to pick up. This patch is for jdk15 and creates the 
necessary menu entry for Gnome and KDE (although I haven't tested on the 
latter). It should be trivial to make the same changes for jdk14, by 
using MINIMAL instead of WITHOUT_WEB.

Cheers,

Panagiotis

--------------050406020704030502050009
Content-Type: text/x-patch;
 name="jdk15.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="jdk15.patch"

--- /usr/ports/java/jdk15/Makefile	Tue Sep 20 23:00:08 2005
+++ jdk15/Makefile	Wed Sep 28 23:57:17 2005
@@ -43,6 +43,7 @@
 MAKE_ENV+=	BROWSER=mozilla
 .endif
 USE_ICONV=	yes
+USE_GNOME=	desktopfileutils
 MAKE_ENV+=	ALT_MOZILLA_HEADERS_PATH="${X11BASE}/include"
 .endif
 
@@ -118,6 +119,9 @@
 
 PLIST_FILES=	jdk${JDK_VERSION}/jre/.systemPrefs/.system.lock \
 		jdk${JDK_VERSION}/jre/.systemPrefs/.systemRootModFile
+.if !defined(WITHOUT_WEB)
+PLIST_FILES+=	share/applications/sun_java15.desktop
+.endif
 PLIST_DIRS=	jdk${JDK_VERSION}/jre/.systemPrefs
 
 .if (${ARCH} == amd64)
@@ -284,9 +288,20 @@
 	${MKDIR} ${PREFIX}/jdk${JDK_VERSION}
 	cd ${JDKIMAGEDIR} && ${FIND} . \
 	  | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
+.if !defined(WITHOUT_WEB)
+	@${SED} -e 's#Exec=INSTALL_DIR/JRE_NAME_VERSION/bin/ControlPanel#Exec=${PREFIX}/jdk${JDK_VERSION}/bin/ControlPanel#' \
+		-e 's#Icon=INSTALL_DIR/JRE_NAME_VERSION/plugin/desktop/sun_java.png#Icon=${PREFIX}/jdk${JDK_VERSION}/jre/plugin/desktop/sun_java.png#' \
+		< ${JDKIMAGEDIR}/jre/plugin/desktop/sun_java.desktop \
+		> ${JDKIMAGEDIR}/jre/plugin/desktop/sun_java.desktop.tmp
+	${INSTALL_DATA} ${JDKIMAGEDIR}/jre/plugin/desktop/sun_java.desktop.tmp ${PREFIX}/share/applications/sun_java15.desktop
+.endif
 	@${ECHO_MSG} "@unexec ${LOCALBASE}/bin/unregistervm ${PREFIX}/jdk${JDK_VERSION}/bin/java" >> ${TMPPLIST}
 	@${FIND} -s ${JDKIMAGEDIR} -not -type d | \
 	  ${SED} -ne 's#^${JDKIMAGEDIR}#jdk${JDK_VERSION}#p' >> ${TMPPLIST}
+.if !defined(WITHOUT_WEB)
+	@-update-desktop-database
+	@${ECHO_MSG} '@exec ${PREFIX}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST}
+.endif
 .if defined(WITH_DEBUG)
 	cd ${JDKIMAGEDIR_G} && ${FIND} . \
 	  | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
@@ -296,6 +311,9 @@
 	@${FIND} -s -d ${PREFIX}/jdk${JDK_VERSION} -type d | \
 	  ${SED} -ne 's#^${PREFIX}/#@dirrm #p' >> ${TMPPLIST}
 	@${ECHO_MSG} "@exec ${LOCALBASE}/bin/registervm ${PREFIX}/jdk${JDK_VERSION}/bin/java # FREEBSD-JDK${JDK_VERSION}" >> ${TMPPLIST}
+.if !defined(WITHOUT_WEB)
+	@${ECHO_MSG} '@unexec ${PREFIX}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST}
+.endif
 
 # XXX: put unregistervm into install script ?
 post-install:

--------------050406020704030502050009--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?433B067C.2020500>