Date: Tue, 1 May 2012 11:12:34 -0700 (PDT) From: loader <loader@freebsdmall.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/167496: [patch] games/minecraft-client: add a WITH_NATIVE_LIBS option Message-ID: <20120501181234.B187C36CE4F1@www.freebsdmall.com> Resent-Message-ID: <201205011820.q41IK48M042325@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 167496 >Category: ports >Synopsis: [patch] games/minecraft-client: add a WITH_NATIVE_LIBS option >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Tue May 01 18:20:04 UTC 2012 >Closed-Date: >Last-Modified: >Originator: loader >Release: FreeBSD 8.2-RELEASE-p4 amd64 >Organization: loader >Environment: System: FreeBSD portbuild.freebsdmall.com 8.2-RELEASE-p4 FreeBSD 8.2-RELEASE-p4 #0: Tue Oct 18 08:11:25 PDT 2011 loader@portbuild.freebsdmall.com:/usr/obj/usr/src/sys/portbuild amd64 >Description: Add an option to run MineCraft with some FreeBSD-compiled libraries. >How-To-Repeat: >Fix: --- Makefile.diff begins here --- --- Makefile.orig 2012-05-01 20:40:23.000000000 +0800 +++ Makefile 2012-05-02 01:54:14.000000000 +0800 @@ -18,18 +18,88 @@ MAINTAINER= freebsd@rakor-net.de COMMENT= Client for the block building game +OPTIONS= NATIVE_LIBS "Enable native libs support" off + +.include <bsd.port.options.mk> + WRKSRC= ${WRKDIR} NO_BUILD= yes USE_JAVA= yes JAVA_VERSION= 1.6 +DESKTOP_ENTRIES= "Minecraft" "Block building game" "${DATADIR}/Grass.png" "minecraft-client" "Application;Game;" false + +.if defined(WITH_NATIVE_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_VENDER= openjdk +.else JAVA_OS= linux JAVA_VENDOR= sun -DESKTOP_ENTRIES= "Minecraft" "Block building game" "${DATADIR}/Grass.png" "minecraft-client" "Application;Game;" false +.endif do-install: echo "#!/bin/sh" > ${WRKDIR}/minecraft-client echo "export JAVA_HOME=${JAVA_HOME}" >> ${WRKDIR}/minecraft-client +.if defined(WITH_NATIVE_LIBS) + echo "${ECHO} \"Note:\"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \"\"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \" Please restart this script after inital\"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \" downloading all the Minecraft files, \"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \" some of the libraries will be replaced \"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \" with FreeBSD-compiled version. Also, \"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \" run the following command to remove \"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \" the symlinks before doing any upgrade: \"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \"\"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \"find ~/.minecraft/bin -type l -print0 | \ + xargs -0 rm -v\"" >> ${WRKDIR}/minecraft-client + echo "${ECHO} \"\"" >> ${WRKDIR}/minecraft-client + echo "MINECRAFT_DIR=\"\$${HOME}/.minecraft\"" >> ${WRKDIR}/minecraft-client + echo "BIN=\"\$${MINECRAFT_DIR}/bin\"" >> ${WRKDIR}/minecraft-client + echo "NATIVES=\"\$${MINECRAFT_DIR}/bin/natives\"" >> ${WRKDIR}/minecraft-client + echo "${MKDIR} \$${NATIVES}" >> ${WRKDIR}/minecraft-client + echo "jinput=\"${JAVAJARDIR}/jinput/jinput.jar\"" >> ${WRKDIR}/minecraft-client + echo "lwjgl=\"${JAVAJARDIR}/lwjgl/lwjgl.jar\"" >> ${WRKDIR}/minecraft-client + echo "lwjgl_util=\"${JAVAJARDIR}/lwjgl/lwjgl_util.jar\"" >> ${WRKDIR}/minecraft-client + echo "CP=\"\$${MINECRAFT_DIR}/minecraft.jar\"" >> ${WRKDIR}/minecraft-client + echo "CP=\"\$${CP}:${JAVAJARDIR}/jinput/jinput.jar\"" >> ${WRKDIR}/minecraft-client + echo "CP=\"\$${CP}:${JAVAJARDIR}/jutils/jutils.jar\"" >> ${WRKDIR}/minecraft-client + echo "JAVA_IP4=\"-Djava.net.preferIPv4Stack=true\"" >> ${WRKDIR}/minecraft-client + echo "JAVA_OPT=\"-Dos.name=Linux\"" >> ${WRKDIR}/minecraft-client + echo "JAVA_OPT=\"\$${JAVA_OPT} -Xmx1024M -Xms512M\"" >> ${WRKDIR}/minecraft-client + echo "JAVA_OPT=\"\$${JAVA_OPT} \$${JAVA_IP4}\"" >> ${WRKDIR}/minecraft-client + echo "JAVA_OPT=\"\$${JAVA_OPT} -classpath \$${CP}\"" >> ${WRKDIR}/minecraft-client + echo "" >> ${WRKDIR}/minecraft-client + echo "for j in jinput.jar lwjgl.jar lwjgl_util.jar" >> ${WRKDIR}/minecraft-client + echo "do" >> ${WRKDIR}/minecraft-client + echo " if [ -f \$${BIN}/\$${j} -a ! -L \$${BIN}/\$${j} ]" >> ${WRKDIR}/minecraft-client + echo " then" >> ${WRKDIR}/minecraft-client + echo " target=\$$(${BASENAME} \$${j} .jar)" >> ${WRKDIR}/minecraft-client + echo " eval target=\\\$$\$${target}" >> ${WRKDIR}/minecraft-client + echo " ${LN} -snf \$${target} \$${BIN}/\$${j}" >> ${WRKDIR}/minecraft-client + echo " fi" >> ${WRKDIR}/minecraft-client + echo "done" >> ${WRKDIR}/minecraft-client + echo "" >> ${WRKDIR}/minecraft-client + echo "lwjgl=\"\$${NATIVES}/liblwjgl.so\"" >> ${WRKDIR}/minecraft-client + echo "lwjgl64=\"\$${NATIVES}/liblwjgl64.so\"" >> ${WRKDIR}/minecraft-client + echo "if [ -f \$${lwjgl} -a ! -L \$${lwjgl} -a \ + -f \$${lwjgl64} -a ! -L \$${lwjgl64} ]; then" >> ${WRKDIR}/minecraft-client + echo " LIBLWJGL=\$$(${FIND} ${LOCALBASE}/lib/lwjgl* \ + -name 'liblwjgl*.so' | ${HEAD} -n 1)" >> ${WRKDIR}/minecraft-client + echo " LWJGLSO=\$$(${ECHO} \$${LIBJGL} | ${GREP} \"64\")" >> ${WRKDIR}/minecraft-client + echo " if [ \"x\$${LIBWJGLSO}\" = \"x\" ]; then" >> ${WRKDIR}/minecraft-client + echo " ${LN} -snf \$${LIBLWJGL} \$${lwjgl}" >> ${WRKDIR}/minecraft-client + echo " ${LN} -snf liblwjgl.so \$${lwjgl64}" >> ${WRKDIR}/minecraft-client + echo " else" >> ${WRKDIR}/minecraft-client + echo " ${LN} -snf \$${LIBLWJGL} \$${lwgjl64}" >> ${WRKDIR}/minecraft-client + echo " ${LN} -snf liblwjgl64.so \$${lwgjl}" >> ${WRKDIR}/minecraft-client + echo " fi" >> ${WRKDIR}/minecraft-client + echo "fi" >> ${WRKDIR}/minecraft-client + echo "exec java \$${JAVA_OPT} -jar ${DATADIR}/minecraft.jar" >> ${WRKDIR}/minecraft-client +.else echo "exec java -Xmx1024M -Xms1024M -jar ${DATADIR}/minecraft.jar" >> ${WRKDIR}/minecraft-client +.endif ${MKDIR} ${DATADIR} (${INSTALL_DATA} "${DISTDIR}/minecraft.jar" ${DATADIR}/) (${INSTALL_DATA} "${DISTDIR}/Grass.png" ${DATADIR}/) --- Makefile.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120501181234.B187C36CE4F1>