summaryrefslogtreecommitdiffstats
path: root/admin/kde.py
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2012-06-09 14:41:53 -0500
committerTimothy Pearson <[email protected]>2012-06-09 14:41:53 -0500
commit8f11ba72a15eea0833f18636ef3cc7dd9ab679a4 (patch)
treea31e3a971a294528ae4473910ef07a3e74de61bd /admin/kde.py
parentbe3ca7060fd6eacc137c64c6ca6fd21fc91d0e80 (diff)
downloadkstreamripper-8f11ba72a15eea0833f18636ef3cc7dd9ab679a4.tar.gz
kstreamripper-8f11ba72a15eea0833f18636ef3cc7dd9ab679a4.zip
Update scons to handle TDE
This closes Bug 946
Diffstat (limited to 'admin/kde.py')
-rw-r--r--admin/kde.py130
1 files changed, 79 insertions, 51 deletions
diff --git a/admin/kde.py b/admin/kde.py
index 5958a27..190094b 100644
--- a/admin/kde.py
+++ b/admin/kde.py
@@ -40,27 +40,47 @@ def detect_kde(env):
tdelibs = env['ARGS'].get('tdelibs', None)
qtincludes = env['ARGS'].get('qtincludes', None)
qtlibs = env['ARGS'].get('qtlibs', None)
+ tdedir = env['ARGS'].get('tdedir', None)
- ## Detect the kde libraries
+ ## Detect the tde libraries
print "Checking for tde-config : ",
- kde_config = os.popen("which tde-config 2>/dev/null").read().strip()
+ str="which tde-config 2>/dev/null"
+ if tdedir: str="which %s 2>/dev/null" % (tdedir+'/bin/tde-config')
+ kde_config = os.popen(str).read().strip()
if len(kde_config):
- print GREEN + "tde-config was found" + NORMAL
+ print GREEN + 'tde-config was found as ' + kde_config
else:
- print RED + "tde-config was NOT found in your PATH"+ NORMAL
+ if tdedir: print RED + 'tde-config was NOT found in the folder given ' + tdedir
+ else: print RED + 'tde-config was NOT found in your PATH'
print "Make sure kde is installed properly"
print "(missing package tdebase-devel?)"
env.Exit(1)
- env['TDEDIR'] = os.popen('tde-config -prefix').read().strip()
-
- print "Checking for kde version : ",
- kde_version = os.popen("tde-config --version|grep KDE").read().strip().split()[1]
- if int(kde_version[0]) != 3 or int(kde_version[2]) < 2:
- print RED + kde_version
- print RED + "Your kde version can be too old" + NORMAL
- print RED + "Please make sure kde is at least 3.2" + NORMAL
+ if tdedir: env['TDEDIR']=tdedir
+ else: env['TDEDIR'] = os.popen(kde_config+' -prefix').read().strip()
+
+ print "Checking for tde version : ",
+ tde_version = os.popen(kde_config+" --version|grep TDE").read().strip().split()[1]
+ tde_major = tde_version.split('.')[0].lstrip('R')
+ tde_minor = tde_version.split('.')[1]
+ tde_patch = tde_version.split('.')[2]
+ try:
+ env['KDEm1']=int(tde_major)
+ except:
+ pass
+ try:
+ env['KDEm2']=int(tde_minor)
+ except:
+ pass
+ try:
+ env['KDEm3']=int(tde_patch)
+ except:
+ pass
+ if int(tde_major) != 14:
+ print RED + tde_version
+ print RED + "Your tde version might be too old" + NORMAL
+ print RED + "Please make sure TDE is at least R14.0" + NORMAL
else:
- print GREEN + kde_version + NORMAL
+ print GREEN + tde_version + NORMAL
## Detect the qt library
print "Checking for the qt library : ",
@@ -68,9 +88,13 @@ def detect_kde(env):
if qtdir:
print GREEN + "qt is in " + qtdir + NORMAL
else:
- libdir = os.popen('tde-config --expandvars --install lib').read().strip()
+ libdir = os.popen(kde_config + ' --expandvars --install lib').read().strip()
libtdeuiSO = libdir+'/'+getSOfromLA(libdir+'/libtdeui.la')
- m = re.search('(.*)/lib/libqt.*', os.popen('ldd '+libtdeuiSO+' | grep libqt').read().strip().split()[2])
+ try:
+ m = re.search('(.*)/lib/libqt.*', os.popen('ldd '+libtdeuiSO+' | grep libqt').read().strip().split()[2])
+ except:
+ m = re.search('(.*)/lib/libtqt.*', os.popen('ldd ' + libtdeuiSO + ' | grep libtqt').read().strip().split()[2])
+ pass
if m:
qtdir = m.group(1)
print YELLOW+"qt was found as " + m.group(1) + NORMAL
@@ -81,7 +105,7 @@ def detect_kde(env):
env['QTDIR'] = qtdir.strip()
## Find the necessary programs uic-tqt and moc
- print "Checking for uic-tqt : ",
+ print "Checking for uic-tqt : ",
uic = qtdir + "/bin/uic-tqt"
if os.path.isfile(uic):
print GREEN+"uic-tqt was found as "+uic+NORMAL
@@ -106,6 +130,9 @@ def detect_kde(env):
moc = os.popen("which moc 2>/dev/null").read().strip()
if len(moc):
print YELLOW+"moc was found as "+moc+NORMAL
+ elif os.path.isfile("/usr/share/tqt3/bin/moc"):
+ moc = "/usr/share/tqt3/bin/moc"
+ print YELLOW+"moc was found as "+moc+NORMAL
elif os.path.isfile("/usr/share/qt3/bin/moc"):
moc = "/usr/share/qt3/bin/moc"
print YELLOW+"moc was found as "+moc+NORMAL
@@ -116,7 +143,7 @@ def detect_kde(env):
## check for the qt and kde includes
print "Checking for the qt includes : ",
- if qtincludes and os.path.isfile(qtincludes + "/qlayout.h"):
+ if qtincludes and os.path.isfile(qtincludes + "/tqlayout.h"):
# The user told where to look for and it looks valid
print GREEN+"ok "+qtincludes+NORMAL
else:
@@ -124,10 +151,10 @@ def detect_kde(env):
# Automatic detection
print GREEN+"ok "+qtdir + "/include/ "+NORMAL
qtincludes = qtdir + "/include/"
- elif os.path.isfile("/usr/include/qt3/qlayout.h"):
+ elif os.path.isfile("/usr/include/tqt/tqlayout.h"):
# Debian probably
- print YELLOW+"the qt headers were found in /usr/include/qt3/ "+NORMAL
- qtincludes = "/usr/include/qt3"
+ print YELLOW+"the qt headers were found in /usr/include/tqt/ "+NORMAL
+ qtincludes = "/usr/include/tqt"
elif os.path.isfile("/usr/include/qt4/Qt/qglobal.h"):
# Debian probably
print YELLOW+"the qt headers were found in /usr/include/qt4/ "+NORMAL
@@ -136,8 +163,8 @@ def detect_kde(env):
print RED+"the qt headers were not found"+NORMAL
env.Exit(1)
- print "Checking for the kde includes : ",
- kdeprefix = os.popen("tde-config --prefix").read().strip()
+ print "Checking for the tde includes : ",
+ kdeprefix = os.popen(kde_config + " --prefix").read().strip()
if not kdeincludes:
kdeincludes = kdeprefix+"/include/"
if os.path.isfile(kdeincludes + "/klineedit.h"):
@@ -161,40 +188,40 @@ def detect_kde(env):
libdir = execprefix+"/lib"
subst_vars = lambda x: x.replace('${exec_prefix}',execprefix).replace('${datadir}',datadir).replace('${libdir}',libdir)
- env['KDEBIN'] = subst_vars(os.popen('tde-config --install exe').read().strip())
- env['KDEAPPS'] = subst_vars(os.popen('tde-config --install apps').read().strip())
- env['KDEDATA'] = subst_vars(os.popen('tde-config --install data').read().strip())
- env['KDEMODULE']= subst_vars(os.popen('tde-config --install module').read().strip())
- env['KDELOCALE']= subst_vars(os.popen('tde-config --install locale').read().strip())
- env['KDEDOC'] = subst_vars(os.popen('tde-config --install html').read().strip())
- env['KDEKCFG'] = subst_vars(os.popen('tde-config --install kcfg').read().strip())
- env['KDEXDG'] = subst_vars(os.popen('tde-config --install xdgdata-apps').read().strip())
- env['KDEMENU'] = subst_vars(os.popen('tde-config --install apps').read().strip())
- env['KDEMIME'] = subst_vars(os.popen('tde-config --install mime').read().strip())
- env['KDEICONS'] = subst_vars(os.popen('tde-config --install icon').read().strip())
- env['KDESERV'] = subst_vars(os.popen('tde-config --install services').read().strip())
+ env['KDEBIN'] = subst_vars(os.popen(kde_config + ' --install exe').read().strip())
+ env['KDEAPPS'] = subst_vars(os.popen(kde_config + ' --install apps').read().strip())
+ env['KDEDATA'] = subst_vars(os.popen(kde_config + ' --install data').read().strip())
+ env['KDEMODULE']= subst_vars(os.popen(kde_config + ' --install module').read().strip())
+ env['KDELOCALE']= subst_vars(os.popen(kde_config + ' --install locale').read().strip())
+ env['KDEDOC'] = subst_vars(os.popen(kde_config + ' --install html').read().strip())
+ env['KDEKCFG'] = subst_vars(os.popen(kde_config + ' --install kcfg').read().strip())
+ env['KDEXDG'] = subst_vars(os.popen(kde_config + ' --install xdgdata-apps').read().strip())
+ env['KDEMENU'] = subst_vars(os.popen(kde_config + ' --install apps').read().strip())
+ env['KDEMIME'] = subst_vars(os.popen(kde_config + ' --install mime').read().strip())
+ env['KDEICONS'] = subst_vars(os.popen(kde_config + ' --install icon').read().strip())
+ env['KDESERV'] = subst_vars(os.popen(kde_config + ' --install services').read().strip())
else:
# the user has given no prefix, install as a normal kde app
- env['PREFIX'] = os.popen('tde-config --prefix').read().strip()
- env['KDEBIN'] = os.popen('tde-config --expandvars --install exe').read().strip()
- env['KDEAPPS'] = os.popen('tde-config --expandvars --install apps').read().strip()
- env['KDEDATA'] = os.popen('tde-config --expandvars --install data').read().strip()
- env['KDEMODULE']= os.popen('tde-config --expandvars --install module').read().strip()
- env['KDELOCALE']= os.popen('tde-config --expandvars --install locale').read().strip()
- env['KDEDOC'] = os.popen('tde-config --expandvars --install html').read().strip()
- env['KDEKCFG'] = os.popen('tde-config --expandvars --install kcfg').read().strip()
- env['KDEXDG'] = os.popen('tde-config --expandvars --install xdgdata-apps').read().strip()
- env['KDEMENU'] = os.popen('tde-config --expandvars --install apps').read().strip()
- env['KDEMIME'] = os.popen('tde-config --expandvars --install mime').read().strip()
- env['KDEICONS'] = os.popen('tde-config --expandvars --install icon').read().strip()
- env['KDESERV'] = os.popen('tde-config --expandvars --install services').read().strip()
-
- env['QTPLUGINS']=os.popen('tde-config --expandvars --install qtplugins').read().strip()
+ env['PREFIX'] = os.popen(kde_config + ' --prefix').read().strip()
+ env['KDEBIN'] = os.popen(kde_config + ' --expandvars --install exe').read().strip()
+ env['KDEAPPS'] = os.popen(kde_config + ' --expandvars --install apps').read().strip()
+ env['KDEDATA'] = os.popen(kde_config + ' --expandvars --install data').read().strip()
+ env['KDEMODULE']= os.popen(kde_config + ' --expandvars --install module').read().strip()
+ env['KDELOCALE']= os.popen(kde_config + ' --expandvars --install locale').read().strip()
+ env['KDEDOC'] = os.popen(kde_config + ' --expandvars --install html').read().strip()
+ env['KDEKCFG'] = os.popen(kde_config + ' --expandvars --install kcfg').read().strip()
+ env['KDEXDG'] = os.popen(kde_config + ' --expandvars --install xdgdata-apps').read().strip()
+ env['KDEMENU'] = os.popen(kde_config + ' --expandvars --install apps').read().strip()
+ env['KDEMIME'] = os.popen(kde_config + ' --expandvars --install mime').read().strip()
+ env['KDEICONS'] = os.popen(kde_config + ' --expandvars --install icon').read().strip()
+ env['KDESERV'] = os.popen(kde_config + ' --expandvars --install services').read().strip()
+
+ env['QTPLUGINS']=os.popen(kde_config + ' --expandvars --install qtplugins').read().strip()
## kde libs and includes
env['KDEINCLUDEPATH']= kdeincludes
if not tdelibs:
- tdelibs = os.popen('tde-config --expandvars --install lib').read().strip()
+ tdelibs = os.popen(kde_config + ' --expandvars --install lib').read().strip()
env['KDELIBPATH']= tdelibs
## qt libs and includes
@@ -251,6 +278,7 @@ def generate(env):
"""+BOLD+"""* execprefix """+NORMAL+""": install path for binaries, ie: /usr/bin
"""+BOLD+"""* datadir """+NORMAL+""": install path for the data, ie: /usr/local/share
"""+BOLD+"""* libdir """+NORMAL+""": install path for the libs, ie: /usr/lib
+"""+BOLD+"""* tdedir """+NORMAL+""": path to TDE directory, ie: /opt/trinity
"""+BOLD+"""* kdeincludes"""+NORMAL+""": path to the kde includes (/usr/include/tde on debian, ...)
"""+BOLD+"""* qtincludes """+NORMAL+""": same punishment, for qt includes (/usr/include/qt on debian, ...)
"""+BOLD+"""* tdelibs """+NORMAL+""": path to the kde libs, for linking the programs
@@ -340,7 +368,7 @@ ie: """+BOLD+"""scons configure libdir=/usr/local/lib qtincludes=/usr/include/qt
act.append('cat '+target[1].path+'.tmp >> '+target[1].path)
act.append('rm -f '+target[1].path+'.tmp')
act.append('echo \'#include "' + target[2].name + '"\' >> '+target[1].path)
- act.append('$QT_MOC -o '+target[2].path+' '+target[0].path)
+ act.append('moc-tqt $QT_MOC -o '+target[2].path+' '+target[0].path)
return act
def uicEmitter(target, source, env):