From 34d0c6905eacd8a439f7bb25d36d6cb215748903 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Mon, 20 Apr 2009 01:58:34 +0200 Subject: [PATCH 1/3] SCons: now require either a custom 'gdl-lum' or GDL >= 2.27.1 --- SConstruct | 10 +++++++--- admin/scons/LumieraEnvironment.py | 10 ++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/SConstruct b/SConstruct index 194c2df7e..9707a7b16 100644 --- a/SConstruct +++ b/SConstruct @@ -263,8 +263,12 @@ def configurePlatform(env): if not conf.CheckPkgConfig('cairomm-1.0', 0.6): problems.append('Unable to configure Cairo--, exiting.') - if not conf.CheckPkgConfig('gdl-1.0', '0.6.1'): - problems.append('Unable to configure the GNOME DevTool Library.') + verGDL = '2.27.1' + if not conf.CheckPkgConfig('gdl-lum', verGDL, alias='gdl'): + print 'Custom package "gdl-lum" not found. Trying official GDL release >=%s...' % verGDL + if not conf.CheckPkgConfig('gdl-1.0', verGDL, alias='gdl'): + problems.append('GNOME Docking Library not found. We either need a very recent GDL ' + 'version (>=%s), or the custom package "gdl-lum".' % verGDL) if not conf.CheckPkgConfig('librsvg-2.0', '2.18.1'): problems.append('Need rsvg Library for rendering icons.') @@ -351,7 +355,7 @@ def defineBuildTargets(env, artifacts): # the Lumiera GTK GUI envGtk = env.Clone() - envGtk.mergeConf(['gtkmm-2.4','cairomm-1.0','gdl-1.0','xv','xext','sm']) + envGtk.mergeConf(['gtkmm-2.4','cairomm-1.0','gdl','xv','xext','sm']) envGtk.Append(CPPDEFINES='LUMIERA_PLUGIN', LIBS=core) objgui = srcSubtree(envGtk,'$SRCDIR/gui') diff --git a/admin/scons/LumieraEnvironment.py b/admin/scons/LumieraEnvironment.py index 56fd81a81..44b76ed07 100644 --- a/admin/scons/LumieraEnvironment.py +++ b/admin/scons/LumieraEnvironment.py @@ -63,7 +63,7 @@ class LumieraEnvironment(Environment): return self - def addLibInfo (self, libID, minVersion=0): + def addLibInfo (self, libID, minVersion=0, alias=None): """ use pkg-config to create an Environment describing the lib. Don't add this defs to the current Environment, rather store them in the libInfo Dictionary. @@ -73,8 +73,10 @@ class LumieraEnvironment(Environment): print "Problems configuring the Library %s (>= %s)" % (libID,minVersion) return False - self.libInfo[libID] = libInfo = LumieraEnvironment() + self.libInfo[libID] = libInfo = LumieraEnvironment() libInfo.ParseConfig ('pkg-config --cflags --libs '+ libID ) + if alias: + self.libInfo[alias] = libInfo return libInfo def Glob (self, pattern): @@ -107,9 +109,9 @@ class LumieraConfigContext(ConfigBase): def __init__(self, *args,**kw): ConfigBase.__init__(self,*args,**kw) - def CheckPkgConfig (self, libID, minVersion=0): + def CheckPkgConfig (self, libID, minVersion=0, alias=None): print "Checking for library configuration: %s " % libID # self.Message(self,"Checking for library configuration: %s " % libID) - return self.env.addLibInfo (libID, minVersion) + return self.env.addLibInfo (libID, minVersion, alias) From 41f98a7a2421ca3fc47962c7cad8e1c6bf837ada Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Mon, 20 Apr 2009 01:58:54 +0200 Subject: [PATCH 2/3] Update Library version info in the TiddlyWiki --- wiki/compatibility.html | 10 +++++----- wiki/index.html | 8 +++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/wiki/compatibility.html b/wiki/compatibility.html index 477edbca6..e44a6e671 100644 --- a/wiki/compatibility.html +++ b/wiki/compatibility.html @@ -747,7 +747,7 @@ config.macros.timeline.handler = function(place,macroName,params,wikifier,paramS } //}}} -
+
! Programming Languages
 * C
 ** a C99 compatible compiler, some GCC extensions are used, most are optional.
