54 | | C) Install ports for bash use: |
55 | | {{{ |
56 | | $ sudo port install bash bash-completion |
57 | | }}} |
58 | | |
59 | | D) Set up [https://projects.kde.org/projects/playground/sdk/macports-kde/repository/revisions/master/show/contrib/user-setup bash environment for MacPorts use] regarding search paths (PATH, MANPATH) |
60 | | |
61 | | E) Install Xcode from AppStore (and agree actively to the developer license agreement) |
62 | | |
63 | | F) Install developer command line tools and install some of MacPorts' ports needed for later |
64 | | {{{ |
65 | | $ xcode-select --install |
66 | | $ sudo port install py27-lxml bazaar mercurial wget automake autoconf |
67 | | }}} |
68 | | Installing bazaar brings the also needed port gnutar into the system! |
69 | | |
70 | | G) Since some tools are already installed on OSX due to Xcode (like git, svn, ssh, rsync, make, clang etc.) they don't need to be installed via MacPorts for now |
71 | | |
72 | | H) Create some folders, clone and update KDE's CI system (assuming a user "kdeci" with its home directory "/Users/kdeci"): |
73 | | {{{ |
74 | | $ cd |
75 | | $ mkdir -p WC/KDECI-build; |
76 | | $ cd WC |
77 | | $ git clone git://anongit.kde.org/websites/build-kde-org |
78 | | $ cd build-kde-org |
79 | | $ git checkout production |
80 | | $ ./update-setup.sh # Ignore 404 occurring due to error cloning ECMA262 by hg |
81 | | }}} |
82 | | The update shell script created a folder {{{~/scripts}}} in which subsequent commands will have to be executed. |
83 | | |
84 | | I) Prepare environment for Qt5 build (set correct path to kde install directory in config/build/darwin-mavericks.cfg): |
85 | | {{{ |
86 | | $ sudo port install dbus libmng libpng mysql55 pkgconfig sqlite2 tiff |
87 | | $ sudo port uninstall cmake # Remove MacPorts' cmake (which came into the system as build-dependency for mysql55) |
88 | | $ cd ~/scripts |
89 | | $ cat config/build/darwin-mavericks.cfg |
90 | | [DEFAULT] |
91 | | scriptsLocation=/Users/kdeci/scripts |
92 | | opSys=darwin |
93 | | architecture=mavericks |
94 | | compiler=clang |
95 | | |
96 | | [General] |
97 | | installPrefix=/opt/kde/install/%(opSys)s/%(architecture)s/%(compiler)s/ |
98 | | $ python2.7 tools/prepare-environment.py --project qt5 --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-build/qt5 |
99 | | ... |
100 | | $ |
101 | | }}} |
102 | | |
103 | | J) Set up build environment: |
104 | | {{{ |
105 | | $ cd ~/scripts; cat config/build/qt5/darwin-mavericks.cfg |
106 | | [Build] |
107 | | configureCommand=%(configureExecutable)s -release -system-zlib -system-libpng -system-libjpeg -system-sqlite -dbus -plugin-sql-mysql -nomake examples -confirm-license -opensource -prefix {instPrefix} -no-framework -v -I/opt/local/include -L/opt/local/lib |
108 | | }}} |
109 | | Consider here the use of options "{{{-debug -separate-debug-info}}}" instead of "{{{-release}}}". |
110 | | |
111 | | K) Include MySQL's binary path into PATH (assuming /opt/local as MacPort's prefix): |
112 | | {{{ |
113 | | export PATH=/opt/local/lib/mysql55/bin:$PATH |
114 | | }}} |
115 | | |
116 | | L) Set up SSH for rsync access to build host, then start building Qt5: |
117 | | {{{ |
118 | | $ cat ~/.ssh/config |
119 | | Host build.kde.org |
120 | | Port 2022 |
121 | | $ ssh-keygen -C YOUR@EMAIL.ADDRESS # <-- send your public SSH key to Ben Cooksley in order to get access to the build server |
122 | | $ python2.7 tools/perform-build.py --project qt5 --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-build/qt5 |
123 | | ... |
124 | | }}} |
125 | | |
126 | | M) Proceed with installation of cmake (needs manual checkout of sources): |
127 | | {{{ |
128 | | $ python2.7 tools/prepare-environment.py --project cmake --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-build/cmake |
129 | | ... |
130 | | $ git clone git://cmake.org/cmake.git ~/WC/KDECI-build/cmake |
131 | | $ python2.7 tools/perform-build.py --project cmake --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-build/cmake |
132 | | ... |
133 | | }}} |
134 | | |
135 | | N) Installation of KDE frameworks, starting with kauth: |
136 | | |
137 | | N.1) Framework kauth: |
138 | | {{{ |
139 | | $ python2.7 tools/prepare-environment.py --project kauth --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-build/kauth |
140 | | ... |
141 | | $ python2.7 tools/perform-build.py --project kauth --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-build/kauth |
142 | | ... |
143 | | }}} |
144 | | |
145 | | N.2) Framework polkit-qt-1 (still fails due to inability to find package Polkit): |
146 | | {{{ |
147 | | $ python2.7 tools/prepare-environment.py --project polkit-qt-1 --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-build/polkit-qt-1 |
148 | | ... |
149 | | $ python2.7 tools/perform-build.py --project polkit-qt-1 --branchGroup kf5-qt5 --platform darwin-mavericks --sources ~/WC/KDECI-build/polkit-qt-1 |
150 | | ... |
151 | | }}} |