From loader@mail.freebsdmall.com  Tue May  1 18:12:34 2012
Return-Path: <loader@mail.freebsdmall.com>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D2925106564A
	for <FreeBSD-gnats-submit@freebsd.org>; Tue,  1 May 2012 18:12:34 +0000 (UTC)
	(envelope-from loader@mail.freebsdmall.com)
Received: from www.freebsdmall.com (www.freebsdmall.com [74.119.236.132])
	by mx1.freebsd.org (Postfix) with ESMTP id BE1948FC1F
	for <FreeBSD-gnats-submit@freebsd.org>; Tue,  1 May 2012 18:12:34 +0000 (UTC)
Received: by www.freebsdmall.com (Postfix, from userid 2136)
	id B187C36CE4F1; Tue,  1 May 2012 11:12:34 -0700 (PDT)
Message-Id: <20120501181234.B187C36CE4F1@www.freebsdmall.com>
Date: Tue,  1 May 2012 11:12:34 -0700 (PDT)
From: loader <loader@freebsdmall.com>
Reply-To: loader <loader@freebsdmall.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: [patch] games/minecraft-client: add a WITH_NATIVE_LIBS option 
X-Send-Pr-Version: 3.113
X-GNATS-Notify: freebsd@rakor-net.de

>Number:         167496
>Category:       ports
>Synopsis:       [patch] games/minecraft-client: add a WITH_NATIVE_LIBS option
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    crees
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue May 01 18:20:04 UTC 2012
>Closed-Date:    Sun Jun 03 17:09:31 UTC 2012
>Last-Modified:  Sun Jun  3 17:10:12 UTC 2012
>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:
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Tue May 1 18:20:13 UTC 2012 
State-Changed-Why:  
Awaiting maintainers feedback (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=167496 

From: Edwin Groothuis <edwin@FreeBSD.org>
To: freebsd@rakor-net.de
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/167496: [patch] games/minecraft-client: add a WITH_NATIVE_LIBS option
Date: Tue, 1 May 2012 18:20:11 UT

 Maintainer of games/minecraft-client,
 
 Please note that PR ports/167496 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/167496
 
 -- 
 Edwin Groothuis via the GNATS Auto Assign Tool
 edwin@FreeBSD.org
Responsible-Changed-From-To: freebsd-ports-bugs->crees 
Responsible-Changed-By: crees 
Responsible-Changed-When: Wed May 2 22:22:22 UTC 2012 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=167496 
State-Changed-From-To: feedback->open 
State-Changed-By: crees 
State-Changed-When: Sun May 20 13:45:55 UTC 2012 
State-Changed-Why:  
Timeout 

http://www.freebsd.org/cgi/query-pr.cgi?pr=167496 
State-Changed-From-To: open->closed 
State-Changed-By: crees 
State-Changed-When: Sun Jun 3 17:09:30 UTC 2012 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=167496 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/167496: commit references a PR
Date: Sun,  3 Jun 2012 17:09:28 +0000 (UTC)

 crees       2012-06-03 17:09:15 UTC
 
   FreeBSD ports repository
 
   Modified files:
     games/minecraft-client Makefile 
   Log:
   Add a WITH_NATIVE_LIBS option
   
   PR:             ports/167496
   Submitted by:   loader
   Approved by:    maintainer timeout (>4w, freebsd@rakor-net.de)
   
   Revision  Changes    Path
   1.2       +77 -7     ports/games/minecraft-client/Makefile
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