@@ -785,19 +785,19 @@ config.macros.timeline.handler = function(place,macroName,params,wikifier,paramS
 * for the GUI: gtkmm-2.4 gdl-1.0 libglibmm-2.4 cairomm-1.0 xv
 ** libgtkmm-2.4-dev (>=2.8)
 ** libcairomm-1.0-dev (>=0.6.0)
-** libgdl-1-dev (>=0.6.1)
+** libgdl-lum-dev or libgdl-1-dev (>=2.27.1)
 *** libglade2-dev (>=2.6)
-*** libbonoboui2-dev (>=2.14.0)
 *** libxml2-dev (>=2.6)
 ** libglibmm-2.4-dev (>=2.16), requiring glib2.0 (>=2.16) and gthread-2.0 (>=2.12.4)
 ** libxv-dev ~~(1.0.2 is known to work)~~
 * for rendering the icons: librsvg-2.0 
 ** librsvg2-dev (>= 2.18)
-//usually, newer versions are OK//
-
 
 //usually, newer versions are OK//
 
+! Special Library requirements
+We use the GNOME Docking Library (GDL) within the Lumiera GTK GUI. As we actively participate in GDL development, we depend on a much more recent version, than most distos provide. We maintain a custom debian package (and source tree of GDL) which builds a {{{libgdl-lum.so}}}, in order to avoid side effects on other software. You may grab the tree including the Debian source package structure from [[our git|http://git.lumiera.org/gitweb?p=gdl-package;a=shortlog;h=refs/heads/debLumiera]] and create a binary Debian (or Ubuntu) package. For non-Debian systems, you may use the same build tree just in the standard way (configure, make, make install) to install into {{{/usr/local/lib/libgdl-lum.so}}}. Alternatively you may of course always just use a recent snapshot of GDL and build and install it as usual — but doing so may cause other software on your system to use this bleeding edge version of GDL too.
+
 
diff --git a/wiki/index.html b/wiki/index.html index 3a9c8b107..749a34007 100644 --- a/wiki/index.html +++ b/wiki/index.html @@ -780,7 +780,7 @@ config.macros.timeline.handler = function(place,macroName,params,wikifier,paramS } //}}}
-
+
for __Building__
 * gcc (4.1), glibc6 (2.3), libstdc++6 (4.1)
 * [[build system|BuildSystem]] dependencies: SCons (0.96.90), Python (2.4), pkg-config
@@ -797,9 +797,8 @@ config.macros.timeline.handler = function(place,macroName,params,wikifier,paramS
 * for the GUI: gtkmm-2.4 gdl-1.0 libglibmm-2.4 cairomm-1.0 xv
 ** libgtkmm-2.4-dev (>=2.8)
 ** libcairomm-1.0-dev (>=0.6.0)
-** libgdl-1-dev (>=0.6.1)
+** libgdl-lum-dev or libgdl-1-dev (>=2.27.1)
 *** libglade2-dev (>=2.6)
-*** libbonoboui2-dev (>=2.14.0)
 *** libxml2-dev (>=2.6)
 ** libglibmm-2.4-dev (>=2.16), requiring glib2.0 (>=2.16) and gthread-2.0 (>=2.12.4)
 ** libxv-dev (>=1.0.2)
@@ -809,6 +808,9 @@ config.macros.timeline.handler = function(place,macroName,params,wikifier,paramS
 
 boost 1.35 works too.
 
+We use the GNOME Docking Library (GDL) within the Lumiera GTK GUI. As we actively participate in GDL development, we depend on a much more recent version, than most distos provide. We maintain a custom debian package (and source tree of GDL) which builds a {{{libgdl-lum.so}}}, in order to avoid side effects on other software. You may grab the tree including the Debian source package structure from [[our git|http://git.lumiera.org/gitweb?p=gdl-package;a=shortlog;h=refs/heads/debLumiera]] and create a binary Debian (or Ubuntu) package. For non-Debian systems, you may use the same build tree just in the standard way (configure, make, make install) to install into {{{/usr/local/lib/libgdl-lum.so}}}. Alternatively you may of course always just use a recent snapshot of GDL and build and install it as usual — but doing so may cause other software on your system to use this bleeding edge version of GDL too.
+
+
 for __Running__
From 730d2c02332ecdbbc91efc415e079b121966669d Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Mon, 20 Apr 2009 03:05:28 +0200 Subject: [PATCH 3/3] Fix: we should include gdl headers in accordance to pkg-config The pkg-config of GDL advises to include the GDL subdir, which in turn contains a directory "gdl" with the headers. This is fine, because it makes this name switch work painless. Thus, please just #include --- src/gui/panels/panel.cpp | 2 +- src/gui/panels/panel.hpp | 2 +- src/gui/workspace/panel-manager.hpp | 2 +- src/gui/workspace/workspace-window.cpp | 10 +++++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/gui/panels/panel.cpp b/src/gui/panels/panel.cpp index b088e773f..4d782d619 100644 --- a/src/gui/panels/panel.cpp +++ b/src/gui/panels/panel.cpp @@ -24,7 +24,7 @@ #include "../gtk-lumiera.hpp" #include "../workspace/panel-manager.hpp" #include "../workspace/workspace-window.hpp" -#include +#include using namespace Gtk; diff --git a/src/gui/panels/panel.hpp b/src/gui/panels/panel.hpp index 6234c2a13..a46233169 100644 --- a/src/gui/panels/panel.hpp +++ b/src/gui/panels/panel.hpp @@ -28,7 +28,7 @@ #define PANEL_HPP #include "../gtk-lumiera.hpp" -#include +#include #include "../widgets/panel-bar.hpp" diff --git a/src/gui/workspace/panel-manager.hpp b/src/gui/workspace/panel-manager.hpp index 181997080..012826184 100644 --- a/src/gui/workspace/panel-manager.hpp +++ b/src/gui/workspace/panel-manager.hpp @@ -28,7 +28,7 @@ #ifndef PANEL_MANAGER_HPP #define PANEL_MANAGER_HPP -#include +#include #include #include "../panels/panel.hpp" diff --git a/src/gui/workspace/workspace-window.cpp b/src/gui/workspace/workspace-window.cpp index bd5c08980..12d6506bc 100644 --- a/src/gui/workspace/workspace-window.cpp +++ b/src/gui/workspace/workspace-window.cpp @@ -26,11 +26,11 @@ # include #endif -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include "../gtk-lumiera.hpp" #include "workspace-window.hpp"