diff options
author | Chris White <chriswhite@gentoo.org> | 2005-11-30 10:05:52 +0000 |
---|---|---|
committer | Chris White <chriswhite@gentoo.org> | 2005-11-30 10:05:52 +0000 |
commit | 5f95b7d98985b70b623b8bc6b697dbff754c9a62 (patch) | |
tree | c80635c358c32240333cf58cf4daa64e75619ff9 /media-libs/panda3d | |
parent | *** empty log message *** (diff) | |
download | gentoo-2-5f95b7d98985b70b623b8bc6b697dbff754c9a62.tar.gz gentoo-2-5f95b7d98985b70b623b8bc6b697dbff754c9a62.tar.bz2 gentoo-2-5f95b7d98985b70b623b8bc6b697dbff754c9a62.zip |
*** empty log message ***
Diffstat (limited to 'media-libs/panda3d')
-rw-r--r-- | media-libs/panda3d/files/digest-panda3d-1.0.5 | 1 | ||||
-rw-r--r-- | media-libs/panda3d/files/panda3d-1.0.5-makepanda.patch | 170 | ||||
-rw-r--r-- | media-libs/panda3d/panda3d-1.0.5.ebuild | 116 |
3 files changed, 287 insertions, 0 deletions
diff --git a/media-libs/panda3d/files/digest-panda3d-1.0.5 b/media-libs/panda3d/files/digest-panda3d-1.0.5 new file mode 100644 index 000000000000..7f5ca01f2a71 --- /dev/null +++ b/media-libs/panda3d/files/digest-panda3d-1.0.5 @@ -0,0 +1 @@ +MD5 f647ea3409a558928536a375f4b0f01e panda3d-1.0.5.tar.gz 28996142 diff --git a/media-libs/panda3d/files/panda3d-1.0.5-makepanda.patch b/media-libs/panda3d/files/panda3d-1.0.5-makepanda.patch new file mode 100644 index 000000000000..9c01f178ba63 --- /dev/null +++ b/media-libs/panda3d/files/panda3d-1.0.5-makepanda.patch @@ -0,0 +1,170 @@ +--- makepanda/makepanda.py.old 2005-10-04 13:55:15.000000000 +0900 ++++ makepanda/makepanda.py 2005-10-04 14:07:34.000000000 +0900 +@@ -192,6 +192,7 @@ + if (sys.platform == "win32"): COMPILERS=["MSVC7"] + if (sys.platform == "linux2"): COMPILERS=["LINUXA"] + PREFIX="built" ++LIBDIR="lib" + COMPILER=COMPILERS[0] + OPTIMIZE="3" + INSTALLER=0 +@@ -473,6 +474,7 @@ + print " --help (print the help message you're reading now)" + print " --package-info (help info about the optional packages)" + print " --prefix X (install into prefix dir, default \"built\")" ++ print " --libdir X (install libs into libdir, default \"lib\")" + print " --compiler X (currently, compiler can only be MSVC7,LINUXA)" + print " --optimize X (optimization level can be 1,2,3,4)" + print " --thirdparty X (directory containing third-party software)" +@@ -500,10 +502,10 @@ + sys.exit(1) + + def parseopts(args): +- global PREFIX,COMPILER,OPTIMIZE,OMIT,THIRDPARTY,INSTALLER,GENMAN ++ global PREFIX,LIBDIR,COMPILER,OPTIMIZE,OMIT,THIRDPARTY,INSTALLER,GENMAN + global PPGAME,COPYEXTRAS,VERSION,COMPRESSOR,DIRECTXSDK,VERBOSE + longopts = [ +- "help","package-info","prefix=","compiler=","directx-sdk=","thirdparty=", ++ "help","package-info","prefix=","libdir=","compiler=","directx-sdk=","thirdparty=", + "optimize=","everything","nothing","installer","ppgame=","quiet","verbose", + "version=","lzma","no-python"] + anything = 0 +@@ -515,6 +517,7 @@ + if (option=="--help"): raise "usage" + elif (option=="--package-info"): raise "package-info" + elif (option=="--prefix"): PREFIX=value ++ elif (option=="--libdir"): LIBDIR=value + elif (option=="--compiler"): COMPILER=value + elif (option=="--directx-sdk"): DIRECTXSDK=value + elif (option=="--thirdparty"): THIRDPARTY=value +@@ -543,7 +546,8 @@ + except "package-info": packageInfo() + except: usage(0) + if (anything==0): usage(0) +- if (OPTIMIZE=="1"): OPTIMIZE=1 ++ if (OPTIMIZE=="0"): OPTIMIZE=0 ++ elif (OPTIMIZE=="1"): OPTIMIZE=1 + elif (OPTIMIZE=="2"): OPTIMIZE=2 + elif (OPTIMIZE=="3"): OPTIMIZE=3 + elif (OPTIMIZE=="4"): OPTIMIZE=4 +@@ -839,7 +843,7 @@ + ########################################################################################## + + if (sys.platform != "win32"): +- BUILTLIB = os.path.abspath(PREFIX+"/lib") ++ BUILTLIB = os.path.abspath(PREFIX+"/"+LIBDIR) + try: + LDPATH = [] + f = file("/etc/ld.so.conf","r") +@@ -849,7 +853,7 @@ + if (os.environ.has_key("LD_LIBRARY_PATH")): + LDPATH = LDPATH + os.environ["LD_LIBRARY_PATH"].split(":") + if (LDPATH.count(BUILTLIB)==0): +- WARNINGS.append("Caution: the "+PREFIX+"/lib directory is not in LD_LIBRARY_PATH") ++ WARNINGS.append("Caution: the "+PREFIX+"/"+LIBDIR+" directory is not in LD_LIBRARY_PATH") + WARNINGS.append("or /etc/ld.so.conf. You must add it before using panda.") + if (os.environ.has_key("LD_LIBRARY_PATH")): + os.environ["LD_LIBRARY_PATH"] = BUILTLIB + ":" + os.environ["LD_LIBRARY_PATH"] +@@ -874,6 +878,7 @@ + if (OMIT.count(x)==0): tkeep = tkeep + x + " " + else: tomit = tomit + x + " " + print "Makepanda: Prefix Directory:",PREFIX ++ print "Makepanda: Lib Directory:",PREFIX+"/"+LIBDIR + print "Makepanda: Compiler:",COMPILER + print "Makepanda: Optimize:",OPTIMIZE + print "Makepanda: Keep Pkg:",tkeep +@@ -905,6 +910,10 @@ + + MakeDirectory(PREFIX) + MakeDirectory(PREFIX+"/bin") ++if (sys.platform == "win32"): ++ MakeDirectory(PREFIX+"/lib") ++else: ++ MakeDirectory(PREFIX+"/"+LIBDIR) + MakeDirectory(PREFIX+"/lib") + MakeDirectory(PREFIX+"/etc") + MakeDirectory(PREFIX+"/plugins") +@@ -1260,17 +1269,26 @@ + if (older(wobj, dep)): + if VERBOSE >= 0: + checkIfNewDir(ipath[1]) +- if (src[-2:]==".c"): cmd = 'gcc -c -o ' + wobj +- else: cmd = 'g++ -ftemplate-depth-30 -c -o ' + wobj ++ if (src[-2:]==".c"): ++ if os.environ.has_key("CFLAGS"): ++ cmd = 'gcc ' + os.environ["CFLAGS"] + ' -c -o ' + wobj ++ else: ++ cmd = 'gcc -c -o ' + wobj ++ else: ++ if os.environ.has_key("CXXFLAGS"): ++ cmd = 'g++ ' + os.environ["CXXFLAGS"] + ' -c -o ' + wobj ++ else: ++ cmd = 'g++ -ftemplate-depth-30 -c -o ' + wobj + if (OMIT.count("PYTHON")==0): cmd = cmd + ' -I"' + PYTHONSDK + '"' + if (PkgSelected(opts,"VRPN")): cmd = cmd + ' -I' + THIRDPARTY + '/linux-libs-a/vrpn/include' + if (PkgSelected(opts,"FFTW")): cmd = cmd + ' -I' + THIRDPARTY + '/linux-libs-a/fftw/include' +- if (PkgSelected(opts,"FMOD")): cmd = cmd + ' -I' + THIRDPARTY + '/linux-libs-a/fmod/include' ++ if (PkgSelected(opts,"FMOD")): pass + if (PkgSelected(opts,"NVIDIACG")): cmd = cmd + ' -I' + THIRDPARTY + '/linux-libs-a/nvidiacg/include' +- if (PkgSelected(opts,"NSPR")): cmd = cmd + ' -I' + THIRDPARTY + '/linux-libs-a/nspr/include' ++ if (PkgSelected(opts,"NSPR")): cmd = cmd + ' -I/usr/include/nspr' + if (PkgSelected(opts,"FREETYPE")): cmd = cmd + ' -I/usr/include/freetype2' + for x in ipath: cmd = cmd + ' -I' + x + if (opts.count("WITHINPANDA")): cmd = cmd + ' -DWITHIN_PANDA' ++ if (OPTIMIZE==0): pass + if (OPTIMIZE==1): cmd = cmd + " -g" + if (OPTIMIZE==2): cmd = cmd + " -O1" + if (OPTIMIZE==3): cmd = cmd + " -O2" +@@ -1390,7 +1408,7 @@ + + if (COMPILER=="MSVC7"): + if (lib[-4:]==".ilb"): wlib = PREFIX+"/tmp/" + lib[:-4] + ".lib" +- else: wlib = PREFIX+"/lib/" + lib[:-4] + ".lib" ++ else: wlib = PREFIX+"/"+LIBDIR+"/" + lib[:-4] + ".lib" + wobj = xpaths(PREFIX+"/tmp/",obj,"") + ALLTARGETS.append(wlib) + if (older(wlib, wobj)): +@@ -1523,14 +1541,14 @@ + + if (COMPILER=="LINUXA"): + if (dll[-4:]==".exe"): wdll = PREFIX+"/bin/"+dll[:-4] +- else: wdll = PREFIX+"/lib/"+dll[:-4]+".so" ++ else: wdll = PREFIX+"/"+LIBDIR+"/"+dll[:-4]+".so" + ALLTARGETS.append(wdll) + wobj = [] + for x in obj: + suffix = x[-4:] + if (suffix==".obj"): wobj.append(PREFIX+"/tmp/"+x[:-4]+".o") + elif (suffix==".dll"): wobj.append(PREFIX+"/lib/"+x[:-4]+".so") +- elif (suffix==".lib"): wobj.append(PREFIX+"/lib/"+x[:-4]+".a") ++ elif (suffix==".lib"): wobj.append(PREFIX+"/"+LIBDIR+"/"+x[:-4]+".a") + elif (suffix==".ilb"): wobj.append(PREFIX+"/tmp/"+x[:-4]+".a") + else: sys.exit("unknown suffix in object list.") + if (older(wdll, wobj+xdep)): +@@ -1540,14 +1558,14 @@ + suffix = x[-4:] + if (suffix==".obj"): cmd = cmd + ' ' + PREFIX + '/tmp/' + x[:-4] + '.o' + elif (suffix==".dll"): cmd = cmd + ' -l' + x[3:-4] +- elif (suffix==".lib"): cmd = cmd + ' ' + PREFIX + '/lib/' + x[:-4] + '.a' ++ elif (suffix==".lib"): cmd = cmd + ' ' + PREFIX + '/'+LIBDIR+'/' + x[:-4] + '.a' + elif (suffix==".ilb"): cmd = cmd + ' ' + PREFIX + '/tmp/' + x[:-4] + '.a' +- if (PkgSelected(opts,"FMOD")): cmd = cmd + ' -L' + THIRDPARTY + '/linux-libs-a/fmod/lib -lfmod-3.74' ++ if (PkgSelected(opts,"FMOD")): cmd = cmd + ' -lfmod' + if (PkgSelected(opts,"NVIDIACG")): + cmd = cmd + ' -L' + THIRDPARTY + 'nvidiacg/lib ' + if (opts.count("CGGL")): cmd = cmd + " -lCgGL" + cmd = cmd + " -lCg" +- if (PkgSelected(opts,"NSPR")): cmd = cmd + ' -L' + THIRDPARTY + '/linux-libs-a/nspr/lib -lpandanspr4' ++ if (PkgSelected(opts,"NSPR")): cmd = cmd + ' -L/usr/' + LIBDIR + '/nspr -lnspr4' + if (PkgSelected(opts,"ZLIB")): cmd = cmd + " -lz" + if (PkgSelected(opts,"PNG")): cmd = cmd + " -lpng" + if (PkgSelected(opts,"JPEG")): cmd = cmd + " -ljpeg" +@@ -1918,7 +1936,7 @@ + CopyAllFiles(PREFIX+"/bin/",THIRDPARTY+"/win-libs-vc7/"+pkg.lower()+"/bin/") + if (COMPILER == "LINUXA"): + if (os.path.exists(THIRDPARTY+"/linux-libs-a/"+pkg.lower()+"/lib")): +- CopyAllFiles(PREFIX+"/lib/",THIRDPARTY+"/linux-libs-a/"+pkg.lower()+"/lib/") ++ CopyAllFiles(PREFIX+"/"+LIBDIR+"/",THIRDPARTY+"/linux-libs-a/"+pkg.lower()+"/"+LIBDIR+"/") + + if (sys.platform == "win32"): + CopyFile(PREFIX+'/bin/', 'thirdparty/win-python/python22.dll') diff --git a/media-libs/panda3d/panda3d-1.0.5.ebuild b/media-libs/panda3d/panda3d-1.0.5.ebuild new file mode 100644 index 000000000000..99e45f27fdad --- /dev/null +++ b/media-libs/panda3d/panda3d-1.0.5.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/panda3d/panda3d-1.0.5.ebuild,v 1.1 2005/11/30 10:04:09 chriswhite Exp $ + +inherit eutils python + +DESCRIPTION="A 3D framework in C++ with python bindings" +HOMEPAGE="http://panda3d.org" +SRC_URI="http://panda3d.org/download/${P}.tar.gz" + +LICENSE="Panda3D" +SLOT="0" +KEYWORDS="~x86" +IUSE="png jpeg tiff fmod nspr python ssl truetype doc zlib" + +DEPEND="doc? ( dev-python/epydoc ) + png? ( media-libs/libpng ) + jpeg? ( media-libs/jpeg ) + tiff? ( media-libs/tiff ) + nspr? ( >=dev-libs/nspr-4.4.1-r2 ) + fmod? ( media-libs/fmod ) + ssl? ( dev-libs/openssl ) + truetype? ( media-libs/freetype ) + zlib? ( sys-libs/zlib ) + python? (dev-lang/python)" + +use_no() +{ + local UWORD="$2" + if [ -z "${UWORD}" ]; then + UWORD="$1" + fi + + if useq $1 ; then + echo "--use-${UWORD}" + else + echo "--no-${UWORD}" + fi +} + +pkg_setup() { + ewarn "Please note that python bindings are now" + ewarn "set by the python USE flag to coordinate" + ewarn "with upstream." +} + +src_unpack() +{ + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-makepanda.patch +} + +src_compile() +{ + ./makepanda/makepanda.py \ + --compiler LINUXA \ + --prefix built \ + --libdir $(get_libdir) \ + $(use_no python) \ + $(use_no png) $(use_no jpeg) \ + $(use_no tiff) $(use_no fmod) \ + $(use_no ssl) $(use_no truetype freetype) \ + $(use_no zlib) $(use_no nspr) \ + || die "build failed" +} + +src_install() +{ + dodir /opt/panda3d + + doenvd ${FILESDIR}/50panda3d + sed -i -e "s:lib:$(get_libdir):g" \ + ${D}/etc/env.d/50panda3d \ + || die "libdir patching failed" + + if use doc; then + cp -R ${S}/samples ${S}/built + cd ${S}/built + epydoc --html direct + fi + + if use python ; then + # python installation + python_version + dodir /usr/$(get_libdir)/python${PYVER}/site-packages + cat <<- EOF > ${D}/usr/$(get_libdir)/python${PYVER}/site-packages/panda3d.pth + # This document sets up paths for python to access the + # panda3d modules + /opt/panda3d/built + /opt/panda3d/built/$(get_libdir) + EOF + fi + + cp -R ${S}/built/* ${D}/opt/panda3d + use python && touch ${D}/opt/panda3d/built/__init__.py +} + +pkg_postinst() +{ + einfo "Panda3d is installed in /opt/panda3d" + einfo + if use doc ; then + einfo "Documentation is avaliable in /opt/panda3d/html" + einfo "Samples are avalaible in /opt/panda3d/samples" + fi + einfo "For C++ compiling, include directory must be set:" + einfo "g++ -I/opt/panda3d/include [other flags]" + if use python ; then + einfo + einfo "ppython is depricated and panda3d modules are" + einfo "now installed as standard python modules." + fi + einfo + einfo "Tutorials avaliable at http://panda3d.org" +} |