Hi Ben, thanks very much for your so informative reply! On 13 Apr 2014, at 12:28 , Ben Cooksley wrote: > Not exactly, however the infrastructure we have for our Linux builds > should be nearly completely portable to OSX without too much trouble > (in theory at least - i've never done any compilation on OSX). That sounds good. I am willing to give it a try then. :-) Just for the record: Yesterday I've built KMyMoney via MacPorts from scratch (on a fresh OSX VM= machine =932.5GHz Mac Mini"). If I subtract the time I needed to set up the environment and some intermed= iate steps, I end up with 3h11m install time for kmymoney4-devel and all it= s dependencies (kdepimlibs, kde4-runtime, kdelibs4, virtuoso, nepomuk, mysq= l5, soprano and last but not at all least qt4-mac). This still sounds a lot= , but given the number of libraries and programs to install it is already V= ERY FAST compared to pre-buildbot times of 24hrs or so. Most of the time ha= d to be spent on 14 ports which cannot be distributed as binaries, for that= see [1]. Once we get rid of Nepomuk (with KDE 4.13) many of those dependen= cies will disappear according to Ian. That would speed things up tremendous= ly! But 3h on a VM isn=92t bad, considering! :-D > The actual requirements aren't written anywhere, but you might find > the documentation i've written for the CI system to be of some use. > See http://quickgit.kde.org/?p=3Dwebsites%2Fbuild-kde-org.git&a=3Dtree&h= =3D48c561bdfa467b0a09d6591491abc168b63197ce&hb=3Df2d024f155bed23a9e81b0175e= 5c7d752d6d8f14&f=3Ddocumentation I=92ll have a look at it. Thanks! > A basic run down of what the CI system needs however: > = > 1) Python 2.x, with json and lxml support (for the scripts which conduct = builds) Ports python 2.[4-7] and python 3.1.5 - 3.4.0 are available. Regarding json and lxml we have for 2.7 these ports: =97 py27-anyjson @0.3.3 (python, www) Wrap the best available JSON implement= ation in a common API py27-cjson @1.0.5 (python) Fast JSON encoder/decoder for Python py27-demjson @1.6 (python) encoder, decoder, and validator for JSON comp= liant with RFC 4627 py27-geojson @1.0.6 (python, gis) Python bindings and utilities for GeoJ= SON py27-simplejson @3.4.0 (python, www) Simple, fast, extensible JSON encod= er/decoder for Python py27-lxml @3.3.4 (python, devel) Powerful and Pythonic XML processing li= brary =97 > 2) Java (for the Jenkins node agent itself) =97 $ java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode) =97 > 3) RSync and SSH (for the transferral of completed builds between nodes) =97 $ port list rsync ssh rsync @3.0.9 net/rsync $ which ssh /usr/bin/ssh $ ssh -v OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 =97 > 4) Git, Subversion, Bazaar, wget and GNU Tar (to access source code) =97 $ port list git-core subversion bazaar wget gnutar git-core @1.9.2 devel/git-core subversion @1.8.8 devel/subversion bazaar @1.4.2 devel/bazaar wget @1.15 net/wget gnutar @1.27.1 archivers/gnutar =97 > 5) GNU Patch (for applying custom patches, used in certain builds) =97 $ patch -v patch 2.5.8 =97 > 6) A compiler, usable by CMake, QMake and autotools based build systems Well, in principle there is Apple=92s standard compiler: CLANG on the newer= versions of OSX, but you can configure MacPorts to use many compilers. =97 $ port list gcc* gcc42 @4.2.4 lang/gcc42 gcc43 @4.3.6 lang/gcc43 gcc44 @4.4.7 lang/gcc44 gcc45 @4.5.4 lang/gcc45 gcc46 @4.6.4 lang/gcc46 gcc47 @4.7.3 lang/gcc47 gcc48 @4.8.2 lang/gcc48 gcc49 @4.9-20140406 lang/gcc49 gcc_select @0.1 sysutils/gcc_select gccmakedep @1.0.2 x11/gccmakedep gccxml-devel @20130919 lang/gccxml-devel $ port list clang* clang-2.9 @2.9 lang/llvm-2.9 clang-3.0 @3.0 lang/llvm-3.0 clang-3.1 @3.1 lang/llvm-3.1 clang-3.2 @3.2 lang/llvm-3.2 clang-3.3 @3.3 lang/llvm-3.3 clang-3.4 @3.4 lang/llvm-3.4 clang-3.5 @3.5-r206116 lang/llvm-3.5 clang_select @0.1 sysutils/clang_select =97 > 8) GNU Make, Automake, Autoconf (for carrying out the build, and > configuring it in certain rare cases) =97 $ which make /usr/bin/make $ make -v GNU Make 3.81 $ port installed automake autoconf automake @1.14.1 devel/automake autoconf @2.69 devel/autoconf =97 > We'll need to make adjustments to ensure the system doesn't attempt to > launch Xvfb or a X11 Window Manager, which it currently will do when > executing tests. These should be fairly easy to do however. OK. > To build certain projects, the compiler will need to support C# and a > certain level of C++11 as well. The Mono bindings will not be > buildable if C# support is unavailable. Well, that should be built in on OSX, or not? > Under no circumstance should a CI node have Qt installed at the system > level in any form, as this is provided directly by the CI system > itself. That should be no problem. :-) That=92s all for now. Please note that the above program versions are those= which are currently or could be installed on my Mavericks system. Versions= for make, patch, ssh and java might/should differ for other versions of OS= X. So, I could install all the requirements listed by you, which would in fact= only be bazaar, gnutar and probably those python modules. Apart from that = all exists. The question would then be how to proceed from there. = I guess I=92d need a walk-through on how to set up the build environment pr= operly. Greets, Marko [1] http://mail.kde.org/pipermail/kde-mac/2014-April/000881.html >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscrib= e <<