[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: Running KDE apps on Apple OS X
From: mk-lists () email ! de
Date: 2014-04-13 11:45:42
Message-ID: B29CCC9E-AB50-423D-8727-654D73221BDD () email ! de
[Download RAW message or body]
Hi Ben,
thanks very much for your so informative reply!
On 13 Apr 2014, at 12:28 , Ben Cooksley <bcooksley@kde.org> 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 \
“2.5GHz Mac Mini"). If I subtract the time I needed to set up the environment and \
some intermediate steps, I end up with 3h11m install time for kmymoney4-devel and all \
its dependencies (kdepimlibs, kde4-runtime, kdelibs4, virtuoso, nepomuk, mysql5, \
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 VERY FAST compared to \
pre-buildbot times of 24hrs or so. Most of the time had 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 dependencies will disappear according to Ian. That would \
speed things up tremendously! But 3h on a VM isn’t 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=websites%2Fbuild-kde-org.git&a=tree&h=48c561bdfa467b0 \
> a09d6591491abc168b63197ce&hb=f2d024f155bed23a9e81b0175e5c7d752d6d8f14&f=documentation
>
I’ll 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:
—
py27-anyjson @0.3.3 (python, www) Wrap the best available JSON implementation 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 compliant with \
RFC 4627 py27-geojson @1.0.6 (python, gis) Python bindings and utilities for \
GeoJSON py27-simplejson @3.4.0 (python, www) Simple, fast, extensible JSON \
encoder/decoder for Python py27-lxml @3.3.4 (python, devel) Powerful and Pythonic \
XML processing library —
> 2) Java (for the Jenkins node agent itself)
—
$ 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)
—
> 3) RSync and SSH (for the transferral of completed builds between nodes)
—
$ 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
—
> 4) Git, Subversion, Bazaar, wget and GNU Tar (to access source code)
—
$ 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
—
> 5) GNU Patch (for applying custom patches, used in certain builds)
—
$ patch -v
patch 2.5.8
—
> 6) A compiler, usable by CMake, QMake and autotools based build systems
Well, in principle there is Apple’s standard compiler: CLANG on the newer versions of \
OSX, but you can configure MacPorts to use many compilers. —
$ 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
—
> 8) GNU Make, Automake, Autoconf (for carrying out the build, and
> configuring it in certain rare cases)
—
$ 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
—
> 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’s 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 OSX.
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’d need a walk-through on \
how to set up the build environment properly.
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 unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic