Bug 188473 - games/minecraft-client fails to start
Summary: games/minecraft-client fails to start
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: John Marino
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-11 20:40 UTC by Sean Bruno
Modified: 2014-04-18 00:23 UTC (History)
0 users

See Also:


Attachments
file.txt (47.42 KB, text/plain)
2014-04-11 20:40 UTC, Sean Bruno
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sean Bruno freebsd_committer freebsd_triage 2014-04-11 20:40:01 UTC
minecraft-client fails to start at all:

[sbruno@powernoodle ~]$ minecraft-client
When starting a version for the first time, select the version you want in your
profile, start Minecraft, close Minecraft and launcher, run minecraft-client
again, then select version "x-freebsd" in your profile.

If you run versions older than 1.6.1 in the Launcher, add
-Djava.net.preferIPv4Stack=true to JVM Arguments in the profile.

Error: Could not find or load main class net.minecraft.client.Main



I've include a list of my packages for verification as well.

Fix: Patch attached with submission follows:
How-To-Repeat: install minecraft-client and run
Comment 1 sbruno 2014-04-11 22:46:39 UTC
sh -x /usr/local/bin/minecraft-client

+ export JAVA_HOME=/usr/local/openjdk7
+ /bin/cat
When starting a version for the first time, select the version you want
in your
profile, start Minecraft, close Minecraft and launcher, run
minecraft-client
again, then select version "x-freebsd" in your profile.

If you run versions older than 1.6.1 in the Launcher, add
-Djava.net.preferIPv4Stack=true to JVM Arguments in the profile.

+ LIBDIR=/home/sbruno/.minecraft/libraries/
+ [ -f
'/home/sbruno/.minecraft/libraries//org/lwjgl/lwjgl/lwjgl-platform/*/lwjgl-platform-*-natives-linux.jar' ]
+ versions_base=/home/sbruno/.minecraft/versions
+ [ '/home/sbruno/.minecraft/versions/*' !=
'/home/sbruno/.minecraft/versions/*' -o
'/home/sbruno/.minecraft/versions/*' ==
'/home/sbruno/.minecraft/versions/*' ]
+ continue
+ exec /usr/local/openjdk7/bin/java
-Djava.nio.file.spi.DefaultFileSystemProvider=sun.nio.fs.BsdFileSystemProvider -Dos.name=Linux -jar /usr/local/share/minecraft-client/Minecraft.jar
Error: Could not find or load main class net.minecraft.client.Main
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2014-04-12 01:55:35 UTC
Maintainer of games/minecraft-client,

Please note that PR ports/188473 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/188473

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 3 Edwin Groothuis freebsd_committer freebsd_triage 2014-04-12 01:55:36 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 4 sbruno 2014-04-14 04:46:59 UTC
At svn r349800 the concept of a fixed version of the Minecraft.jar file
was implemented.  This is incorrect for the Minecraft 1.7 application as
it auto-updates from S3 and needs create a few files in your local
config.  

The MASTER_SITE needs to be set back to the launcher version on Amazon
S3 as it is a small .jar file that will handle updates and downloading
of the correct client.  Changing this back to the previous value fixes
this for me:

Just use the minecraft.com download location on their website, this
doesn't change:

http://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar

This launcher will download and install "things" and it'll be fine.  The
rest of the versioned stuff, just doesn't work with 1.7 anymore.

Replacing the pkg version of Minecraft.jar with the one from this
downloade location works every time.

sean
Comment 5 John Marino freebsd_committer freebsd_triage 2014-04-15 15:33:33 UTC
Responsible Changed
From-To: freebsd-ports-bugs->marino

I'll take it.
Comment 6 dfilter service freebsd_committer freebsd_triage 2014-04-18 00:14:27 UTC
Author: marino
Date: Thu Apr 17 23:14:24 2014
New Revision: 351506
URL: http://svnweb.freebsd.org/changeset/ports/351506
QAT: https://qat.redports.org/buildarchive/r351506/

Log:
  games/minecraft-client: Unbreak run by using official launcher
  
  The method of selectively loading specific versions in Minecraft stopped
  working in the 1.5.x series.  From 1.6.0 and later, the official launcher
  must be used.  The launcher itself does not change often (last time was
  July 2013).  The jar files are downloaded into $HOME/.minecraft directory,
  so every user gets their own copy which is not removed when the port is
  uninstalled.
  
  The new launcher also downloads lwjgl files, so the dependency on
  games/lwjgl is redundant, as well as openal-soft.  This allows the port
  to be simplified and to always install the native version.
  
  The port version doesn't really matter anymore.  I will set it to 1.7.9
  right now as this is the latest available version.
  
  PR:		ports/188473
  Approved by:	marino@. It does mirror the maintainers original intent,
  		but he did not weigh in on the PR.  The game was broken.
  Simplified by:	marino@

Modified:
  head/games/minecraft-client/Makefile
  head/games/minecraft-client/distinfo
  head/games/minecraft-client/pkg-plist

Modified: head/games/minecraft-client/Makefile
==============================================================================
--- head/games/minecraft-client/Makefile	Thu Apr 17 22:24:55 2014	(r351505)
+++ head/games/minecraft-client/Makefile	Thu Apr 17 23:14:24 2014	(r351506)
@@ -2,11 +2,11 @@
 # $FreeBSD$
 
 PORTNAME=	minecraft-client
-PORTVERSION=	1.7.5
+PORTVERSION=	1.7.9
 CATEGORIES=	games java
-MASTER_SITES=	http://s3.amazonaws.com/Minecraft.Download/versions/${PORTVERSION}/:minecraft \
+MASTER_SITES=	http://s3.amazonaws.com/Minecraft.Download/launcher/:minecraft \
 		http://media-mcw.cursecdn.com/c/c5/:icon
-DISTFILES=	${PORTVERSION}.jar:minecraft \
+DISTFILES=	Minecraft.jar:minecraft \
 		Grass.png:icon
 DIST_SUBDIR=	${PORTNAME}/${PORTVERSION}
 EXTRACT_ONLY=
@@ -14,13 +14,11 @@ EXTRACT_ONLY=
 MAINTAINER=	janik@hikarihq.com
 COMMENT=	Client for the block building game
 
-OPTIONS_DEFINE=		NATIVE_LIBS
-OPTIONS_DEFAULT=	NATIVE_LIBS
-NATIVE_LIBS_DESC=	Enable native libs support
-
 WRKSRC=		${WRKDIR}
 NO_BUILD=	yes
 USE_JAVA=	yes
+JAVA_OS=	native
+JAVA_VENDOR=	openjdk
 JAVA_VERSION=	1.7+
 DESKTOP_ENTRIES="Minecraft" \
 		"Block building game" \
@@ -29,43 +27,16 @@ DESKTOP_ENTRIES="Minecraft" \
 		"Game;Java;" \
 		false
 
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MNATIVE_LIBS}
-USES+=		openal:soft
-BUILD_DEPENDS+=	${JAVALIBDIR}/lwjgl/lwjgl_util.jar:${PORTSDIR}/games/lwjgl
-RUN_DEPENDS+=	${JAVALIBDIR}/lwjgl/lwjgl_util.jar:${PORTSDIR}/games/lwjgl
-JAVA_OS=	native
-JAVA_VENDOR=	openjdk
-PLIST_SUB+=	NATIVE=""
-.else
-JAVA_OS=	linux
-JAVA_VENDOR=	sun
-PLIST_SUB+=	NATIVE="@comment "
-.endif
-
 do-install:
-	@${ECHO_CMD} "#!/bin/sh" 							>  ${WRKDIR}/minecraft-client
-	@${ECHO_CMD} "export JAVA_HOME=${JAVA_HOME}" 					>> ${WRKDIR}/minecraft-client
-	@${ECHO_CMD} "exec ${JAVA} -Xmx1024M -Xms1024M -jar ${DATADIR}/Minecraft.jar"	>> ${WRKDIR}/minecraft-client
 	@${MKDIR} ${STAGEDIR}${DATADIR}
