Hi I add cmake support for dbus-c++ in these days. It can now use original git source and build binary/library without autotools.
Would you like to review the patches or give me some advice/suggestion? sincerely, Mat. On Thu, May 20, 2010 at 12:53 AM, Mat <[email protected]> wrote: > On Tue, May 18, 2010 at 4:00 PM, Ralf Habacker <[email protected]> > wrote: >> Mat schrieb: >>> Hi All, >>> I use dbus-c++ library in my programs and found that it's great for >>> c++ based projects. >>> >>> I tried to port dbus-c++ to win32, and have some progress these days. >>> The libdbusc++ can now work on my winxp :-) >>> ( for some simple examples, not yet try some real program, like >>> inkboard,...etc ) >>> >>> Patches are as attachment: >>> dbus-c++-src-commit.patch is for import into emerge dir. >>> >> +++ portage/win32libs-sources/dbus-cpp-src/dbus-cpp-src-0.5.0.py >> + self.targets[ver] = >> 'http://people.debian.org.tw/~mat/kde-windows/libdbus-c++-%s.tar.gz' % ver >> >> Is this source the same as from >> https://sourceforge.net/projects/dbus-cplusplus/ ? > > Yes. I just updated it from dbus-cplusplus git. It's the same source > to dbus-cpluscplus > >> >> Because this package is mingw only it should print a related hint and >> break on msvc > > Good, I just added it. > >> >> +++ portage/testing/pthreads-win32/pthreads-win32-2.7.0.py >> added to emerge >> >> +++ portage/testing/pkg-config/pkg-config-0.23-3.py >> added fixes to emerge >> >> +++ portage/testing/glib/glib-2.24.0-2.py >> added fixes to emerge >> >>> dbus-1.pc is for c:\kderoot\lib\pkgconfig\ >>> >> this should also be in the patch > Where do you suggestion to attach the patch? ( dbus-src/ pkg-config/ > dbus-cpp-src ) > >>> works_for_win32.patch is a patch for dbus-c++-src[1] source code >>> >> is this patch included in the above mentioned link ? It should not >> >> If patches are not in the archive file it should be added to def >> setTargets( self ): by >> >> self.patchToApply[v] = ( 'xxxx.patch', <number of stripped >> leading components from file names> ) >> >> where v is the build target. > > Good, I have updated to use this method in new file. Thanks for your guidance > >> >> >> >> ++ bin/utils.py (working copy) >> @@ -913,7 +913,7 @@ >> >> def applyPatch(sourceDir, file, patchLevel='0'): >> """apply single patch""" >> - cmd = "patch -d %s -p%s < %s" % ( sourceDir, patchLevel, file ) >> + cmd = "patch -d %s -p%s --binary < %s" % ( sourceDir, patchLevel, >> file ) >> >> for what is this good ? > > Ah, sorry for forget to drop the dirty hack. Please ignore it. > >> >>> Could you help to review these works and give me some advice to push >>> the works go furthur? >>> >> I suggest to push the patches to the dbus-c++ project directly and to >> use a git source from the original because otherwise there is ongoing >> maintenance of the portage package required. > > Great. > I found that kde-windows's emerge provide git source packing methods, > it's quite convenient. Thank you! > > > Now, I encountered some problem. > For dbus-c++ is autotools based source, so it need automake, > autoconf,... programs to gerenerate/update the Makefiles and > "configure" scripts, which blockes the packaging process. > > I tried to add autotools into emerge ( in one of attachments ), and > try to compile it. However it does not work. > > Do you have any suggestion about this situation, or would you like to > give some advice or direction how to solve this problem? > > Finally, thank you again for your review and advice :-) > > sincerely, Mat. > >> >> Regards >> Ralf >> >> >> >> _______________________________________________ >> Kde-windows mailing list >> [email protected] >> https://mail.kde.org/mailman/listinfo/kde-windows >> >
import info
import os
class subinfo(info.infoclass):
def setTargets( self ):
self.svnTargets['gitHEAD'] = 'git://gitorious.org/dbus-cplusplus/mainline.git'
self.patchToApply['gitHEAD'] = ( 'works_for_win32.patch', 1 )
self.targetConfigurePath['gitHEAD'] = 'cmake'
self.svnTargets['gitFOLLOW'] = 'git://gitorious.org/~matlinuxer2/dbus-cplusplus/matlinuxer2s-mainline.git'
self.targetConfigurePath['gitFOLLOW'] = 'cmake'
self.defaultTarget = 'gitHEAD'
#self.defaultTarget = 'gitFOLLOW'
def setDependencies( self ):
self.hardDependencies['virtual/base'] = 'default'
self.hardDependencies['dev-util/msys'] = 'default'
self.hardDependencies['testing/pthreads-win32'] = 'default'
self.hardDependencies['win32libs-bin/dbus'] = 'default'
self.hardDependencies['win32libs-bin/expat'] = 'default'
from Package.CMakePackageBase import *
class Package(CMakePackageBase):
def __init__( self, **args ):
self.subinfo = subinfo()
CMakePackageBase.__init__( self )
self.subinfo.options.package.packageName = 'dbus-c++'
self.subinfo.options.make.slnBaseName = 'dbus-c++'
def unpack(self):
if not CMakePackageBase.unpack(self):
return False
# Check whether compiler is mingw or not...
if self.compiler() != "mingw" and self.compiler() != "mingw4":
utils.die("This package is currently only compiled with mingw.")
return True
if __name__ == '__main__':
Package().execute()
works_for_win32.patch
Description: Binary data
_______________________________________________ Kde-windows mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-windows
