|
| 1 | +--- |
| 2 | +name: "osx-depends" |
| 3 | +suites: |
| 4 | +- "precise" |
| 5 | +architectures: |
| 6 | +- "i386" |
| 7 | +packages: |
| 8 | +- "git-core" |
| 9 | +- "automake" |
| 10 | +- "p7zip-full" |
| 11 | + |
| 12 | +reference_datetime: "2013-06-01 00:00:00" |
| 13 | +remotes: [] |
| 14 | +files: |
| 15 | +- "boost_1_55_0.tar.bz2" |
| 16 | +- "db-4.8.30.NC.tar.gz" |
| 17 | +- "miniupnpc-1.9.tar.gz" |
| 18 | +- "openssl-1.0.1g.tar.gz" |
| 19 | +- "protobuf-2.5.0.tar.bz2" |
| 20 | +- "qrencode-3.4.3.tar.bz2" |
| 21 | +- "MacOSX10.6.pkg" |
| 22 | +- "osx-native-depends-r2.tar.gz" |
| 23 | + |
| 24 | +script: | |
| 25 | +
|
| 26 | + echo "fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 boost_1_55_0.tar.bz2" | sha256sum -c |
| 27 | + echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c |
| 28 | + echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c |
| 29 | + echo "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz" | sha256sum -c |
| 30 | + echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c |
| 31 | + echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c |
| 32 | + echo "a2ccf2299de4e0bb88bd17a3355f02b747575b97492c7c2f5b789a64ccc4cbd6 MacOSX10.6.pkg" | sha256sum -c |
| 33 | +
|
| 34 | + REVISION=r2 |
| 35 | + export SOURCES_PATH=`pwd` |
| 36 | + export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" |
| 37 | + export PATH=$HOME:$PATH |
| 38 | + export SOURCES_PATH=`pwd` |
| 39 | + export ZERO_AR_DATE=1 |
| 40 | +
|
| 41 | + mkdir -p osx-cross-depends/build |
| 42 | + cd osx-cross-depends |
| 43 | +
|
| 44 | + PREFIX=`pwd`/prefix |
| 45 | + NATIVEPREFIX=`pwd`/native-prefix |
| 46 | + BUILD_BASE=`pwd`/build |
| 47 | + SDK=`pwd`/SDKs/MacOSX10.6.sdk |
| 48 | + HOST=x86_64-apple-darwin11 |
| 49 | + MIN_VERSION=10.6 |
| 50 | +
|
| 51 | + INT_CFLAGS="-target ${HOST} -mmacosx-version-min=${MIN_VERSION} --sysroot ${SDK} -msse2 -Qunused-arguments" |
| 52 | + INT_CXXFLAGS="${INT_CFLAGS}" |
| 53 | + INT_LDFLAGS="-L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1" |
| 54 | + INT_LDFLAGS_CLANG="-B${NATIVEPREFIX}/bin" |
| 55 | + INT_CPPFLAGS="-I${PREFIX}/include" |
| 56 | + INT_CC=clang |
| 57 | + INT_CXX=clang++ |
| 58 | + INT_OBJC=clang |
| 59 | + INT_OBJCXX=clang++ |
| 60 | + INT_AR=${HOST}-ar |
| 61 | + INT_RANLIB=${HOST}-ranlib |
| 62 | + INT_LIBTOOL=${HOST}-libtool |
| 63 | + INT_INSTALL_NAME_TOOL=${HOST}-install_name_tool |
| 64 | +
|
| 65 | + export PATH=${NATIVEPREFIX}/bin:${PATH} |
| 66 | +
|
| 67 | + mkdir -p ${NATIVEPREFIX}/bin |
| 68 | + mkdir -p ${NATIVEPREFIX}/lib |
| 69 | + mkdir -p ${PREFIX}/bin |
| 70 | + mkdir -p ${PREFIX}/lib |
| 71 | + mkdir -p ${BUILD_BASE} |
| 72 | +
|
| 73 | + mkdir -p ${SDK} |
| 74 | + 7z -bd -so -y e ${SOURCES_PATH}/MacOSX10.6.pkg Payload | gzip -d -c | cpio -i |
| 75 | +
|
| 76 | + tar xf /home/ubuntu/build/osx-native-depends-r2.tar.gz |
| 77 | +
|
| 78 | + # bdb |
| 79 | + SOURCE_FILE=${SOURCES_PATH}/db-4.8.30.NC.tar.gz |
| 80 | + BUILD_DIR=${BUILD_BASE}/db-4.8.30.NC |
| 81 | +
|
| 82 | + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} |
| 83 | + sed -i 's/__atomic_compare_exchange/__atomic_compare_exchange_db/g' ${BUILD_DIR}/dbinc/atomic.h |
| 84 | + pushd ${BUILD_DIR} |
| 85 | + cd build_unix; |
| 86 | + ../dist/configure --host=${HOST} --prefix="${PREFIX}" --disable-shared --enable-cxx CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}" |
| 87 | + make $MAKEOPTS libdb.a libdb_cxx.a |
| 88 | + make install_lib install_include |
| 89 | + popd |
| 90 | +
|
| 91 | + # openssl |
| 92 | + SOURCE_FILE=${SOURCES_PATH}/openssl-1.0.1g.tar.gz |
| 93 | + BUILD_DIR=${BUILD_BASE}/openssl-1.0.1g |
| 94 | +
|
| 95 | + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} |
| 96 | + pushd ${BUILD_DIR} |
| 97 | + sed -ie "s|cc:|${INT_CC}:|" ${BUILD_DIR}/Configure |
| 98 | + sed -ie "s|\(-arch [_a-zA-Z0-9]*\)|\1 --sysroot ${SDK} -target ${HOST} -msse2|" ${BUILD_DIR}/Configure |
| 99 | + AR="${INT_AR}" RANLIB="${INT_RANLIB}" ./Configure --prefix=${PREFIX} --openssldir=${PREFIX}/etc/openssl zlib shared no-krb5 darwin64-x86_64-cc ${INT_LDFLAGS} ${INT_CLANG_LDFLAGS} ${INT_CPPFLAGS} |
| 100 | + sed -i "s|engines apps test|engines|" ${BUILD_DIR}/Makefile |
| 101 | + sed -i "/define DATE/d" ${BUILD_DIR}/crypto/Makefile |
| 102 | + make -j1 build_libs libcrypto.pc libssl.pc openssl.pc |
| 103 | + make -j1 install_sw |
| 104 | + popd |
| 105 | +
|
| 106 | + #libminiupnpc |
| 107 | + SOURCE_FILE=${SOURCES_PATH}/miniupnpc-1.9.tar.gz |
| 108 | + BUILD_DIR=${BUILD_BASE}/miniupnpc-1.9 |
| 109 | +
|
| 110 | + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} |
| 111 | + pushd ${BUILD_DIR} |
| 112 | + CFLAGS="${INT_CFLAGS} ${INT_CPPFLAGS}" make $MAKEOPTS OS=Darwin CC="${INT_CC}" AR="${INT_AR}" libminiupnpc.a |
| 113 | + install -d ${PREFIX}/include/miniupnpc |
| 114 | + install *.h ${PREFIX}/include/miniupnpc |
| 115 | + install libminiupnpc.a ${PREFIX}/lib |
| 116 | + popd |
| 117 | +
|
| 118 | + # qrencode |
| 119 | + SOURCE_FILE=${SOURCES_PATH}/qrencode-3.4.3.tar.bz2 |
| 120 | + BUILD_DIR=${BUILD_BASE}/qrencode-3.4.3 |
| 121 | + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} |
| 122 | + pushd ${BUILD_DIR} |
| 123 | +
|
| 124 | + # m4 folder is not included in the stable release, which can confuse aclocal |
| 125 | + # if its timestamp ends up being earlier than configure.ac when extracted |
| 126 | + touch aclocal.m4 |
| 127 | + ./configure --host=${HOST} --prefix="${PREFIX}" --disable-shared CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}" --disable-shared -without-tools --disable-sdltest --disable-dependency-tracking |
| 128 | + make $MAKEOPTS |
| 129 | + make install |
| 130 | + popd |
| 131 | +
|
| 132 | + # libprotobuf |
| 133 | + SOURCE_FILE=${SOURCES_PATH}/protobuf-2.5.0.tar.bz2 |
| 134 | + BUILD_DIR=${BUILD_BASE}/protobuf-2.5.0 |
| 135 | +
|
| 136 | + tar -C ${BUILD_BASE} -xjf ${SOURCE_FILE} |
| 137 | + pushd ${BUILD_DIR} |
| 138 | + ./configure --host=${HOST} --prefix="${PREFIX}" --disable-shared --enable-cxx CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}" --enable-shared=no --disable-dependency-tracking --with-protoc=${NATIVEPREFIX}/bin/protoc |
| 139 | + cd src |
| 140 | + make $MAKEOPTS libprotobuf.la |
| 141 | + make install-libLTLIBRARIES install-nobase_includeHEADERS |
| 142 | + cd .. |
| 143 | + make install-pkgconfigDATA |
| 144 | + popd |
| 145 | +
|
| 146 | + # boost |
| 147 | + SOURCE_FILE=${SOURCES_PATH}/boost_1_55_0.tar.bz2 |
| 148 | + BUILD_DIR=${BUILD_BASE}/boost_1_55_0 |
| 149 | +
|
| 150 | + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} |
| 151 | + pushd ${BUILD_DIR} |
| 152 | + ./bootstrap.sh --with-libraries=chrono,filesystem,program_options,system,thread,test |
| 153 | + echo "using darwin : : ${INT_CXX} : <cxxflags>\"${INT_CFLAGS} ${INT_CPPFLAGS}\" <linkflags>\"${INT_LDFLAGS} ${INT_CLANG_LDFLAGS}\" <archiver>\"${INT_LIBTOOL}\" <striper>\"${INT_STRIP}\" : ;" > "user-config.jam" |
| 154 | + ./b2 -d2 --layout=tagged --build-type=complete --prefix="${PREFIX}" --toolset=darwin-4.2.1 --user-config=user-config.jam variant=release threading=multi link=static install |
| 155 | + popd |
| 156 | +
|
| 157 | + export GZIP="-9n" |
| 158 | + find prefix | sort | tar --no-recursion -czf osx-depends-${REVISION}.tar.gz -T - |
| 159 | +
|
| 160 | + mv osx-depends-${REVISION}.tar.gz $OUTDIR |
0 commit comments