mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
hopefully put the lib64 issues to bed for now
This commit is contained in:
parent
916f5ff2f7
commit
e013c6f073
@ -94,8 +94,25 @@ def WriteKeysFile(fname, info):
|
|||||||
print >>fhandle
|
print >>fhandle
|
||||||
fhandle.close()
|
fhandle.close()
|
||||||
|
|
||||||
|
def GetLibDir():
|
||||||
|
# This one's a bit tricky. Some systems require us to install
|
||||||
|
# 64-bits libraries into /usr/lib64, some into /usr/lib.
|
||||||
|
# Debian forbids installing to lib64 nowadays, and the only distros
|
||||||
|
# I know of that use lib64 are all RPM-based. So, the 'solution'
|
||||||
|
# seems to be to use the rpm command to give us the libdir for now.
|
||||||
|
|
||||||
|
handle = os.popen("rpm -E '%_lib'")
|
||||||
|
result = handle.read().strip()
|
||||||
|
handle.close()
|
||||||
|
if len(result) > 0:
|
||||||
|
assert result == "lib64" or result == "lib"
|
||||||
|
return result
|
||||||
|
else:
|
||||||
|
return "lib"
|
||||||
|
|
||||||
def InstallPanda(destdir="", prefix="/usr", outputdir="built"):
|
def InstallPanda(destdir="", prefix="/usr", outputdir="built"):
|
||||||
if (not prefix.startswith("/")): prefix = "/" + prefix
|
if (not prefix.startswith("/")): prefix = "/" + prefix
|
||||||
|
libdir = prefix + "/" + GetLibDir()
|
||||||
PPATH = get_python_lib(1)
|
PPATH = get_python_lib(1)
|
||||||
if os.path.islink(sys.executable):
|
if os.path.islink(sys.executable):
|
||||||
PEXEC = os.path.join(os.path.dirname(sys.executable), os.readlink(sys.executable))
|
PEXEC = os.path.join(os.path.dirname(sys.executable), os.readlink(sys.executable))
|
||||||
@ -109,7 +126,7 @@ def InstallPanda(destdir="", prefix="/usr", outputdir="built"):
|
|||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/mime/packages")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/mime/packages")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/application-registry")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/application-registry")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/applications")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/applications")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/lib/panda3d")
|
oscmd("mkdir -m 0755 -p "+destdir+libdir+"/panda3d")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+PPATH)
|
oscmd("mkdir -m 0755 -p "+destdir+PPATH)
|
||||||
if (sys.platform.startswith("freebsd")):
|
if (sys.platform.startswith("freebsd")):
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/etc")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/etc")
|
||||||
@ -142,18 +159,18 @@ def InstallPanda(destdir="", prefix="/usr", outputdir="built"):
|
|||||||
oscmd("cp doc/LICENSE "+destdir+prefix+"/include/panda3d/LICENSE")
|
oscmd("cp doc/LICENSE "+destdir+prefix+"/include/panda3d/LICENSE")
|
||||||
oscmd("cp doc/ReleaseNotes "+destdir+prefix+"/share/panda3d/ReleaseNotes")
|
oscmd("cp doc/ReleaseNotes "+destdir+prefix+"/share/panda3d/ReleaseNotes")
|
||||||
oscmd("echo '"+prefix+"/share/panda3d' > "+destdir+PPATH+"/panda3d.pth")
|
oscmd("echo '"+prefix+"/share/panda3d' > "+destdir+PPATH+"/panda3d.pth")
|
||||||
oscmd("echo '"+prefix+"/lib/panda3d'>> "+destdir+PPATH+"/panda3d.pth")
|
oscmd("echo '"+libdir+"/panda3d'>> "+destdir+PPATH+"/panda3d.pth")
|
||||||
if (sys.platform.startswith("freebsd")):
|
if (sys.platform.startswith("freebsd")):
|
||||||
oscmd("echo '"+prefix+"/lib/panda3d'> "+destdir+"/usr/local/libdata/ldconfig/panda3d")
|
oscmd("echo '"+libdir+"/panda3d'> "+destdir+"/usr/local/libdata/ldconfig/panda3d")
|
||||||
else:
|
else:
|
||||||
oscmd("echo '"+prefix+"/lib/panda3d'> "+destdir+"/etc/ld.so.conf.d/panda3d.conf")
|
oscmd("echo '"+libdir+"/panda3d'> "+destdir+"/etc/ld.so.conf.d/panda3d.conf")
|
||||||
oscmd("chmod +x "+destdir+"/etc/ld.so.conf.d/panda3d.conf")
|
oscmd("chmod +x "+destdir+"/etc/ld.so.conf.d/panda3d.conf")
|
||||||
oscmd("ln -s "+PEXEC+" "+destdir+prefix+"/bin/ppython")
|
oscmd("ln -s "+PEXEC+" "+destdir+prefix+"/bin/ppython")
|
||||||
oscmd("cp "+outputdir+"/bin/* "+destdir+prefix+"/bin/")
|
oscmd("cp "+outputdir+"/bin/* "+destdir+prefix+"/bin/")
|
||||||
for base in os.listdir(outputdir+"/lib"):
|
for base in os.listdir(outputdir+"/lib"):
|
||||||
if (not base.endswith(".a")):
|
if (not base.endswith(".a")):
|
||||||
# We really need to specify -R in order not to follow symlinks on non-GNU
|
# We really need to specify -R in order not to follow symlinks on non-GNU
|
||||||
oscmd("cp -R -P "+outputdir+"/lib/"+base+" "+destdir+prefix+"/lib/panda3d/"+base)
|
oscmd("cp -R -P "+outputdir+"/lib/"+base+" "+destdir+libdir+"/panda3d/"+base)
|
||||||
# rpmlint doesn't like it if we compile pyc.
|
# rpmlint doesn't like it if we compile pyc.
|
||||||
#for base in os.listdir(destdir+prefix+"/share/panda3d/direct"):
|
#for base in os.listdir(destdir+prefix+"/share/panda3d/direct"):
|
||||||
# if ((base != "extensions") and (base != "extensions_native")):
|
# if ((base != "extensions") and (base != "extensions_native")):
|
||||||
@ -173,26 +190,27 @@ def InstallPanda(destdir="", prefix="/usr", outputdir="built"):
|
|||||||
|
|
||||||
def InstallRuntime(destdir="", prefix="/usr", outputdir="built"):
|
def InstallRuntime(destdir="", prefix="/usr", outputdir="built"):
|
||||||
if (not prefix.startswith("/")): prefix = "/" + prefix
|
if (not prefix.startswith("/")): prefix = "/" + prefix
|
||||||
|
libdir = prefix + "/" + GetLibDir()
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/bin")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/bin")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/mime-info")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/mime-info")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/mime/packages")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/mime/packages")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/application-registry")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/application-registry")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/applications")
|
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/share/applications")
|
||||||
if (os.path.exists(outputdir+"/plugins/nppanda3d.so")):
|
if (os.path.exists(outputdir+"/plugins/nppanda3d.so")):
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/lib")
|
oscmd("mkdir -m 0755 -p "+destdir+libdir)
|
||||||
oscmd("cp "+outputdir+"/plugins/nppanda3d.so "+destdir+prefix+"/lib/nppanda3d.so")
|
oscmd("cp "+outputdir+"/plugins/nppanda3d.so "+destdir+libdir+"/nppanda3d.so")
|
||||||
if sys.platform.startswith("freebsd"):
|
if sys.platform.startswith("freebsd"):
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/lib/browser_plugins/symlinks/gecko19")
|
oscmd("mkdir -m 0755 -p "+destdir+libdir+"/browser_plugins/symlinks/gecko19")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/lib/libxul/plugins")
|
oscmd("mkdir -m 0755 -p "+destdir+libdir+"/libxul/plugins")
|
||||||
oscmd("ln -s "+prefix+"/lib/nppanda3d.so "+destdir+prefix+"/lib/browser_plugins/symlinks/gecko19/nppanda3d.so")
|
oscmd("ln -s "+libdir+"/nppanda3d.so "+destdir+libdir+"/browser_plugins/symlinks/gecko19/nppanda3d.so")
|
||||||
oscmd("ln -s "+prefix+"/lib/nppanda3d.so "+destdir+prefix+"/lib/libxul/plugins/nppanda3d.so")
|
oscmd("ln -s "+libdir+"/nppanda3d.so "+destdir+libdir+"/libxul/plugins/nppanda3d.so")
|
||||||
else:
|
else:
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/lib/mozilla/plugins")
|
oscmd("mkdir -m 0755 -p "+destdir+libdir+"/mozilla/plugins")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/lib/mozilla-firefox/plugins")
|
oscmd("mkdir -m 0755 -p "+destdir+libdir+"/mozilla-firefox/plugins")
|
||||||
oscmd("mkdir -m 0755 -p "+destdir+prefix+"/lib/xulrunner-addons/plugins")
|
oscmd("mkdir -m 0755 -p "+destdir+libdir+"/xulrunner-addons/plugins")
|
||||||
oscmd("ln -s "+prefix+"/lib/nppanda3d.so "+destdir+prefix+"/lib/mozilla/plugins/nppanda3d.so")
|
oscmd("ln -s "+libdir+"/nppanda3d.so "+destdir+libdir+"/mozilla/plugins/nppanda3d.so")
|
||||||
oscmd("ln -s "+prefix+"/lib/nppanda3d.so "+destdir+prefix+"/lib/mozilla-firefox/plugins/nppanda3d.so")
|
oscmd("ln -s "+libdir+"/nppanda3d.so "+destdir+libdir+"/mozilla-firefox/plugins/nppanda3d.so")
|
||||||
oscmd("ln -s "+prefix+"/lib/nppanda3d.so "+destdir+prefix+"/lib/xulrunner-addons/plugins/nppanda3d.so")
|
oscmd("ln -s "+libdir+"/nppanda3d.so "+destdir+libdir+"/xulrunner-addons/plugins/nppanda3d.so")
|
||||||
WriteMimeFile(destdir+prefix+"/share/mime-info/panda3d-runtime.mime", MIME_INFO_PLUGIN)
|
WriteMimeFile(destdir+prefix+"/share/mime-info/panda3d-runtime.mime", MIME_INFO_PLUGIN)
|
||||||
WriteKeysFile(destdir+prefix+"/share/mime-info/panda3d-runtime.keys", MIME_INFO_PLUGIN)
|
WriteKeysFile(destdir+prefix+"/share/mime-info/panda3d-runtime.keys", MIME_INFO_PLUGIN)
|
||||||
WriteMimeXMLFile(destdir+prefix+"/share/mime/packages/panda3d-runtime.xml", MIME_INFO_PLUGIN)
|
WriteMimeXMLFile(destdir+prefix+"/share/mime/packages/panda3d-runtime.xml", MIME_INFO_PLUGIN)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user