diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-06-09 14:41:53 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-06-09 14:41:53 -0500 |
commit | 8f11ba72a15eea0833f18636ef3cc7dd9ab679a4 (patch) | |
tree | a31e3a971a294528ae4473910ef07a3e74de61bd /admin | |
parent | be3ca7060fd6eacc137c64c6ca6fd21fc91d0e80 (diff) | |
download | kstreamripper-8f11ba72a15eea0833f18636ef3cc7dd9ab679a4.tar.gz kstreamripper-8f11ba72a15eea0833f18636ef3cc7dd9ab679a4.zip |
Update scons to handle TDE
This closes Bug 946
Diffstat (limited to 'admin')
-rw-r--r-- | admin/kde.py | 130 |
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): |