-	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${PORTVERSION}.jar \
+	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/Minecraft.jar \
 		${STAGEDIR}${DATADIR}/Minecraft.jar
 	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/Grass.png \
 		${STAGEDIR}${PREFIX}/share/pixmaps/minecraft-client.png
-.if ${PORT_OPTIONS:MNATIVE_LIBS}
-	@${MKDIR} ${WRKSRC}/native-libs
-	@${CP} ${PREFIX}/lib/lwjgl*/liblwjgl*.so ${WRKSRC}/native-libs
-	@${CP} ${PREFIX}/lib/libopenal.so ${WRKSRC}/native-libs
-	@${JAR} cvf ${WRKSRC}/lwjgl-native-libs.jar -C ${WRKSRC}/native-libs .
-	${INSTALL_DATA} -m 644 ${WRKSRC}/lwjgl-native-libs.jar \
-		${STAGEDIR}${DATADIR}
-	${INSTALL_SCRIPT} ${FILESDIR}/${PORTNAME} ${WRKDIR}
-	${REINPLACE_CMD} \
-		-e 's|=JAVA_HOME|=${JAVA_HOME}|' \
+	${SED}  -e 's|=JAVA_HOME|=${JAVA_HOME}|' \
 		-e 's|PREFIX|${PREFIX}|' \
-		-e 's|JAVA_CMD|${JAVA}|' ${WRKDIR}/minecraft-client
-.endif
+		-e 's|JAVA_CMD|${JAVA}|' ${FILESDIR}/minecraft-client \
+		> ${WRKDIR}/minecraft-client
 	${INSTALL_SCRIPT} ${WRKDIR}/minecraft-client ${STAGEDIR}${PREFIX}/bin
 
 .include <bsd.port.mk>

Modified: head/games/minecraft-client/distinfo
==============================================================================
--- head/games/minecraft-client/distinfo	Thu Apr 17 22:24:55 2014	(r351505)
+++ head/games/minecraft-client/distinfo	Thu Apr 17 23:14:24 2014	(r351506)
@@ -1,4 +1,4 @@
-SHA256 (minecraft-client/1.7.5/1.7.5.jar) = 5f83b944b59c48ea7fa8f92fefd491ecb6d1e8d6c9b412fc849f6457c8cee27b
-SIZE (minecraft-client/1.7.5/1.7.5.jar) = 5225771
-SHA256 (minecraft-client/1.7.5/Grass.png) = 438c0f63e379e92af1b5b2e06cc5e3365ee272810af65ebc102304bce4fa8c4b
-SIZE (minecraft-client/1.7.5/Grass.png) = 12586
+SHA256 (minecraft-client/1.7.9/Minecraft.jar) = e8d90b2637b141b556670d8460d317aadb6e4f2e644e519995c428800b25f212
+SIZE (minecraft-client/1.7.9/Minecraft.jar) = 280212
+SHA256 (minecraft-client/1.7.9/Grass.png) = 438c0f63e379e92af1b5b2e06cc5e3365ee272810af65ebc102304bce4fa8c4b
+SIZE (minecraft-client/1.7.9/Grass.png) = 12586

Modified: head/games/minecraft-client/pkg-plist
==============================================================================
--- head/games/minecraft-client/pkg-plist	Thu Apr 17 22:24:55 2014	(r351505)
+++ head/games/minecraft-client/pkg-plist	Thu Apr 17 23:14:24 2014	(r351506)
@@ -1,5 +1,4 @@
 bin/minecraft-client
-%%NATIVE%%%%DATADIR%%/lwjgl-native-libs.jar
 %%DATADIR%%/Minecraft.jar
 share/pixmaps/minecraft-client.png
 @dirrm %%DATADIR%%
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 7 John Marino freebsd_committer freebsd_triage 2014-04-18 00:23:06 UTC
State Changed
From-To: feedback->closed

Committed, with minor changes. Thanks!