From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Jul 5 19:20:05 2013 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 823C69FA for ; Fri, 5 Jul 2013 19:20:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 63D8A1DDE for ; Fri, 5 Jul 2013 19:20:05 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r65JK2st045177 for ; Fri, 5 Jul 2013 19:20:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r65JK2rA045176; Fri, 5 Jul 2013 19:20:02 GMT (envelope-from gnats) Date: Fri, 5 Jul 2013 19:20:02 GMT Message-Id: <201307051920.r65JK2rA045176@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org Cc: From: r4721@tormail.org Subject: Re: ports/180195: [patch] upgrade games/minecraft-client to 1.6.1 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: r4721@tormail.org List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jul 2013 19:20:05 -0000 The following reply was made to PR ports/180195; it has been noted by GNATS. From: r4721@tormail.org To: bug-followup@freebsd.org Cc: Subject: Re: ports/180195: [patch] upgrade games/minecraft-client to 1.6.1 Date: Fri, 05 Jul 2013 19:12:19 +0000 ------=_20130705191219_35639 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit when this pr was posted, launcher was only checking the integrity of the library files on version upgrades. since then, a new version of launcher has been released that checks the integrity of the library files on each minecraft startup and reverts them to the vendor copy. a workaround for this has been found as putting our native library jar with a different name which is not present in normal minecraft. a duplicate of the minecraft version must be also be created and modified to told to use the native library jar. --- .minecraft/versions/1.6.1/1.6.1.json +++ .minecraft/versions/1.6.1-mod/1.6.1-mod.json @@ -1,5 +1,5 @@ { - "id": "1.6.1", + "id": "1.6.1-mod", "time": "2013-07-02T17:27:58+00:00", "releaseTime": "2013-06-28T14:48:41+00:00", "type": "release", @@ -56,7 +56,7 @@ { "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", "natives": { - "linux": "natives-linux", + "linux": "natives-freebsd", "windows": "natives-windows", "osx": "natives-osx" }, a disadvantage of this workaround is that it requires manual intervention each version upgrade. attached is a new version of patch that installs the native jar as freebsd, instead of overwriting the linux one. ------=_20130705191219_35639 Content-Type: text/plain; name="minecraft-client.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="minecraft-client.txt" Index: games/minecraft-client/Makefile =================================================================== --- games/minecraft-client/Makefile (revision 322328) +++ games/minecraft-client/Makefile (working copy) @@ -2,13 +2,11 @@ # $FreeBSD$ PORTNAME= minecraft-client -PORTVERSION= 1.4.6 -PORTREVISION= 1 +PORTVERSION= 1.6.1 CATEGORIES= games java -MASTER_SITES= http://s3.amazonaws.com/MinecraftDownload/launcher/:minecraft \ +MASTER_SITES= https://s3.amazonaws.com/Minecraft.Download/launcher/:minecraft \ http://media-mcw.cursecdn.com/c/c5/:icon -DISTNAME= minecraft -DISTFILES= minecraft.jar:minecraft \ +DISTFILES= Minecraft.jar:minecraft \ Grass.png:icon DIST_SUBDIR= ${PORTNAME}/${PORTVERSION} EXTRACT_ONLY= @@ -23,7 +21,7 @@ WRKSRC= ${WRKDIR} NO_BUILD= yes USE_JAVA= yes -JAVA_VERSION= 1.6 +JAVA_VERSION= 1.7+ DESKTOP_ENTRIES="Minecraft" \ "Block building game" \ "${PREFIX}/share/pixmaps/minecraft-client.png" \ @@ -35,95 +33,55 @@ .if ${PORT_OPTIONS:MNATIVE_LIBS} USE_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} "#!/bin/sh" > ${WRKDIR}/minecraft-client + @${ECHO_CMD} "export JAVA_HOME=${JAVA_HOME}" >> ${WRKDIR}/minecraft-client .if ${PORT_OPTIONS:MNATIVE_LIBS} - ${ECHO_CMD} "${ECHO_MSG} \"Note:\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \"\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \" Please restart this script after inital\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \" downloading all the Minecraft files, \"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \" some of the libraries will be replaced \"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \" with FreeBSD-compiled version. Also, \"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \" run the following command to remove \"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \" the symlinks before doing any upgrade: \"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \"\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \"find ~/.minecraft/bin -type l -print0 | \ - ${XARGS} -0 ${RM} -v\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \"\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \"After deleting symlinks, you will have to\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \"force update to get replacements of all\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${ECHO_MSG} \"files that are normally used via symlinks.\"">> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "MINECRAFT_DIR=\"\$${HOME}/.minecraft\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "BIN=\"\$${MINECRAFT_DIR}/bin\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "NATIVES=\"\$${MINECRAFT_DIR}/bin/natives\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "${MKDIR} \$${NATIVES}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "jinput=\"${JAVAJARDIR}/jinput/jinput.jar\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "lwjgl=\"${JAVAJARDIR}/lwjgl/lwjgl.jar\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "lwjgl_util=\"${JAVAJARDIR}/lwjgl/lwjgl_util.jar\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "CP=\"\$${MINECRAFT_DIR}/minecraft.jar\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "CP=\"\$${CP}:${JAVAJARDIR}/jinput/jinput.jar\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "CP=\"\$${CP}:${JAVAJARDIR}/jutils/jutils.jar\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "JAVA_IP4=\"-Djava.net.preferIPv4Stack=true\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "JAVA_OPT=\"-Dos.name=Linux\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "JAVA_OPT=\"\$${JAVA_OPT} -Xmx1024M -Xms512M\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "JAVA_OPT=\"\$${JAVA_OPT} \$${JAVA_IP4}\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "JAVA_OPT=\"\$${JAVA_OPT} -classpath \$${CP}\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "for j in jinput.jar lwjgl.jar lwjgl_util.jar" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "do" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " if [ \( -f \$${BIN}/\$${j} -a ! -L \$${BIN}/\$${j} \) -o \ - \( -L \$${BIN}/\$${j} -a ! -f \$${BIN}/\$${j} \) ]" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " then" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " target=\$$(${BASENAME} \$${j} .jar)" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " eval target=\\\$$\$${target}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " ${LN} -snf \$${target} \$${BIN}/\$${j}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " fi" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "done" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "lwjgl=\"\$${NATIVES}/liblwjgl.so\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "lwjgl64=\"\$${NATIVES}/liblwjgl64.so\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "if [ \( -f \$${lwjgl} -a ! -L \$${lwjgl} -a \ - -f \$${lwjgl64} -a ! -L \$${lwjgl64} \) -o \ - \( -L \$${lwjgl} -a ! -f \$${lwjgl} -a \ - -L \$${lwjgl64} -a ! -f \$${lwjgl64} \) ]; then" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " LIBLWJGL=\$$(${FIND} ${LOCALBASE}/lib/lwjgl* \ - -name 'liblwjgl*.so' | ${HEAD} -n 1)" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " LWJGLSO=\$$(${ECHO} \$${LIBJGL} | ${GREP} \"64\")" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " if [ \"x\$${LIBWJGLSO}\" = \"x\" ]; then" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " ${LN} -snf \$${LIBLWJGL} \$${lwjgl}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " ${LN} -snf liblwjgl.so \$${lwjgl64}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " else" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " ${LN} -snf \$${LIBLWJGL} \$${lwgjl64}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " ${LN} -snf liblwjgl64.so \$${lwgjl}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " fi" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "fi" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "libopenal=\"\$${NATIVES}/libopenal.so\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "libopenal64=\"\$${NATIVES}/libopenal64.so\"" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "if [ \( -f \$${libopenal} -a ! -L \$${libopenal} -a \ - -f \$${libopenal64} -a ! -L \$${libopenal64} \) -o \ - \( -L \$${libopenal} -a ! -f \$${libopenal} -a \ - -L \$${libopenal64} -a ! -f \$${libopenal64} \) ]; then" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " ${LN} -snf ${LOCALBASE}/lib/libopenal.so \$${libopenal}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} " ${LN} -snf ${LOCALBASE}/lib/libopenal.so \$${libopenal64}" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "fi" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "" >> ${WRKDIR}/minecraft-client - ${ECHO_CMD} "exec java \$${JAVA_OPT} -jar ${DATADIR}/minecraft.jar" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "${ECHO_MSG} \"Note:\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "${ECHO_MSG}" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "${ECHO_MSG} \"Please restart this script after inital downloading all the Minecraft files,\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "${ECHO_MSG} \"some of the libraries will be replaced with FreeBSD-compiled version.\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "${ECHO_MSG}" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "${ECHO_MSG} \"If you run versions older than 1.6.1 in the Launcher, add \"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "${ECHO_MSG} \"-Djava.net.preferIPv4Stack=true to JVM Arguments in the profile.\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "${ECHO_MSG}" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "JAVA_OPT=\"-Dos.name=Linux -Djava.nio.file.spi.DefaultFileSystemProvider=sun.nio.fs.BsdFileSystemProvider\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "LIBDIR=\"\$${HOME}/.minecraft/libraries/\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "for i in \$${LIBDIR}/org/lwjgl/lwjgl/lwjgl-platform/*/lwjgl-platform-*-natives-linux.jar; do" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} " if [ -f \"\$${i}\" ]; then" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} " i=\`echo \"\$${i}\" | sed s,linux,freebsd,\`" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} " cmp -s \"${DATADIR}/lwjgl-native-libs.jar\" \"\$${i}\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} " if [ \$$? -eq 1 ]; then" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} " ${ECHO_MSG} \"replacing \$${i} with ${DATADIR}/lwjgl-native-libs.jar\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} " ${CP} \"${DATADIR}/lwjgl-native-libs.jar\" \"\$${i}\"" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} " fi" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} " fi" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "done" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "exec ${JAVA} \$${JAVA_OPT} -jar ${DATADIR}/Minecraft.jar" >> ${WRKDIR}/minecraft-client .else - ${ECHO_CMD} "exec java -Xmx1024M -Xms1024M -jar ${DATADIR}/minecraft.jar" >> ${WRKDIR}/minecraft-client + @${ECHO_CMD} "exec ${JAVA} -Xmx1024M -Xms1024M -jar ${DATADIR}/Minecraft.jar" >> ${WRKDIR}/minecraft-client .endif - ${MKDIR} ${DATADIR} - ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/minecraft.jar ${DATADIR}/ - ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/Grass.png ${PREFIX}/share/pixmaps/minecraft-client.png - ${INSTALL_SCRIPT} ${WRKDIR}/minecraft-client ${PREFIX}/bin/ + @${MKDIR} ${DATADIR} + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/Minecraft.jar ${DATADIR}/ + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/Grass.png ${PREFIX}/share/pixmaps/minecraft-client.png + @${INSTALL_SCRIPT} ${WRKDIR}/minecraft-client ${PREFIX}/bin/ +.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 ${DATADIR} +.endif .include Index: games/minecraft-client/distinfo =================================================================== --- games/minecraft-client/distinfo (revision 322328) +++ games/minecraft-client/distinfo (working copy) @@ -1,4 +1,4 @@ -SHA256 (minecraft-client/1.4.6/minecraft.jar) = 92db974aa759a3f17f3cd61550fa5010e335c57dd813dad9e39b9cc013420a49 -SIZE (minecraft-client/1.4.6/minecraft.jar) = 81938 -SHA256 (minecraft-client/1.4.6/Grass.png) = 438c0f63e379e92af1b5b2e06cc5e3365ee272810af65ebc102304bce4fa8c4b -SIZE (minecraft-client/1.4.6/Grass.png) = 12586 +SHA256 (minecraft-client/1.6.1/Minecraft.jar) = bd36ae0719bb14b57d6845e590073a8e4fa803031af4bf97a51111973d710df8 +SIZE (minecraft-client/1.6.1/Minecraft.jar) = 82803 +SHA256 (minecraft-client/1.6.1/Grass.png) = 438c0f63e379e92af1b5b2e06cc5e3365ee272810af65ebc102304bce4fa8c4b +SIZE (minecraft-client/1.6.1/Grass.png) = 12586 Index: games/minecraft-client/pkg-descr =================================================================== --- games/minecraft-client/pkg-descr (revision 322328) +++ games/minecraft-client/pkg-descr (working copy) @@ -1,3 +1,3 @@ This is the popular block building game Minecraft. -WWW: http://www.minecraft.net/ +WWW: https://minecraft.net/ Index: games/minecraft-client/pkg-plist =================================================================== --- games/minecraft-client/pkg-plist (revision 322328) +++ games/minecraft-client/pkg-plist (working copy) @@ -1,4 +1,5 @@ bin/minecraft-client -%%DATADIR%%/minecraft.jar +%%NATIVE%%%%DATADIR%%/lwjgl-native-libs.jar +%%DATADIR%%/Minecraft.jar share/pixmaps/minecraft-client.png @dirrm %%DATADIR%% ------=_20130705191219_35639--