From a34a885031fcb1797621e8968497561a4837e06a Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 28 Oct 2016 12:21:21 -0700 Subject: [PATCH] Squashed 'third_party/mason/' content from commit 1b3085e git-subtree-dir: third_party/mason git-subtree-split: 1b3085e812b08ef092ba43945e3ab9f802632280 --- .gitignore | 1 + .travis.yml | 23 + CHANGELOG.md | 3 + README.md | 379 +++++++++ cloudformation/travis.template | 73 ++ contributing.md | 7 + mason | 85 ++ mason.cmake | 231 ++++++ mason.sh | 739 ++++++++++++++++++ scripts/7z/9.20.1/.travis.yml | 23 + scripts/7z/9.20.1/script.sh | 45 ++ scripts/Qt/system/script.sh | 61 ++ scripts/afl/2.19b/.travis.yml | 15 + scripts/afl/2.19b/script.sh | 45 ++ scripts/android-ndk/arm-9-r10e/.travis.yml | 19 + scripts/android-ndk/arm-9-r10e/script.sh | 45 ++ scripts/android-ndk/arm-9-r11c/.travis.yml | 19 + scripts/android-ndk/arm-9-r11c/script.sh | 45 ++ scripts/android-ndk/arm-9-r12b/.travis.yml | 19 + scripts/android-ndk/arm-9-r12b/script.sh | 47 ++ .../android-ndk/arm64-21-r10e-gcc/.travis.yml | 19 + .../android-ndk/arm64-21-r10e-gcc/script.sh | 43 + scripts/android-ndk/arm64-21-r10e/.travis.yml | 19 + scripts/android-ndk/arm64-21-r10e/script.sh | 45 ++ scripts/android-ndk/arm64-21-r11c/.travis.yml | 19 + scripts/android-ndk/arm64-21-r11c/script.sh | 45 ++ scripts/android-ndk/arm64-21-r12b/.travis.yml | 19 + scripts/android-ndk/arm64-21-r12b/script.sh | 47 ++ scripts/android-ndk/mips-9-r10e/.travis.yml | 19 + scripts/android-ndk/mips-9-r10e/script.sh | 45 ++ scripts/android-ndk/mips-9-r11c/.travis.yml | 19 + scripts/android-ndk/mips-9-r11c/script.sh | 45 ++ scripts/android-ndk/mips-9-r12b/.travis.yml | 19 + scripts/android-ndk/mips-9-r12b/script.sh | 47 ++ .../android-ndk/mips64-21-r10e/.travis.yml | 19 + scripts/android-ndk/mips64-21-r10e/script.sh | 45 ++ .../android-ndk/mips64-21-r11c/.travis.yml | 19 + scripts/android-ndk/mips64-21-r11c/script.sh | 45 ++ .../android-ndk/mips64-21-r12b/.travis.yml | 19 + scripts/android-ndk/mips64-21-r12b/script.sh | 47 ++ scripts/android-ndk/x86-9-r10e/.travis.yml | 19 + scripts/android-ndk/x86-9-r10e/script.sh | 49 ++ scripts/android-ndk/x86-9-r11c/.travis.yml | 19 + scripts/android-ndk/x86-9-r11c/script.sh | 45 ++ scripts/android-ndk/x86-9-r12b/.travis.yml | 19 + scripts/android-ndk/x86-9-r12b/script.sh | 47 ++ .../android-ndk/x86_64-21-r10e/.travis.yml | 19 + scripts/android-ndk/x86_64-21-r10e/script.sh | 45 ++ .../android-ndk/x86_64-21-r11c/.travis.yml | 19 + scripts/android-ndk/x86_64-21-r11c/script.sh | 45 ++ .../android-ndk/x86_64-21-r12b/.travis.yml | 19 + scripts/android-ndk/x86_64-21-r12b/script.sh | 47 ++ scripts/benchmark/1.0.0/.travis.yml | 50 ++ scripts/benchmark/1.0.0/script.sh | 63 ++ scripts/binutils/2.26/.travis.yml | 30 + scripts/binutils/2.26/script.sh | 45 ++ scripts/boost/1.57.0/.travis.yml | 19 + scripts/boost/1.57.0/script.sh | 49 ++ scripts/boost/1.58.0/.travis.yml | 19 + scripts/boost/1.58.0/script.sh | 49 ++ scripts/boost/1.59.0/.travis.yml | 19 + scripts/boost/1.59.0/script.sh | 49 ++ scripts/boost/1.60.0/.travis.yml | 13 + scripts/boost/1.60.0/script.sh | 49 ++ scripts/boost/1.61.0/.travis.yml | 13 + scripts/boost/1.61.0/base.sh | 8 + scripts/boost/1.61.0/common.sh | 64 ++ scripts/boost/1.61.0/script.sh | 54 ++ scripts/boost/system/script.sh | 60 ++ scripts/boost_liball/1.49.0/.travis.yml | 24 + scripts/boost_liball/1.49.0/patch.diff | 12 + scripts/boost_liball/1.49.0/script.sh | 147 ++++ scripts/boost_liball/1.58.0/.travis.yml | 24 + scripts/boost_liball/1.58.0/patch.diff | 12 + scripts/boost_liball/1.58.0/script.sh | 140 ++++ scripts/boost_liball/1.59.0/.travis.yml | 28 + scripts/boost_liball/1.59.0/patch.diff | 22 + scripts/boost_liball/1.59.0/script.sh | 140 ++++ scripts/boost_liball_osrm/1.59.0/.travis.yml | 37 + scripts/boost_liball_osrm/1.59.0/patch.diff | 10 + scripts/boost_liball_osrm/1.59.0/script.sh | 96 +++ scripts/boost_libatomic/1.61.0/.travis.yml | 27 + scripts/boost_libatomic/1.61.0/script.sh | 26 + scripts/boost_libchrono/1.61.0/.travis.yml | 27 + scripts/boost_libchrono/1.61.0/script.sh | 26 + scripts/boost_libdate_time/1.57.0/.travis.yml | 24 + scripts/boost_libdate_time/1.57.0/script.sh | 70 ++ scripts/boost_libdate_time/1.61.0/.travis.yml | 27 + scripts/boost_libdate_time/1.61.0/script.sh | 26 + .../boost_libeverything/1.59.0/.travis.yml | 32 + scripts/boost_libeverything/1.59.0/patch.diff | 22 + scripts/boost_libeverything/1.59.0/script.sh | 133 ++++ .../boost_libfilesystem/1.57.0/.travis.yml | 24 + scripts/boost_libfilesystem/1.57.0/patch.diff | 10 + scripts/boost_libfilesystem/1.57.0/script.sh | 76 ++ .../boost_libfilesystem/1.61.0/.travis.yml | 27 + scripts/boost_libfilesystem/1.61.0/script.sh | 26 + scripts/boost_libiostreams/1.57.0/.travis.yml | 24 + scripts/boost_libiostreams/1.57.0/script.sh | 70 ++ scripts/boost_libiostreams/1.61.0/.travis.yml | 27 + scripts/boost_libiostreams/1.61.0/script.sh | 26 + .../1.57.0/.travis.yml | 24 + .../boost_libprogram_options/1.57.0/script.sh | 69 ++ .../1.59.0/.travis.yml | 25 + .../boost_libprogram_options/1.59.0/script.sh | 73 ++ .../1.60.0/.travis.yml | 27 + .../boost_libprogram_options/1.60.0/script.sh | 73 ++ .../1.61.0/.travis.yml | 27 + .../boost_libprogram_options/1.61.0/script.sh | 26 + scripts/boost_libpython/1.57.0/.travis.yml | 24 + scripts/boost_libpython/1.57.0/patch.diff | 12 + scripts/boost_libpython/1.57.0/script.sh | 122 +++ scripts/boost_libpython/1.61.0/.travis.yml | 27 + scripts/boost_libpython/1.61.0/patch.diff | 12 + scripts/boost_libpython/1.61.0/script.sh | 96 +++ scripts/boost_libregex/1.57.0/.travis.yml | 24 + scripts/boost_libregex/1.57.0/script.sh | 78 ++ scripts/boost_libregex/1.61.0/.travis.yml | 27 + scripts/boost_libregex/1.61.0/script.sh | 26 + scripts/boost_libregex_icu/1.61.0/.travis.yml | 25 + scripts/boost_libregex_icu/1.61.0/script.sh | 58 ++ scripts/boost_libsystem/1.57.0/.travis.yml | 24 + scripts/boost_libsystem/1.57.0/script.sh | 70 ++ scripts/boost_libsystem/1.61.0/.travis.yml | 27 + scripts/boost_libsystem/1.61.0/script.sh | 26 + scripts/boost_libtest/1.57.0/.travis.yml | 24 + scripts/boost_libtest/1.57.0/script.sh | 70 ++ scripts/boost_libtest/1.61.0/.travis.yml | 27 + scripts/boost_libtest/1.61.0/script.sh | 26 + .../boost_libtest_shared/1.57.0/.travis.yml | 24 + scripts/boost_libtest_shared/1.57.0/script.sh | 74 ++ scripts/boost_libthread/1.57.0/.travis.yml | 24 + scripts/boost_libthread/1.57.0/script.sh | 70 ++ scripts/boost_libthread/1.61.0/.travis.yml | 27 + scripts/boost_libthread/1.61.0/script.sh | 26 + .../.travis.yml | 27 + .../boringssl_asm_x86_64_fPIC.diff | 11 + .../script.sh | 80 ++ scripts/bzip2/1.0.6/.travis.yml | 23 + scripts/bzip2/1.0.6/script.sh | 52 ++ scripts/cairo/1.12.18/.travis.yml | 23 + scripts/cairo/1.12.18/patch.diff | 123 +++ scripts/cairo/1.12.18/script.sh | 109 +++ scripts/cairo/1.14.0/.travis.yml | 23 + scripts/cairo/1.14.0/patch.diff | 96 +++ scripts/cairo/1.14.0/script.sh | 92 +++ scripts/cairo/1.14.2/.travis.yml | 27 + scripts/cairo/1.14.2/patch.diff | 96 +++ scripts/cairo/1.14.2/script.sh | 92 +++ scripts/cairo/1.14.4/.travis.yml | 27 + scripts/cairo/1.14.4/patch.diff | 96 +++ scripts/cairo/1.14.4/script.sh | 92 +++ scripts/ccache/3.2.4/.travis.yml | 27 + scripts/ccache/3.2.4/script.sh | 33 + scripts/ccache/3.3.0/.travis.yml | 24 + scripts/ccache/3.3.0/script.sh | 40 + scripts/ccache/3.3.1/.travis.yml | 24 + scripts/ccache/3.3.1/script.sh | 40 + scripts/clang++/3.8.0/.travis.yml | 29 + scripts/clang++/3.8.0/script.sh | 33 + scripts/clang++/3.8.1/.travis.yml | 16 + scripts/clang++/3.8.1/script.sh | 17 + scripts/clang++/3.9.0/.travis.yml | 16 + scripts/clang++/3.9.0/script.sh | 17 + scripts/clang++/base/common.sh | 45 ++ scripts/clang-format/3.8.0/.travis.yml | 29 + scripts/clang-format/3.8.0/script.sh | 21 + scripts/clang-format/3.8.1/.travis.yml | 16 + scripts/clang-format/3.8.1/script.sh | 17 + scripts/clang-format/3.9.0/.travis.yml | 16 + scripts/clang-format/3.9.0/script.sh | 17 + scripts/clang-format/base/common.sh | 21 + scripts/clang-tidy/3.8.0/.travis.yml | 29 + scripts/clang-tidy/3.8.0/script.sh | 27 + scripts/clang-tidy/3.8.1/.travis.yml | 16 + scripts/clang-tidy/3.8.1/script.sh | 17 + scripts/clang-tidy/3.8/script.sh | 17 + scripts/clang-tidy/3.9.0/.travis.yml | 16 + scripts/clang-tidy/3.9.0/script.sh | 17 + scripts/clang-tidy/base/common.sh | 30 + scripts/clang/3.5.2/.travis.yml | 33 + scripts/clang/3.5.2/script.sh | 110 +++ scripts/clang/3.8.0/.travis.yml | 38 + scripts/clang/3.8.0/README.md | 51 ++ scripts/clang/3.8.0/script.sh | 127 +++ scripts/cmake/3.2.2/.travis.yml | 24 + scripts/cmake/3.2.2/script.sh | 37 + scripts/cmake/3.5.2/.travis.yml | 29 + scripts/cmake/3.5.2/script.sh | 37 + scripts/cmake/3.6.2/.travis.yml | 23 + scripts/cmake/3.6.2/script.sh | 37 + scripts/earcut/0.10.1/.travis.yml | 15 + scripts/earcut/0.10.1/script.sh | 36 + scripts/earcut/0.10.2/.travis.yml | 15 + scripts/earcut/0.10.2/script.sh | 36 + scripts/earcut/0.10.3/.travis.yml | 15 + scripts/earcut/0.10.3/script.sh | 36 + scripts/earcut/0.10/.travis.yml | 15 + scripts/earcut/0.10/script.sh | 36 + scripts/earcut/0.11/.travis.yml | 15 + scripts/earcut/0.11/script.sh | 36 + scripts/earcut/0.12/.travis.yml | 15 + scripts/earcut/0.12/script.sh | 36 + scripts/earcut/0.9-pool/.travis.yml | 15 + scripts/earcut/0.9-pool/script.sh | 36 + scripts/earcut/0.9/.travis.yml | 15 + scripts/earcut/0.9/script.sh | 36 + scripts/expat/2.1.0/.travis.yml | 31 + scripts/expat/2.1.0/script.sh | 36 + scripts/expat/2.1.1/.travis.yml | 21 + scripts/expat/2.1.1/script.sh | 36 + scripts/freetype/2.5.4/.travis.yml | 28 + scripts/freetype/2.5.4/script.sh | 46 ++ scripts/freetype/2.5.5/.travis.yml | 28 + scripts/freetype/2.5.5/script.sh | 50 ++ scripts/freetype/2.6/.travis.yml | 32 + scripts/freetype/2.6/script.sh | 50 ++ scripts/gcc/4.9.2-cortex_a9-hf/.travis.yml | 23 + scripts/gcc/4.9.2-cortex_a9-hf/script.sh | 31 + scripts/gcc/4.9.2-cortex_a9/script.sh | 32 + scripts/gcc/4.9.2-i686/script.sh | 32 + scripts/gcc/5.3.0-cortex_a9-hf/script.sh | 39 + scripts/gcc/5.3.0-cortex_a9-hf/setup.sh | 31 + .../gcc/5.3.0-cortex_a9-hf/toolchain.cmake | 16 + scripts/gcc/5.3.0-cortex_a9-hf/toolchain.sh | 14 + scripts/gcc/5.3.0-cortex_a9/script.sh | 39 + scripts/gcc/5.3.0-cortex_a9/setup.sh | 31 + scripts/gcc/5.3.0-cortex_a9/toolchain.cmake | 16 + scripts/gcc/5.3.0-cortex_a9/toolchain.sh | 13 + scripts/gcc/5.3.0-i686/script.sh | 39 + scripts/gcc/5.3.0-i686/setup.sh | 31 + scripts/gcc/5.3.0-i686/toolchain.cmake | 16 + scripts/gcc/5.3.0-i686/toolchain.sh | 13 + scripts/gdal/1.11.1-big-pants/.travis.yml | 30 + scripts/gdal/1.11.1-big-pants/script.sh | 157 ++++ scripts/gdal/1.11.1/.travis.yml | 24 + scripts/gdal/1.11.1/patch.diff | 277 +++++++ scripts/gdal/1.11.1/script.sh | 130 +++ scripts/gdal/1.11.2/.travis.yml | 28 + scripts/gdal/1.11.2/patch.diff | 277 +++++++ scripts/gdal/1.11.2/script.sh | 130 +++ scripts/gdal/2.0.2/.travis.yml | 35 + scripts/gdal/2.0.2/patch.diff | 133 ++++ scripts/gdal/2.0.2/script.sh | 161 ++++ scripts/gdal/2.1.1/.travis.yml | 24 + scripts/gdal/2.1.1/patch.diff | 141 ++++ scripts/gdal/2.1.1/script.sh | 169 ++++ scripts/gdal/dev/.travis.yml | 30 + scripts/gdal/dev/script.sh | 168 ++++ scripts/geojson/0.1.1-cxx03abi/.travis.yml | 63 ++ scripts/geojson/0.1.1-cxx03abi/script.sh | 41 + scripts/geojson/0.1.2-cxx03abi/.travis.yml | 54 ++ scripts/geojson/0.1.2-cxx03abi/script.sh | 41 + scripts/geojson/0.1.3-cxx03abi/.travis.yml | 54 ++ scripts/geojson/0.1.3-cxx03abi/script.sh | 42 + scripts/geojson/0.1.3/.travis.yml | 61 ++ scripts/geojson/0.1.3/script.sh | 42 + scripts/geojson/0.1.4-cxx03abi/.travis.yml | 54 ++ scripts/geojson/0.1.4-cxx03abi/script.sh | 42 + scripts/geojson/0.1.4-cxx11abi/script.sh | 41 + scripts/geojson/0.1.4/.travis.yml | 61 ++ scripts/geojson/0.1.4/script.sh | 42 + scripts/geojson/0.2.0/.travis.yml | 61 ++ scripts/geojson/0.2.0/script.sh | 42 + scripts/geojson/0.3.0/.travis.yml | 61 ++ scripts/geojson/0.3.0/script.sh | 42 + scripts/geojson/0.3.1-hpp/.travis.yml | 61 ++ scripts/geojson/0.3.1-hpp/script.sh | 32 + scripts/geojson/0.3.1/.travis.yml | 61 ++ scripts/geojson/0.3.1/script.sh | 42 + scripts/geojson/0.3.2-hpp/.travis.yml | 15 + scripts/geojson/0.3.2-hpp/script.sh | 32 + scripts/geojson/0.3.2/.travis.yml | 61 ++ scripts/geojson/0.3.2/script.sh | 42 + scripts/geojsonvt/1.1.0/.travis.yml | 48 ++ scripts/geojsonvt/1.1.0/script.sh | 41 + scripts/geojsonvt/2.1.0/.travis.yml | 48 ++ scripts/geojsonvt/2.1.0/script.sh | 41 + scripts/geojsonvt/2.1.6.1/.travis.yml | 50 ++ scripts/geojsonvt/2.1.6.1/script.sh | 42 + scripts/geojsonvt/2.1.6.2/.travis.yml | 50 ++ scripts/geojsonvt/2.1.6.2/script.sh | 41 + scripts/geojsonvt/2.1.6.3/.travis.yml | 50 ++ scripts/geojsonvt/2.1.6.3/script.sh | 41 + scripts/geojsonvt/2.1.6/.travis.yml | 50 ++ scripts/geojsonvt/2.1.6/script.sh | 42 + scripts/geojsonvt/3.0.0/.travis.yml | 50 ++ scripts/geojsonvt/3.0.0/script.sh | 41 + scripts/geojsonvt/3.0.1/.travis.yml | 50 ++ scripts/geojsonvt/3.0.1/script.sh | 41 + scripts/geojsonvt/3.1.0/.travis.yml | 50 ++ scripts/geojsonvt/3.1.0/script.sh | 41 + scripts/geojsonvt/4.0.0/.travis.yml | 55 ++ scripts/geojsonvt/4.0.0/script.sh | 41 + scripts/geojsonvt/4.1.0/.travis.yml | 63 ++ scripts/geojsonvt/4.1.0/script.sh | 41 + scripts/geojsonvt/4.1.2-cxx11abi/.travis.yml | 36 + scripts/geojsonvt/4.1.2-cxx11abi/script.sh | 48 ++ scripts/geojsonvt/4.1.2/.travis.yml | 63 ++ scripts/geojsonvt/4.1.2/script.sh | 43 + scripts/geojsonvt/5.0.0/.travis.yml | 63 ++ scripts/geojsonvt/5.0.0/script.sh | 43 + scripts/geojsonvt/6.0.0-pre1/.travis.yml | 15 + scripts/geojsonvt/6.0.0-pre1/script.sh | 33 + scripts/geojsonvt/6.0.0/.travis.yml | 15 + scripts/geojsonvt/6.0.0/script.sh | 33 + scripts/geojsonvt/6.1.0/.travis.yml | 15 + scripts/geojsonvt/6.1.0/script.sh | 33 + scripts/geojsonvt/6.1.1/.travis.yml | 15 + scripts/geojsonvt/6.1.1/script.sh | 33 + scripts/geojsonvt/6.1.2/.travis.yml | 15 + scripts/geojsonvt/6.1.2/script.sh | 33 + scripts/geojsonvt/6.1.3/.travis.yml | 15 + scripts/geojsonvt/6.1.3/script.sh | 33 + scripts/geometry/0.1.0/.travis.yml | 15 + scripts/geometry/0.1.0/script.sh | 33 + scripts/geometry/0.2.0/.travis.yml | 15 + scripts/geometry/0.2.0/script.sh | 33 + scripts/geometry/0.3.0/.travis.yml | 15 + scripts/geometry/0.3.0/script.sh | 33 + scripts/geometry/0.4.0/.travis.yml | 15 + scripts/geometry/0.4.0/script.sh | 33 + scripts/geometry/0.5.0/.travis.yml | 15 + scripts/geometry/0.5.0/script.sh | 33 + scripts/geometry/0.6.0/.travis.yml | 15 + scripts/geometry/0.6.0/script.sh | 33 + scripts/geometry/0.7.0/.travis.yml | 15 + scripts/geometry/0.7.0/script.sh | 33 + scripts/geometry/0.8.0/.travis.yml | 15 + scripts/geometry/0.8.0/script.sh | 33 + scripts/geometry/0.8.1/.travis.yml | 15 + scripts/geometry/0.8.1/script.sh | 33 + scripts/geos/3.4.2/.travis.yml | 24 + scripts/geos/3.4.2/patch.diff | 26 + scripts/geos/3.4.2/script.sh | 43 + scripts/geos/3.5.0/.travis.yml | 30 + scripts/geos/3.5.0/patch.diff | 26 + scripts/geos/3.5.0/script.sh | 42 + scripts/geowave-jace/0.8.7/.travis.yml | 29 + scripts/geowave-jace/0.8.7/script.sh | 64 ++ scripts/glfw/3.1.2/.travis.yml | 24 + scripts/glfw/3.1.2/script.sh | 42 + scripts/glfw/3.2.1/.travis.yml | 30 + scripts/glfw/3.2.1/script.sh | 42 + scripts/gtest/1.7.0-cxx11abi/script.sh | 59 ++ scripts/gtest/1.7.0/.travis.yml | 51 ++ scripts/gtest/1.7.0/script.sh | 80 ++ scripts/gtest/1.8.0/.travis.yml | 51 ++ scripts/gtest/1.8.0/script.sh | 80 ++ scripts/harfbuzz/0.9.40/.travis.yml | 24 + scripts/harfbuzz/0.9.40/patch.diff | 106 +++ scripts/harfbuzz/0.9.40/script.sh | 74 ++ scripts/harfbuzz/0.9.41/.travis.yml | 28 + scripts/harfbuzz/0.9.41/patch.diff | 106 +++ scripts/harfbuzz/0.9.41/script.sh | 74 ++ scripts/harfbuzz/1.1.2/.travis.yml | 28 + scripts/harfbuzz/1.1.2/script.sh | 68 ++ scripts/harfbuzz/1.2.1/.travis.yml | 28 + scripts/harfbuzz/1.2.1/script.sh | 68 ++ scripts/harfbuzz/1.2.6/.travis.yml | 28 + scripts/harfbuzz/1.2.6/script.sh | 68 ++ .../.travis.yml | 24 + .../script.sh | 64 ++ scripts/hpp_skel/0.0.1/.travis.yml | 27 + scripts/hpp_skel/0.0.1/script.sh | 24 + scripts/hpp_skel/0.0.2/.travis.yml | 27 + scripts/hpp_skel/0.0.2/script.sh | 24 + scripts/hpp_skel/1.0.0/.travis.yml | 27 + scripts/hpp_skel/1.0.0/script.sh | 24 + scripts/iconv/system/.travis.yml | 23 + scripts/iconv/system/script.sh | 86 ++ scripts/icu/54.1/.travis.yml | 24 + scripts/icu/54.1/script.sh | 61 ++ scripts/icu/55.1/.travis.yml | 28 + scripts/icu/55.1/script.sh | 61 ++ scripts/icu/latest/.travis.yml | 24 + scripts/icu/latest/script.sh | 59 ++ scripts/iojs/1.2.0/.travis.yml | 19 + scripts/iojs/1.2.0/script.sh | 30 + scripts/iojs/2.0.1/.travis.yml | 19 + scripts/iojs/2.0.1/script.sh | 30 + scripts/jemalloc/4.2.1/.travis.yml | 23 + scripts/jemalloc/4.2.1/script.sh | 39 + scripts/jni.hpp/1.0.0/.travis.yml | 15 + scripts/jni.hpp/1.0.0/script.sh | 35 + scripts/jni.hpp/2.0.0/.travis.yml | 15 + scripts/jni.hpp/2.0.0/script.sh | 35 + scripts/jpeg/v9a/.travis.yml | 37 + scripts/jpeg/v9a/script.sh | 46 ++ scripts/jpeg_turbo/1.4.0/.travis.yml | 27 + scripts/jpeg_turbo/1.4.0/script.sh | 50 ++ scripts/jpeg_turbo/1.4.2/.travis.yml | 24 + scripts/jpeg_turbo/1.4.2/script.sh | 50 ++ scripts/js-number-to-string/1.0.2/.travis.yml | 73 ++ scripts/js-number-to-string/1.0.2/script.sh | 57 ++ scripts/js-number-to-string/1.0.3/.travis.yml | 73 ++ scripts/js-number-to-string/1.0.3/script.sh | 58 ++ scripts/kdbush/0.1.0/.travis.yml | 15 + scripts/kdbush/0.1.0/script.sh | 34 + scripts/kdbush/0.1.1/.travis.yml | 15 + scripts/kdbush/0.1.1/script.sh | 34 + scripts/lcov/1.12/.travis.yml | 23 + scripts/lcov/1.12/script.sh | 31 + scripts/leveldb/a7bff69/.travis.yml | 27 + scripts/leveldb/a7bff69/script.sh | 41 + scripts/libcrypto/1.0.1p/.travis.yml | 30 + scripts/libcrypto/1.0.1p/script.sh | 109 +++ scripts/libcurl/7.38.0-boringssl/.travis.yml | 27 + .../libcurl/7.38.0-boringssl/openssl.patch | 187 +++++ scripts/libcurl/7.38.0-boringssl/script.sh | 91 +++ scripts/libcurl/7.38.0-boringssl/temp.txt | 0 scripts/libcurl/7.40.0/.travis.yml | 27 + scripts/libcurl/7.40.0/script.sh | 82 ++ scripts/libcurl/7.45.0/.travis.yml | 27 + scripts/libcurl/7.45.0/script.sh | 84 ++ scripts/libcurl/system/script.sh | 70 ++ scripts/libjpeg-turbo/1.4.2/.travis.yml | 46 ++ scripts/libjpeg-turbo/1.4.2/script.sh | 49 ++ scripts/libjpeg-turbo/1.5.0/.travis.yml | 47 ++ scripts/libjpeg-turbo/1.5.0/script.sh | 50 ++ scripts/libosmium/2.6.1/.travis.yml | 22 + scripts/libosmium/2.6.1/script.sh | 24 + scripts/libosmium/2.7.2/.travis.yml | 27 + scripts/libosmium/2.7.2/script.sh | 25 + scripts/libosmium/2.8.0/.travis.yml | 26 + scripts/libosmium/2.8.0/script.sh | 23 + scripts/libpng/1.6.16/.travis.yml | 37 + scripts/libpng/1.6.16/script.sh | 46 ++ scripts/libpng/1.6.17/.travis.yml | 37 + scripts/libpng/1.6.17/script.sh | 46 ++ scripts/libpng/1.6.18/.travis.yml | 38 + scripts/libpng/1.6.18/script.sh | 46 ++ scripts/libpng/1.6.20/.travis.yml | 46 ++ scripts/libpng/1.6.20/script.sh | 59 ++ scripts/libpng/1.6.21/.travis.yml | 40 + scripts/libpng/1.6.21/script.sh | 47 ++ scripts/libpng/1.6.25/.travis.yml | 43 + scripts/libpng/1.6.25/script.sh | 47 ++ scripts/libpng/system/script.sh | 42 + scripts/libpq/9.4.0/.travis.yml | 23 + scripts/libpq/9.4.0/patch.diff | 11 + scripts/libpq/9.4.0/script.sh | 68 ++ scripts/libpq/9.4.1/.travis.yml | 27 + scripts/libpq/9.4.1/patch.diff | 11 + scripts/libpq/9.4.1/script.sh | 68 ++ scripts/libpq/9.5.2/.travis.yml | 24 + scripts/libpq/9.5.2/patch.diff | 11 + scripts/libpq/9.5.2/script.sh | 65 ++ scripts/libtiff/4.0.4beta/.travis.yml | 27 + scripts/libtiff/4.0.4beta/script.sh | 55 ++ scripts/libtiff/4.0.6/.travis.yml | 24 + scripts/libtiff/4.0.6/script.sh | 55 ++ .../.travis.yml | 23 + .../script.sh | 54 ++ scripts/libuv/0.10.28/.travis.yml | 27 + scripts/libuv/0.10.28/script.sh | 45 ++ scripts/libuv/0.10.33/.travis.yml | 27 + scripts/libuv/0.10.33/script.sh | 45 ++ scripts/libuv/0.10.36/.travis.yml | 27 + scripts/libuv/0.10.36/script.sh | 45 ++ scripts/libuv/0.11.29/.travis.yml | 41 + scripts/libuv/0.11.29/script.sh | 50 ++ scripts/libuv/1.4.0/.travis.yml | 41 + scripts/libuv/1.4.0/script.sh | 50 ++ scripts/libuv/1.6.1/.travis.yml | 27 + scripts/libuv/1.6.1/script.sh | 50 ++ scripts/libuv/1.7.5/.travis.yml | 52 ++ scripts/libuv/1.7.5/script.sh | 50 ++ scripts/libuv/1.9.1/.travis.yml | 51 ++ scripts/libuv/1.9.1/script.sh | 50 ++ scripts/libxml2/2.9.2/.travis.yml | 23 + scripts/libxml2/2.9.2/script.sh | 65 ++ scripts/libxml2/2.9.3/.travis.yml | 23 + scripts/libxml2/2.9.3/script.sh | 65 ++ scripts/libzip/0.11.2/.travis.yml | 33 + scripts/libzip/0.11.2/script.sh | 45 ++ scripts/libzip/1.0.1/.travis.yml | 36 + scripts/libzip/1.0.1/script.sh | 45 ++ scripts/libzip/1.1.3/.travis.yml | 43 + scripts/libzip/1.1.3/script.sh | 45 ++ scripts/lldb/3.9.0/.travis.yml | 22 + scripts/lldb/3.9.0/script.sh | 17 + scripts/lldb/base/common.sh | 28 + scripts/llvm-cov/3.9.0/.travis.yml | 22 + scripts/llvm-cov/3.9.0/script.sh | 17 + scripts/llvm-cov/base/common.sh | 22 + scripts/llvm/3.8.1/.travis.yml | 9 + scripts/llvm/3.8.1/README.md | 7 + scripts/llvm/3.8.1/script.sh | 23 + scripts/llvm/3.9.0/.travis.yml | 9 + scripts/llvm/3.9.0/README.md | 120 +++ scripts/llvm/3.9.0/script.sh | 24 + scripts/llvm/4.x/.travis.yml | 9 + scripts/llvm/4.x/README.md | 3 + scripts/llvm/4.x/script.sh | 27 + scripts/llvm/base/common.sh | 188 +++++ scripts/lua/5.1.0/.travis.yml | 23 + scripts/lua/5.1.0/script.sh | 35 + scripts/lua/5.2.4/.travis.yml | 22 + scripts/lua/5.2.4/patch.diff | 17 + scripts/lua/5.2.4/script.sh | 37 + scripts/lua/5.3.0/.travis.yml | 23 + scripts/lua/5.3.0/script.sh | 35 + .../.travis.yml | 24 + .../script.sh | 54 ++ .../.travis.yml | 24 + .../script.sh | 54 ++ .../.travis.yml | 22 + .../script.sh | 56 ++ .../.travis.yml | 24 + .../script.sh | 54 ++ scripts/luajit/2.0.3/.travis.yml | 23 + scripts/luajit/2.0.3/script.sh | 35 + scripts/mapnik/3.0.0-rc2/.travis.yml | 25 + scripts/mapnik/3.0.0-rc2/script.sh | 65 ++ scripts/mapnik/3.0.0-rc3/.travis.yml | 25 + scripts/mapnik/3.0.0-rc3/script.sh | 65 ++ scripts/mapnik/3.0.0/.travis.yml | 25 + scripts/mapnik/3.0.0/script.sh | 66 ++ scripts/mapnik/dev/.travis.yml | 25 + scripts/mapnik/dev/script.sh | 53 ++ scripts/mapnik/geom/.travis.yml | 24 + scripts/mapnik/geom/script.sh | 53 ++ scripts/mapnik/latest/.travis.yml | 25 + scripts/mapnik/latest/script.sh | 63 ++ scripts/mesa/10.3.5/.travis.yml | 27 + scripts/mesa/10.3.5/script.sh | 49 ++ scripts/mesa/10.4.3/.travis.yml | 27 + scripts/mesa/10.4.3/script.sh | 51 ++ scripts/mesa/10.5.4-dbg/.travis.yml | 27 + scripts/mesa/10.5.4-dbg/circle.yml | 22 + scripts/mesa/10.5.4-dbg/script.sh | 51 ++ scripts/mesa/10.5.4/.travis.yml | 27 + scripts/mesa/10.5.4/circle.yml | 22 + scripts/mesa/10.5.4/script.sh | 51 ++ scripts/mesa/11.2.2/.travis.yml | 30 + scripts/mesa/11.2.2/script.sh | 38 + .../.travis.yml | 29 + .../script.sh | 60 ++ .../.travis.yml | 24 + .../script.sh | 60 ++ scripts/minjur/latest/.travis.yml | 36 + scripts/minjur/latest/script.sh | 61 ++ scripts/nasm/2.11.06/.travis.yml | 23 + scripts/nasm/2.11.06/script.sh | 43 + scripts/ninja/1.7.1/.travis.yml | 28 + scripts/ninja/1.7.1/script.sh | 37 + scripts/node/0.10.35/.travis.yml | 19 + scripts/node/0.10.35/script.sh | 30 + scripts/node/0.10.36/.travis.yml | 19 + scripts/node/0.10.36/script.sh | 30 + scripts/node/0.12.0/.travis.yml | 19 + scripts/node/0.12.0/script.sh | 30 + scripts/node_asan/4.4.4/.travis.yml | 29 + scripts/node_asan/4.4.4/script.sh | 46 ++ scripts/node_asan/4.4.5/.travis.yml | 27 + scripts/node_asan/4.4.5/script.sh | 46 ++ scripts/node_tsan/4.4.5/.travis.yml | 27 + scripts/node_tsan/4.4.5/script.sh | 46 ++ scripts/nunicode/1.5.1/.travis.yml | 37 + scripts/nunicode/1.5.1/script.sh | 47 ++ scripts/nunicode/1.6/.travis.yml | 39 + scripts/nunicode/1.6/script.sh | 47 ++ scripts/nunicode/1.7.1/.travis.yml | 45 ++ scripts/nunicode/1.7.1/script.sh | 47 ++ scripts/openssl/1.0.1l/.travis.yml | 30 + scripts/openssl/1.0.1l/script.sh | 83 ++ scripts/openssl/1.0.1p/.travis.yml | 30 + scripts/openssl/1.0.1p/script.sh | 109 +++ scripts/openssl/1.0.2/.travis.yml | 30 + scripts/openssl/1.0.2/script.sh | 109 +++ scripts/openssl/1.0.2d/.travis.yml | 30 + scripts/openssl/1.0.2d/script.sh | 109 +++ scripts/openswr-mesa/11.0-openswr/.travis.yml | 29 + scripts/openswr-mesa/11.0-openswr/circle.yml | 25 + scripts/openswr-mesa/11.0-openswr/script.sh | 46 ++ scripts/osm2pgsql/0.87.2/.travis.yml | 24 + scripts/osm2pgsql/0.87.2/patch.diff | 15 + scripts/osm2pgsql/0.87.2/script.sh | 107 +++ scripts/osm2pgsql/0.88.1/.travis.yml | 24 + scripts/osm2pgsql/0.88.1/patch.diff | 15 + scripts/osm2pgsql/0.88.1/script.sh | 111 +++ scripts/osmium-tool/1.0.0/.travis.yml | 24 + scripts/osmium-tool/1.0.0/script.sh | 58 ++ scripts/osmium-tool/1.3.0/.travis.yml | 24 + scripts/osmium-tool/1.3.0/script.sh | 58 ++ scripts/osmium-tool/1.3.1/.travis.yml | 24 + scripts/osmium-tool/1.3.1/script.sh | 75 ++ scripts/osmium-tool/latest/.travis.yml | 25 + scripts/osmium-tool/latest/script.sh | 61 ++ scripts/osmpbf/1.3.3/.travis.yml | 23 + scripts/osmpbf/1.3.3/script.sh | 47 ++ scripts/osrm/0.4.1/.travis.yml | 24 + scripts/osrm/0.4.1/script.sh | 86 ++ scripts/parallel/20160422/.travis.yml | 23 + scripts/parallel/20160422/script.sh | 32 + scripts/pixelmatch/0.10.0/.travis.yml | 15 + scripts/pixelmatch/0.10.0/script.sh | 36 + scripts/pixelmatch/0.9.0/.travis.yml | 15 + scripts/pixelmatch/0.9.0/script.sh | 36 + scripts/pixman/0.32.6/.travis.yml | 27 + scripts/pixman/0.32.6/script.sh | 48 ++ scripts/postgis/2.2.2/.travis.yml | 29 + scripts/postgis/2.2.2/script.sh | 140 ++++ scripts/postgis/2.2.2/test.sh | 68 ++ scripts/postgres/9.5.2/.travis.yml | 23 + scripts/postgres/9.5.2/patch.diff | 11 + scripts/postgres/9.5.2/script.sh | 68 ++ scripts/proj/4.8.0/.travis.yml | 27 + scripts/proj/4.8.0/script.sh | 44 ++ scripts/proj/4.9.2/.travis.yml | 24 + scripts/proj/4.9.2/script.sh | 43 + scripts/protobuf/2.6.1/.travis.yml | 27 + scripts/protobuf/2.6.1/script.sh | 35 + scripts/protobuf/3.0.0/.travis.yml | 24 + scripts/protobuf/3.0.0/script.sh | 36 + scripts/protobuf_c/1.1.0/.travis.yml | 23 + scripts/protobuf_c/1.1.0/script.sh | 42 + scripts/protozero/1.3.0/.travis.yml | 22 + scripts/protozero/1.3.0/script.sh | 33 + scripts/protozero/1.4.0/.travis.yml | 28 + scripts/protozero/1.4.0/script.sh | 32 + scripts/protozero/1.4.2/.travis.yml | 27 + scripts/protozero/1.4.2/script.sh | 32 + scripts/ragel/6.9/.travis.yml | 23 + scripts/ragel/6.9/script.sh | 32 + scripts/rapidjson/1.0.2/.travis.yml | 15 + scripts/rapidjson/1.0.2/script.sh | 35 + scripts/rapidjson/1.1.0/.travis.yml | 15 + scripts/rapidjson/1.1.0/script.sh | 35 + .../rapidjson/2016-07-20-369de87/.travis.yml | 15 + .../rapidjson/2016-07-20-369de87/script.sh | 35 + scripts/setup_cpp11_toolchain.sh | 75 ++ scripts/shelf-pack/1.0.0/.travis.yml | 15 + scripts/shelf-pack/1.0.0/script.sh | 36 + scripts/snappy/32d6d7d/.travis.yml | 27 + scripts/snappy/32d6d7d/script.sh | 39 + scripts/sparsehash/2.0.2/.travis.yml | 24 + scripts/sparsehash/2.0.2/patch.diff | 31 + scripts/sparsehash/2.0.2/script.sh | 44 ++ scripts/sqlite/3.14.2/.travis.yml | 45 ++ scripts/sqlite/3.14.2/script.sh | 48 ++ scripts/sqlite/3.8.10.2/.travis.yml | 37 + scripts/sqlite/3.8.10.2/script.sh | 47 ++ scripts/sqlite/3.8.8.1/.travis.yml | 37 + scripts/sqlite/3.8.8.1/script.sh | 46 ++ scripts/sqlite/3.8.8.3/.travis.yml | 42 + scripts/sqlite/3.8.8.3/script.sh | 46 ++ scripts/sqlite/3.9.1/.travis.yml | 38 + scripts/sqlite/3.9.1/script.sh | 48 ++ scripts/sqlite/system/script.sh | 75 ++ scripts/stxxl/1.4.1/.travis.yml | 24 + scripts/stxxl/1.4.1/script.sh | 43 + scripts/stxxl_shared/1.4.1/.travis.yml | 26 + scripts/stxxl_shared/1.4.1/script.sh | 44 ++ scripts/stxxl_shared/1.4.1/test.sh | 31 + scripts/supercluster/0.1.0/.travis.yml | 15 + scripts/supercluster/0.1.0/script.sh | 34 + scripts/supercluster/0.1.1/.travis.yml | 15 + scripts/supercluster/0.1.1/script.sh | 34 + scripts/supercluster/0.2.0/.travis.yml | 15 + scripts/supercluster/0.2.0/script.sh | 34 + scripts/tbb/43_20150316/.travis.yml | 23 + scripts/tbb/43_20150316/patch.diff | 30 + scripts/tbb/43_20150316/script.sh | 87 +++ scripts/tippecanoe/1.9.7/.travis.yml | 25 + scripts/tippecanoe/1.9.7/script.sh | 43 + scripts/tippecanoe/latest/.travis.yml | 25 + scripts/tippecanoe/latest/script.sh | 42 + scripts/unique_resource/dev/.travis.yml | 15 + scripts/unique_resource/dev/script.sh | 35 + scripts/utfcpp/2.3.4/.travis.yml | 22 + scripts/utfcpp/2.3.4/script.sh | 25 + scripts/valgrind/latest/.travis.yml | 24 + scripts/valgrind/latest/script.sh | 46 ++ scripts/variant/1.0/.travis.yml | 15 + scripts/variant/1.0/script.sh | 36 + scripts/variant/1.1.0/.travis.yml | 15 + scripts/variant/1.1.0/script.sh | 36 + scripts/variant/1.1.1/.travis.yml | 15 + scripts/variant/1.1.1/script.sh | 36 + scripts/webp/0.4.2/.travis.yml | 27 + scripts/webp/0.4.2/script.sh | 39 + scripts/webp/0.5.0/.travis.yml | 27 + scripts/webp/0.5.0/script.sh | 71 ++ scripts/webp/0.5.1/.travis.yml | 29 + scripts/webp/0.5.1/script.sh | 71 ++ scripts/zip/3.0.0/.travis.yml | 23 + scripts/zip/3.0.0/script.sh | 28 + scripts/zlib/1.2.8/.travis.yml | 37 + scripts/zlib/1.2.8/script.sh | 42 + scripts/zlib/system/.travis.yml | 44 ++ scripts/zlib/system/script.sh | 81 ++ scripts/zlib/system/test.sh | 135 ++++ test/all.sh | 13 + test/assert.sh | 10 + test/c_build.sh | 8 + test/c_build_android.sh | 8 + test/c_install.sh | 8 + test/c_install_symlink_includes.sh | 27 + test/cpp11_build.sh | 34 + test/cpp11_header_install.sh | 49 ++ test/cpp11_install.sh | 22 + test/unit.sh | 20 + utils/android.sh | 16 + utils/ios.cmake | 136 ++++ utils/toolchain.sh | 12 + 707 files changed, 29942 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 CHANGELOG.md create mode 100644 README.md create mode 100644 cloudformation/travis.template create mode 100644 contributing.md create mode 100755 mason create mode 100644 mason.cmake create mode 100644 mason.sh create mode 100644 scripts/7z/9.20.1/.travis.yml create mode 100755 scripts/7z/9.20.1/script.sh create mode 100755 scripts/Qt/system/script.sh create mode 100644 scripts/afl/2.19b/.travis.yml create mode 100644 scripts/afl/2.19b/script.sh create mode 100644 scripts/android-ndk/arm-9-r10e/.travis.yml create mode 100755 scripts/android-ndk/arm-9-r10e/script.sh create mode 100644 scripts/android-ndk/arm-9-r11c/.travis.yml create mode 100755 scripts/android-ndk/arm-9-r11c/script.sh create mode 100644 scripts/android-ndk/arm-9-r12b/.travis.yml create mode 100755 scripts/android-ndk/arm-9-r12b/script.sh create mode 100644 scripts/android-ndk/arm64-21-r10e-gcc/.travis.yml create mode 100755 scripts/android-ndk/arm64-21-r10e-gcc/script.sh create mode 100644 scripts/android-ndk/arm64-21-r10e/.travis.yml create mode 100755 scripts/android-ndk/arm64-21-r10e/script.sh create mode 100644 scripts/android-ndk/arm64-21-r11c/.travis.yml create mode 100755 scripts/android-ndk/arm64-21-r11c/script.sh create mode 100644 scripts/android-ndk/arm64-21-r12b/.travis.yml create mode 100755 scripts/android-ndk/arm64-21-r12b/script.sh create mode 100644 scripts/android-ndk/mips-9-r10e/.travis.yml create mode 100755 scripts/android-ndk/mips-9-r10e/script.sh create mode 100644 scripts/android-ndk/mips-9-r11c/.travis.yml create mode 100755 scripts/android-ndk/mips-9-r11c/script.sh create mode 100644 scripts/android-ndk/mips-9-r12b/.travis.yml create mode 100755 scripts/android-ndk/mips-9-r12b/script.sh create mode 100644 scripts/android-ndk/mips64-21-r10e/.travis.yml create mode 100755 scripts/android-ndk/mips64-21-r10e/script.sh create mode 100644 scripts/android-ndk/mips64-21-r11c/.travis.yml create mode 100755 scripts/android-ndk/mips64-21-r11c/script.sh create mode 100644 scripts/android-ndk/mips64-21-r12b/.travis.yml create mode 100755 scripts/android-ndk/mips64-21-r12b/script.sh create mode 100644 scripts/android-ndk/x86-9-r10e/.travis.yml create mode 100755 scripts/android-ndk/x86-9-r10e/script.sh create mode 100644 scripts/android-ndk/x86-9-r11c/.travis.yml create mode 100755 scripts/android-ndk/x86-9-r11c/script.sh create mode 100644 scripts/android-ndk/x86-9-r12b/.travis.yml create mode 100755 scripts/android-ndk/x86-9-r12b/script.sh create mode 100644 scripts/android-ndk/x86_64-21-r10e/.travis.yml create mode 100755 scripts/android-ndk/x86_64-21-r10e/script.sh create mode 100644 scripts/android-ndk/x86_64-21-r11c/.travis.yml create mode 100755 scripts/android-ndk/x86_64-21-r11c/script.sh create mode 100644 scripts/android-ndk/x86_64-21-r12b/.travis.yml create mode 100755 scripts/android-ndk/x86_64-21-r12b/script.sh create mode 100644 scripts/benchmark/1.0.0/.travis.yml create mode 100755 scripts/benchmark/1.0.0/script.sh create mode 100644 scripts/binutils/2.26/.travis.yml create mode 100755 scripts/binutils/2.26/script.sh create mode 100644 scripts/boost/1.57.0/.travis.yml create mode 100755 scripts/boost/1.57.0/script.sh create mode 100644 scripts/boost/1.58.0/.travis.yml create mode 100755 scripts/boost/1.58.0/script.sh create mode 100644 scripts/boost/1.59.0/.travis.yml create mode 100755 scripts/boost/1.59.0/script.sh create mode 100644 scripts/boost/1.60.0/.travis.yml create mode 100755 scripts/boost/1.60.0/script.sh create mode 100644 scripts/boost/1.61.0/.travis.yml create mode 100644 scripts/boost/1.61.0/base.sh create mode 100644 scripts/boost/1.61.0/common.sh create mode 100755 scripts/boost/1.61.0/script.sh create mode 100755 scripts/boost/system/script.sh create mode 100644 scripts/boost_liball/1.49.0/.travis.yml create mode 100644 scripts/boost_liball/1.49.0/patch.diff create mode 100755 scripts/boost_liball/1.49.0/script.sh create mode 100644 scripts/boost_liball/1.58.0/.travis.yml create mode 100644 scripts/boost_liball/1.58.0/patch.diff create mode 100755 scripts/boost_liball/1.58.0/script.sh create mode 100644 scripts/boost_liball/1.59.0/.travis.yml create mode 100644 scripts/boost_liball/1.59.0/patch.diff create mode 100755 scripts/boost_liball/1.59.0/script.sh create mode 100644 scripts/boost_liball_osrm/1.59.0/.travis.yml create mode 100644 scripts/boost_liball_osrm/1.59.0/patch.diff create mode 100755 scripts/boost_liball_osrm/1.59.0/script.sh create mode 100644 scripts/boost_libatomic/1.61.0/.travis.yml create mode 100755 scripts/boost_libatomic/1.61.0/script.sh create mode 100644 scripts/boost_libchrono/1.61.0/.travis.yml create mode 100755 scripts/boost_libchrono/1.61.0/script.sh create mode 100644 scripts/boost_libdate_time/1.57.0/.travis.yml create mode 100755 scripts/boost_libdate_time/1.57.0/script.sh create mode 100644 scripts/boost_libdate_time/1.61.0/.travis.yml create mode 100755 scripts/boost_libdate_time/1.61.0/script.sh create mode 100644 scripts/boost_libeverything/1.59.0/.travis.yml create mode 100644 scripts/boost_libeverything/1.59.0/patch.diff create mode 100755 scripts/boost_libeverything/1.59.0/script.sh create mode 100644 scripts/boost_libfilesystem/1.57.0/.travis.yml create mode 100644 scripts/boost_libfilesystem/1.57.0/patch.diff create mode 100755 scripts/boost_libfilesystem/1.57.0/script.sh create mode 100644 scripts/boost_libfilesystem/1.61.0/.travis.yml create mode 100755 scripts/boost_libfilesystem/1.61.0/script.sh create mode 100644 scripts/boost_libiostreams/1.57.0/.travis.yml create mode 100755 scripts/boost_libiostreams/1.57.0/script.sh create mode 100644 scripts/boost_libiostreams/1.61.0/.travis.yml create mode 100755 scripts/boost_libiostreams/1.61.0/script.sh create mode 100644 scripts/boost_libprogram_options/1.57.0/.travis.yml create mode 100755 scripts/boost_libprogram_options/1.57.0/script.sh create mode 100644 scripts/boost_libprogram_options/1.59.0/.travis.yml create mode 100755 scripts/boost_libprogram_options/1.59.0/script.sh create mode 100644 scripts/boost_libprogram_options/1.60.0/.travis.yml create mode 100755 scripts/boost_libprogram_options/1.60.0/script.sh create mode 100644 scripts/boost_libprogram_options/1.61.0/.travis.yml create mode 100755 scripts/boost_libprogram_options/1.61.0/script.sh create mode 100644 scripts/boost_libpython/1.57.0/.travis.yml create mode 100644 scripts/boost_libpython/1.57.0/patch.diff create mode 100755 scripts/boost_libpython/1.57.0/script.sh create mode 100644 scripts/boost_libpython/1.61.0/.travis.yml create mode 100644 scripts/boost_libpython/1.61.0/patch.diff create mode 100755 scripts/boost_libpython/1.61.0/script.sh create mode 100644 scripts/boost_libregex/1.57.0/.travis.yml create mode 100755 scripts/boost_libregex/1.57.0/script.sh create mode 100644 scripts/boost_libregex/1.61.0/.travis.yml create mode 100755 scripts/boost_libregex/1.61.0/script.sh create mode 100644 scripts/boost_libregex_icu/1.61.0/.travis.yml create mode 100755 scripts/boost_libregex_icu/1.61.0/script.sh create mode 100644 scripts/boost_libsystem/1.57.0/.travis.yml create mode 100755 scripts/boost_libsystem/1.57.0/script.sh create mode 100644 scripts/boost_libsystem/1.61.0/.travis.yml create mode 100755 scripts/boost_libsystem/1.61.0/script.sh create mode 100644 scripts/boost_libtest/1.57.0/.travis.yml create mode 100755 scripts/boost_libtest/1.57.0/script.sh create mode 100644 scripts/boost_libtest/1.61.0/.travis.yml create mode 100755 scripts/boost_libtest/1.61.0/script.sh create mode 100644 scripts/boost_libtest_shared/1.57.0/.travis.yml create mode 100755 scripts/boost_libtest_shared/1.57.0/script.sh create mode 100644 scripts/boost_libthread/1.57.0/.travis.yml create mode 100755 scripts/boost_libthread/1.57.0/script.sh create mode 100644 scripts/boost_libthread/1.61.0/.travis.yml create mode 100755 scripts/boost_libthread/1.61.0/script.sh create mode 100644 scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/.travis.yml create mode 100644 scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/boringssl_asm_x86_64_fPIC.diff create mode 100755 scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/script.sh create mode 100644 scripts/bzip2/1.0.6/.travis.yml create mode 100755 scripts/bzip2/1.0.6/script.sh create mode 100644 scripts/cairo/1.12.18/.travis.yml create mode 100644 scripts/cairo/1.12.18/patch.diff create mode 100755 scripts/cairo/1.12.18/script.sh create mode 100644 scripts/cairo/1.14.0/.travis.yml create mode 100644 scripts/cairo/1.14.0/patch.diff create mode 100755 scripts/cairo/1.14.0/script.sh create mode 100644 scripts/cairo/1.14.2/.travis.yml create mode 100644 scripts/cairo/1.14.2/patch.diff create mode 100755 scripts/cairo/1.14.2/script.sh create mode 100644 scripts/cairo/1.14.4/.travis.yml create mode 100644 scripts/cairo/1.14.4/patch.diff create mode 100755 scripts/cairo/1.14.4/script.sh create mode 100644 scripts/ccache/3.2.4/.travis.yml create mode 100755 scripts/ccache/3.2.4/script.sh create mode 100644 scripts/ccache/3.3.0/.travis.yml create mode 100755 scripts/ccache/3.3.0/script.sh create mode 100644 scripts/ccache/3.3.1/.travis.yml create mode 100755 scripts/ccache/3.3.1/script.sh create mode 100644 scripts/clang++/3.8.0/.travis.yml create mode 100755 scripts/clang++/3.8.0/script.sh create mode 100644 scripts/clang++/3.8.1/.travis.yml create mode 100755 scripts/clang++/3.8.1/script.sh create mode 100644 scripts/clang++/3.9.0/.travis.yml create mode 100755 scripts/clang++/3.9.0/script.sh create mode 100755 scripts/clang++/base/common.sh create mode 100644 scripts/clang-format/3.8.0/.travis.yml create mode 100755 scripts/clang-format/3.8.0/script.sh create mode 100644 scripts/clang-format/3.8.1/.travis.yml create mode 100755 scripts/clang-format/3.8.1/script.sh create mode 100644 scripts/clang-format/3.9.0/.travis.yml create mode 100755 scripts/clang-format/3.9.0/script.sh create mode 100755 scripts/clang-format/base/common.sh create mode 100644 scripts/clang-tidy/3.8.0/.travis.yml create mode 100755 scripts/clang-tidy/3.8.0/script.sh create mode 100644 scripts/clang-tidy/3.8.1/.travis.yml create mode 100755 scripts/clang-tidy/3.8.1/script.sh create mode 100755 scripts/clang-tidy/3.8/script.sh create mode 100644 scripts/clang-tidy/3.9.0/.travis.yml create mode 100755 scripts/clang-tidy/3.9.0/script.sh create mode 100755 scripts/clang-tidy/base/common.sh create mode 100644 scripts/clang/3.5.2/.travis.yml create mode 100755 scripts/clang/3.5.2/script.sh create mode 100644 scripts/clang/3.8.0/.travis.yml create mode 100644 scripts/clang/3.8.0/README.md create mode 100755 scripts/clang/3.8.0/script.sh create mode 100644 scripts/cmake/3.2.2/.travis.yml create mode 100755 scripts/cmake/3.2.2/script.sh create mode 100644 scripts/cmake/3.5.2/.travis.yml create mode 100755 scripts/cmake/3.5.2/script.sh create mode 100644 scripts/cmake/3.6.2/.travis.yml create mode 100755 scripts/cmake/3.6.2/script.sh create mode 100644 scripts/earcut/0.10.1/.travis.yml create mode 100755 scripts/earcut/0.10.1/script.sh create mode 100644 scripts/earcut/0.10.2/.travis.yml create mode 100755 scripts/earcut/0.10.2/script.sh create mode 100644 scripts/earcut/0.10.3/.travis.yml create mode 100755 scripts/earcut/0.10.3/script.sh create mode 100644 scripts/earcut/0.10/.travis.yml create mode 100755 scripts/earcut/0.10/script.sh create mode 100644 scripts/earcut/0.11/.travis.yml create mode 100755 scripts/earcut/0.11/script.sh create mode 100644 scripts/earcut/0.12/.travis.yml create mode 100755 scripts/earcut/0.12/script.sh create mode 100644 scripts/earcut/0.9-pool/.travis.yml create mode 100755 scripts/earcut/0.9-pool/script.sh create mode 100644 scripts/earcut/0.9/.travis.yml create mode 100755 scripts/earcut/0.9/script.sh create mode 100644 scripts/expat/2.1.0/.travis.yml create mode 100755 scripts/expat/2.1.0/script.sh create mode 100644 scripts/expat/2.1.1/.travis.yml create mode 100755 scripts/expat/2.1.1/script.sh create mode 100644 scripts/freetype/2.5.4/.travis.yml create mode 100755 scripts/freetype/2.5.4/script.sh create mode 100644 scripts/freetype/2.5.5/.travis.yml create mode 100755 scripts/freetype/2.5.5/script.sh create mode 100644 scripts/freetype/2.6/.travis.yml create mode 100755 scripts/freetype/2.6/script.sh create mode 100644 scripts/gcc/4.9.2-cortex_a9-hf/.travis.yml create mode 100755 scripts/gcc/4.9.2-cortex_a9-hf/script.sh create mode 100755 scripts/gcc/4.9.2-cortex_a9/script.sh create mode 100755 scripts/gcc/4.9.2-i686/script.sh create mode 100755 scripts/gcc/5.3.0-cortex_a9-hf/script.sh create mode 100755 scripts/gcc/5.3.0-cortex_a9-hf/setup.sh create mode 100755 scripts/gcc/5.3.0-cortex_a9-hf/toolchain.cmake create mode 100755 scripts/gcc/5.3.0-cortex_a9-hf/toolchain.sh create mode 100755 scripts/gcc/5.3.0-cortex_a9/script.sh create mode 100755 scripts/gcc/5.3.0-cortex_a9/setup.sh create mode 100755 scripts/gcc/5.3.0-cortex_a9/toolchain.cmake create mode 100755 scripts/gcc/5.3.0-cortex_a9/toolchain.sh create mode 100755 scripts/gcc/5.3.0-i686/script.sh create mode 100755 scripts/gcc/5.3.0-i686/setup.sh create mode 100755 scripts/gcc/5.3.0-i686/toolchain.cmake create mode 100755 scripts/gcc/5.3.0-i686/toolchain.sh create mode 100644 scripts/gdal/1.11.1-big-pants/.travis.yml create mode 100755 scripts/gdal/1.11.1-big-pants/script.sh create mode 100644 scripts/gdal/1.11.1/.travis.yml create mode 100644 scripts/gdal/1.11.1/patch.diff create mode 100755 scripts/gdal/1.11.1/script.sh create mode 100644 scripts/gdal/1.11.2/.travis.yml create mode 100644 scripts/gdal/1.11.2/patch.diff create mode 100755 scripts/gdal/1.11.2/script.sh create mode 100644 scripts/gdal/2.0.2/.travis.yml create mode 100644 scripts/gdal/2.0.2/patch.diff create mode 100755 scripts/gdal/2.0.2/script.sh create mode 100644 scripts/gdal/2.1.1/.travis.yml create mode 100644 scripts/gdal/2.1.1/patch.diff create mode 100755 scripts/gdal/2.1.1/script.sh create mode 100644 scripts/gdal/dev/.travis.yml create mode 100755 scripts/gdal/dev/script.sh create mode 100644 scripts/geojson/0.1.1-cxx03abi/.travis.yml create mode 100755 scripts/geojson/0.1.1-cxx03abi/script.sh create mode 100644 scripts/geojson/0.1.2-cxx03abi/.travis.yml create mode 100755 scripts/geojson/0.1.2-cxx03abi/script.sh create mode 100644 scripts/geojson/0.1.3-cxx03abi/.travis.yml create mode 100755 scripts/geojson/0.1.3-cxx03abi/script.sh create mode 100644 scripts/geojson/0.1.3/.travis.yml create mode 100755 scripts/geojson/0.1.3/script.sh create mode 100644 scripts/geojson/0.1.4-cxx03abi/.travis.yml create mode 100755 scripts/geojson/0.1.4-cxx03abi/script.sh create mode 100755 scripts/geojson/0.1.4-cxx11abi/script.sh create mode 100644 scripts/geojson/0.1.4/.travis.yml create mode 100755 scripts/geojson/0.1.4/script.sh create mode 100644 scripts/geojson/0.2.0/.travis.yml create mode 100755 scripts/geojson/0.2.0/script.sh create mode 100644 scripts/geojson/0.3.0/.travis.yml create mode 100755 scripts/geojson/0.3.0/script.sh create mode 100644 scripts/geojson/0.3.1-hpp/.travis.yml create mode 100755 scripts/geojson/0.3.1-hpp/script.sh create mode 100644 scripts/geojson/0.3.1/.travis.yml create mode 100755 scripts/geojson/0.3.1/script.sh create mode 100644 scripts/geojson/0.3.2-hpp/.travis.yml create mode 100755 scripts/geojson/0.3.2-hpp/script.sh create mode 100644 scripts/geojson/0.3.2/.travis.yml create mode 100755 scripts/geojson/0.3.2/script.sh create mode 100644 scripts/geojsonvt/1.1.0/.travis.yml create mode 100755 scripts/geojsonvt/1.1.0/script.sh create mode 100644 scripts/geojsonvt/2.1.0/.travis.yml create mode 100755 scripts/geojsonvt/2.1.0/script.sh create mode 100644 scripts/geojsonvt/2.1.6.1/.travis.yml create mode 100755 scripts/geojsonvt/2.1.6.1/script.sh create mode 100644 scripts/geojsonvt/2.1.6.2/.travis.yml create mode 100755 scripts/geojsonvt/2.1.6.2/script.sh create mode 100644 scripts/geojsonvt/2.1.6.3/.travis.yml create mode 100755 scripts/geojsonvt/2.1.6.3/script.sh create mode 100644 scripts/geojsonvt/2.1.6/.travis.yml create mode 100755 scripts/geojsonvt/2.1.6/script.sh create mode 100644 scripts/geojsonvt/3.0.0/.travis.yml create mode 100755 scripts/geojsonvt/3.0.0/script.sh create mode 100644 scripts/geojsonvt/3.0.1/.travis.yml create mode 100755 scripts/geojsonvt/3.0.1/script.sh create mode 100644 scripts/geojsonvt/3.1.0/.travis.yml create mode 100755 scripts/geojsonvt/3.1.0/script.sh create mode 100644 scripts/geojsonvt/4.0.0/.travis.yml create mode 100755 scripts/geojsonvt/4.0.0/script.sh create mode 100644 scripts/geojsonvt/4.1.0/.travis.yml create mode 100755 scripts/geojsonvt/4.1.0/script.sh create mode 100644 scripts/geojsonvt/4.1.2-cxx11abi/.travis.yml create mode 100755 scripts/geojsonvt/4.1.2-cxx11abi/script.sh create mode 100644 scripts/geojsonvt/4.1.2/.travis.yml create mode 100755 scripts/geojsonvt/4.1.2/script.sh create mode 100644 scripts/geojsonvt/5.0.0/.travis.yml create mode 100755 scripts/geojsonvt/5.0.0/script.sh create mode 100644 scripts/geojsonvt/6.0.0-pre1/.travis.yml create mode 100755 scripts/geojsonvt/6.0.0-pre1/script.sh create mode 100644 scripts/geojsonvt/6.0.0/.travis.yml create mode 100755 scripts/geojsonvt/6.0.0/script.sh create mode 100644 scripts/geojsonvt/6.1.0/.travis.yml create mode 100755 scripts/geojsonvt/6.1.0/script.sh create mode 100644 scripts/geojsonvt/6.1.1/.travis.yml create mode 100644 scripts/geojsonvt/6.1.1/script.sh create mode 100644 scripts/geojsonvt/6.1.2/.travis.yml create mode 100644 scripts/geojsonvt/6.1.2/script.sh create mode 100644 scripts/geojsonvt/6.1.3/.travis.yml create mode 100644 scripts/geojsonvt/6.1.3/script.sh create mode 100644 scripts/geometry/0.1.0/.travis.yml create mode 100644 scripts/geometry/0.1.0/script.sh create mode 100644 scripts/geometry/0.2.0/.travis.yml create mode 100644 scripts/geometry/0.2.0/script.sh create mode 100644 scripts/geometry/0.3.0/.travis.yml create mode 100644 scripts/geometry/0.3.0/script.sh create mode 100644 scripts/geometry/0.4.0/.travis.yml create mode 100644 scripts/geometry/0.4.0/script.sh create mode 100644 scripts/geometry/0.5.0/.travis.yml create mode 100644 scripts/geometry/0.5.0/script.sh create mode 100644 scripts/geometry/0.6.0/.travis.yml create mode 100644 scripts/geometry/0.6.0/script.sh create mode 100644 scripts/geometry/0.7.0/.travis.yml create mode 100644 scripts/geometry/0.7.0/script.sh create mode 100644 scripts/geometry/0.8.0/.travis.yml create mode 100644 scripts/geometry/0.8.0/script.sh create mode 100644 scripts/geometry/0.8.1/.travis.yml create mode 100644 scripts/geometry/0.8.1/script.sh create mode 100644 scripts/geos/3.4.2/.travis.yml create mode 100644 scripts/geos/3.4.2/patch.diff create mode 100755 scripts/geos/3.4.2/script.sh create mode 100644 scripts/geos/3.5.0/.travis.yml create mode 100644 scripts/geos/3.5.0/patch.diff create mode 100755 scripts/geos/3.5.0/script.sh create mode 100644 scripts/geowave-jace/0.8.7/.travis.yml create mode 100755 scripts/geowave-jace/0.8.7/script.sh create mode 100644 scripts/glfw/3.1.2/.travis.yml create mode 100755 scripts/glfw/3.1.2/script.sh create mode 100644 scripts/glfw/3.2.1/.travis.yml create mode 100755 scripts/glfw/3.2.1/script.sh create mode 100755 scripts/gtest/1.7.0-cxx11abi/script.sh create mode 100644 scripts/gtest/1.7.0/.travis.yml create mode 100755 scripts/gtest/1.7.0/script.sh create mode 100644 scripts/gtest/1.8.0/.travis.yml create mode 100755 scripts/gtest/1.8.0/script.sh create mode 100644 scripts/harfbuzz/0.9.40/.travis.yml create mode 100644 scripts/harfbuzz/0.9.40/patch.diff create mode 100755 scripts/harfbuzz/0.9.40/script.sh create mode 100644 scripts/harfbuzz/0.9.41/.travis.yml create mode 100644 scripts/harfbuzz/0.9.41/patch.diff create mode 100755 scripts/harfbuzz/0.9.41/script.sh create mode 100644 scripts/harfbuzz/1.1.2/.travis.yml create mode 100755 scripts/harfbuzz/1.1.2/script.sh create mode 100644 scripts/harfbuzz/1.2.1/.travis.yml create mode 100755 scripts/harfbuzz/1.2.1/script.sh create mode 100644 scripts/harfbuzz/1.2.6/.travis.yml create mode 100755 scripts/harfbuzz/1.2.6/script.sh create mode 100644 scripts/harfbuzz/2cd5323531dcd800549b2cb1cb51d708e72ab2d8/.travis.yml create mode 100755 scripts/harfbuzz/2cd5323531dcd800549b2cb1cb51d708e72ab2d8/script.sh create mode 100644 scripts/hpp_skel/0.0.1/.travis.yml create mode 100755 scripts/hpp_skel/0.0.1/script.sh create mode 100644 scripts/hpp_skel/0.0.2/.travis.yml create mode 100755 scripts/hpp_skel/0.0.2/script.sh create mode 100644 scripts/hpp_skel/1.0.0/.travis.yml create mode 100755 scripts/hpp_skel/1.0.0/script.sh create mode 100644 scripts/iconv/system/.travis.yml create mode 100755 scripts/iconv/system/script.sh create mode 100644 scripts/icu/54.1/.travis.yml create mode 100755 scripts/icu/54.1/script.sh create mode 100644 scripts/icu/55.1/.travis.yml create mode 100755 scripts/icu/55.1/script.sh create mode 100644 scripts/icu/latest/.travis.yml create mode 100755 scripts/icu/latest/script.sh create mode 100644 scripts/iojs/1.2.0/.travis.yml create mode 100755 scripts/iojs/1.2.0/script.sh create mode 100644 scripts/iojs/2.0.1/.travis.yml create mode 100755 scripts/iojs/2.0.1/script.sh create mode 100644 scripts/jemalloc/4.2.1/.travis.yml create mode 100755 scripts/jemalloc/4.2.1/script.sh create mode 100644 scripts/jni.hpp/1.0.0/.travis.yml create mode 100755 scripts/jni.hpp/1.0.0/script.sh create mode 100644 scripts/jni.hpp/2.0.0/.travis.yml create mode 100755 scripts/jni.hpp/2.0.0/script.sh create mode 100644 scripts/jpeg/v9a/.travis.yml create mode 100755 scripts/jpeg/v9a/script.sh create mode 100644 scripts/jpeg_turbo/1.4.0/.travis.yml create mode 100755 scripts/jpeg_turbo/1.4.0/script.sh create mode 100644 scripts/jpeg_turbo/1.4.2/.travis.yml create mode 100755 scripts/jpeg_turbo/1.4.2/script.sh create mode 100644 scripts/js-number-to-string/1.0.2/.travis.yml create mode 100755 scripts/js-number-to-string/1.0.2/script.sh create mode 100644 scripts/js-number-to-string/1.0.3/.travis.yml create mode 100755 scripts/js-number-to-string/1.0.3/script.sh create mode 100644 scripts/kdbush/0.1.0/.travis.yml create mode 100644 scripts/kdbush/0.1.0/script.sh create mode 100644 scripts/kdbush/0.1.1/.travis.yml create mode 100644 scripts/kdbush/0.1.1/script.sh create mode 100644 scripts/lcov/1.12/.travis.yml create mode 100755 scripts/lcov/1.12/script.sh create mode 100644 scripts/leveldb/a7bff69/.travis.yml create mode 100644 scripts/leveldb/a7bff69/script.sh create mode 100644 scripts/libcrypto/1.0.1p/.travis.yml create mode 100755 scripts/libcrypto/1.0.1p/script.sh create mode 100644 scripts/libcurl/7.38.0-boringssl/.travis.yml create mode 100644 scripts/libcurl/7.38.0-boringssl/openssl.patch create mode 100755 scripts/libcurl/7.38.0-boringssl/script.sh create mode 100644 scripts/libcurl/7.38.0-boringssl/temp.txt create mode 100644 scripts/libcurl/7.40.0/.travis.yml create mode 100755 scripts/libcurl/7.40.0/script.sh create mode 100644 scripts/libcurl/7.45.0/.travis.yml create mode 100755 scripts/libcurl/7.45.0/script.sh create mode 100755 scripts/libcurl/system/script.sh create mode 100644 scripts/libjpeg-turbo/1.4.2/.travis.yml create mode 100755 scripts/libjpeg-turbo/1.4.2/script.sh create mode 100644 scripts/libjpeg-turbo/1.5.0/.travis.yml create mode 100755 scripts/libjpeg-turbo/1.5.0/script.sh create mode 100644 scripts/libosmium/2.6.1/.travis.yml create mode 100755 scripts/libosmium/2.6.1/script.sh create mode 100644 scripts/libosmium/2.7.2/.travis.yml create mode 100755 scripts/libosmium/2.7.2/script.sh create mode 100644 scripts/libosmium/2.8.0/.travis.yml create mode 100755 scripts/libosmium/2.8.0/script.sh create mode 100644 scripts/libpng/1.6.16/.travis.yml create mode 100755 scripts/libpng/1.6.16/script.sh create mode 100644 scripts/libpng/1.6.17/.travis.yml create mode 100755 scripts/libpng/1.6.17/script.sh create mode 100644 scripts/libpng/1.6.18/.travis.yml create mode 100755 scripts/libpng/1.6.18/script.sh create mode 100644 scripts/libpng/1.6.20/.travis.yml create mode 100755 scripts/libpng/1.6.20/script.sh create mode 100644 scripts/libpng/1.6.21/.travis.yml create mode 100755 scripts/libpng/1.6.21/script.sh create mode 100644 scripts/libpng/1.6.25/.travis.yml create mode 100755 scripts/libpng/1.6.25/script.sh create mode 100755 scripts/libpng/system/script.sh create mode 100644 scripts/libpq/9.4.0/.travis.yml create mode 100644 scripts/libpq/9.4.0/patch.diff create mode 100755 scripts/libpq/9.4.0/script.sh create mode 100644 scripts/libpq/9.4.1/.travis.yml create mode 100644 scripts/libpq/9.4.1/patch.diff create mode 100755 scripts/libpq/9.4.1/script.sh create mode 100644 scripts/libpq/9.5.2/.travis.yml create mode 100644 scripts/libpq/9.5.2/patch.diff create mode 100755 scripts/libpq/9.5.2/script.sh create mode 100644 scripts/libtiff/4.0.4beta/.travis.yml create mode 100755 scripts/libtiff/4.0.4beta/script.sh create mode 100644 scripts/libtiff/4.0.6/.travis.yml create mode 100755 scripts/libtiff/4.0.6/script.sh create mode 100644 scripts/libtiff/46346a6b570b6084be53063216fbd2825d311675/.travis.yml create mode 100755 scripts/libtiff/46346a6b570b6084be53063216fbd2825d311675/script.sh create mode 100644 scripts/libuv/0.10.28/.travis.yml create mode 100755 scripts/libuv/0.10.28/script.sh create mode 100644 scripts/libuv/0.10.33/.travis.yml create mode 100755 scripts/libuv/0.10.33/script.sh create mode 100644 scripts/libuv/0.10.36/.travis.yml create mode 100755 scripts/libuv/0.10.36/script.sh create mode 100644 scripts/libuv/0.11.29/.travis.yml create mode 100755 scripts/libuv/0.11.29/script.sh create mode 100644 scripts/libuv/1.4.0/.travis.yml create mode 100755 scripts/libuv/1.4.0/script.sh create mode 100644 scripts/libuv/1.6.1/.travis.yml create mode 100755 scripts/libuv/1.6.1/script.sh create mode 100644 scripts/libuv/1.7.5/.travis.yml create mode 100755 scripts/libuv/1.7.5/script.sh create mode 100644 scripts/libuv/1.9.1/.travis.yml create mode 100755 scripts/libuv/1.9.1/script.sh create mode 100644 scripts/libxml2/2.9.2/.travis.yml create mode 100755 scripts/libxml2/2.9.2/script.sh create mode 100644 scripts/libxml2/2.9.3/.travis.yml create mode 100755 scripts/libxml2/2.9.3/script.sh create mode 100644 scripts/libzip/0.11.2/.travis.yml create mode 100755 scripts/libzip/0.11.2/script.sh create mode 100644 scripts/libzip/1.0.1/.travis.yml create mode 100755 scripts/libzip/1.0.1/script.sh create mode 100644 scripts/libzip/1.1.3/.travis.yml create mode 100755 scripts/libzip/1.1.3/script.sh create mode 100644 scripts/lldb/3.9.0/.travis.yml create mode 100755 scripts/lldb/3.9.0/script.sh create mode 100755 scripts/lldb/base/common.sh create mode 100644 scripts/llvm-cov/3.9.0/.travis.yml create mode 100755 scripts/llvm-cov/3.9.0/script.sh create mode 100755 scripts/llvm-cov/base/common.sh create mode 100644 scripts/llvm/3.8.1/.travis.yml create mode 100644 scripts/llvm/3.8.1/README.md create mode 100755 scripts/llvm/3.8.1/script.sh create mode 100644 scripts/llvm/3.9.0/.travis.yml create mode 100644 scripts/llvm/3.9.0/README.md create mode 100755 scripts/llvm/3.9.0/script.sh create mode 100644 scripts/llvm/4.x/.travis.yml create mode 100644 scripts/llvm/4.x/README.md create mode 100755 scripts/llvm/4.x/script.sh create mode 100755 scripts/llvm/base/common.sh create mode 100644 scripts/lua/5.1.0/.travis.yml create mode 100755 scripts/lua/5.1.0/script.sh create mode 100644 scripts/lua/5.2.4/.travis.yml create mode 100644 scripts/lua/5.2.4/patch.diff create mode 100755 scripts/lua/5.2.4/script.sh create mode 100644 scripts/lua/5.3.0/.travis.yml create mode 100755 scripts/lua/5.3.0/script.sh create mode 100644 scripts/luabind/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml create mode 100755 scripts/luabind/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh create mode 100644 scripts/luabind_lua51/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml create mode 100755 scripts/luabind_lua51/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh create mode 100644 scripts/luabind_lua524/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml create mode 100755 scripts/luabind_lua524/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh create mode 100644 scripts/luabind_luajit2.0.3/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml create mode 100755 scripts/luabind_luajit2.0.3/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh create mode 100644 scripts/luajit/2.0.3/.travis.yml create mode 100755 scripts/luajit/2.0.3/script.sh create mode 100644 scripts/mapnik/3.0.0-rc2/.travis.yml create mode 100755 scripts/mapnik/3.0.0-rc2/script.sh create mode 100644 scripts/mapnik/3.0.0-rc3/.travis.yml create mode 100755 scripts/mapnik/3.0.0-rc3/script.sh create mode 100644 scripts/mapnik/3.0.0/.travis.yml create mode 100755 scripts/mapnik/3.0.0/script.sh create mode 100644 scripts/mapnik/dev/.travis.yml create mode 100755 scripts/mapnik/dev/script.sh create mode 100644 scripts/mapnik/geom/.travis.yml create mode 100755 scripts/mapnik/geom/script.sh create mode 100644 scripts/mapnik/latest/.travis.yml create mode 100755 scripts/mapnik/latest/script.sh create mode 100644 scripts/mesa/10.3.5/.travis.yml create mode 100755 scripts/mesa/10.3.5/script.sh create mode 100644 scripts/mesa/10.4.3/.travis.yml create mode 100755 scripts/mesa/10.4.3/script.sh create mode 100644 scripts/mesa/10.5.4-dbg/.travis.yml create mode 100644 scripts/mesa/10.5.4-dbg/circle.yml create mode 100755 scripts/mesa/10.5.4-dbg/script.sh create mode 100644 scripts/mesa/10.5.4/.travis.yml create mode 100644 scripts/mesa/10.5.4/circle.yml create mode 100755 scripts/mesa/10.5.4/script.sh create mode 100644 scripts/mesa/11.2.2/.travis.yml create mode 100755 scripts/mesa/11.2.2/script.sh create mode 100644 scripts/minjur/a2c9dc871369432c7978718834dac487c0591bd6/.travis.yml create mode 100755 scripts/minjur/a2c9dc871369432c7978718834dac487c0591bd6/script.sh create mode 100644 scripts/minjur/feac70472f46c3145b6bdf7a02fdc37777828318/.travis.yml create mode 100755 scripts/minjur/feac70472f46c3145b6bdf7a02fdc37777828318/script.sh create mode 100644 scripts/minjur/latest/.travis.yml create mode 100755 scripts/minjur/latest/script.sh create mode 100644 scripts/nasm/2.11.06/.travis.yml create mode 100755 scripts/nasm/2.11.06/script.sh create mode 100644 scripts/ninja/1.7.1/.travis.yml create mode 100755 scripts/ninja/1.7.1/script.sh create mode 100644 scripts/node/0.10.35/.travis.yml create mode 100755 scripts/node/0.10.35/script.sh create mode 100644 scripts/node/0.10.36/.travis.yml create mode 100755 scripts/node/0.10.36/script.sh create mode 100644 scripts/node/0.12.0/.travis.yml create mode 100755 scripts/node/0.12.0/script.sh create mode 100644 scripts/node_asan/4.4.4/.travis.yml create mode 100644 scripts/node_asan/4.4.4/script.sh create mode 100644 scripts/node_asan/4.4.5/.travis.yml create mode 100644 scripts/node_asan/4.4.5/script.sh create mode 100644 scripts/node_tsan/4.4.5/.travis.yml create mode 100644 scripts/node_tsan/4.4.5/script.sh create mode 100644 scripts/nunicode/1.5.1/.travis.yml create mode 100755 scripts/nunicode/1.5.1/script.sh create mode 100644 scripts/nunicode/1.6/.travis.yml create mode 100755 scripts/nunicode/1.6/script.sh create mode 100644 scripts/nunicode/1.7.1/.travis.yml create mode 100755 scripts/nunicode/1.7.1/script.sh create mode 100644 scripts/openssl/1.0.1l/.travis.yml create mode 100755 scripts/openssl/1.0.1l/script.sh create mode 100644 scripts/openssl/1.0.1p/.travis.yml create mode 100755 scripts/openssl/1.0.1p/script.sh create mode 100644 scripts/openssl/1.0.2/.travis.yml create mode 100755 scripts/openssl/1.0.2/script.sh create mode 100644 scripts/openssl/1.0.2d/.travis.yml create mode 100755 scripts/openssl/1.0.2d/script.sh create mode 100644 scripts/openswr-mesa/11.0-openswr/.travis.yml create mode 100644 scripts/openswr-mesa/11.0-openswr/circle.yml create mode 100755 scripts/openswr-mesa/11.0-openswr/script.sh create mode 100644 scripts/osm2pgsql/0.87.2/.travis.yml create mode 100644 scripts/osm2pgsql/0.87.2/patch.diff create mode 100755 scripts/osm2pgsql/0.87.2/script.sh create mode 100644 scripts/osm2pgsql/0.88.1/.travis.yml create mode 100644 scripts/osm2pgsql/0.88.1/patch.diff create mode 100755 scripts/osm2pgsql/0.88.1/script.sh create mode 100644 scripts/osmium-tool/1.0.0/.travis.yml create mode 100755 scripts/osmium-tool/1.0.0/script.sh create mode 100644 scripts/osmium-tool/1.3.0/.travis.yml create mode 100755 scripts/osmium-tool/1.3.0/script.sh create mode 100644 scripts/osmium-tool/1.3.1/.travis.yml create mode 100755 scripts/osmium-tool/1.3.1/script.sh create mode 100644 scripts/osmium-tool/latest/.travis.yml create mode 100644 scripts/osmium-tool/latest/script.sh create mode 100644 scripts/osmpbf/1.3.3/.travis.yml create mode 100755 scripts/osmpbf/1.3.3/script.sh create mode 100644 scripts/osrm/0.4.1/.travis.yml create mode 100755 scripts/osrm/0.4.1/script.sh create mode 100644 scripts/parallel/20160422/.travis.yml create mode 100755 scripts/parallel/20160422/script.sh create mode 100644 scripts/pixelmatch/0.10.0/.travis.yml create mode 100755 scripts/pixelmatch/0.10.0/script.sh create mode 100644 scripts/pixelmatch/0.9.0/.travis.yml create mode 100755 scripts/pixelmatch/0.9.0/script.sh create mode 100644 scripts/pixman/0.32.6/.travis.yml create mode 100755 scripts/pixman/0.32.6/script.sh create mode 100644 scripts/postgis/2.2.2/.travis.yml create mode 100755 scripts/postgis/2.2.2/script.sh create mode 100755 scripts/postgis/2.2.2/test.sh create mode 100644 scripts/postgres/9.5.2/.travis.yml create mode 100644 scripts/postgres/9.5.2/patch.diff create mode 100755 scripts/postgres/9.5.2/script.sh create mode 100644 scripts/proj/4.8.0/.travis.yml create mode 100755 scripts/proj/4.8.0/script.sh create mode 100644 scripts/proj/4.9.2/.travis.yml create mode 100755 scripts/proj/4.9.2/script.sh create mode 100644 scripts/protobuf/2.6.1/.travis.yml create mode 100755 scripts/protobuf/2.6.1/script.sh create mode 100644 scripts/protobuf/3.0.0/.travis.yml create mode 100755 scripts/protobuf/3.0.0/script.sh create mode 100644 scripts/protobuf_c/1.1.0/.travis.yml create mode 100755 scripts/protobuf_c/1.1.0/script.sh create mode 100644 scripts/protozero/1.3.0/.travis.yml create mode 100644 scripts/protozero/1.3.0/script.sh create mode 100644 scripts/protozero/1.4.0/.travis.yml create mode 100644 scripts/protozero/1.4.0/script.sh create mode 100644 scripts/protozero/1.4.2/.travis.yml create mode 100644 scripts/protozero/1.4.2/script.sh create mode 100644 scripts/ragel/6.9/.travis.yml create mode 100755 scripts/ragel/6.9/script.sh create mode 100644 scripts/rapidjson/1.0.2/.travis.yml create mode 100755 scripts/rapidjson/1.0.2/script.sh create mode 100644 scripts/rapidjson/1.1.0/.travis.yml create mode 100755 scripts/rapidjson/1.1.0/script.sh create mode 100644 scripts/rapidjson/2016-07-20-369de87/.travis.yml create mode 100755 scripts/rapidjson/2016-07-20-369de87/script.sh create mode 100755 scripts/setup_cpp11_toolchain.sh create mode 100644 scripts/shelf-pack/1.0.0/.travis.yml create mode 100755 scripts/shelf-pack/1.0.0/script.sh create mode 100644 scripts/snappy/32d6d7d/.travis.yml create mode 100644 scripts/snappy/32d6d7d/script.sh create mode 100644 scripts/sparsehash/2.0.2/.travis.yml create mode 100644 scripts/sparsehash/2.0.2/patch.diff create mode 100755 scripts/sparsehash/2.0.2/script.sh create mode 100644 scripts/sqlite/3.14.2/.travis.yml create mode 100755 scripts/sqlite/3.14.2/script.sh create mode 100644 scripts/sqlite/3.8.10.2/.travis.yml create mode 100755 scripts/sqlite/3.8.10.2/script.sh create mode 100644 scripts/sqlite/3.8.8.1/.travis.yml create mode 100755 scripts/sqlite/3.8.8.1/script.sh create mode 100644 scripts/sqlite/3.8.8.3/.travis.yml create mode 100755 scripts/sqlite/3.8.8.3/script.sh create mode 100644 scripts/sqlite/3.9.1/.travis.yml create mode 100755 scripts/sqlite/3.9.1/script.sh create mode 100755 scripts/sqlite/system/script.sh create mode 100644 scripts/stxxl/1.4.1/.travis.yml create mode 100755 scripts/stxxl/1.4.1/script.sh create mode 100644 scripts/stxxl_shared/1.4.1/.travis.yml create mode 100755 scripts/stxxl_shared/1.4.1/script.sh create mode 100755 scripts/stxxl_shared/1.4.1/test.sh create mode 100644 scripts/supercluster/0.1.0/.travis.yml create mode 100644 scripts/supercluster/0.1.0/script.sh create mode 100644 scripts/supercluster/0.1.1/.travis.yml create mode 100644 scripts/supercluster/0.1.1/script.sh create mode 100644 scripts/supercluster/0.2.0/.travis.yml create mode 100644 scripts/supercluster/0.2.0/script.sh create mode 100644 scripts/tbb/43_20150316/.travis.yml create mode 100644 scripts/tbb/43_20150316/patch.diff create mode 100755 scripts/tbb/43_20150316/script.sh create mode 100644 scripts/tippecanoe/1.9.7/.travis.yml create mode 100755 scripts/tippecanoe/1.9.7/script.sh create mode 100644 scripts/tippecanoe/latest/.travis.yml create mode 100644 scripts/tippecanoe/latest/script.sh create mode 100644 scripts/unique_resource/dev/.travis.yml create mode 100644 scripts/unique_resource/dev/script.sh create mode 100644 scripts/utfcpp/2.3.4/.travis.yml create mode 100644 scripts/utfcpp/2.3.4/script.sh create mode 100644 scripts/valgrind/latest/.travis.yml create mode 100755 scripts/valgrind/latest/script.sh create mode 100644 scripts/variant/1.0/.travis.yml create mode 100755 scripts/variant/1.0/script.sh create mode 100644 scripts/variant/1.1.0/.travis.yml create mode 100755 scripts/variant/1.1.0/script.sh create mode 100644 scripts/variant/1.1.1/.travis.yml create mode 100755 scripts/variant/1.1.1/script.sh create mode 100644 scripts/webp/0.4.2/.travis.yml create mode 100755 scripts/webp/0.4.2/script.sh create mode 100644 scripts/webp/0.5.0/.travis.yml create mode 100755 scripts/webp/0.5.0/script.sh create mode 100644 scripts/webp/0.5.1/.travis.yml create mode 100755 scripts/webp/0.5.1/script.sh create mode 100644 scripts/zip/3.0.0/.travis.yml create mode 100755 scripts/zip/3.0.0/script.sh create mode 100644 scripts/zlib/1.2.8/.travis.yml create mode 100755 scripts/zlib/1.2.8/script.sh create mode 100644 scripts/zlib/system/.travis.yml create mode 100755 scripts/zlib/system/script.sh create mode 100755 scripts/zlib/system/test.sh create mode 100755 test/all.sh create mode 100755 test/assert.sh create mode 100755 test/c_build.sh create mode 100755 test/c_build_android.sh create mode 100755 test/c_install.sh create mode 100755 test/c_install_symlink_includes.sh create mode 100755 test/cpp11_build.sh create mode 100755 test/cpp11_header_install.sh create mode 100755 test/cpp11_install.sh create mode 100755 test/unit.sh create mode 100755 utils/android.sh create mode 100644 utils/ios.cmake create mode 100644 utils/toolchain.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..2f08960af --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +mason_packages diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..c208970af --- /dev/null +++ b/.travis.yml @@ -0,0 +1,23 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode8 + compiler: clang + - os: linux + sudo: false + +install: +- | + if [[ ${MASON_PLATFORM:-unset} == 'unset' ]] || [[ ${MASON_PLATFORM} == 'osx' ]] || [[ ${MASON_PLATFORM} == 'linux' ]]; then + echo "Installing clang for OSX/Linux via 'install' target" + source utils/toolchain.sh + which ${CC} + ${CC} -v + which ${CXX} + ${CXX} -v + fi + +script: +- ./test/all.sh diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..5c5bb119e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ + +## 0.1.0 + - First versioned release \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 000000000..8c811ce20 --- /dev/null +++ b/README.md @@ -0,0 +1,379 @@ +# Mason + +Mason can compile C/C++ code, publish packages to S3, and install those packages via binaries. + +Mason does all its work locally inside `./mason_packages` and therefore does not require privileges for, or conflict with, system-wide packages. + +Mason works on both OS X and Linux. + +[![Build Status](https://travis-ci.org/mapbox/mason.svg?branch=master)](https://travis-ci.org/mapbox/mason) + +### Goals + +Mason is a package manager designed for developers who package standalone applications and who need complete control over dependency versions. + +Because Mason is developed by Mapbox the default S3 bucket and set of available packages are driven by Mapbox developers. For other developers: 1) fork Mason and ideally rename it to something like `mason-{yourorg}`, 2) configure it against your own s3 bucket, and 3) go ahead an publish your own packages to an S3 bucket of your creation. + +### Comparisons + +Mason is like [npm](https://github.com/npm/npm) because it installs packages in the current working directory (`./mason_packages`) rather than globally. + +Mason is like [homebrew](http://brew.sh/) because it requires no use of `sudo` to install packages. + +Mason is like linux package managers like `apt-get` or `yum` because it works on linux. + +Mason is unlike all of the above package managers because: + + - Mason runs on both Linux and OS X and creates a single set of binaries that work on >= OS X 10.8 and >= Ubuntu Precise (rather than building binaries per version). + - Mason strongly prefers static libraries over shared libraries + - Mason has zero understanding of dependency trees: it leaves complete control to the developer for how packages relate. + - Mason does not depend on any specific runtime language (like python, node.js or ruby). It is a just a few bash scripts. + - Mason depends on [travis.ci](https://travis-ci.org) for creating and publishing binaries. + +## Installation + +#### Symlink + +You need to install Mason to your user directory into `~/.mason`. + +```bash +git clone -b master --single-branch https://github.com/mapbox/mason.git ~/.mason +sudo ln -s ~/.mason/mason /usr/local/bin/mason +``` + +The second line is optional. + +#### Submodule + +Mason can be added a submodule to your repository instead of creating a global symlink. This is helpful for other contributors to get set up quickly. Make sure to include the final part of the following command `.mason/` so your submodule path has the leading `.` instead of just being `mason/`. + +```bash +git submodule add git@github.com:mapbox/mason.git .mason/ +``` + +This will append a few lines to your `.gitmodules` file. Make sure to change the `url` parameter to `https` instead of `git@github` ssh protocol. + +``` +[submodule ".mason"] + path = .mason + url = https://github.com/mapbox/mason.git +``` + +Update your `Makefile` to point to the mason scripts and provide an installation script for the necessary dependencies. The following installs two Mason packages with the `make mason_packages` command. + +```Make +MASON ?= .mason/mason + +$(MASON): + git submodule update --init + +mason_packages: $(MASON) + $(MASON) install geometry.hpp 0.7.0 + $(MASON) install variant 1.1.0 +``` + +## Usage + +Most commands are structured like this: + +```bash +mason +``` + +The `command` can be one of the following + +* `install`: Installs the specified library/version +* `remove`: Removes the specified library/version +* `build`: Forces a build from source (= skip pre-built binary detection) +* `publish`: Uploads the built binaries to the S3 bucket +* `prefix`: Prints the absolute path to the library installation directory +* `version`: Prints the actual version of the library (only useful when version is `system`) +* `cflags`: Prints C/C++ compiler flags +* `ldflags`: Prints linker flags +* `link`: Creates symlinks for packages in `mason_packages/.link` +* `trigger`: Trigger a build and publish operation on Travis CI + +### `install` + +```bash +$ mason install libuv 0.11.29 +* Downloading binary package osx-10.10/libuv/0.11.29.tar.gz... +######################################################################## 100.0% +* Installed binary package at /Users/user/mason_packages/osx-10.10/libuv/0.11.29 +``` + +Installs [libuv](https://github.com/joyent/libuv) into the current folder in the `mason_packages` directory. Libraries are versioned by platform and version number, so you can install several different versions of the same library along each other. Similarly, you can also install libraries for different platforms alongside each other, for example library binaries for OS X and iOS. + +The `install` command first checks if the specified library/version is already present for this platform, and if so, exits. This means you can run it multiple times (e.g. as part of a configuration script) without doing unnecessary work. + +Next, Mason checks whether there are pre-built binaries available in the S3 bucket for the current platform. If that is the case, they are downloaded and unzipped and the installation is complete. + +If no pre-built binaries are available, Mason is going to build the library according to the script in the `mason_packages/.build` folder, and install into the platform- and library-specific directory. + + +### `remove` + +```bash +$ mason remove libuv 0.11.29 +* Removing existing package... +/Users/user/mason_packages/osx-10.10/libuv/0.11.29/include/uv-darwin.h +[...] +/Users/user/mason_packages/osx-10.10/libuv/0.11.29 +``` + +Removes the specified library/version from the package directory. + +### `build` + +This command works like the `install` command, except that it *doesn't* check for existing library installations, and that it *doesn't* check for pre-built binaries. I.e. it first removes the current installation and *always* builds the library from source. This is useful when you are working on a build script and want to fresh builds. + +### `publish` + +Creates a gzipped tarball of the specified platform/library/version and uploads it to the `mason-binaries` S3 bucket. If you want to use this feature, you need write access to the bucket and need to specify the environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`. + +### `prefix` + +```bash +~ $ mason prefix libuv 0.11.29 +/Users/user/mason_packages/osx-10.10/libuv/0.11.29 +``` + +This prints the absolute path to the installation directory of the the library/version. Likely, this folder has the typical `include` and `lib` folders. + +### `cflags` + +```bash +~ $ mason cflags libuv 0.11.29 +-I/Users/user/mason_packages/osx-10.10/libuv/0.11.29/include +``` + +Prints the C/C++ compiler flags that are required to compile source code with this library. Likely, this is just the include path, but may also contain other flags. + +### `ldflags` + +```bash +~ $ mason ldflags libuv 0.11.29 +-L/Users/user/mason_packages/osx-10.10/libuv/0.11.29/lib -luv -lpthread -ldl +``` + +Prints the linker flags that are required to link against this library. + +### `link` + +```bash +~ $ mason link libuv 0.11.29 +``` + +This command only works if the package has already been installed. When run it symlinks the versioned `lib`, `include`, `share`, and `bin` folders of the package into a shared structure that is unversioned. For example if `mason prefix libuv 0.11.29` was `./mason_packages/osx-10.10/libuv/0.11.29` then the library would become available at `./mason_packages/.link/lib/libuv.a` + +### `trigger` + +In order to ensure that all prebuilt binaries are consistent and reproducible, we perform the final build and publish operation on Travis CI. + +First set the `TRAVIS_TOKEN` environment variable. You can do this either by installing the `travis` gem and running `travis token` or by using `curl` to hit the Travis api directly. See details on this below. + +Once you are set up with your `TRAVIS_TOKEN` then use the `trigger` command to kick off a build: + +```bash +./mason trigger +``` + +Run this command from the root of a local mason repository checkout. It makes a request to the Travis API to build and publish the specified version of the package, using the Travis configuration in `./scripts/${MASON_NAME}/${MASON_VERSION}/.travis.yml`. + +1) Using curl and travis api to generate TRAVIS_TOKEN + +First generate a github personal access token that has `repo` scope by going to https://github.com/settings/tokens. More details at https://help.github.com/articles/creating-an-access-token-for-command-line-use/. + +Then set that in your environment and run: + +```sh +GITHUB_TOKEN= + +curl -s -i https://api.travis-ci.org/auth/github \ + -H "User-Agent: Travis/1.0" \ + -H "Content-Type: application/json" \ + -H "Accept: application/vnd.travis-ci.2+json" \ + -H "Host: api.travis-ci.org" \ + -d "{\"github_token\": \"${GITHUB_TOKEN}\"}" +``` + +2) Use the travis command + +For details see https://docs.travis-ci.com/user/triggering-builds and https://github.com/travis-ci/travis.rb#readme + +## Writing build scripts + +Each version of each package has its own directory in scripts/${package}/${version}, e.g. [`scripts/libuv/0.11.29`](https://github.com/mapbox/mason/tree/master/scripts/libuv/0.11.29). The directory must contain a file called `script.sh`, which is structured like this: + +```bash +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=0.11.29 +MASON_LIB_FILE=lib/libuv.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libuv.pc +``` + +Declare these variables first. `MASON_NAME` and `MASON_VERSION` are mandatory. If the install script build a static library, specify the relative path in the installation directory in `MASON_LIB_FILE`. This is used to check whether an installation actually exists before proceeding to download/build the library anew. You can optionally specify `MASON_PKGCONFIG_FILE` as the relative path to the pig-config file if the library has one. If the library doesn't have one, you need to override the functions `mason_cflags` and `mason_ldflags` (see below). + +Then, we're loading the build system with + +```bash +. ${MASON_DIR}/mason.sh +``` + +Next, we're defining a function that obtains the source code and unzips it: + +```bash +function mason_load_source { + mason_download \ + https://github.com/joyent/libuv/archive/v0.11.29.tar.gz \ + 5bf49a8652f680557cbaf335a160187b2da3bf7f + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} +``` + +In that function, you should use `mason_download` as a shortcut to download the tarball. The second argument to is a hash generated with `git hash-object` and used to verify that the source code downloaded matches the expected file. The function also caches downloaded tarballs in the `mason_packages/.cache` folder. + +`mason_extract_tar_gz` unpacks the archive into the `mason_packages/.build` folder. If the tarball is BZip2 compressed, you can also use `mason_extract_tar_bz2` instead. + +Lastly, the `MASON_BUILD_PATH` variable contains the path to the unpacked folder inside the `.build` directory. + +Then, you can optionally specify a function that is run before compiling, e.g. a script that generates configuration files: + +```bash +function mason_prepare_compile { + ./autogen.sh +} +``` + +The heart of the script is the `mason_compile` function because it performs the actual build of the source code. There are a few variables available that you need to use to make sure that the package will work correctly. + +```bash +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} +``` + +In particular, you have to set the build system's installation prefix to `MASON_PREFIX`. For cross-platform builds, you have to specify the `MASON_HOST_ARG`, which is empty for regular builds and is set to the correct host platform for cross-compiles (e.g. iOS builds use `--host=arm-apple-darwin`). + +If the build system supports building concurrently, you can tell it do do so by providing the number of parallel tasks from `MASON_CONCURRENCY`. + + +Next, the `mason_clean` function tells Mason how to clean up the build folder. This is required for multi-architecture builds. E.g. iOS builds perform a Simulator (Intel architecture) build first, then an iOS (ARM architecture) build. The results are `lipo`ed into one universal archive file. + +```bash +function mason_clean { + make clean +} +``` + +Finally, we're going to run the everything: + +```bash +mason_run "$@" +``` + +### Variables + +Name | Description +---|--- +`MASON_DIR` | The directory where Mason itself is installed. Defaults to the current directory. +`MASON_ROOT` | Absolute path the `mason_packages` directory. Example: `/Users/user/mason_packages`. +`MASON_PLATFORM` | Platform of the current invocation. Currently one of `osx`, `ios` or `linux`. +`MASON_PLATFORM_VERSION` | Version of the platform. It must include the architecture if the produced binaries are architecture-specific (e.g. on Linux). Example: `10.10` +`MASON_NAME` | Name specified in the `script.sh` file. Example: `libuv` +`MASON_VERSION` | Version specified in the `script.sh` file. Example: `0.11.29` +`MASON_SLUG` | Combination of the name and version. Example: `libuv-0.11.29` +`MASON_PREFIX` | Absolute installation path. Example: `/Users/user/mason_packages/osx-10.10/libuv/0.11.29` +`MASON_BUILD_PATH` | Absolute path to the build root. Example: `/Users/user/mason_packages/.build/libuv-0.11.29` +`MASON_BUCKET` | S3 bucket that is used for storing pre-built binary packages. Example: `mason-binaries` +`MASON_BINARIES` | Relative path to the gzipped tarball in the `.binaries` directory. Example: `osx-10.10/libuv/0.11.29.tar.gz` +`MASON_BINARIES_PATH` | Absolute path to the gzipped tarball. Example: `/Users/user/mason_packages/.binaries/osx-10.10/libuv/0.11.29.tar.gz` +`MASON_CONCURRENCY` | Number of CPU cores. Example: `8` +`MASON_HOST_ARG` | Cross-compilation arguments. Example: `--host=x86_64-apple-darwin` +`MASON_LIB_FILE` | Relative path to the library file in the install directory. Example: `lib/libuv.a` +`MASON_PKGCONFIG_FILE` | Relative path to the pkg-config file in the install directory. Example: `lib/pkgconfig/libuv.pc` +`MASON_XCODE_ROOT` | OS X specific; Path to the Xcode Developer directory. Example: `/Applications/Xcode.app/Contents/Developer` + + + +### Customization + +In addition to the override functions described above, you can also override the `mason_cflags` and `mason_ldflags` functions. By default, they're using `pkg-config` to determine these flags and print them to standard output. If a library doesn't include a `.pc` file, or has some other mechanism for determining the build flags, you can run them instead: + + +```bash +function mason_ldflags { + ${MASON_PREFIX}/bin/curl-config --static-libs` +} +``` + +### System packages + +Some packages ship with operating systems, or can be easily installed with operating-specific package managers. For example, `libpng` is available on most systems and the version you're using doesn't really matter since it is mature and hasn't added any significant new APIs in recent years. To create a system package for it, use this `script.sh` file: + + +```bash +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=system +MASON_SYSTEM_PACKAGE=true + +. ${MASON_DIR}/mason.sh + +if [ ! $(pkg-config libpng --exists; echo $?) = 0 ]; then + mason_error "Cannot find libpng with pkg-config" + exit 1 +fi + +function mason_system_version { + mkdir -p "${MASON_PREFIX}" + cd "${MASON_PREFIX}" + if [ ! -f version ]; then + echo "#include +#include +#include +int main() { + assert(PNG_LIBPNG_VER == png_access_version_number()); + printf(\"%s\", PNG_LIBPNG_VER_STRING); + return 0; +} +" > version.c && ${CC:-cc} version.c $(mason_cflags) $(mason_ldflags) -o version + fi + ./version +} + +function mason_compile { + : +} + +function mason_cflags { + pkg-config libpng --cflags +} + +function mason_ldflags { + pkg-config libpng --libs +} + +mason_run "$@" +``` + +System packages are marked with `MASON_SYSTEM_PACKAGE=true`. We're also first using `pkg-config` to check whether the library is present at all. The `mason_system_version` function creates a small executable which outputs the actual version. It is the only thing that is cached in the installation directory. + +We have to override the `mason_cflags` and `mason_ldflags` commands since the regular commands return flags for static libraries, but in the case of system packages, we want to dynamically link against the package. + +## Troubleshooting + +Downloaded source tarballs are cached in `mason_packages/.cache`. If for some reason the initial download failed, but it still left a file in that directory, make sure you delete the partial download there. diff --git a/cloudformation/travis.template b/cloudformation/travis.template new file mode 100644 index 000000000..28ab9f48b --- /dev/null +++ b/cloudformation/travis.template @@ -0,0 +1,73 @@ +{ + "AWSTemplateFormatVersion": "2010-09-09", + "Description": "mason bucket resources", + "Resources": { + "BuildUser": { + "Type": "AWS::IAM::User", + "Properties": { + "Policies": [ + { + "PolicyName": "list", + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "s3:ListBucket" + ], + "Effect": "Allow", + "Resource": [ + "arn:aws:s3:::mason-binaries" + ] + } + ] + } + }, + { + "PolicyName": "build", + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "s3:DeleteObject", + "s3:GetObject", + "s3:GetObjectAcl", + "s3:PutObject", + "s3:PutObjectAcl" + ], + "Effect": "Allow", + "Resource": [ + "arn:aws:s3:::mason-binaries/*" + ] + } + ] + } + } + ] + } + }, + "BuildUserKey": { + "Type": "AWS::IAM::AccessKey", + "Properties": { + "UserName": { + "Ref": "BuildUser" + } + } + } + }, + "Outputs": { + "AccessKeyId": { + "Value": { + "Ref": "BuildUserKey" + } + }, + "SecretAccessKey": { + "Value": { + "Fn::GetAtt": [ + "BuildUserKey", + "SecretAccessKey" + ] + } + } + } +} + diff --git a/contributing.md b/contributing.md new file mode 100644 index 000000000..490b419b0 --- /dev/null +++ b/contributing.md @@ -0,0 +1,7 @@ +# Release process + +- Increment version at the top of `mason` +- Increment version in test/unit.sh +- Update changelog +- Ensure tests are passing +- Tag a release: `git tag v0.1.0 -a -m "v0.1.0" && git push --tags` \ No newline at end of file diff --git a/mason b/mason new file mode 100755 index 000000000..2c8c72a01 --- /dev/null +++ b/mason @@ -0,0 +1,85 @@ +#!/usr/bin/env bash + +MASON_COMMAND=$1 ; shift +MASON_NAME=$1 ; shift +MASON_VERSION=$1 ; shift + +set -e +set -o pipefail + +MASON_RELEASED_VERSION="0.1.0" + +if [ "${MASON_COMMAND}" = "--version" ]; then + echo ${MASON_RELEASED_VERSION} + exit 0 +fi + +function usage { + echo "Usage: $0 " +} + +if [ -z "${MASON_COMMAND}" ]; then + usage + exit 1 +fi + +ROOTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" +MASON_DIR=${MASON_DIR:-$ROOTDIR} + +if [ "${MASON_COMMAND}" = "env" ]; then + . ${MASON_DIR}/mason.sh > /dev/null + eval echo \$${MASON_NAME} + exit +fi + +if [ -z "${MASON_NAME}" ]; then + usage + echo "Missing " + exit 1 +elif [ -z "${MASON_VERSION}" ]; then + usage + echo "Missing " + exit 1 +fi + +if [ "${MASON_COMMAND}" = "trigger" ]; then + if [ -z "${TRAVIS_TOKEN}" ]; then + echo "TRAVIS_TOKEN is not set." + exit 1 + fi + + config=$(ruby <&2 echo -e "\033[1m\033[36m* $1\033[0m"; } +function mason_substep { >&2 echo -e "\033[1m\033[36m* $1\033[0m"; } +function mason_success { >&2 echo -e "\033[1m\033[32m* $1\033[0m"; } +function mason_error { >&2 echo -e "\033[1m\033[31m$1\033[0m"; } + + +case ${MASON_ROOT} in + *\ * ) mason_error "Directory '${MASON_ROOT} contains spaces."; exit ;; +esac + +if [ ${MASON_PLATFORM} = 'osx' ]; then + export MASON_HOST_ARG="--host=x86_64-apple-darwin" + export MASON_PLATFORM_VERSION=`uname -m` + + if [[ ${MASON_IGNORE_OSX_SDK} == false ]]; then + MASON_SDK_VERSION=`xcrun --sdk macosx --show-sdk-version` + MASON_SDK_ROOT=${MASON_XCODE_ROOT}/Platforms/MacOSX.platform/Developer + MASON_SDK_PATH="${MASON_SDK_ROOT}/SDKs/MacOSX${MASON_SDK_VERSION}.sdk" + + if [[ ${MASON_SYSTEM_PACKAGE} && ${MASON_SDK_VERSION%%.*} -ge 10 && ${MASON_SDK_VERSION##*.} -ge 11 ]]; then + export MASON_DYNLIB_SUFFIX="tbd" + else + export MASON_DYNLIB_SUFFIX="dylib" + fi + + MIN_SDK_VERSION_FLAG="-mmacosx-version-min=10.8" + SYSROOT_FLAGS="-isysroot ${MASON_SDK_PATH} -arch x86_64 ${MIN_SDK_VERSION_FLAG}" + export CFLAGS="${SYSROOT_FLAGS}" + export CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden -stdlib=libc++ -std=c++11" + # NOTE: OSX needs '-stdlib=libc++ -std=c++11' in both CXXFLAGS and LDFLAGS + # to correctly target c++11 for build systems that don't know about it yet (like libgeos 3.4.2) + # But because LDFLAGS is also for C libs we can only put these flags into LDFLAGS per package + export LDFLAGS="-Wl,-search_paths_first ${SYSROOT_FLAGS}" + export CXX="/usr/bin/clang++" + export CC="/usr/bin/clang" + fi + +elif [ ${MASON_PLATFORM} = 'ios' ]; then + export MASON_HOST_ARG="--host=arm-apple-darwin" + export MASON_PLATFORM_VERSION="8.0" # Deployment target version + + MASON_SDK_VERSION=`xcrun --sdk iphoneos --show-sdk-version` + MASON_SDK_ROOT=${MASON_XCODE_ROOT}/Platforms/iPhoneOS.platform/Developer + MASON_SDK_PATH="${MASON_SDK_ROOT}/SDKs/iPhoneOS${MASON_SDK_VERSION}.sdk" + + MIN_SDK_VERSION_FLAG="-miphoneos-version-min=${MASON_PLATFORM_VERSION}" + export MASON_IOS_CFLAGS="${MIN_SDK_VERSION_FLAG} -isysroot ${MASON_SDK_PATH}" + if [[ ${MASON_SDK_VERSION%%.*} -ge 9 ]]; then + export MASON_IOS_CFLAGS="${MASON_IOS_CFLAGS} -fembed-bitcode" + export MASON_DYNLIB_SUFFIX="tbd" + else + export MASON_DYNLIB_SUFFIX="dylib" + fi + + if [ `xcrun --sdk iphonesimulator --show-sdk-version` != ${MASON_SDK_VERSION} ]; then + mason_error "iPhone Simulator SDK version doesn't match iPhone SDK version" + exit 1 + fi + + MASON_SDK_ROOT=${MASON_XCODE_ROOT}/Platforms/iPhoneSimulator.platform/Developer + MASON_SDK_PATH="${MASON_SDK_ROOT}/SDKs/iPhoneSimulator${MASON_SDK_VERSION}.sdk" + export MASON_ISIM_CFLAGS="${MIN_SDK_VERSION_FLAG} -isysroot ${MASON_SDK_PATH}" + +elif [ ${MASON_PLATFORM} = 'linux' ]; then + + export MASON_DYNLIB_SUFFIX="so" + + # Assume current system is the target platform + if [ -z ${MASON_PLATFORM_VERSION} ] ; then + export MASON_PLATFORM_VERSION=`uname -m` + fi + + export CFLAGS="-fPIC" + export CXXFLAGS="${CFLAGS} -std=c++11" + + if [ `uname -m` != ${MASON_PLATFORM_VERSION} ] ; then + # Install the cross compiler + MASON_XC_PACKAGE_NAME=gcc + MASON_XC_PACKAGE_VERSION=${MASON_XC_GCC_VERSION:-5.3.0}-${MASON_PLATFORM_VERSION} + MASON_XC_PACKAGE=${MASON_XC_PACKAGE_NAME}-${MASON_XC_PACKAGE_VERSION} + MASON_XC_ROOT=$(MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason prefix ${MASON_XC_PACKAGE_NAME} ${MASON_XC_PACKAGE_VERSION}) + if [[ ! ${MASON_XC_ROOT} =~ ".build" ]] && [ ! -d ${MASON_XC_ROOT} ] ; then + $(MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason install ${MASON_XC_PACKAGE_NAME} ${MASON_XC_PACKAGE_VERSION}) + MASON_XC_ROOT=$(MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason prefix ${MASON_XC_PACKAGE_NAME} ${MASON_XC_PACKAGE_VERSION}) + fi + + # Load toolchain specific variables + if [[ ! ${MASON_XC_ROOT} =~ ".build" ]] && [ -f ${MASON_XC_ROOT}/toolchain.sh ] ; then + source ${MASON_XC_ROOT}/toolchain.sh + fi + fi + +elif [ ${MASON_PLATFORM} = 'android' ]; then + case "${MASON_PLATFORM_VERSION}" in + arm-v5-9) export MASON_ANDROID_ABI=arm-v5 ;; + arm-v7-9) export MASON_ANDROID_ABI=arm-v7 ;; + arm-v8-21) export MASON_ANDROID_ABI=arm-v8 ;; + x86-9) export MASON_ANDROID_ABI=x86 ;; + x86-64-21) export MASON_ANDROID_ABI=x86-64 ;; + mips-9) export MASON_ANDROID_ABI=mips ;; + mips64-21) export MASON_ANDROID_ABI=mips64 ;; + *) export MASON_ANDROID_ABI=${MASON_ANDROID_ABI:-arm-v7} + esac + + CFLAGS="-fpic -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-integrated-as -fomit-frame-pointer -fstrict-aliasing -Wno-invalid-command-line-argument -Wno-unused-command-line-argument" + LDFLAGS="-no-canonical-prefixes -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,-z,now -Wl,-z,relro" + export CPPFLAGS="-D__ANDROID__" + + if [ ${MASON_ANDROID_ABI} = 'arm-v8' ]; then + MASON_ANDROID_TOOLCHAIN="aarch64-linux-android" + MASON_ANDROID_CROSS_COMPILER="aarch64-linux-android-4.9" + export MASON_HOST_ARG="--host=${MASON_ANDROID_TOOLCHAIN}" + + export CFLAGS="-target aarch64-none-linux-android -D_LITTLE_ENDIAN ${CFLAGS}" + + # Using bfd for aarch64: https://code.google.com/p/android/issues/detail?id=204151 + export LDFLAGS="-target aarch64-none-linux-android -fuse-ld=bfd ${LDFLAGS}" + + export JNIDIR="arm64-v8a" + MASON_ANDROID_ARCH="arm64" + MASON_ANDROID_PLATFORM="21" + + elif [ ${MASON_ANDROID_ABI} = 'arm-v7' ]; then + MASON_ANDROID_TOOLCHAIN="arm-linux-androideabi" + MASON_ANDROID_CROSS_COMPILER="arm-linux-androideabi-4.9" + export MASON_HOST_ARG="--host=${MASON_ANDROID_TOOLCHAIN}" + + export CFLAGS="-target armv7-none-linux-androideabi -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -D_LITTLE_ENDIAN ${CFLAGS}" + export LDFLAGS="-target armv7-none-linux-androideabi -march=armv7-a -Wl,--fix-cortex-a8 -fuse-ld=gold ${LDFLAGS}" + + export JNIDIR="armeabi-v7a" + MASON_ANDROID_ARCH="arm" + MASON_ANDROID_PLATFORM="9" + + elif [ ${MASON_ANDROID_ABI} = 'arm-v5' ]; then + MASON_ANDROID_TOOLCHAIN="arm-linux-androideabi" + MASON_ANDROID_CROSS_COMPILER="arm-linux-androideabi-4.9" + export MASON_HOST_ARG="--host=${MASON_ANDROID_TOOLCHAIN}" + + export CFLAGS="-target armv5te-none-linux-androideabi -march=armv5te -mtune=xscale -msoft-float -D_LITTLE_ENDIAN ${CFLAGS}" + export LDFLAGS="-target armv5te-none-linux-androideabi -march=armv5te -fuse-ld=gold ${LDFLAGS}" + + export JNIDIR="armeabi" + MASON_ANDROID_ARCH="arm" + MASON_ANDROID_PLATFORM="9" + + elif [ ${MASON_ANDROID_ABI} = 'x86' ]; then + MASON_ANDROID_TOOLCHAIN="i686-linux-android" + MASON_ANDROID_CROSS_COMPILER="x86-4.9" + export MASON_HOST_ARG="--host=${MASON_ANDROID_TOOLCHAIN}" + + export CFLAGS="-target i686-none-linux-android -march=i686 -msse3 -mfpmath=sse ${CFLAGS}" + export LDFLAGS="-target i686-none-linux-android -march=i686 -fuse-ld=gold ${LDFLAGS}" + + export JNIDIR="x86" + MASON_ANDROID_ARCH="x86" + MASON_ANDROID_PLATFORM="9" + + elif [ ${MASON_ANDROID_ABI} = 'x86-64' ]; then + MASON_ANDROID_TOOLCHAIN="x86_64-linux-android" + MASON_ANDROID_CROSS_COMPILER="x86_64-4.9" + export MASON_HOST_ARG="--host=${MASON_ANDROID_TOOLCHAIN}" + + export JNIDIR="x86_64" + export CFLAGS="-target x86_64-none-linux-android -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel ${CFLAGS}" + export LDFLAGS="-target x86_64-none-linux-android -march=x86-64 -fuse-ld=gold ${LDFLAGS}" + + MASON_ANDROID_ARCH="x86_64" + MASON_ANDROID_PLATFORM="21" + + elif [ ${MASON_ANDROID_ABI} = 'mips' ]; then + MASON_ANDROID_TOOLCHAIN="mipsel-linux-android" + MASON_ANDROID_CROSS_COMPILER="mipsel-linux-android-4.9" + export MASON_HOST_ARG="--host=${MASON_ANDROID_TOOLCHAIN}" + + export CFLAGS="-target mipsel-none-linux-android ${CFLAGS}" + export LDFLAGS="-target mipsel-none-linux-android ${LDFLAGS}" + + export JNIDIR="mips" + MASON_ANDROID_ARCH="mips" + MASON_ANDROID_PLATFORM="9" + + elif [ ${MASON_ANDROID_ABI} = 'mips-64' ]; then + MASON_ANDROID_TOOLCHAIN="mips64el-linux-android" + MASON_ANDROID_CROSS_COMPILER="mips64el-linux-android-4.9" + export MASON_HOST_ARG="--host=${MASON_ANDROID_TOOLCHAIN}" + + export CFLAGS="-target mips64el-none-linux-android ${CFLAGS}" + export LDFLAGS="-target mips64el-none-linux-android ${LDFLAGS}" + + export JNIDIR="mips64" + MASON_ANDROID_ARCH="mips64" + MASON_ANDROID_PLATFORM="21" + fi + + export MASON_DYNLIB_SUFFIX="so" + export MASON_PLATFORM_VERSION="${MASON_ANDROID_ABI}-${MASON_ANDROID_PLATFORM}" + MASON_API_LEVEL=${MASON_API_LEVEL:-android-$MASON_ANDROID_PLATFORM} + + # Installs the native SDK + export MASON_NDK_PACKAGE_VERSION=${MASON_ANDROID_ARCH}-${MASON_ANDROID_PLATFORM}-r12b + MASON_SDK_ROOT=$(MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason prefix android-ndk ${MASON_NDK_PACKAGE_VERSION}) + if [ ! -d ${MASON_SDK_ROOT} ] ; then + MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason install android-ndk ${MASON_NDK_PACKAGE_VERSION} + fi + MASON_SDK_PATH="${MASON_SDK_ROOT}/sysroot" + export PATH=${MASON_SDK_ROOT}/bin:${PATH} + + export CFLAGS="--sysroot=${MASON_SDK_PATH} ${CFLAGS}" + export CXXFLAGS="--sysroot=${MASON_SDK_PATH} ${CFLAGS}" + export LDFLAGS="--sysroot=${MASON_SDK_PATH} ${LDFLAGS}" + + export CXX="${MASON_ANDROID_TOOLCHAIN}-clang++" + export CC="${MASON_ANDROID_TOOLCHAIN}-clang" + export LD="${MASON_ANDROID_TOOLCHAIN}-ld" + export AR="${MASON_ANDROID_TOOLCHAIN}-ar" + export RANLIB="${MASON_ANDROID_TOOLCHAIN}-ranlib" + export STRIP="${MASON_ANDROID_TOOLCHAIN}-strip" +fi + + +# Variable defaults +MASON_HOST_ARG=${MASON_HOST_ARG:-} +MASON_PLATFORM_VERSION=${MASON_PLATFORM_VERSION:-0} +MASON_NAME=${MASON_NAME:-nopackage} +MASON_VERSION=${MASON_VERSION:-noversion} +MASON_HEADER_ONLY=${MASON_HEADER_ONLY:-false} +MASON_SLUG=${MASON_NAME}-${MASON_VERSION} +if [[ ${MASON_HEADER_ONLY} == true ]]; then + MASON_PLATFORM_ID=headers +else + MASON_PLATFORM_ID=${MASON_PLATFORM}-${MASON_PLATFORM_VERSION} +fi +MASON_PREFIX=${MASON_ROOT}/${MASON_PLATFORM_ID}/${MASON_NAME}/${MASON_VERSION} +MASON_BINARIES=${MASON_PLATFORM_ID}/${MASON_NAME}/${MASON_VERSION}.tar.gz +MASON_BINARIES_PATH=${MASON_ROOT}/.binaries/${MASON_BINARIES} + + + + +function mason_check_existing { + # skip installing if it already exists + if [ ${MASON_HEADER_ONLY:-false} = true ] ; then + if [ -d "${MASON_PREFIX}" ] ; then + mason_success "Already installed at ${MASON_PREFIX}" + exit 0 + fi + elif [ ${MASON_SYSTEM_PACKAGE:-false} = true ]; then + if [ -f "${MASON_PREFIX}/version" ] ; then + mason_success "Using system-provided ${MASON_NAME} $(set -e;mason_system_version)" + exit 0 + fi + else + if [ -f "${MASON_PREFIX}/${MASON_LIB_FILE}" ] ; then + mason_success "Already installed at ${MASON_PREFIX}" + exit 0 + fi + fi +} + + +function mason_check_installed { + # skip installing if it already exists + if [ ${MASON_HEADER_ONLY:-false} = true ] ; then + if [ -d "${MASON_PREFIX}" ] ; then + return 0 + fi + elif [ ${MASON_SYSTEM_PACKAGE:-false} = true ]; then + if [ -f "${MASON_PREFIX}/version" ] ; then + return 0 + fi + elif [ -f "${MASON_PREFIX}/${MASON_LIB_FILE}" ] ; then + return 0 + fi + mason_error "Package ${MASON_NAME} ${MASON_VERSION} isn't installed" + return 1 +} + + +function mason_clear_existing { + if [ -d "${MASON_PREFIX}" ]; then + mason_step "Removing existing package... ${MASON_PREFIX}" + rm -rf "${MASON_PREFIX}" + fi +} + + +function mason_download { + mkdir -p "${MASON_ROOT}/.cache" + cd "${MASON_ROOT}/.cache" + if [ ! -f ${MASON_SLUG} ] ; then + mason_step "Downloading $1..." + CURL_RESULT=0 + curl --retry 3 ${MASON_CURL_ARGS} -f -S -L "$1" -o ${MASON_SLUG} || CURL_RESULT=$? + if [[ ${CURL_RESULT} != 0 ]]; then + mason_error "Failed to download ${1} (returncode: $CURL_RESULT)" + exit $RESULT + fi + fi + + MASON_HASH=`git hash-object ${MASON_SLUG}` + if [ "$2" != "${MASON_HASH}" ] ; then + mason_error "Hash ${MASON_HASH} of file ${MASON_ROOT}/.cache/${MASON_SLUG} doesn't match $2" + exit 1 + fi +} + +function mason_setup_build_dir { + rm -rf "${MASON_ROOT}/.build/${MASON_SLUG}" + mkdir -p "${MASON_ROOT}/.build/" + cd "${MASON_ROOT}/.build/" +} + +function mason_extract_tar_gz { + mason_setup_build_dir + tar xzf ../.cache/${MASON_SLUG} $@ +} + +function mason_extract_tar_bz2 { + mason_setup_build_dir + tar xjf ../.cache/${MASON_SLUG} $@ +} + +function mason_extract_tar_xz { + mason_setup_build_dir + tar xJf ../.cache/${MASON_SLUG} $@ +} + +function mason_prepare_compile { + : +} + +function mason_compile { + mason_error "COMPILE FUNCTION MISSING" + exit 1 +} + +function mason_clean { + : +} + +function bash_lndir() { + oldifs=$IFS + IFS=' + ' + src=$(cd "$1" ; pwd) + dst=$(cd "$2" ; pwd) + find "$src" -type d | + while read dir; do + mkdir -p "$dst${dir#$src}" + done + + find "$src" -type f -o -type l | + while read src_f; do + dst_f="$dst${src_f#$src}" + if [[ ! -f $dst_f ]]; then + ln -s "$src_f" "$dst_f" + fi + done + IFS=$oldifs +} + + +function run_lndir() { + # TODO: cp is fast, but inconsistent across osx + #/bin/cp -R -n ${MASON_PREFIX}/* ${TARGET_SUBDIR} + mason_step "Linking ${MASON_PREFIX}" + mason_step "Links will be inside ${TARGET_SUBDIR}" + if hash lndir 2>/dev/null; then + mason_substep "Using $(which lndir) for symlinking" + lndir -silent ${MASON_PREFIX}/ ${TARGET_SUBDIR} 2>/dev/null + else + mason_substep "Using bash fallback for symlinking (install lndir for faster symlinking)" + bash_lndir ${MASON_PREFIX}/ ${TARGET_SUBDIR} + fi + mason_step "Done linking ${MASON_PREFIX}" +} + +function mason_link { + if [ ! -d "${MASON_PREFIX}" ] ; then + mason_error "${MASON_PREFIX} not found, please install first" + exit 0 + fi + TARGET_SUBDIR="${MASON_ROOT}/.link/" + mkdir -p ${TARGET_SUBDIR} + run_lndir +} + + +function mason_build { + mason_load_source + + mason_step "Building for Platform '${MASON_PLATFORM}/${MASON_PLATFORM_VERSION}'..." + cd "${MASON_BUILD_PATH}" + mason_prepare_compile + + if [ ${MASON_PLATFORM} = 'ios' ]; then + + SIMULATOR_TARGETS="i386 x86_64" + DEVICE_TARGETS="armv7 arm64" + LIB_FOLDERS= + + for ARCH in ${SIMULATOR_TARGETS} ; do + mason_substep "Building for iOS Simulator ${ARCH}..." + export CFLAGS="${MASON_ISIM_CFLAGS} -arch ${ARCH}" + cd "${MASON_BUILD_PATH}" + mason_compile + cd "${MASON_PREFIX}" + mv lib lib-isim-${ARCH} + for i in lib-isim-${ARCH}/*.a ; do lipo -info $i ; done + LIB_FOLDERS="${LIB_FOLDERS} lib-isim-${ARCH}" + done + + for ARCH in ${DEVICE_TARGETS} ; do + mason_substep "Building for iOS ${ARCH}..." + export CFLAGS="${MASON_IOS_CFLAGS} -arch ${ARCH}" + cd "${MASON_BUILD_PATH}" + mason_compile + cd "${MASON_PREFIX}" + mv lib lib-ios-${ARCH} + for i in lib-ios-${ARCH}/*.a ; do lipo -info $i ; done + LIB_FOLDERS="${LIB_FOLDERS} lib-ios-${ARCH}" + done + + # Create universal binary + mason_substep "Creating Universal Binary..." + cd "${MASON_PREFIX}" + mkdir -p lib + for LIB in $(find ${LIB_FOLDERS} -name "*.a" | xargs basename | sort | uniq) ; do + lipo -create $(find ${LIB_FOLDERS} -name "${LIB}") -output lib/${LIB} + lipo -info lib/${LIB} + done + + cd "${MASON_PREFIX}" + rm -rf ${LIB_FOLDERS} + elif [ ${MASON_PLATFORM} = 'android' ]; then + cd "${MASON_BUILD_PATH}" + mason_compile + else + cd "${MASON_BUILD_PATH}" + mason_compile + fi + + mason_success "Installed at ${MASON_PREFIX}" + + #rm -rf ${MASON_ROOT}/.build +} + +function mason_config_custom { + # Override this function in your script to add more configuration variables + : +} + +function mason_config { + local MASON_CONFIG_CFLAGS MASON_CONFIG_LDFLAGS MASON_CONFIG_STATIC_LIBS MASON_CONFIG_PREFIX LN + local MASON_CONFIG_INCLUDE_DIRS MASON_CONFIG_DEFINITIONS MASON_CONFIG_OPTIONS + + MASON_CONFIG_CFLAGS=$(set -e;mason_cflags) + MASON_CONFIG_LDFLAGS=$(set -e;mason_ldflags) + MASON_CONFIG_STATIC_LIBS=$(set -e;mason_static_libs) + MASON_CONFIG_PREFIX="{prefix}" + + # Split up the cflags into include dirs, definitions and options. + LN=$'\n' + MASON_CONFIG_CFLAGS="${MASON_CONFIG_CFLAGS// -/${LN}-}" + MASON_CONFIG_INCLUDE_DIRS=$(echo -n "${MASON_CONFIG_CFLAGS}" | sed -nE 's/^-(I|isystem) *([^ ]+)/\2/p' | uniq) + MASON_CONFIG_DEFINITIONS=$(echo -n "${MASON_CONFIG_CFLAGS}" | sed -nE 's/^-(D) *([^ ]+)/\2/p') + MASON_CONFIG_OPTIONS=$(echo -n "${MASON_CONFIG_CFLAGS}" | sed -nE '/^-(D|I|isystem) *([^ ]+)/!p') + + echo "name=${MASON_NAME}" + echo "version=${MASON_VERSION}" + if ${MASON_HEADER_ONLY}; then + echo "header_only=${MASON_HEADER_ONLY}" + else + echo "platform=${MASON_PLATFORM}" + echo "platform_version=${MASON_PLATFORM_VERSION}" + fi + for name in include_dirs definitions options ldflags static_libs ; do + eval value=\$MASON_CONFIG_$(echo ${name} | tr '[:lower:]' '[:upper:]') + if [ ! -z "${value}" ]; then + echo ${name}=${value//${MASON_PREFIX}/${MASON_CONFIG_PREFIX}} + fi + done + mason_config_custom +} + +function mason_write_config { + local INI_FILE + INI_FILE="${MASON_PREFIX}/mason.ini" + echo "`mason_config`" > "${INI_FILE}" + mason_substep "Wrote configuration file ${INI_FILE}:" + cat ${INI_FILE} +} + +function mason_try_binary { + MASON_BINARIES_DIR=`dirname "${MASON_BINARIES}"` + mkdir -p "${MASON_ROOT}/.binaries/${MASON_BINARIES_DIR}" + + # try downloading from S3 + if [ ! -f "${MASON_BINARIES_PATH}" ] ; then + mason_step "Downloading binary package ${MASON_BINARIES}..." + curl --retry 3 ${MASON_CURL_ARGS} -f -L \ + https://${MASON_BUCKET}.s3.amazonaws.com/${MASON_BINARIES} \ + -o "${MASON_BINARIES_PATH}.tmp" && \ + mv "${MASON_BINARIES_PATH}.tmp" "${MASON_BINARIES_PATH}" || \ + mason_step "Binary not available yet for https://${MASON_BUCKET}.s3.amazonaws.com/${MASON_BINARIES}" + else + mason_step "Updating binary package ${MASON_BINARIES}..." + curl --retry 3 ${MASON_CURL_ARGS} -f -L -z "${MASON_BINARIES_PATH}" \ + https://${MASON_BUCKET}.s3.amazonaws.com/${MASON_BINARIES} \ + -o "${MASON_BINARIES_PATH}.tmp" + if [ $? -eq 0 ] ; then + if [ -f "${MASON_BINARIES_PATH}.tmp" ]; then + mv "${MASON_BINARIES_PATH}.tmp" "${MASON_BINARIES_PATH}" + else + mason_step "Binary package is still up to date" + fi + else + mason_step "Binary not available yet for ${MASON_BINARIES}" + fi + fi + + # unzip the file if it exists + if [ -f "${MASON_BINARIES_PATH}" ] ; then + mkdir -p "${MASON_PREFIX}" + cd "${MASON_PREFIX}" + + # Try to force the ownership of the unpacked files + # to the current user using fakeroot if available + `which fakeroot` tar xzf "${MASON_BINARIES_PATH}" + + if [ ! -z ${MASON_PKGCONFIG_FILE:-} ] ; then + if [ -f "${MASON_PREFIX}/${MASON_PKGCONFIG_FILE}" ] ; then + # Change the prefix + MASON_ESCAPED_PREFIX=$(echo "${MASON_PREFIX}" | sed -e 's/[\/&]/\\&/g') + sed -i.bak "s/prefix=.*/prefix=${MASON_ESCAPED_PREFIX}/" \ + "${MASON_PREFIX}/${MASON_PKGCONFIG_FILE}" + fi + fi + + mason_success "Installed binary package at ${MASON_PREFIX}" + exit 0 + fi +} + + +function mason_pkgconfig { + echo pkg-config \ + ${MASON_PREFIX}/${MASON_PKGCONFIG_FILE} +} + +function mason_cflags { + local FLAGS + FLAGS=$(set -e;`mason_pkgconfig` --static --cflags) + # Replace double-prefix in case we use a sysroot. + echo ${FLAGS//${MASON_SYSROOT}${MASON_PREFIX}/${MASON_PREFIX}} +} + +function mason_ldflags { + local FLAGS + FLAGS=$(set -e;`mason_pkgconfig` --static --libs) + # Replace double-prefix in case we use a sysroot. + echo ${FLAGS//${MASON_SYSROOT}${MASON_PREFIX}/${MASON_PREFIX}} +} + +function mason_static_libs { + if [ -z "${MASON_LIB_FILE}" ]; then + mason_substep "Linking ${MASON_NAME} ${MASON_VERSION} dynamically" + elif [ -f "${MASON_PREFIX}/${MASON_LIB_FILE}" ]; then + echo "${MASON_PREFIX}/${MASON_LIB_FILE}" + else + mason_error "No static library file '${MASON_PREFIX}/${MASON_LIB_FILE}'" + exit 1 + fi +} + +function mason_prefix { + echo ${MASON_PREFIX} +} + +function mason_version { + if [ ${MASON_SYSTEM_PACKAGE:-false} = true ]; then + mason_system_version + else + echo ${MASON_VERSION} + fi +} + +function mason_list_existing_package { + local PREFIX RESULT + PREFIX=$1 + RESULT=$(aws s3api head-object --bucket mason-binaries --key $PREFIX/$MASON_NAME/$MASON_VERSION.tar.gz 2>/dev/null) + if [ ! -z "${RESULT}" ]; then + printf "%-30s %6.1fM %s\n" \ + "${PREFIX}" \ + "$(bc -l <<< "$(echo ${RESULT} | jq -r .ContentLength) / 1000000")" \ + "$(echo ${RESULT} | jq -r .LastModified)" + else + printf "%-30s %s\n" "${PREFIX}" "" + fi +} + +function mason_list_existing { + if [ ${MASON_SYSTEM_PACKAGE:-false} = true ]; then + mason_error "System packages don't have published packages." + exit 1 + elif [ ${MASON_HEADER_ONLY:-false} = true ]; then + mason_list_existing_package headers + else + for PREFIX in $(jq -r .CommonPrefixes[].Prefix[0:-1] <<< "$(aws s3api list-objects --bucket=mason-binaries --delimiter=/)") ; do + if [ ${PREFIX} != "headers" -a ${PREFIX} != "prebuilt" ] ; then + mason_list_existing_package ${PREFIX} + fi + done + fi +} + +function mason_publish { + local CONTENT_TYPE DATE MD5 SIGNATURE + if [ ! ${MASON_HEADER_ONLY:-false} = true ] && [ ! -z ${MASON_LIB_FILE:-} ] && [ ! -f "${MASON_PREFIX}/${MASON_LIB_FILE}" ]; then + mason_error "Required library file ${MASON_PREFIX}/${MASON_LIB_FILE} doesn't exist." + exit 1 + fi + + if [ -z "${AWS_ACCESS_KEY_ID}" ]; then + mason_error "AWS_ACCESS_KEY_ID is not set." + exit 1 + fi + + if [ -z "${AWS_SECRET_ACCESS_KEY}" ]; then + mason_error "AWS_SECRET_ACCESS_KEY is not set." + exit 1 + fi + + mkdir -p `dirname ${MASON_BINARIES_PATH}` + cd "${MASON_PREFIX}" + rm -rf "${MASON_BINARIES_PATH}" + tar czf "${MASON_BINARIES_PATH}" . + (cd "${MASON_ROOT}/.binaries" && ls -lh "${MASON_BINARIES}") + mason_step "Uploading binary package..." + + CONTENT_TYPE="application/octet-stream" + DATE="$(LC_ALL=C date -u +"%a, %d %b %Y %X %z")" + MD5="$(openssl md5 -binary < "${MASON_BINARIES_PATH}" | base64)" + SIGNATURE="$(printf "PUT\n$MD5\n$CONTENT_TYPE\n$DATE\nx-amz-acl:public-read\n/${MASON_BUCKET}/${MASON_BINARIES}" | openssl sha1 -binary -hmac "$AWS_SECRET_ACCESS_KEY" | base64)" + + curl -S -T "${MASON_BINARIES_PATH}" https://${MASON_BUCKET}.s3.amazonaws.com/${MASON_BINARIES} \ + -H "Date: $DATE" \ + -H "Authorization: AWS $AWS_ACCESS_KEY_ID:$SIGNATURE" \ + -H "Content-Type: $CONTENT_TYPE" \ + -H "Content-MD5: $MD5" \ + -H "x-amz-acl: public-read" + + echo https://${MASON_BUCKET}.s3.amazonaws.com/${MASON_BINARIES} + curl -f -I https://${MASON_BUCKET}.s3.amazonaws.com/${MASON_BINARIES} +} + +function mason_run { + if [ "$1" == "install" ]; then + if [ ${MASON_SYSTEM_PACKAGE:-false} = true ]; then + mason_check_existing + mason_clear_existing + mason_build + mason_write_config + mason_success "Installed system-provided ${MASON_NAME} $(set -e;mason_system_version)" + else + mason_check_existing + mason_clear_existing + mason_try_binary + mason_build + mason_write_config + fi + elif [ "$1" == "link" ]; then + mason_link + elif [ "$1" == "remove" ]; then + mason_clear_existing + elif [ "$1" == "publish" ]; then + mason_publish + elif [ "$1" == "build" ]; then + mason_clear_existing + mason_build + mason_write_config + elif [ "$1" == "cflags" ]; then + mason_check_installed + mason_cflags + elif [ "$1" == "ldflags" ]; then + mason_check_installed + mason_ldflags + elif [ "$1" == "config" ]; then + mason_check_installed + mason_config + elif [ "$1" == "static_libs" ]; then + mason_check_installed + mason_static_libs + elif [ "$1" == "version" ]; then + mason_check_installed + mason_version + elif [ "$1" == "prefix" ]; then + mason_prefix + elif [ "$1" == "existing" ]; then + mason_list_existing + elif [ $1 ]; then + mason_error "Unknown command '$1'" + exit 1 + else + mason_error "Usage: $0 " + exit 1 + fi +} diff --git a/scripts/7z/9.20.1/.travis.yml b/scripts/7z/9.20.1/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/7z/9.20.1/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/7z/9.20.1/script.sh b/scripts/7z/9.20.1/script.sh new file mode 100755 index 000000000..0a334ac31 --- /dev/null +++ b/scripts/7z/9.20.1/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=7z +MASON_VERSION=9.20.1 +MASON_LIB_FILE=bin/7z + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://downloads.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2 \ + 30b1ff90105134947c67427bfc5c570857051f50 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/p7zip_${MASON_VERSION} +} + +function mason_prepare_compile { + if [ $(uname -s) = 'Darwin' ]; then + cp makefile.macosx_64bits makefile.machine + elif [ $(uname -s) = 'Linux' ]; then + cp makefile.linux_clang_amd64 makefile.linux + fi +} + +function mason_compile { + make all3 -j${MASON_CONCURRENCY} + mkdir -p "${MASON_PREFIX}" + cp -rv bin "${MASON_PREFIX}" +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/Qt/system/script.sh b/scripts/Qt/system/script.sh new file mode 100755 index 000000000..ff8b98e6b --- /dev/null +++ b/scripts/Qt/system/script.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +MASON_NAME=Qt +MASON_VERSION=system +MASON_SYSTEM_PACKAGE=true + +. ${MASON_DIR}/mason.sh + +QT_LIBS=(${2:-QtCore}) + +if hash qmake 2>/dev/null; then + QMAKE_CMD=qmake +#Some systems such as Fedora23 uses qmake-qt5 +elif hash qmake-qt5 2>/dev/null; then + QMAKE_CMD=qmake-qt5 +elif hash qmake-qt4 2>/dev/null; then + QMAKE_CMD=qmake-qt4 +else + mason_error "Can't find qmake executable" + exit 1 +fi + +# Qt5 libs are called Qt5*, so we have to use the correct name to pkg-config +QT_VERSION_MAJOR=$($QMAKE_CMD -query QT_VERSION | cut -d. -f1) +if [ ${QT_VERSION_MAJOR} -gt 4 ] ; then + QT_LIBS=(${QT_LIBS[@]/#Qt/Qt${QT_VERSION_MAJOR}}) +fi + +for LIB in ${QT_LIBS[@]} ; do + if ! `pkg-config ${LIB} --exists` ; then + mason_error "Can't find ${LIB}" + exit 1 + fi +done + +function mason_system_version { + if [ ${QT_VERSION_MAJOR} -gt 4 ] ; then + pkg-config Qt${QT_VERSION_MAJOR}Core --modversion + else + pkg-config QtCore --modversion + fi +} + +function mason_build { + : +} + +# pkg-config on OS X returns "-framework\ QtCore", which results in invalid arguments. +function cleanup_args { + python -c "import sys, re; print re.sub(r'(-framework)\\\\', r'\\1', ' '.join(sys.argv[1:]))" "$@" +} + +function mason_cflags { + echo ${MASON_CFLAGS} $(cleanup_args `pkg-config ${QT_LIBS[@]} --cflags`) +} + +function mason_ldflags { + echo ${MASON_LDFLAGS} $(cleanup_args `pkg-config ${QT_LIBS[@]} --libs`) +} + +mason_run "$@" diff --git a/scripts/afl/2.19b/.travis.yml b/scripts/afl/2.19b/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/afl/2.19b/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/afl/2.19b/script.sh b/scripts/afl/2.19b/script.sh new file mode 100644 index 000000000..70da9db5a --- /dev/null +++ b/scripts/afl/2.19b/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=afl +MASON_VERSION=2.19b +MASON_LIB_FILE=bin/afl-fuzz + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://lcamtuf.coredump.cx/afl/releases/afl-2.19b.tgz \ + 6627c7b7c873e26fb7fbb6fd574c93676442d8b2 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install clang 3.8.0 + MASON_CLANG=$(${MASON_DIR}/mason prefix clang 3.8.0) +} + +function mason_compile { + export PATH=${MASON_CLANG}/bin:$PATH CXX=clang++ CC=clang + make -j${MASON_CONCURRENCY} + cd llvm_mode + make -j${MASON_CONCURRENCY} + cd .. + PREFIX=${MASON_PREFIX} make install +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/android-ndk/arm-9-r10e/.travis.yml b/scripts/android-ndk/arm-9-r10e/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/arm-9-r10e/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/arm-9-r10e/script.sh b/scripts/android-ndk/arm-9-r10e/script.sh new file mode 100755 index 000000000..36101fd70 --- /dev/null +++ b/scripts/android-ndk/arm-9-r10e/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=arm-9-r10e +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin \ + dea2dd3939eea3289cab075804abb153014b78d3 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin \ + 285606ba6882d27d99ed469fc5533cc3c93967f5 + fi + + mason_setup_build_dir + chmod +x ../.cache/${MASON_SLUG} + ../.cache/${MASON_SLUG} > /dev/null + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r10e +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="arm-linux-androideabi-4.9" \ + --llvm-version="3.6" \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="arm" \ + --platform="android-9" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/arm-9-r11c/.travis.yml b/scripts/android-ndk/arm-9-r11c/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/arm-9-r11c/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/arm-9-r11c/script.sh b/scripts/android-ndk/arm-9-r11c/script.sh new file mode 100755 index 000000000..ce0bf4ac9 --- /dev/null +++ b/scripts/android-ndk/arm-9-r11c/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=arm-9-r11c +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip \ + 0c6fa2017dd5237f6270887c85feedc4aafb3aef + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip \ + 0c646e2fceb3ef853e1832f4aa3a0dc4c16d2229 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r11c + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r11c +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="arm-linux-androideabi-clang" \ + --use-llvm \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="arm" \ + --platform="android-9" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/arm-9-r12b/.travis.yml b/scripts/android-ndk/arm-9-r12b/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/arm-9-r12b/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/arm-9-r12b/script.sh b/scripts/android-ndk/arm-9-r12b/script.sh new file mode 100755 index 000000000..636425ea1 --- /dev/null +++ b/scripts/android-ndk/arm-9-r12b/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=arm-9-r12b +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip \ + 1a3bbdde35a240086b022cdf13ddcf40c27caa6e + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip \ + c6286e131c233c25537a306eae0a29d50b352b91 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r12b + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r12b +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \ + --force \ + --arch arm \ + --api 9 \ + --stl libc++ \ + --install-dir "${MASON_PREFIX}" + + # NDK r12 ships with .so files which are preferred when linking, but cause + # errors on devices when it's not present. + find "${MASON_PREFIX}" -name "libstdc++.so" -delete +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/arm64-21-r10e-gcc/.travis.yml b/scripts/android-ndk/arm64-21-r10e-gcc/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/arm64-21-r10e-gcc/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/arm64-21-r10e-gcc/script.sh b/scripts/android-ndk/arm64-21-r10e-gcc/script.sh new file mode 100755 index 000000000..d4760b036 --- /dev/null +++ b/scripts/android-ndk/arm64-21-r10e-gcc/script.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=arm64-21-r10e-gcc +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin \ + dea2dd3939eea3289cab075804abb153014b78d3 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin \ + 285606ba6882d27d99ed469fc5533cc3c93967f5 + fi + + mason_setup_build_dir + chmod +x ../.cache/${MASON_SLUG} + ../.cache/${MASON_SLUG} > /dev/null + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r10e +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="aarch64-linux-android-4.9" \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --arch="arm64" \ + --platform="android-21" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/arm64-21-r10e/.travis.yml b/scripts/android-ndk/arm64-21-r10e/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/arm64-21-r10e/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/arm64-21-r10e/script.sh b/scripts/android-ndk/arm64-21-r10e/script.sh new file mode 100755 index 000000000..1c28c5e1d --- /dev/null +++ b/scripts/android-ndk/arm64-21-r10e/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=arm64-21-r10e +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin \ + dea2dd3939eea3289cab075804abb153014b78d3 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin \ + 285606ba6882d27d99ed469fc5533cc3c93967f5 + fi + + mason_setup_build_dir + chmod +x ../.cache/${MASON_SLUG} + ../.cache/${MASON_SLUG} > /dev/null + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r10e +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="aarch64-linux-android-4.9" \ + --llvm-version="3.6" \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="arm64" \ + --platform="android-21" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/arm64-21-r11c/.travis.yml b/scripts/android-ndk/arm64-21-r11c/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/arm64-21-r11c/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/arm64-21-r11c/script.sh b/scripts/android-ndk/arm64-21-r11c/script.sh new file mode 100755 index 000000000..de0fd7e8a --- /dev/null +++ b/scripts/android-ndk/arm64-21-r11c/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=arm64-21-r11c +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip \ + 0c6fa2017dd5237f6270887c85feedc4aafb3aef + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip \ + 0c646e2fceb3ef853e1832f4aa3a0dc4c16d2229 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r11c + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r11c +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="aarch64-linux-android-clang" \ + --use-llvm \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="arm64" \ + --platform="android-21" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/arm64-21-r12b/.travis.yml b/scripts/android-ndk/arm64-21-r12b/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/arm64-21-r12b/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/arm64-21-r12b/script.sh b/scripts/android-ndk/arm64-21-r12b/script.sh new file mode 100755 index 000000000..4eda9561a --- /dev/null +++ b/scripts/android-ndk/arm64-21-r12b/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=arm64-21-r12b +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip \ + 1a3bbdde35a240086b022cdf13ddcf40c27caa6e + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip \ + c6286e131c233c25537a306eae0a29d50b352b91 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r12b + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r12b +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \ + --force \ + --arch arm64 \ + --api 21 \ + --stl libc++ \ + --install-dir "${MASON_PREFIX}" + + # NDK r12 ships with .so files which are preferred when linking, but cause + # errors on devices when it's not present. + find "${MASON_PREFIX}" -name "libstdc++.so" -delete +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/mips-9-r10e/.travis.yml b/scripts/android-ndk/mips-9-r10e/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/mips-9-r10e/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/mips-9-r10e/script.sh b/scripts/android-ndk/mips-9-r10e/script.sh new file mode 100755 index 000000000..6a08b0d58 --- /dev/null +++ b/scripts/android-ndk/mips-9-r10e/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=mips-9-r10e +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin \ + dea2dd3939eea3289cab075804abb153014b78d3 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin \ + 285606ba6882d27d99ed469fc5533cc3c93967f5 + fi + + mason_setup_build_dir + chmod +x ../.cache/${MASON_SLUG} + ../.cache/${MASON_SLUG} > /dev/null + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r10e +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="mipsel-linux-android-4.9" \ + --llvm-version="3.6" \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="mips" \ + --platform="android-9" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/mips-9-r11c/.travis.yml b/scripts/android-ndk/mips-9-r11c/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/mips-9-r11c/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/mips-9-r11c/script.sh b/scripts/android-ndk/mips-9-r11c/script.sh new file mode 100755 index 000000000..bcab58d76 --- /dev/null +++ b/scripts/android-ndk/mips-9-r11c/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=mips-9-r11c +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip \ + 0c6fa2017dd5237f6270887c85feedc4aafb3aef + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip \ + 0c646e2fceb3ef853e1832f4aa3a0dc4c16d2229 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r11c + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r11c +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="mipsel-linux-android-clang" \ + --use-llvm \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="mips" \ + --platform="android-9" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/mips-9-r12b/.travis.yml b/scripts/android-ndk/mips-9-r12b/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/mips-9-r12b/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/mips-9-r12b/script.sh b/scripts/android-ndk/mips-9-r12b/script.sh new file mode 100755 index 000000000..127ba5809 --- /dev/null +++ b/scripts/android-ndk/mips-9-r12b/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=mips-9-r12b +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip \ + 1a3bbdde35a240086b022cdf13ddcf40c27caa6e + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip \ + c6286e131c233c25537a306eae0a29d50b352b91 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r12b + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r12b +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \ + --force \ + --arch mips \ + --api 9 \ + --stl libc++ \ + --install-dir "${MASON_PREFIX}" + + # NDK r12 ships with .so files which are preferred when linking, but cause + # errors on devices when it's not present. + find "${MASON_PREFIX}" -name "libstdc++.so" -delete +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/mips64-21-r10e/.travis.yml b/scripts/android-ndk/mips64-21-r10e/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/mips64-21-r10e/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/mips64-21-r10e/script.sh b/scripts/android-ndk/mips64-21-r10e/script.sh new file mode 100755 index 000000000..83e34d7f6 --- /dev/null +++ b/scripts/android-ndk/mips64-21-r10e/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=mips64-21-r10e +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin \ + dea2dd3939eea3289cab075804abb153014b78d3 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin \ + 285606ba6882d27d99ed469fc5533cc3c93967f5 + fi + + mason_setup_build_dir + chmod +x ../.cache/${MASON_SLUG} + ../.cache/${MASON_SLUG} > /dev/null + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r10e +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="mips64el-linux-android-4.9" \ + --llvm-version="3.6" \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="mips64" \ + --platform="android-21" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/mips64-21-r11c/.travis.yml b/scripts/android-ndk/mips64-21-r11c/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/mips64-21-r11c/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/mips64-21-r11c/script.sh b/scripts/android-ndk/mips64-21-r11c/script.sh new file mode 100755 index 000000000..c87d0e8e4 --- /dev/null +++ b/scripts/android-ndk/mips64-21-r11c/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=mips64-21-r11c +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip \ + 0c6fa2017dd5237f6270887c85feedc4aafb3aef + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip \ + 0c646e2fceb3ef853e1832f4aa3a0dc4c16d2229 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r11c + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r11c +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="mips64el-linux-android-clang" \ + --use-llvm \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="mips64" \ + --platform="android-21" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/mips64-21-r12b/.travis.yml b/scripts/android-ndk/mips64-21-r12b/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/mips64-21-r12b/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/mips64-21-r12b/script.sh b/scripts/android-ndk/mips64-21-r12b/script.sh new file mode 100755 index 000000000..371a3c933 --- /dev/null +++ b/scripts/android-ndk/mips64-21-r12b/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=mips64-21-r12b +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip \ + 1a3bbdde35a240086b022cdf13ddcf40c27caa6e + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip \ + c6286e131c233c25537a306eae0a29d50b352b91 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r12b + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r12b +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \ + --force \ + --arch mips64 \ + --api 21 \ + --stl libc++ \ + --install-dir "${MASON_PREFIX}" + + # NDK r12 ships with .so files which are preferred when linking, but cause + # errors on devices when it's not present. + find "${MASON_PREFIX}" -name "libstdc++.so" -delete +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/x86-9-r10e/.travis.yml b/scripts/android-ndk/x86-9-r10e/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/x86-9-r10e/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/x86-9-r10e/script.sh b/scripts/android-ndk/x86-9-r10e/script.sh new file mode 100755 index 000000000..8da030800 --- /dev/null +++ b/scripts/android-ndk/x86-9-r10e/script.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=x86-9-r10e +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin \ + dea2dd3939eea3289cab075804abb153014b78d3 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin \ + 285606ba6882d27d99ed469fc5533cc3c93967f5 + fi + + mason_setup_build_dir + chmod +x ../.cache/${MASON_SLUG} + ../.cache/${MASON_SLUG} > /dev/null + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r10e +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="x86-4.9" \ + --llvm-version="3.6" \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="x86" \ + --platform="android-9" + + mkdir -p ${MASON_PREFIX}/prebuilt/android-x86/gdbserver + cp -Rv ${MASON_BUILD_PATH}/prebuilt/android-x86/gdbserver/* \ + ${MASON_PREFIX}/prebuilt/android-x86/gdbserver/ +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/x86-9-r11c/.travis.yml b/scripts/android-ndk/x86-9-r11c/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/x86-9-r11c/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/x86-9-r11c/script.sh b/scripts/android-ndk/x86-9-r11c/script.sh new file mode 100755 index 000000000..4c7453cd2 --- /dev/null +++ b/scripts/android-ndk/x86-9-r11c/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=x86-9-r11c +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip \ + 0c6fa2017dd5237f6270887c85feedc4aafb3aef + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip \ + 0c646e2fceb3ef853e1832f4aa3a0dc4c16d2229 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r11c + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r11c +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="x86-clang" \ + --use-llvm \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="x86" \ + --platform="android-9" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/x86-9-r12b/.travis.yml b/scripts/android-ndk/x86-9-r12b/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/x86-9-r12b/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/x86-9-r12b/script.sh b/scripts/android-ndk/x86-9-r12b/script.sh new file mode 100755 index 000000000..7e7989f08 --- /dev/null +++ b/scripts/android-ndk/x86-9-r12b/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=x86-9-r12b +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip \ + 1a3bbdde35a240086b022cdf13ddcf40c27caa6e + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip \ + c6286e131c233c25537a306eae0a29d50b352b91 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r12b + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r12b +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \ + --force \ + --arch x86 \ + --api 9 \ + --stl libc++ \ + --install-dir "${MASON_PREFIX}" + + # NDK r12 ships with .so files which are preferred when linking, but cause + # errors on devices when it's not present. + find "${MASON_PREFIX}" -name "libstdc++.so" -delete +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/x86_64-21-r10e/.travis.yml b/scripts/android-ndk/x86_64-21-r10e/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/x86_64-21-r10e/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/x86_64-21-r10e/script.sh b/scripts/android-ndk/x86_64-21-r10e/script.sh new file mode 100755 index 000000000..41ba22e4c --- /dev/null +++ b/scripts/android-ndk/x86_64-21-r10e/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=x86_64-21-r10e +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin \ + dea2dd3939eea3289cab075804abb153014b78d3 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin \ + 285606ba6882d27d99ed469fc5533cc3c93967f5 + fi + + mason_setup_build_dir + chmod +x ../.cache/${MASON_SLUG} + ../.cache/${MASON_SLUG} > /dev/null + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r10e +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="x86_64-4.9" \ + --llvm-version="3.6" \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="x86_64" \ + --platform="android-21" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/x86_64-21-r11c/.travis.yml b/scripts/android-ndk/x86_64-21-r11c/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/x86_64-21-r11c/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/x86_64-21-r11c/script.sh b/scripts/android-ndk/x86_64-21-r11c/script.sh new file mode 100755 index 000000000..097153734 --- /dev/null +++ b/scripts/android-ndk/x86_64-21-r11c/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=x86_64-21-r11c +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip \ + 0c6fa2017dd5237f6270887c85feedc4aafb3aef + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip \ + 0c646e2fceb3ef853e1832f4aa3a0dc4c16d2229 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r11c + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r11c +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make-standalone-toolchain.sh \ + --toolchain="x86_64-clang" \ + --use-llvm \ + --package-dir="${MASON_BUILD_PATH}/package-dir/" \ + --install-dir="${MASON_PREFIX}" \ + --stl="libcxx" \ + --arch="x86_64" \ + --platform="android-21" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/android-ndk/x86_64-21-r12b/.travis.yml b/scripts/android-ndk/x86_64-21-r12b/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/android-ndk/x86_64-21-r12b/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/android-ndk/x86_64-21-r12b/script.sh b/scripts/android-ndk/x86_64-21-r12b/script.sh new file mode 100755 index 000000000..49a78981d --- /dev/null +++ b/scripts/android-ndk/x86_64-21-r12b/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=android-ndk +MASON_VERSION=x86_64-21-r12b +MASON_LIB_FILE= + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip \ + 1a3bbdde35a240086b022cdf13ddcf40c27caa6e + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + http://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip \ + c6286e131c233c25537a306eae0a29d50b352b91 + fi + + mason_setup_build_dir + rm -rf ./android-ndk-r12b + unzip -q ../.cache/${MASON_SLUG} $@ + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r12b +} + +function mason_compile { + rm -rf ${MASON_PREFIX} + mkdir -p ${MASON_PREFIX} + + ${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \ + --force \ + --arch x86_64 \ + --api 21 \ + --stl libc++ \ + --install-dir "${MASON_PREFIX}" + + # NDK r12 ships with .so files which are preferred when linking, but cause + # errors on devices when it's not present. + find "${MASON_PREFIX}" -name "libstdc++.so" -delete +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/benchmark/1.0.0/.travis.yml b/scripts/benchmark/1.0.0/.travis.yml new file mode 100644 index 000000000..a52bc02eb --- /dev/null +++ b/scripts/benchmark/1.0.0/.travis.yml @@ -0,0 +1,50 @@ +language: cpp + +sudo: false + +matrix: + exclude: + - os: linux + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux + compiler: clang + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + - george-edison55-precise-backports + packages: + - clang-3.7 + - cmake + - cmake-data + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +cache: apt + + +before_install: +- if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then brew install cmake ; fi + +before_script: + - if [[ ${MASON_PLATFORM} == "linux" && ${CXX} == "clang++" ]]; then export CXX="clang++-3.7" CC="clang-3.7" ; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/benchmark/1.0.0/script.sh b/scripts/benchmark/1.0.0/script.sh new file mode 100755 index 000000000..96f176084 --- /dev/null +++ b/scripts/benchmark/1.0.0/script.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +MASON_NAME=benchmark +MASON_VERSION=1.0.0 +MASON_LIB_FILE=lib/libbenchmark.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/google/benchmark/archive/v1.0.0.tar.gz \ + dcf87e5faead951fd1e9ab103cb36a7c8ebe4837 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/benchmark-${MASON_VERSION} +} + +function mason_compile { + rm -rf build + mkdir -p build + cd build + if [ ${MASON_PLATFORM} == 'ios' ] ; then + # Make sure CMake thinks we're cross-compiling and manually set the exit codes + # because CMake can't run the test programs + echo "set (CMAKE_SYSTEM_NAME Darwin)" > toolchain.cmake + cmake \ + -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \ + -DRUN_HAVE_STD_REGEX=1 \ + -DRUN_HAVE_POSIX_REGEX=0 \ + -DRUN_HAVE_STEADY_CLOCK=0 \ + -DCMAKE_CXX_FLAGS="${CFLAGS:-}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="${MASON_PREFIX}" \ + -DBENCHMARK_ENABLE_LTO=ON \ + -DBENCHMARK_ENABLE_TESTING=OFF \ + .. + else + cmake \ + ${MASON_CMAKE_TOOLCHAIN} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="${MASON_PREFIX}" \ + -DBENCHMARK_ENABLE_LTO=ON \ + -DBENCHMARK_ENABLE_TESTING=OFF \ + .. + fi + + make install -j${MASON_CONCURRENCY} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include +} + +function mason_ldflags { + echo -lpthread +} + +function mason_static_libs { + echo ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +mason_run "$@" diff --git a/scripts/binutils/2.26/.travis.yml b/scripts/binutils/2.26/.travis.yml new file mode 100644 index 000000000..eaf912ba2 --- /dev/null +++ b/scripts/binutils/2.26/.travis.yml @@ -0,0 +1,30 @@ +language: generic + +sudo: false + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + packages: + - clang-3.7 + +matrix: + include: + - os: linux + compiler: clang + env: CXX=clang++-3.7 CC=clang-3.7 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/binutils/2.26/script.sh b/scripts/binutils/2.26/script.sh new file mode 100755 index 000000000..d485fc884 --- /dev/null +++ b/scripts/binutils/2.26/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=binutils +MASON_VERSION=2.26 +MASON_LIB_FILE=bin/ld + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://ftp.gnu.org/gnu/binutils/${MASON_NAME}-${MASON_VERSION}.tar.bz2 \ + 05b22d6ef8003e76f7d05500363a3ee8cc66a7ae + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_strip_ldflags { + shift # -L... + shift # -lpng16 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost/1.57.0/.travis.yml b/scripts/boost/1.57.0/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/boost/1.57.0/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost/1.57.0/script.sh b/scripts/boost/1.57.0/script.sh new file mode 100755 index 000000000..4cc53c06e --- /dev/null +++ b/scripts/boost/1.57.0/script.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +MASON_NAME=boost +MASON_VERSION=1.57.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +BOOST_ROOT=${MASON_PREFIX} + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/1.57.0/boost_1_57_0.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + mason_extract_tar_bz2 boost_1_57_0/boost + + MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_1_57_0 +} + +function mason_prefix { + echo "${BOOST_ROOT}" +} + +function mason_compile { + mkdir -p ${BOOST_ROOT}/include + mv ${MASON_ROOT}/.build/boost_1_57_0/boost ${BOOST_ROOT}/include + + # work around NDK bug https://code.google.com/p/android/issues/detail?id=79483 + + patch ${BOOST_ROOT}/include/boost/core/demangle.hpp <<< "19a20,21 +> #if !defined(__ANDROID__) +> +25a28,29 +> #endif +> +" + +} + +function mason_cflags { + echo "-I${BOOST_ROOT}/include" +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/boost/1.58.0/.travis.yml b/scripts/boost/1.58.0/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/boost/1.58.0/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost/1.58.0/script.sh b/scripts/boost/1.58.0/script.sh new file mode 100755 index 000000000..cff5ed8dd --- /dev/null +++ b/scripts/boost/1.58.0/script.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +MASON_NAME=boost +MASON_VERSION=1.58.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +BOOST_ROOT=${MASON_PREFIX} + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.tar.bz2 \ + 43e46651e762e4daf72a5d21dca86ae151e65378 + + mason_extract_tar_bz2 boost_1_58_0/boost + + MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_1_58_0 +} + +function mason_prefix { + echo "${BOOST_ROOT}" +} + +function mason_compile { + mkdir -p ${BOOST_ROOT}/include + mv ${MASON_ROOT}/.build/boost_1_58_0/boost ${BOOST_ROOT}/include + + # work around NDK bug https://code.google.com/p/android/issues/detail?id=79483 + + patch ${BOOST_ROOT}/include/boost/core/demangle.hpp <<< "19a20,21 +> #if !defined(__ANDROID__) +> +25a28,29 +> #endif +> +" + +} + +function mason_cflags { + echo "-I${BOOST_ROOT}/include" +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/boost/1.59.0/.travis.yml b/scripts/boost/1.59.0/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/boost/1.59.0/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost/1.59.0/script.sh b/scripts/boost/1.59.0/script.sh new file mode 100755 index 000000000..20a2cbbb6 --- /dev/null +++ b/scripts/boost/1.59.0/script.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +MASON_NAME=boost +MASON_VERSION=1.59.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +BOOST_ROOT=${MASON_PREFIX} + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.bz2 \ + ff2e48f4d7e3c4b393d41e07a2f5d923b990967d + + mason_extract_tar_bz2 boost_1_59_0/boost + + MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_1_59_0 +} + +function mason_prefix { + echo "${BOOST_ROOT}" +} + +function mason_compile { + mkdir -p ${BOOST_ROOT}/include + mv ${MASON_ROOT}/.build/boost_1_59_0/boost ${BOOST_ROOT}/include + + # work around NDK bug https://code.google.com/p/android/issues/detail?id=79483 + + patch ${BOOST_ROOT}/include/boost/core/demangle.hpp <<< "19a20,21 +> #if !defined(__ANDROID__) +> +25a28,29 +> #endif +> +" + +} + +function mason_cflags { + echo "-I${BOOST_ROOT}/include" +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/boost/1.60.0/.travis.yml b/scripts/boost/1.60.0/.travis.yml new file mode 100644 index 000000000..829d6e38a --- /dev/null +++ b/scripts/boost/1.60.0/.travis.yml @@ -0,0 +1,13 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost/1.60.0/script.sh b/scripts/boost/1.60.0/script.sh new file mode 100755 index 000000000..e33e4b6f0 --- /dev/null +++ b/scripts/boost/1.60.0/script.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +MASON_NAME=boost +MASON_VERSION=1.60.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +BOOST_ROOT=${MASON_PREFIX} + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.tar.bz2 \ + 40a65135d34c3e3a3cdbe681f06745c086e5b941 + + mason_extract_tar_bz2 boost_1_60_0/boost + + MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_1_60_0 +} + +function mason_prefix { + echo "${BOOST_ROOT}" +} + +function mason_compile { + mkdir -p ${BOOST_ROOT}/include + mv ${MASON_ROOT}/.build/boost_1_60_0/boost ${BOOST_ROOT}/include + + # work around NDK bug https://code.google.com/p/android/issues/detail?id=79483 + + patch ${BOOST_ROOT}/include/boost/core/demangle.hpp <<< "19a20,21 +> #if !defined(__ANDROID__) +> +25a28,29 +> #endif +> +" + +} + +function mason_cflags { + echo "-I${BOOST_ROOT}/include" +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/boost/1.61.0/.travis.yml b/scripts/boost/1.61.0/.travis.yml new file mode 100644 index 000000000..829d6e38a --- /dev/null +++ b/scripts/boost/1.61.0/.travis.yml @@ -0,0 +1,13 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost/1.61.0/base.sh b/scripts/boost/1.61.0/base.sh new file mode 100644 index 000000000..3d2c9ed15 --- /dev/null +++ b/scripts/boost/1.61.0/base.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +export MASON_VERSION=1.61.0 +export BOOST_VERSION=${MASON_VERSION//./_} +export BOOST_TOOLSET="clang" +export BOOST_TOOLSET_CXX="clang++" +export BOOST_ARCH="x86" +export BOOST_SHASUM=0a72c541e468d76a957adc14e54688dd695d566f diff --git a/scripts/boost/1.61.0/common.sh b/scripts/boost/1.61.0/common.sh new file mode 100644 index 000000000..fe7e3833a --- /dev/null +++ b/scripts/boost/1.61.0/common.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${MASON_VERSION}/boost_${BOOST_VERSION}.tar.bz2 \ + ${BOOST_SHASUM} + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} ${BOOST_TOOLSET_CXX} + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_prefix { + echo "${MASON_PREFIX}" +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + local LOCAL_LDFLAGS + LOCAL_LDFLAGS="-L${MASON_PREFIX}/lib" + if [[ ${BOOST_LIBRARY:-false} != false ]]; then + LOCAL_LDFLAGS="${LOCAL_LDFLAGS} -l${BOOST_LIBRARY}" + fi + echo $LOCAL_LDFLAGS +} diff --git a/scripts/boost/1.61.0/script.sh b/scripts/boost/1.61.0/script.sh new file mode 100755 index 000000000..22f3d3506 --- /dev/null +++ b/scripts/boost/1.61.0/script.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# inherit from boost base (used for all boost library packages) +source ${HERE}/base.sh + +# this package is the one that is header-only +MASON_NAME=boost +MASON_HEADER_ONLY=true +unset MASON_LIB_FILE + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${HERE}/common.sh + +# override default unpacking to just unpack headers +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${MASON_VERSION}/boost_${BOOST_VERSION}.tar.bz2 \ + ${BOOST_SHASUM} + + mason_extract_tar_bz2 boost_${BOOST_VERSION}/boost + + MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION} +} + +# override default "compile" target for just the header install +function mason_compile { + mkdir -p ${MASON_PREFIX}/include + cp -r ${MASON_ROOT}/.build/boost_${BOOST_VERSION}/boost ${MASON_PREFIX}/include + + # work around NDK bug https://code.google.com/p/android/issues/detail?id=79483 + + patch ${MASON_PREFIX}/include/boost/core/demangle.hpp <<< "19a20,21 +> #if !defined(__ANDROID__) +> +25a28,29 +> #endif +> +" + + # work around https://github.com/Project-OSRM/node-osrm/issues/191 + patch ${MASON_PREFIX}/include/boost/interprocess/detail/os_file_functions.hpp <<< "471c471 +< return ::open(name, (int)mode); +--- +> return ::open(name, (int)mode,S_IRUSR|S_IWUSR); +" + +} + +mason_run "$@" diff --git a/scripts/boost/system/script.sh b/scripts/boost/system/script.sh new file mode 100755 index 000000000..303e80b4e --- /dev/null +++ b/scripts/boost/system/script.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +MASON_NAME=boost +MASON_VERSION=system +MASON_SYSTEM_PACKAGE=true + +. ${MASON_DIR}/mason.sh + +if [ -d '/usr/local/include/boost' ]; then + BOOST_ROOT='/usr/local' +elif [ -d '/usr/include/boost' ]; then + BOOST_ROOT='/usr' +else + mason_error "Cannot find Boost" + exit 1 +fi + +function mason_system_version { + # Use host compiler to produce a binary that can run on the host + HOST_CXX=`MASON_PLATFORM= mason env CXX` + HOST_CFLAGS=`MASON_PLATFORM= mason env CFLAGS` + + mkdir -p "${MASON_PREFIX}" + cd "${MASON_PREFIX}" + if [ ! -f version ]; then + echo "#include +#include +int main() { + printf(\"%d.%d.%d\", BOOST_VERSION / 100000, BOOST_VERSION / 100 % 1000, BOOST_VERSION % 100); + return 0; +} +" > version.cpp && ${HOST_CXX} ${HOST_CFLAGS} version.cpp $(mason_cflags) -o version + fi + ./version +} + +function mason_build { + if [ ${MASON_PLATFORM} = 'ios' ]; then + mkdir -p ${MASON_PREFIX}/include + ln -sf ${BOOST_ROOT}/include/boost ${MASON_PREFIX}/include/ + else + mkdir -p ${MASON_PREFIX}/{include,lib} + ln -sf ${BOOST_ROOT}/include/boost ${MASON_PREFIX}/include/ + ln -sf ${BOOST_ROOT}/lib/libboost_* ${MASON_PREFIX}/lib/ + fi +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + if [ ${MASON_PLATFORM} = 'ios' ]; then + echo "" + else + echo "-L${MASON_PREFIX}/lib" + fi +} + +mason_run "$@" diff --git a/scripts/boost_liball/1.49.0/.travis.yml b/scripts/boost_liball/1.49.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_liball/1.49.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_liball/1.49.0/patch.diff b/scripts/boost_liball/1.49.0/patch.diff new file mode 100644 index 000000000..f0fa2b156 --- /dev/null +++ b/scripts/boost_liball/1.49.0/patch.diff @@ -0,0 +1,12 @@ +--- libs/python/src/converter/builtin_converters.cpp 2012-12-07 11:51:06.000000000 -0800 ++++ libs/python/src/converter/builtin_converters.cpp 2014-04-01 17:24:37.000000000 -0700 +@@ -32,7 +32,9 @@ + + void shared_ptr_deleter::operator()(void const*) + { ++ PyGILState_STATE gil = PyGILState_Ensure(); + owner.reset(); ++ PyGILState_Release(gil); + } + + namespace diff --git a/scripts/boost_liball/1.49.0/script.sh b/scripts/boost_liball/1.49.0/script.sh new file mode 100755 index 000000000..9ab34a4a9 --- /dev/null +++ b/scripts/boost_liball/1.49.0/script.sh @@ -0,0 +1,147 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.49.0" +BOOST_VERSION2="1_49_0" +BOOST_LIBRARY="regex" +BOOST_ARCH="x86" + +if [[ $(uname -s) == 'Darwin' ]]; then + BOOST_TOOLSET="darwin" +else + BOOST_TOOLSET="gcc" +fi + +MASON_NAME=boost_liball +MASON_VERSION=1.49.0 +# this boost package has multiple libraries to we +# reference this empty file as a placeholder for all of them +MASON_LIB_FILE=lib/libboost_placeholder.txt + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 1175031e7689f17591363d907f9dad3be0559dee + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install icu 54.1 + MASON_ICU=$(${MASON_DIR}/mason prefix icu 54.1) + BOOST_LDFLAGS="-L${MASON_ICU}/lib -licuuc -licui18n -licudata" +} + +function write_python_config() { +# usage: +# write_python_config +PYTHON_VERSION=$2 +# note: apple pythons need '/System' +PYTHON_BASE=$3 +# note: python 3 uses 'm' +PYTHON_VARIANT=$4 +if [[ ${UNAME} == 'Darwin' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}${PYTHON_VARIANT} # includes + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} # a lib actually symlink + : ${BOOST_TOOLSET} # condition + ; + " >> $1 +else + if [[ ${UNAME} == 'FreeBSD' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/local/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/local/include/python${PYTHON_VERSION} # includes + : /usr/local/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + else + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/include/python${PYTHON_VERSION} # includes + : /usr/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + fi +fi +} + +function mason_compile { + if [[ -f ../../../patch.diff ]]; then + patch -N -p0 < ../../../patch.diff + else + # patch to workaround crashes in python.input + # https://github.com/mapnik/mapnik/issues/1968 + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + fi + gen_config ${BOOST_TOOLSET} g++ + perl -i -p -e "s/\-march=i386/\-m64/g;" ./tools/build/v2/tools/gcc.jam + write_python_config user-config.jam "2.7" "/System" "" + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-regex \ + --with-system \ + --with-thread \ + --with-filesystem \ + --with-program_options \ + --with-python \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -sHAVE_ICU=1 -sICU_PATH=${MASON_ICU} \ + linkflags="${BOOST_LDFLAGS}" \ + cxxflags="${CXXFLAGS:-" "}" \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + address-model=64 \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + install + + mkdir -p ${MASON_PREFIX}/lib/ + touch ${MASON_PREFIX}/lib/libboost_placeholder.txt +} + +function mason_ldflags { + echo "-lboost_regex -lboost_system -lboost_thread -lboost_filesystem -lboost_program_options -lboost_python" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_liball/1.58.0/.travis.yml b/scripts/boost_liball/1.58.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_liball/1.58.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_liball/1.58.0/patch.diff b/scripts/boost_liball/1.58.0/patch.diff new file mode 100644 index 000000000..f0fa2b156 --- /dev/null +++ b/scripts/boost_liball/1.58.0/patch.diff @@ -0,0 +1,12 @@ +--- libs/python/src/converter/builtin_converters.cpp 2012-12-07 11:51:06.000000000 -0800 ++++ libs/python/src/converter/builtin_converters.cpp 2014-04-01 17:24:37.000000000 -0700 +@@ -32,7 +32,9 @@ + + void shared_ptr_deleter::operator()(void const*) + { ++ PyGILState_STATE gil = PyGILState_Ensure(); + owner.reset(); ++ PyGILState_Release(gil); + } + + namespace diff --git a/scripts/boost_liball/1.58.0/script.sh b/scripts/boost_liball/1.58.0/script.sh new file mode 100755 index 000000000..722f626fe --- /dev/null +++ b/scripts/boost_liball/1.58.0/script.sh @@ -0,0 +1,140 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.58.0" +BOOST_VERSION2="1_58_0" +BOOST_LIBRARY="regex" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_liball +MASON_VERSION=1.58.0 +# this boost package has multiple libraries to we +# reference this empty file as a placeholder for all of them +MASON_LIB_FILE=lib/libboost_placeholder.txt + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.tar.bz2 \ + 43e46651e762e4daf72a5d21dca86ae151e65378 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 + +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install icu 54.1 + MASON_ICU=$(${MASON_DIR}/mason prefix icu 54.1) + BOOST_LDFLAGS="-L${MASON_ICU}/lib -licuuc -licui18n -licudata" +} + +function write_python_config() { +# usage: +# write_python_config +PYTHON_VERSION=$2 +# note: apple pythons need '/System' +PYTHON_BASE=$3 +# note: python 3 uses 'm' +PYTHON_VARIANT=$4 +if [[ ${UNAME} == 'Darwin' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}${PYTHON_VARIANT} # includes + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} # a lib actually symlink + : ${BOOST_TOOLSET} # condition + ; + " >> $1 +else + if [[ ${UNAME} == 'FreeBSD' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/local/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/local/include/python${PYTHON_VERSION} # includes + : /usr/local/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + else + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/include/python${PYTHON_VERSION} # includes + : /usr/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + fi +fi +} + +function mason_compile { + if [[ -f ../../../patch.diff ]]; then + patch -N -p0 < ../../../patch.diff + else + # patch to workaround crashes in python.input + # https://github.com/mapnik/mapnik/issues/1968 + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + fi + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-regex \ + --with-system \ + --with-thread \ + --with-filesystem \ + --with-program_options \ + --with-python \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -sHAVE_ICU=1 -sICU_PATH=${MASON_ICU} \ + linkflags="${LDFLAGS:-" "} ${BOOST_LDFLAGS}" \ + cxxflags="${CXXFLAGS:-" "}" \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + install + + mkdir -p ${MASON_PREFIX}/lib/ + touch ${MASON_PREFIX}/lib/libboost_placeholder.txt +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_liball/1.59.0/.travis.yml b/scripts/boost_liball/1.59.0/.travis.yml new file mode 100644 index 000000000..fd209791a --- /dev/null +++ b/scripts/boost_liball/1.59.0/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_liball/1.59.0/patch.diff b/scripts/boost_liball/1.59.0/patch.diff new file mode 100644 index 000000000..a8ff0b18b --- /dev/null +++ b/scripts/boost_liball/1.59.0/patch.diff @@ -0,0 +1,22 @@ +--- libs/python/src/converter/builtin_converters.cpp 2012-12-07 11:51:06.000000000 -0800 ++++ libs/python/src/converter/builtin_converters.cpp 2014-04-01 17:24:37.000000000 -0700 +@@ -32,7 +32,9 @@ + + void shared_ptr_deleter::operator()(void const*) + { ++ PyGILState_STATE gil = PyGILState_Ensure(); + owner.reset(); ++ PyGILState_Release(gil); + } + + namespace +--- libs/filesystem/src/operations.cpp 2015-05-01 18:49:26.000000000 -0700 ++++ libs/filesystem/src/operations.cpp 2015-05-01 18:49:22.000000000 -0700 +@@ -1416,6 +1416,7 @@ + // - See the fchmodat() Linux man page: + // "http://man7.org/linux/man-pages/man2/fchmodat.2.html" + # if defined(AT_FDCWD) && defined(AT_SYMLINK_NOFOLLOW) \ ++ && !(defined(__APPLE__)) \ + && !(defined(__SUNPRO_CC) || defined(__sun) || defined(sun)) \ + && !(defined(linux) || defined(__linux) || defined(__linux__)) + if (::fchmodat(AT_FDCWD, p.c_str(), mode_cast(prms), diff --git a/scripts/boost_liball/1.59.0/script.sh b/scripts/boost_liball/1.59.0/script.sh new file mode 100755 index 000000000..0edb49ef1 --- /dev/null +++ b/scripts/boost_liball/1.59.0/script.sh @@ -0,0 +1,140 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.59.0" +BOOST_VERSION2="1_59_0" +BOOST_LIBRARY="regex" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_liball +MASON_VERSION=1.59.0 +# this boost package has multiple libraries to we +# reference this empty file as a placeholder for all of them +MASON_LIB_FILE=lib/libboost_placeholder.txt + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.bz2 \ + ff2e48f4d7e3c4b393d41e07a2f5d923b990967d + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 + +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install icu 55.1 + MASON_ICU=$(${MASON_DIR}/mason prefix icu 55.1) + BOOST_LDFLAGS="-L${MASON_ICU}/lib -licuuc -licui18n -licudata" +} + +function write_python_config() { +# usage: +# write_python_config +PYTHON_VERSION=$2 +# note: apple pythons need '/System' +PYTHON_BASE=$3 +# note: python 3 uses 'm' +PYTHON_VARIANT=$4 +if [[ ${UNAME} == 'Darwin' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}${PYTHON_VARIANT} # includes + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} # a lib actually symlink + : ${BOOST_TOOLSET} # condition + ; + " >> $1 +else + if [[ ${UNAME} == 'FreeBSD' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/local/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/local/include/python${PYTHON_VERSION} # includes + : /usr/local/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + else + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/include/python${PYTHON_VERSION} # includes + : /usr/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + fi +fi +} + +function mason_compile { + if [[ -f ../../../patch.diff ]]; then + patch -N -p0 < ../../../patch.diff + else + # patch to workaround crashes in python.input + # https://github.com/mapnik/mapnik/issues/1968 + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + fi + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-regex \ + --with-system \ + --with-thread \ + --with-filesystem \ + --with-program_options \ + --with-python \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -sHAVE_ICU=1 -sICU_PATH=${MASON_ICU} \ + linkflags="${LDFLAGS:-" "} ${BOOST_LDFLAGS}" \ + cxxflags="${CXXFLAGS:-" "}" \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + install + + mkdir -p ${MASON_PREFIX}/lib/ + touch ${MASON_PREFIX}/lib/libboost_placeholder.txt +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_liball_osrm/1.59.0/.travis.yml b/scripts/boost_liball_osrm/1.59.0/.travis.yml new file mode 100644 index 000000000..569412bff --- /dev/null +++ b/scripts/boost_liball_osrm/1.59.0/.travis.yml @@ -0,0 +1,37 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- export CC=/usr/bin/gcc-5 +- export CXX=/usr/bin/g++-5 +- export MASON_CONCURRENCY_OVERRIDE=2 + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_liball_osrm/1.59.0/patch.diff b/scripts/boost_liball_osrm/1.59.0/patch.diff new file mode 100644 index 000000000..ad1637b72 --- /dev/null +++ b/scripts/boost_liball_osrm/1.59.0/patch.diff @@ -0,0 +1,10 @@ +--- libs/filesystem/src/operations.cpp 2015-05-01 18:49:26.000000000 -0700 ++++ libs/filesystem/src/operations.cpp 2015-05-01 18:49:22.000000000 -0700 +@@ -1416,6 +1416,7 @@ + // - See the fchmodat() Linux man page: + // "http://man7.org/linux/man-pages/man2/fchmodat.2.html" + # if defined(AT_FDCWD) && defined(AT_SYMLINK_NOFOLLOW) \ ++ && !(defined(__APPLE__)) \ + && !(defined(__SUNPRO_CC) || defined(__sun) || defined(sun)) \ + && !(defined(linux) || defined(__linux) || defined(__linux__)) + if (::fchmodat(AT_FDCWD, p.c_str(), mode_cast(prms), diff --git a/scripts/boost_liball_osrm/1.59.0/script.sh b/scripts/boost_liball_osrm/1.59.0/script.sh new file mode 100755 index 000000000..bcd1f87c9 --- /dev/null +++ b/scripts/boost_liball_osrm/1.59.0/script.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.59.0" +BOOST_VERSION2="1_59_0" +BOOST_LIBRARY="regex" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_liball_osrm +MASON_VERSION=1.59.0 +# this boost package has multiple libraries to we +# reference this empty file as a placeholder for all of them +MASON_LIB_FILE=lib/libboost_placeholder.txt + +. ${MASON_DIR}/mason.sh + +export CXX=${CXX:-clang++} +export MASON_CONCURRENCY_OVERRIDE=${MASON_CONCURRENCY_OVERRIDE:-${MASON_CONCURRENCY}} + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.bz2 \ + ff2e48f4d7e3c4b393d41e07a2f5d923b990967d + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 + +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + if [[ -f ../../../patch.diff ]]; then + patch -N -p0 < ../../../patch.diff + else + # patch to workaround crashes in python.input + # https://github.com/mapnik/mapnik/issues/1968 + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + fi + gen_config ${BOOST_TOOLSET} ${CXX} + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-regex \ + --with-system \ + --with-thread \ + --with-filesystem \ + --with-program_options \ + --with-test \ + --with-date_time \ + --with-iostreams \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY_OVERRIDE} \ + -sHAVE_ICU=0 \ + linkflags="${LDFLAGS:-" "} ${BOOST_LDFLAGS}" \ + cxxflags="${CXXFLAGS:-" "}" \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + install + + mkdir -p ${MASON_PREFIX}/lib/ + touch ${MASON_PREFIX}/lib/libboost_placeholder.txt +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libatomic/1.61.0/.travis.yml b/scripts/boost_libatomic/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libatomic/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libatomic/1.61.0/script.sh b/scripts/boost_libatomic/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libatomic/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libchrono/1.61.0/.travis.yml b/scripts/boost_libchrono/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libchrono/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libchrono/1.61.0/script.sh b/scripts/boost_libchrono/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libchrono/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libdate_time/1.57.0/.travis.yml b/scripts/boost_libdate_time/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libdate_time/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libdate_time/1.57.0/script.sh b/scripts/boost_libdate_time/1.57.0/script.sh new file mode 100755 index 000000000..1cb0750f3 --- /dev/null +++ b/scripts/boost_libdate_time/1.57.0/script.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="date_time" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libdate_time/1.61.0/.travis.yml b/scripts/boost_libdate_time/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libdate_time/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libdate_time/1.61.0/script.sh b/scripts/boost_libdate_time/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libdate_time/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libeverything/1.59.0/.travis.yml b/scripts/boost_libeverything/1.59.0/.travis.yml new file mode 100644 index 000000000..da03572b0 --- /dev/null +++ b/scripts/boost_libeverything/1.59.0/.travis.yml @@ -0,0 +1,32 @@ +language: C + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +before_install: + +script: +- export CXX="clang++-3.5" +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libeverything/1.59.0/patch.diff b/scripts/boost_libeverything/1.59.0/patch.diff new file mode 100644 index 000000000..a8ff0b18b --- /dev/null +++ b/scripts/boost_libeverything/1.59.0/patch.diff @@ -0,0 +1,22 @@ +--- libs/python/src/converter/builtin_converters.cpp 2012-12-07 11:51:06.000000000 -0800 ++++ libs/python/src/converter/builtin_converters.cpp 2014-04-01 17:24:37.000000000 -0700 +@@ -32,7 +32,9 @@ + + void shared_ptr_deleter::operator()(void const*) + { ++ PyGILState_STATE gil = PyGILState_Ensure(); + owner.reset(); ++ PyGILState_Release(gil); + } + + namespace +--- libs/filesystem/src/operations.cpp 2015-05-01 18:49:26.000000000 -0700 ++++ libs/filesystem/src/operations.cpp 2015-05-01 18:49:22.000000000 -0700 +@@ -1416,6 +1416,7 @@ + // - See the fchmodat() Linux man page: + // "http://man7.org/linux/man-pages/man2/fchmodat.2.html" + # if defined(AT_FDCWD) && defined(AT_SYMLINK_NOFOLLOW) \ ++ && !(defined(__APPLE__)) \ + && !(defined(__SUNPRO_CC) || defined(__sun) || defined(sun)) \ + && !(defined(linux) || defined(__linux) || defined(__linux__)) + if (::fchmodat(AT_FDCWD, p.c_str(), mode_cast(prms), diff --git a/scripts/boost_libeverything/1.59.0/script.sh b/scripts/boost_libeverything/1.59.0/script.sh new file mode 100755 index 000000000..1519aa5c0 --- /dev/null +++ b/scripts/boost_libeverything/1.59.0/script.sh @@ -0,0 +1,133 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.59.0" +BOOST_VERSION2="1_59_0" +BOOST_LIBRARY="regex" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_libeverything +MASON_VERSION=1.59.0 +# this boost package has multiple libraries to we +# reference this empty file as a placeholder for all of them +MASON_LIB_FILE=lib/libboost_placeholder.txt + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.bz2 \ + ff2e48f4d7e3c4b393d41e07a2f5d923b990967d + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 + +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install icu 55.1 + MASON_ICU=$(${MASON_DIR}/mason prefix icu 55.1) + BOOST_LDFLAGS="-L${MASON_ICU}/lib -licuuc -licui18n -licudata" +} + +function write_python_config() { +# usage: +# write_python_config +PYTHON_VERSION=$2 +# note: apple pythons need '/System' +PYTHON_BASE=$3 +# note: python 3 uses 'm' +PYTHON_VARIANT=$4 +if [[ ${UNAME} == 'Darwin' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}${PYTHON_VARIANT} # includes + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} # a lib actually symlink + : ${BOOST_TOOLSET} # condition + ; + " >> $1 +else + if [[ ${UNAME} == 'FreeBSD' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/local/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/local/include/python${PYTHON_VERSION} # includes + : /usr/local/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + else + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/include/python${PYTHON_VERSION} # includes + : /usr/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + fi +fi +} + +function mason_compile { + if [[ -f ../../../patch.diff ]]; then + patch -N -p0 < ../../../patch.diff + else + # patch to workaround crashes in python.input + # https://github.com/mapnik/mapnik/issues/1968 + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + fi + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -sHAVE_ICU=1 -sICU_PATH=${MASON_ICU} \ + linkflags="${LDFLAGS:-" "} ${BOOST_LDFLAGS}" \ + cxxflags="${CXXFLAGS:-" "}" \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + variant=release \ + install + + mkdir -p ${MASON_PREFIX}/lib/ + touch ${MASON_PREFIX}/lib/libboost_placeholder.txt +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libfilesystem/1.57.0/.travis.yml b/scripts/boost_libfilesystem/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libfilesystem/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libfilesystem/1.57.0/patch.diff b/scripts/boost_libfilesystem/1.57.0/patch.diff new file mode 100644 index 000000000..ad1637b72 --- /dev/null +++ b/scripts/boost_libfilesystem/1.57.0/patch.diff @@ -0,0 +1,10 @@ +--- libs/filesystem/src/operations.cpp 2015-05-01 18:49:26.000000000 -0700 ++++ libs/filesystem/src/operations.cpp 2015-05-01 18:49:22.000000000 -0700 +@@ -1416,6 +1416,7 @@ + // - See the fchmodat() Linux man page: + // "http://man7.org/linux/man-pages/man2/fchmodat.2.html" + # if defined(AT_FDCWD) && defined(AT_SYMLINK_NOFOLLOW) \ ++ && !(defined(__APPLE__)) \ + && !(defined(__SUNPRO_CC) || defined(__sun) || defined(sun)) \ + && !(defined(linux) || defined(__linux) || defined(__linux__)) + if (::fchmodat(AT_FDCWD, p.c_str(), mode_cast(prms), diff --git a/scripts/boost_libfilesystem/1.57.0/script.sh b/scripts/boost_libfilesystem/1.57.0/script.sh new file mode 100755 index 000000000..a0f7be7df --- /dev/null +++ b/scripts/boost_libfilesystem/1.57.0/script.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="filesystem" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libfilesystem/1.61.0/.travis.yml b/scripts/boost_libfilesystem/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libfilesystem/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libfilesystem/1.61.0/script.sh b/scripts/boost_libfilesystem/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libfilesystem/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libiostreams/1.57.0/.travis.yml b/scripts/boost_libiostreams/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libiostreams/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libiostreams/1.57.0/script.sh b/scripts/boost_libiostreams/1.57.0/script.sh new file mode 100755 index 000000000..ecae1e915 --- /dev/null +++ b/scripts/boost_libiostreams/1.57.0/script.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="iostreams" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libiostreams/1.61.0/.travis.yml b/scripts/boost_libiostreams/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libiostreams/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libiostreams/1.61.0/script.sh b/scripts/boost_libiostreams/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libiostreams/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libprogram_options/1.57.0/.travis.yml b/scripts/boost_libprogram_options/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libprogram_options/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libprogram_options/1.57.0/script.sh b/scripts/boost_libprogram_options/1.57.0/script.sh new file mode 100755 index 000000000..ed6f39fe6 --- /dev/null +++ b/scripts/boost_libprogram_options/1.57.0/script.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="program_options" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libprogram_options/1.59.0/.travis.yml b/scripts/boost_libprogram_options/1.59.0/.travis.yml new file mode 100644 index 000000000..56b3e42cb --- /dev/null +++ b/scripts/boost_libprogram_options/1.59.0/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libprogram_options/1.59.0/script.sh b/scripts/boost_libprogram_options/1.59.0/script.sh new file mode 100755 index 000000000..ca8e225b9 --- /dev/null +++ b/scripts/boost_libprogram_options/1.59.0/script.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.59.0" +BOOST_VERSION2="1_59_0" +BOOST_LIBRARY="program_options" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=${BOOST_VERSION1} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + ff2e48f4d7e3c4b393d41e07a2f5d923b990967d + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libprogram_options/1.60.0/.travis.yml b/scripts/boost_libprogram_options/1.60.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libprogram_options/1.60.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libprogram_options/1.60.0/script.sh b/scripts/boost_libprogram_options/1.60.0/script.sh new file mode 100755 index 000000000..9f657ca90 --- /dev/null +++ b/scripts/boost_libprogram_options/1.60.0/script.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.60.0" +BOOST_VERSION2="1_60_0" +BOOST_LIBRARY="program_options" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=${BOOST_VERSION1} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 40a65135d34c3e3a3cdbe681f06745c086e5b941 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libprogram_options/1.61.0/.travis.yml b/scripts/boost_libprogram_options/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libprogram_options/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libprogram_options/1.61.0/script.sh b/scripts/boost_libprogram_options/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libprogram_options/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libpython/1.57.0/.travis.yml b/scripts/boost_libpython/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libpython/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libpython/1.57.0/patch.diff b/scripts/boost_libpython/1.57.0/patch.diff new file mode 100644 index 000000000..f0fa2b156 --- /dev/null +++ b/scripts/boost_libpython/1.57.0/patch.diff @@ -0,0 +1,12 @@ +--- libs/python/src/converter/builtin_converters.cpp 2012-12-07 11:51:06.000000000 -0800 ++++ libs/python/src/converter/builtin_converters.cpp 2014-04-01 17:24:37.000000000 -0700 +@@ -32,7 +32,9 @@ + + void shared_ptr_deleter::operator()(void const*) + { ++ PyGILState_STATE gil = PyGILState_Ensure(); + owner.reset(); ++ PyGILState_Release(gil); + } + + namespace diff --git a/scripts/boost_libpython/1.57.0/script.sh b/scripts/boost_libpython/1.57.0/script.sh new file mode 100755 index 000000000..c75c8c679 --- /dev/null +++ b/scripts/boost_libpython/1.57.0/script.sh @@ -0,0 +1,122 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="python" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function write_python_config() { +# usage: +# write_python_config +PYTHON_VERSION=$2 +# note: apple pythons need '/System' +PYTHON_BASE=$3 +# note: python 3 uses 'm' +PYTHON_VARIANT=$4 +if [[ ${UNAME} == 'Darwin' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}${PYTHON_VARIANT} # includes + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} # a lib actually symlink + : ${BOOST_TOOLSET} # condition + ; + " >> $1 +else + if [[ ${UNAME} == 'FreeBSD' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/local/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/local/include/python${PYTHON_VERSION} # includes + : /usr/local/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + else + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/include/python${PYTHON_VERSION} # includes + : /usr/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + fi +fi +} + +function mason_compile { + # patch to workaround crashes in python.input + # https://github.com/mapnik/mapnik/issues/1968 + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + + gen_config ${BOOST_TOOLSET} clang++ + write_python_config user-config.jam "2.7" "/System" "" + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libpython/1.61.0/.travis.yml b/scripts/boost_libpython/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libpython/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libpython/1.61.0/patch.diff b/scripts/boost_libpython/1.61.0/patch.diff new file mode 100644 index 000000000..f0fa2b156 --- /dev/null +++ b/scripts/boost_libpython/1.61.0/patch.diff @@ -0,0 +1,12 @@ +--- libs/python/src/converter/builtin_converters.cpp 2012-12-07 11:51:06.000000000 -0800 ++++ libs/python/src/converter/builtin_converters.cpp 2014-04-01 17:24:37.000000000 -0700 +@@ -32,7 +32,9 @@ + + void shared_ptr_deleter::operator()(void const*) + { ++ PyGILState_STATE gil = PyGILState_Ensure(); + owner.reset(); ++ PyGILState_Release(gil); + } + + namespace diff --git a/scripts/boost_libpython/1.61.0/script.sh b/scripts/boost_libpython/1.61.0/script.sh new file mode 100755 index 000000000..d1b6c4a21 --- /dev/null +++ b/scripts/boost_libpython/1.61.0/script.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +function write_python_config() { +# usage: +# write_python_config +PYTHON_VERSION=$2 +# note: apple pythons need '/System' +PYTHON_BASE=$3 +# note: python 3 uses 'm' +PYTHON_VARIANT=$4 +if [[ ${UNAME} == 'Darwin' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}${PYTHON_VARIANT} # includes + : ${PYTHON_BASE}/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} # a lib actually symlink + : ${BOOST_TOOLSET} # condition + ; + " >> $1 +else + if [[ ${UNAME} == 'FreeBSD' ]]; then + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/local/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/local/include/python${PYTHON_VERSION} # includes + : /usr/local/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + else + echo " + using python + : ${PYTHON_VERSION} # version + : /usr/bin/python${PYTHON_VERSION}${PYTHON_VARIANT} # cmd-or-prefix + : /usr/include/python${PYTHON_VERSION} # includes + : /usr/lib/python${PYTHON_VERSION}/config${PYTHON_VARIANT} + : ${BOOST_TOOLSET} # condition + ; + " >> $1 + fi +fi +} + +function mason_compile { + # patch to workaround crashes in python.input + # https://github.com/mapnik/mapnik/issues/1968 + mason_step "Loading patch ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff" + patch -N -p0 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff + write_python_config user-config.jam "2.7" "/System" "" + gen_config ${BOOST_TOOLSET} ${BOOST_TOOLSET_CXX} + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +mason_run "$@" diff --git a/scripts/boost_libregex/1.57.0/.travis.yml b/scripts/boost_libregex/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libregex/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libregex/1.57.0/script.sh b/scripts/boost_libregex/1.57.0/script.sh new file mode 100755 index 000000000..bcab4a16d --- /dev/null +++ b/scripts/boost_libregex/1.57.0/script.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="regex" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install icu 54.1 + MASON_ICU=$(${MASON_DIR}/mason prefix icu 54.1) + BOOST_LDFLAGS="-L${MASON_ICU}/lib -licuuc -licui18n -licudata" +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -sHAVE_ICU=1 -sICU_PATH=${MASON_ICU} \ + linkflags="${BOOST_LDFLAGS}" \ + -d2 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libregex/1.61.0/.travis.yml b/scripts/boost_libregex/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libregex/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libregex/1.61.0/script.sh b/scripts/boost_libregex/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libregex/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libregex_icu/1.61.0/.travis.yml b/scripts/boost_libregex_icu/1.61.0/.travis.yml new file mode 100644 index 000000000..082a959c0 --- /dev/null +++ b/scripts/boost_libregex_icu/1.61.0/.travis.yml @@ -0,0 +1,25 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libregex_icu/1.61.0/script.sh b/scripts/boost_libregex_icu/1.61.0/script.sh new file mode 100755 index 000000000..7a556ac0b --- /dev/null +++ b/scripts/boost_libregex_icu/1.61.0/script.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +# Note: cannot duduce from directory since it is named in a custom way +#BOOST_LIBRARY=${THIS_DIR#boost_lib} +BOOST_LIBRARY=regex +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +function mason_prepare_compile { + ${MASON_DIR}/mason install icu 55.1 + MASON_ICU=$(${MASON_DIR}/mason prefix icu 55.1) +} + +# custom compile that gets icu working +function mason_compile { + gen_config ${BOOST_TOOLSET} ${BOOST_TOOLSET_CXX} + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + echo 'int main() { return 0; }' > libs/regex/build/has_icu_test.cpp + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -sHAVE_ICU=1 -sICU_PATH=${MASON_ICU} --reconfigure --debug-configuration \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +mason_run "$@" diff --git a/scripts/boost_libsystem/1.57.0/.travis.yml b/scripts/boost_libsystem/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libsystem/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libsystem/1.57.0/script.sh b/scripts/boost_libsystem/1.57.0/script.sh new file mode 100755 index 000000000..5a1f92447 --- /dev/null +++ b/scripts/boost_libsystem/1.57.0/script.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="system" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libsystem/1.61.0/.travis.yml b/scripts/boost_libsystem/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libsystem/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libsystem/1.61.0/script.sh b/scripts/boost_libsystem/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libsystem/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libtest/1.57.0/.travis.yml b/scripts/boost_libtest/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libtest/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libtest/1.57.0/script.sh b/scripts/boost_libtest/1.57.0/script.sh new file mode 100755 index 000000000..57104ca44 --- /dev/null +++ b/scripts/boost_libtest/1.57.0/script.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="test" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_unit_test_framework.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/* ${MASON_PREFIX}/ +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libtest/1.61.0/.travis.yml b/scripts/boost_libtest/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libtest/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libtest/1.61.0/script.sh b/scripts/boost_libtest/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libtest/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boost_libtest_shared/1.57.0/.travis.yml b/scripts/boost_libtest_shared/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libtest_shared/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libtest_shared/1.57.0/script.sh b/scripts/boost_libtest_shared/1.57.0/script.sh new file mode 100755 index 000000000..d8d34f982 --- /dev/null +++ b/scripts/boost_libtest_shared/1.57.0/script.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="test" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY}_shared +MASON_VERSION=1.57.0 + +. ${MASON_DIR}/mason.sh + +MASON_LIB_FILE=lib/libboost_unit_test_framework.${MASON_DYNLIB_SUFFIX} + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + if [[ $(uname -s) == 'Darwin' ]]; then + LDFLAGS="${LDFLAGS} -stdlib=libc++ -std=c++11" + fi + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=shared \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/* ${MASON_PREFIX}/ +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libthread/1.57.0/.travis.yml b/scripts/boost_libthread/1.57.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/boost_libthread/1.57.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libthread/1.57.0/script.sh b/scripts/boost_libthread/1.57.0/script.sh new file mode 100755 index 000000000..318accde5 --- /dev/null +++ b/scripts/boost_libthread/1.57.0/script.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +BOOST_VERSION1="1.57.0" +BOOST_VERSION2="1_57_0" +BOOST_LIBRARY="thread" +BOOST_TOOLSET="clang" +BOOST_ARCH="x86" + +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_VERSION=1.57.0 +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION1}/boost_${BOOST_VERSION2}.tar.bz2 \ + 397306fa6d0858c4885fbba7d43a0164dcb7f53e + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION2} + + mason_extract_tar_bz2 +} + +function gen_config() { + echo "using $1 : : $(which $2)" > user-config.jam + if [[ "${AR:-false}" != false ]] || [[ "${RANLIB:-false}" != false ]]; then + echo ' : ' >> user-config.jam + if [[ "${AR:-false}" != false ]]; then + echo "${AR} " >> user-config.jam + fi + if [[ "${RANLIB:-false}" != false ]]; then + echo "${RANLIB} " >> user-config.jam + fi + fi + echo ' ;' >> user-config.jam +} + +function mason_compile { + gen_config ${BOOST_TOOLSET} clang++ + if [[ ! -f ./b2 ]] ; then + ./bootstrap.sh + fi + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./b2 \ + --with-${BOOST_LIBRARY} \ + --prefix=${MASON_PREFIX} \ + -j${MASON_CONCURRENCY} \ + -d0 \ + --ignore-site-config --user-config=user-config.jam \ + architecture="${BOOST_ARCH}" \ + toolset="${BOOST_TOOLSET}" \ + link=static \ + variant=release \ + linkflags="${LDFLAGS:-" "}" \ + cxxflags="${CXXFLAGS:-" "}" \ + stage + mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE}) + mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE} +} + +function mason_ldflags { + echo "-lboost_${BOOST_LIBRARY}" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/boost_libthread/1.61.0/.travis.yml b/scripts/boost_libthread/1.61.0/.travis.yml new file mode 100644 index 000000000..1f42a966b --- /dev/null +++ b/scripts/boost_libthread/1.61.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + sudo: false + env: CXX=clang++-3.5 CC=clang-3.5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boost_libthread/1.61.0/script.sh b/scripts/boost_libthread/1.61.0/script.sh new file mode 100755 index 000000000..24b9c6418 --- /dev/null +++ b/scripts/boost_libthread/1.61.0/script.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# key properties unique to this library +THIS_DIR=$(basename $(dirname $HERE)) +BOOST_LIBRARY=${THIS_DIR#boost_lib} +MASON_NAME=boost_lib${BOOST_LIBRARY} +MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a +# hack for inconsistently named test lib +if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then + MASON_LIB_FILE=lib/libboost_unit_test_framework.a +fi + +# inherit from boost base (used for all boost library packages) +BASE_PATH=${HERE}/../../boost/$(basename $HERE) +source ${BASE_PATH}/base.sh + +# setup mason env +. ${MASON_DIR}/mason.sh + +# source common build functions +source ${BASE_PATH}/common.sh + +mason_run "$@" diff --git a/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/.travis.yml b/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/.travis.yml new file mode 100644 index 000000000..0ab55da35 --- /dev/null +++ b/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=arm + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=x86 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/boringssl_asm_x86_64_fPIC.diff b/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/boringssl_asm_x86_64_fPIC.diff new file mode 100644 index 000000000..28a60b849 --- /dev/null +++ b/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/boringssl_asm_x86_64_fPIC.diff @@ -0,0 +1,11 @@ +--- update_gypi_and_asm.py_ 2015-01-22 11:13:43.000000000 -0800 ++++ update_gypi_and_asm.py 2015-01-22 11:13:59.000000000 -0800 +@@ -15,7 +15,7 @@ + OS_ARCH_COMBOS = [ + ('linux', 'arm', 'elf', [''], 'S'), + ('linux', 'x86', 'elf', ['-fPIC'], 'S'), +- ('linux', 'x86_64', 'elf', [''], 'S'), ++ ('linux', 'x86_64', 'elf', ['-fPIC'], 'S'), + ('mac', 'x86', 'macosx', ['-fPIC'], 'S'), + ('mac', 'x86_64', 'macosx', [''], 'S'), + ('win', 'x86_64', 'masm', [''], 'asm'), diff --git a/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/script.sh b/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/script.sh new file mode 100755 index 000000000..ca3f6ee8a --- /dev/null +++ b/scripts/boringssl/a6aabff2e6e95a71b2f966447eebd53e57d8bf83/script.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash + +MASON_NAME=boringssl +MASON_VERSION=a6aabff2e6e95a71b2f966447eebd53e57d8bf83 +MASON_LIB_FILE=lib/libboringssl.a + +. ${MASON_DIR}/mason.sh + +MASON_PWD=$(pwd) + +function mason_load_source { + # get gyp build scripts + URL=https://chromium.googlesource.com/experimental/chromium/src/+archive/master/third_party/boringssl.tar.gz + # we don't use `mason_download` here because the hash changes every download (google must be generating on the fly) + mkdir -p "${MASON_ROOT}/.cache" + cd "${MASON_ROOT}/.cache" + if [ ! -f ${MASON_SLUG} ] ; then + mason_step "Downloading ${URL}..." + curl --retry 3 -f -# -L "${URL}" -o ${MASON_SLUG} + fi + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/ +} + +function mason_compile { + # get code + git clone --depth 1 https://boringssl.googlesource.com/boringssl src + # get gyp + git clone --depth 1 https://chromium.googlesource.com/external/gyp.git + + # TODO - download this patch from remote to be able to work non-locally + patch ./update_gypi_and_asm.py < ${MASON_PWD}/boringssl_asm_x86_64_fPIC.diff + # regenerate gyp configs + python update_gypi_and_asm.py + + if [[ "${MASON_PLATFORM}" == "android" ]]; then + if [[ "${MASON_ANDROID_ARCH}" == "arm" ]]; then + export GYP_DEFINES="component=static_library OS=android target_arch=arm" + elif [[ "${MASON_ANDROID_ARCH}" == "x86" ]]; then + export GYP_DEFINES="component=static_library OS=android target_arch=ia32" + else + # Note: mips will be arch "mipsel" + export GYP_DEFINES="component=static_library OS=android target_arch=${MASON_ANDROID_ARCH}" + fi + else + export GYP_DEFINES="component=static_library target_arch=`uname -m | sed -e "s/i.86/ia32/;s/x86_64/x64/;s/amd64/x64/;s/arm.*/arm/;s/i86pc/ia32/"`" + fi + + # generate makefiles + echo "{ 'target_defaults': { 'standalone_static_library': 1 } }" > config.gypi + ./gyp/gyp boringssl.gyp --depth=. -Iconfig.gypi --generator-output=./build --format=make -Dcomponent=static_library -Dtarget_arch=x64 + + # compile + make -j${MASON_CONCURRENCY} -C build V=1 + + # install + mkdir -p ${MASON_PREFIX}/lib + if [[ "${MASON_PLATFORM}" == "osx" ]]; then + cp build/out/Default/libboringssl.a ${MASON_PREFIX}/lib/libboringssl.a + else + cp build/out/Default/obj.target/libboringssl.a ${MASON_PREFIX}/lib/libboringssl.a + fi + (cd ${MASON_PREFIX}/lib/ && ln -s libboringssl.a libssl.a && ln -s libboringssl.a libcrypto.a) + cp -r src/include ${MASON_PREFIX}/include +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + echo -L${MASON_PREFIX}/lib -lboringssl +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/bzip2/1.0.6/.travis.yml b/scripts/bzip2/1.0.6/.travis.yml new file mode 100644 index 000000000..e7952f5a9 --- /dev/null +++ b/scripts/bzip2/1.0.6/.travis.yml @@ -0,0 +1,23 @@ +language: generic + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + diff --git a/scripts/bzip2/1.0.6/script.sh b/scripts/bzip2/1.0.6/script.sh new file mode 100755 index 000000000..68e64e619 --- /dev/null +++ b/scripts/bzip2/1.0.6/script.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash + +MASON_NAME=bzip2 +MASON_VERSION=1.0.6 +MASON_LIB_FILE=lib/libbz2.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz \ + e47e9034c4116f467618cfaaa4d3aca004094007 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function read_link() { + case "$(uname -s)" in + 'Linux') readlink -f $1;; + 'Darwin') readlink $1;; + *) echo 1;; + esac +} + +function mason_compile { + make install PREFIX=${MASON_PREFIX} CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" + # symlinks are not portable, so now we recurse into /bin directory + # and fix them to be portable by being relative + cd ${MASON_PREFIX}/bin + for i in $(ls *); do + if [[ -L $i ]]; then + ln -sf $(basename $(read_link $i)) $i + fi + done + # TODO: android may need ranlib manual call +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lbz2" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/cairo/1.12.18/.travis.yml b/scripts/cairo/1.12.18/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/cairo/1.12.18/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/cairo/1.12.18/patch.diff b/scripts/cairo/1.12.18/patch.diff new file mode 100644 index 000000000..507131cf4 --- /dev/null +++ b/scripts/cairo/1.12.18/patch.diff @@ -0,0 +1,123 @@ +diff --git a/build/configure.ac.tools b/build/configure.ac.tools +index a24dbce..aaf0e5d 100644 +--- a/build/configure.ac.tools ++++ b/build/configure.ac.tools +@@ -10,16 +10,3 @@ AC_C_INLINE + + dnl =========================================================================== + +-PKG_PROG_PKG_CONFIG() +-if test "x$PKG_CONFIG" = x; then +- AC_MSG_ERROR([pkg-config >= $PKGCONFIG_REQUIRED required but not found (http://pkgconfig.freedesktop.org/)]) +-fi +- +-dnl Check for recent pkg-config which supports Requires.private +-case `$PKG_CONFIG --version` in +-[0.?|0.?.?|0.1[0-7]|0.1[0-7].?]) PKGCONFIG_REQUIRES="Requires"; ;; +-*) PKGCONFIG_REQUIRES="Requires.private"; ;; +-esac +- +-AC_SUBST(PKGCONFIG_REQUIRES) +- +diff --git a/configure.ac b/configure.ac +index a04baae..a162a6a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -321,26 +321,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(gallium, Gallium3D, no, [ + dnl =========================================================================== + + CAIRO_ENABLE_FUNCTIONS(png, PNG, yes, [ +- use_png=no +- AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config]) +- if test "x$png_REQUIRES" = x; then +- # libpng13 is GnuWin32's libpng-1.2.8 :-( +- for l in libpng libpng14 libpng12 libpng13 libpng10; do +- if $PKG_CONFIG --exists $l ; then +- png_REQUIRES=$l +- use_png=yes +- break +- fi +- done +- else +- use_png=yes +- fi +- +- if test "x$use_png" = "xyes" ; then +- PKG_CHECK_MODULES(png, $png_REQUIRES, , : ) +- else +- AC_MSG_WARN([Could not find libpng in the pkg-config search path]) +- fi ++ use_png=yes + ]) + + dnl =========================================================================== +@@ -491,35 +472,7 @@ FREETYPE_MIN_RELEASE=2.1.9 + FREETYPE_MIN_VERSION=9.7.3 + + CAIRO_ENABLE_FONT_BACKEND(ft, FreeType, auto, [ +- +- PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION, +- [freetype_pkgconfig=yes], +- [freetype_pkgconfig=no]) +- +- if test "x$freetype_pkgconfig" = "xyes"; then +- ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES" +- else +- +- if test -z "$FREETYPE_CONFIG"; then +- AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) +- fi +- if test "x$FREETYPE_CONFIG" = "xno" ; then +- use_ft='no (freetype-config not found in path or $FREETYPE_CONFIG)' +- else +- AC_MSG_CHECKING(freetype2 libtool version) +- +- FREETYPE_VERSION=`$FREETYPE_CONFIG --version` +- AX_COMPARE_VERSION([$FREETYPE_VERSION], [gt], [$FREETYPE_MIN_VERSION], +- [AC_MSG_RESULT($FREETYPE_VERSION - OK) +- ft_NONPKGCONFIG_CFLAGS=`$FREETYPE_CONFIG --cflags` +- ft_NONPKGCONFIG_LIBS=`$FREETYPE_CONFIG --libs`], +- [AC_MSG_RESULT($FREETYPE_VERSION - Too old) +- use_ft="no ($FREETYPE_VERSION found; version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)"]) +- fi +- fi +- +- ft_CFLAGS="$FREETYPE_CFLAGS" +- ft_LIBS="$FREETYPE_LIBS" ++ use_ft="yes" + ]) + + FONTCONFIG_MIN_VERSION=2.2.95 +@@ -658,19 +611,12 @@ CAIRO_ENABLE(test_surfaces, test surfaces, no) + dnl =========================================================================== + + CAIRO_ENABLE_SURFACE_BACKEND(image, image, always, [ +- pixman_REQUIRES="pixman-1 >= 0.16.0" +- PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, , +- [use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"]) ++ use_image=yes + image_REQUIRES=$pixman_REQUIRES + image_CFLAGS=$pixman_CFLAGS + image_LIBS=$pixman_LIBS + ]) + +-if pkg-config --exists 'pixman-1 >= 0.27.1'; then +- AC_DEFINE([HAS_PIXMAN_GLYPHS], 1, [Enable pixman glyph cache]) +-fi +- +- + dnl =========================================================================== + + CAIRO_ENABLE_SURFACE_BACKEND(mime, mime, always) +diff --git a/test/Makefile.am b/test/Makefile.am +index a9495dc..7bef9d5 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -71,7 +71,6 @@ endif + endif + test_sources += $(test) + +-noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build + noinst_SCRIPTS = check-refs.sh + + TESTS += cairo-test-suite$(EXEEXT) diff --git a/scripts/cairo/1.12.18/script.sh b/scripts/cairo/1.12.18/script.sh new file mode 100755 index 000000000..ce72f27f8 --- /dev/null +++ b/scripts/cairo/1.12.18/script.sh @@ -0,0 +1,109 @@ +#!/usr/bin/env bash + +MASON_NAME=cairo +MASON_VERSION=1.12.18 +MASON_LIB_FILE=lib/libcairo.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://cairographics.org/releases/${MASON_NAME}-${MASON_VERSION}.tar.xz \ + 34e29ec00864859cc26ac3e45a02d7b2cb65d1c8 + + mason_extract_tar_xz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install libpng 1.6.16 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.16) + ${MASON_DIR}/mason install freetype 2.5.5 + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype 2.5.5) + ${MASON_DIR}/mason install pixman 0.32.6 + MASON_PIXMAN=$(${MASON_DIR}/mason prefix pixman 0.32.6) + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + if [[ $(uname -s) == 'Darwin' ]]; then + FIND="\/Users\/travis\/build\/mapbox\/mason" + else + FIND="\/home\/travis\/build\/mapbox\/mason" + fi + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_FREETYPE}/lib/libfreetype.la + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PIXMAN}/lib/libpixman-1.la +} + +function mason_compile { + # patch cairo to avoid needing pkg-config as a build dep + if [[ -f ../../../patch.diff ]]; then + patch -N -p1 < ../../../patch.diff + else + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p1 < ./patch.diff + fi + + CFLAGS="${CFLAGS} -Wno-enum-conversion -I${MASON_PIXMAN}/include/pixman-1 -I${MASON_FREETYPE}/include/freetype2 -I${MASON_PNG}/include/" + LDFLAGS="-L${MASON_PIXMAN}/lib -lpixman-1 -L${MASON_FREETYPE}/lib -lfreetype -L${MASON_PNG}/lib -lpng" + CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --enable-pdf=yes \ + --enable-ft=yes \ + --enable-png=yes \ + --enable-svg=yes \ + --enable-ps=yes \ + --enable-fc=no \ + --enable-script=no \ + --enable-interpreter=no \ + --enable-quartz=no \ + --enable-quartz-image=no \ + --enable-quartz-font=no \ + --enable-trace=no \ + --enable-gtk-doc=no \ + --enable-qt=no \ + --enable-win32=no \ + --enable-win32-font=no \ + --enable-skia=no \ + --enable-os2=no \ + --enable-beos=no \ + --enable-drm=no \ + --enable-gallium=no \ + --enable-gl=no \ + --enable-glesv2=no \ + --enable-directfb=no \ + --enable-vg=no \ + --enable-egl=no \ + --enable-glx=no \ + --enable-wgl=no \ + --enable-test-surfaces=no \ + --enable-tee=no \ + --enable-xml=no \ + --disable-valgrind \ + --enable-gobject=no \ + --enable-xlib=no \ + --enable-xlib-xrender=no \ + --enable-xcb=no \ + --enable-xlib-xcb=no \ + --enable-xcb-shm=no \ + --enable-full-testing=no \ + --enable-symbol-lookup=no \ + --disable-dependency-tracking + # The -i and -k flags are to workaround make[6]: [install-data-local] Error 1 (ignored) + make V=1 -j${MASON_CONCURRENCY} -i -k + make install -i -k +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/cairo/1.14.0/.travis.yml b/scripts/cairo/1.14.0/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/cairo/1.14.0/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/cairo/1.14.0/patch.diff b/scripts/cairo/1.14.0/patch.diff new file mode 100644 index 000000000..a0f21614f --- /dev/null +++ b/scripts/cairo/1.14.0/patch.diff @@ -0,0 +1,96 @@ +diff --git a/build/configure.ac.tools b/build/configure.ac.tools +index a24dbce..aaf0e5d 100644 +--- a/build/configure.ac.tools ++++ b/build/configure.ac.tools +@@ -10,16 +10,3 @@ AC_C_INLINE + + dnl =========================================================================== + +-PKG_PROG_PKG_CONFIG() +-if test "x$PKG_CONFIG" = x; then +- AC_MSG_ERROR([pkg-config >= $PKGCONFIG_REQUIRED required but not found (http://pkgconfig.freedesktop.org/)]) +-fi +- +-dnl Check for recent pkg-config which supports Requires.private +-case `$PKG_CONFIG --version` in +-[0.?|0.?.?|0.1[0-7]|0.1[0-7].?]) PKGCONFIG_REQUIRES="Requires"; ;; +-*) PKGCONFIG_REQUIRES="Requires.private"; ;; +-esac +- +-AC_SUBST(PKGCONFIG_REQUIRES) +- +diff --git a/configure.ac b/configure.ac +index 2ce1959..87c71ac 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -321,26 +321,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(gallium, Gallium3D, no, [ + dnl =========================================================================== + + CAIRO_ENABLE_FUNCTIONS(png, PNG, yes, [ +- use_png=no +- AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config]) +- if test "x$png_REQUIRES" = x; then +- # libpng13 is GnuWin32's libpng-1.2.8 :-( +- for l in libpng libpng14 libpng12 libpng13 libpng10; do +- if $PKG_CONFIG --exists $l ; then +- png_REQUIRES=$l +- use_png=yes +- break +- fi +- done +- else +- use_png=yes +- fi +- +- if test "x$use_png" = "xyes" ; then +- PKG_CHECK_MODULES(png, $png_REQUIRES, , : ) +- else +- AC_MSG_WARN([Could not find libpng in the pkg-config search path]) +- fi ++ use_png=yes + ]) + + dnl =========================================================================== +@@ -495,10 +476,6 @@ FREETYPE_MIN_RELEASE=2.1.9 + FREETYPE_MIN_VERSION=9.7.3 + + CAIRO_ENABLE_FONT_BACKEND(ft, FreeType, auto, [ +- +- PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION, +- [freetype_pkgconfig=yes], +- [freetype_pkgconfig=no]) + + if test "x$freetype_pkgconfig" = "xyes"; then + ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES" +@@ -662,18 +639,12 @@ CAIRO_ENABLE(test_surfaces, test surfaces, no) + dnl =========================================================================== + + CAIRO_ENABLE_SURFACE_BACKEND(image, image, always, [ +- pixman_REQUIRES="pixman-1 >= 0.30.0" +- PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, , +- [use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"]) ++ use_image=yes + image_REQUIRES=$pixman_REQUIRES + image_CFLAGS=$pixman_CFLAGS + image_LIBS=$pixman_LIBS + ]) + +-if pkg-config --exists 'pixman-1 >= 0.27.1'; then +- AC_DEFINE([HAS_PIXMAN_GLYPHS], 1, [Enable pixman glyph cache]) +-fi +- + + dnl =========================================================================== + +diff --git a/test/Makefile.am b/test/Makefile.am +index 950629b..f733dd9 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -75,7 +75,6 @@ endif + endif + test_sources += $(test) + +-noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build + noinst_SCRIPTS = check-refs.sh + + TESTS += cairo-test-suite$(EXEEXT) diff --git a/scripts/cairo/1.14.0/script.sh b/scripts/cairo/1.14.0/script.sh new file mode 100755 index 000000000..2577c6ffc --- /dev/null +++ b/scripts/cairo/1.14.0/script.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash + +MASON_NAME=cairo +MASON_VERSION=1.14.0 +MASON_LIB_FILE=lib/libcairo.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://cairographics.org/releases/${MASON_NAME}-${MASON_VERSION}.tar.xz \ + 69b3923f8f113206f6c0e2972de4469d04b04592 + + mason_extract_tar_xz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install libpng 1.6.16 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.16) + ${MASON_DIR}/mason install freetype 2.5.4 + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype 2.5.4) + ${MASON_DIR}/mason install pixman 0.32.6 + MASON_PIXMAN=$(${MASON_DIR}/mason prefix pixman 0.32.6) +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + # patch cairo to avoid needing pkg-config as a build dep + patch -N -p1 < ../../../patch.diff + CFLAGS="${CFLAGS} -Wno-enum-conversion -I${MASON_PIXMAN}/include/pixman-1 -I${MASON_FREETYPE}/include/freetype2 -I${MASON_PNG}/include/" + LDFLAGS="-L${MASON_PIXMAN}/lib -lpixman-1 -L${MASON_FREETYPE}/lib -lfreetype -L${MASON_PNG}/lib -lpng" + CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --enable-pdf=yes \ + --enable-ft=yes \ + --enable-png=yes \ + --enable-svg=yes \ + --enable-ps=yes \ + --enable-fc=no \ + --enable-script=no \ + --enable-interpreter=no \ + --enable-quartz=no \ + --enable-quartz-image=no \ + --enable-quartz-font=no \ + --enable-trace=no \ + --enable-gtk-doc=no \ + --enable-qt=no \ + --enable-win32=no \ + --enable-win32-font=no \ + --enable-skia=no \ + --enable-os2=no \ + --enable-beos=no \ + --enable-drm=no \ + --enable-gallium=no \ + --enable-gl=no \ + --enable-glesv2=no \ + --enable-directfb=no \ + --enable-vg=no \ + --enable-egl=no \ + --enable-glx=no \ + --enable-wgl=no \ + --enable-test-surfaces=no \ + --enable-tee=no \ + --enable-xml=no \ + --disable-valgrind \ + --enable-gobject=no \ + --enable-xlib=no \ + --enable-xlib-xrender=no \ + --enable-xcb=no \ + --enable-xlib-xcb=no \ + --enable-xcb-shm=no \ + --enable-full-testing=no \ + --enable-symbol-lookup=no \ + --disable-dependency-tracking + # The -i and -k flags are to workaround make[6]: [install-data-local] Error 1 (ignored) + make V=1 -j${MASON_CONCURRENCY} -i -k + make install -i -k +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/cairo/1.14.2/.travis.yml b/scripts/cairo/1.14.2/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/cairo/1.14.2/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/cairo/1.14.2/patch.diff b/scripts/cairo/1.14.2/patch.diff new file mode 100644 index 000000000..a0f21614f --- /dev/null +++ b/scripts/cairo/1.14.2/patch.diff @@ -0,0 +1,96 @@ +diff --git a/build/configure.ac.tools b/build/configure.ac.tools +index a24dbce..aaf0e5d 100644 +--- a/build/configure.ac.tools ++++ b/build/configure.ac.tools +@@ -10,16 +10,3 @@ AC_C_INLINE + + dnl =========================================================================== + +-PKG_PROG_PKG_CONFIG() +-if test "x$PKG_CONFIG" = x; then +- AC_MSG_ERROR([pkg-config >= $PKGCONFIG_REQUIRED required but not found (http://pkgconfig.freedesktop.org/)]) +-fi +- +-dnl Check for recent pkg-config which supports Requires.private +-case `$PKG_CONFIG --version` in +-[0.?|0.?.?|0.1[0-7]|0.1[0-7].?]) PKGCONFIG_REQUIRES="Requires"; ;; +-*) PKGCONFIG_REQUIRES="Requires.private"; ;; +-esac +- +-AC_SUBST(PKGCONFIG_REQUIRES) +- +diff --git a/configure.ac b/configure.ac +index 2ce1959..87c71ac 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -321,26 +321,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(gallium, Gallium3D, no, [ + dnl =========================================================================== + + CAIRO_ENABLE_FUNCTIONS(png, PNG, yes, [ +- use_png=no +- AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config]) +- if test "x$png_REQUIRES" = x; then +- # libpng13 is GnuWin32's libpng-1.2.8 :-( +- for l in libpng libpng14 libpng12 libpng13 libpng10; do +- if $PKG_CONFIG --exists $l ; then +- png_REQUIRES=$l +- use_png=yes +- break +- fi +- done +- else +- use_png=yes +- fi +- +- if test "x$use_png" = "xyes" ; then +- PKG_CHECK_MODULES(png, $png_REQUIRES, , : ) +- else +- AC_MSG_WARN([Could not find libpng in the pkg-config search path]) +- fi ++ use_png=yes + ]) + + dnl =========================================================================== +@@ -495,10 +476,6 @@ FREETYPE_MIN_RELEASE=2.1.9 + FREETYPE_MIN_VERSION=9.7.3 + + CAIRO_ENABLE_FONT_BACKEND(ft, FreeType, auto, [ +- +- PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION, +- [freetype_pkgconfig=yes], +- [freetype_pkgconfig=no]) + + if test "x$freetype_pkgconfig" = "xyes"; then + ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES" +@@ -662,18 +639,12 @@ CAIRO_ENABLE(test_surfaces, test surfaces, no) + dnl =========================================================================== + + CAIRO_ENABLE_SURFACE_BACKEND(image, image, always, [ +- pixman_REQUIRES="pixman-1 >= 0.30.0" +- PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, , +- [use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"]) ++ use_image=yes + image_REQUIRES=$pixman_REQUIRES + image_CFLAGS=$pixman_CFLAGS + image_LIBS=$pixman_LIBS + ]) + +-if pkg-config --exists 'pixman-1 >= 0.27.1'; then +- AC_DEFINE([HAS_PIXMAN_GLYPHS], 1, [Enable pixman glyph cache]) +-fi +- + + dnl =========================================================================== + +diff --git a/test/Makefile.am b/test/Makefile.am +index 950629b..f733dd9 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -75,7 +75,6 @@ endif + endif + test_sources += $(test) + +-noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build + noinst_SCRIPTS = check-refs.sh + + TESTS += cairo-test-suite$(EXEEXT) diff --git a/scripts/cairo/1.14.2/script.sh b/scripts/cairo/1.14.2/script.sh new file mode 100755 index 000000000..74353db56 --- /dev/null +++ b/scripts/cairo/1.14.2/script.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash + +MASON_NAME=cairo +MASON_VERSION=1.14.2 +MASON_LIB_FILE=lib/libcairo.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://cairographics.org/releases/${MASON_NAME}-${MASON_VERSION}.tar.xz \ + 3202106739cb0cb044c910a9b67769c95d0b6bce + + mason_extract_tar_xz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install libpng 1.6.17 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.17) + ${MASON_DIR}/mason install freetype 2.6 + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype 2.6) + ${MASON_DIR}/mason install pixman 0.32.6 + MASON_PIXMAN=$(${MASON_DIR}/mason prefix pixman 0.32.6) +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + # patch cairo to avoid needing pkg-config as a build dep + patch -N -p1 < ./patch.diff + CFLAGS="${CFLAGS} -Wno-enum-conversion -I${MASON_PIXMAN}/include/pixman-1 -I${MASON_FREETYPE}/include/freetype2 -I${MASON_PNG}/include/" + LDFLAGS="-L${MASON_PIXMAN}/lib -lpixman-1 -L${MASON_FREETYPE}/lib -lfreetype -L${MASON_PNG}/lib -lpng" + CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --enable-pdf=yes \ + --enable-ft=yes \ + --enable-png=yes \ + --enable-svg=yes \ + --enable-ps=yes \ + --enable-fc=no \ + --enable-script=no \ + --enable-interpreter=no \ + --enable-quartz=no \ + --enable-quartz-image=no \ + --enable-quartz-font=no \ + --enable-trace=no \ + --enable-gtk-doc=no \ + --enable-qt=no \ + --enable-win32=no \ + --enable-win32-font=no \ + --enable-skia=no \ + --enable-os2=no \ + --enable-beos=no \ + --enable-drm=no \ + --enable-gallium=no \ + --enable-gl=no \ + --enable-glesv2=no \ + --enable-directfb=no \ + --enable-vg=no \ + --enable-egl=no \ + --enable-glx=no \ + --enable-wgl=no \ + --enable-test-surfaces=no \ + --enable-tee=no \ + --enable-xml=no \ + --disable-valgrind \ + --enable-gobject=no \ + --enable-xlib=no \ + --enable-xlib-xrender=no \ + --enable-xcb=no \ + --enable-xlib-xcb=no \ + --enable-xcb-shm=no \ + --enable-full-testing=no \ + --enable-symbol-lookup=no \ + --disable-dependency-tracking + # The -i and -k flags are to workaround make[6]: [install-data-local] Error 1 (ignored) + make V=1 -j${MASON_CONCURRENCY} -i -k + make install -i -k +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/cairo/1.14.4/.travis.yml b/scripts/cairo/1.14.4/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/cairo/1.14.4/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/cairo/1.14.4/patch.diff b/scripts/cairo/1.14.4/patch.diff new file mode 100644 index 000000000..a0f21614f --- /dev/null +++ b/scripts/cairo/1.14.4/patch.diff @@ -0,0 +1,96 @@ +diff --git a/build/configure.ac.tools b/build/configure.ac.tools +index a24dbce..aaf0e5d 100644 +--- a/build/configure.ac.tools ++++ b/build/configure.ac.tools +@@ -10,16 +10,3 @@ AC_C_INLINE + + dnl =========================================================================== + +-PKG_PROG_PKG_CONFIG() +-if test "x$PKG_CONFIG" = x; then +- AC_MSG_ERROR([pkg-config >= $PKGCONFIG_REQUIRED required but not found (http://pkgconfig.freedesktop.org/)]) +-fi +- +-dnl Check for recent pkg-config which supports Requires.private +-case `$PKG_CONFIG --version` in +-[0.?|0.?.?|0.1[0-7]|0.1[0-7].?]) PKGCONFIG_REQUIRES="Requires"; ;; +-*) PKGCONFIG_REQUIRES="Requires.private"; ;; +-esac +- +-AC_SUBST(PKGCONFIG_REQUIRES) +- +diff --git a/configure.ac b/configure.ac +index 2ce1959..87c71ac 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -321,26 +321,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(gallium, Gallium3D, no, [ + dnl =========================================================================== + + CAIRO_ENABLE_FUNCTIONS(png, PNG, yes, [ +- use_png=no +- AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config]) +- if test "x$png_REQUIRES" = x; then +- # libpng13 is GnuWin32's libpng-1.2.8 :-( +- for l in libpng libpng14 libpng12 libpng13 libpng10; do +- if $PKG_CONFIG --exists $l ; then +- png_REQUIRES=$l +- use_png=yes +- break +- fi +- done +- else +- use_png=yes +- fi +- +- if test "x$use_png" = "xyes" ; then +- PKG_CHECK_MODULES(png, $png_REQUIRES, , : ) +- else +- AC_MSG_WARN([Could not find libpng in the pkg-config search path]) +- fi ++ use_png=yes + ]) + + dnl =========================================================================== +@@ -495,10 +476,6 @@ FREETYPE_MIN_RELEASE=2.1.9 + FREETYPE_MIN_VERSION=9.7.3 + + CAIRO_ENABLE_FONT_BACKEND(ft, FreeType, auto, [ +- +- PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION, +- [freetype_pkgconfig=yes], +- [freetype_pkgconfig=no]) + + if test "x$freetype_pkgconfig" = "xyes"; then + ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES" +@@ -662,18 +639,12 @@ CAIRO_ENABLE(test_surfaces, test surfaces, no) + dnl =========================================================================== + + CAIRO_ENABLE_SURFACE_BACKEND(image, image, always, [ +- pixman_REQUIRES="pixman-1 >= 0.30.0" +- PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, , +- [use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"]) ++ use_image=yes + image_REQUIRES=$pixman_REQUIRES + image_CFLAGS=$pixman_CFLAGS + image_LIBS=$pixman_LIBS + ]) + +-if pkg-config --exists 'pixman-1 >= 0.27.1'; then +- AC_DEFINE([HAS_PIXMAN_GLYPHS], 1, [Enable pixman glyph cache]) +-fi +- + + dnl =========================================================================== + +diff --git a/test/Makefile.am b/test/Makefile.am +index 950629b..f733dd9 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -75,7 +75,6 @@ endif + endif + test_sources += $(test) + +-noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build + noinst_SCRIPTS = check-refs.sh + + TESTS += cairo-test-suite$(EXEEXT) diff --git a/scripts/cairo/1.14.4/script.sh b/scripts/cairo/1.14.4/script.sh new file mode 100755 index 000000000..9ddd90914 --- /dev/null +++ b/scripts/cairo/1.14.4/script.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash + +MASON_NAME=cairo +MASON_VERSION=1.14.4 +MASON_LIB_FILE=lib/libcairo.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://cairographics.org/releases/${MASON_NAME}-${MASON_VERSION}.tar.xz \ + ecf18db1e89d99799783757d9026a74012dfafcb + + mason_extract_tar_xz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install libpng 1.6.17 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.17) + ${MASON_DIR}/mason install freetype 2.6 + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype 2.6) + ${MASON_DIR}/mason install pixman 0.32.6 + MASON_PIXMAN=$(${MASON_DIR}/mason prefix pixman 0.32.6) +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + # patch cairo to avoid needing pkg-config as a build dep + patch -N -p1 < ./patch.diff + CFLAGS="${CFLAGS} -Wno-enum-conversion -I${MASON_PIXMAN}/include/pixman-1 -I${MASON_FREETYPE}/include/freetype2 -I${MASON_PNG}/include/" + LDFLAGS="-L${MASON_PIXMAN}/lib -lpixman-1 -L${MASON_FREETYPE}/lib -lfreetype -L${MASON_PNG}/lib -lpng" + CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --enable-pdf=yes \ + --enable-ft=yes \ + --enable-png=yes \ + --enable-svg=yes \ + --enable-ps=yes \ + --enable-fc=no \ + --enable-script=no \ + --enable-interpreter=no \ + --enable-quartz=no \ + --enable-quartz-image=no \ + --enable-quartz-font=no \ + --enable-trace=no \ + --enable-gtk-doc=no \ + --enable-qt=no \ + --enable-win32=no \ + --enable-win32-font=no \ + --enable-skia=no \ + --enable-os2=no \ + --enable-beos=no \ + --enable-drm=no \ + --enable-gallium=no \ + --enable-gl=no \ + --enable-glesv2=no \ + --enable-directfb=no \ + --enable-vg=no \ + --enable-egl=no \ + --enable-glx=no \ + --enable-wgl=no \ + --enable-test-surfaces=no \ + --enable-tee=no \ + --enable-xml=no \ + --disable-valgrind \ + --enable-gobject=no \ + --enable-xlib=no \ + --enable-xlib-xrender=no \ + --enable-xcb=no \ + --enable-xlib-xcb=no \ + --enable-xcb-shm=no \ + --enable-full-testing=no \ + --enable-symbol-lookup=no \ + --disable-dependency-tracking + # The -i and -k flags are to workaround make[6]: [install-data-local] Error 1 (ignored) + make V=1 -j${MASON_CONCURRENCY} -i -k + make install -i -k +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/ccache/3.2.4/.travis.yml b/scripts/ccache/3.2.4/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/ccache/3.2.4/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/ccache/3.2.4/script.sh b/scripts/ccache/3.2.4/script.sh new file mode 100755 index 000000000..282471dff --- /dev/null +++ b/scripts/ccache/3.2.4/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=ccache +MASON_VERSION=3.2.4 +MASON_LIB_FILE=bin/ccache + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://www.samba.org/ftp/ccache/${MASON_NAME}-${MASON_VERSION}.tar.bz2 \ + 80bc058b45efdb00ad49de2198047917016e4c29 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --with-bundled-zlib \ + --disable-dependency-tracking + make V=1 -j${MASON_CONCURRENCY} + make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/ccache/3.3.0/.travis.yml b/scripts/ccache/3.3.0/.travis.yml new file mode 100644 index 000000000..30a758f4b --- /dev/null +++ b/scripts/ccache/3.3.0/.travis.yml @@ -0,0 +1,24 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/ccache/3.3.0/script.sh b/scripts/ccache/3.3.0/script.sh new file mode 100755 index 000000000..ca220446e --- /dev/null +++ b/scripts/ccache/3.3.0/script.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +MASON_NAME=ccache +MASON_VERSION=3.3.0 +MASON_LIB_FILE=bin/ccache + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://www.samba.org/ftp/ccache/${MASON_NAME}-3.3.tar.bz2 \ + 7b97be7b05a4bec29d0466a4e6199b4ec49eb4ca + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-3.3 +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --with-bundled-zlib + make V=1 -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + : +} + +function mason_cflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/ccache/3.3.1/.travis.yml b/scripts/ccache/3.3.1/.travis.yml new file mode 100644 index 000000000..30a758f4b --- /dev/null +++ b/scripts/ccache/3.3.1/.travis.yml @@ -0,0 +1,24 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/ccache/3.3.1/script.sh b/scripts/ccache/3.3.1/script.sh new file mode 100755 index 000000000..020eada76 --- /dev/null +++ b/scripts/ccache/3.3.1/script.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +MASON_NAME=ccache +MASON_VERSION=3.3.1 +MASON_LIB_FILE=bin/ccache + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://www.samba.org/ftp/ccache/${MASON_NAME}-${MASON_VERSION}.tar.bz2 \ + b977c16473a64e4545dd89d5f81eba262ee82852 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --with-bundled-zlib + make V=1 -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + : +} + +function mason_cflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/clang++/3.8.0/.travis.yml b/scripts/clang++/3.8.0/.travis.yml new file mode 100644 index 000000000..aa4b0b5a0 --- /dev/null +++ b/scripts/clang++/3.8.0/.travis.yml @@ -0,0 +1,29 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: gcc + env: CXX=g++-5 CC=gcc-5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/clang++/3.8.0/script.sh b/scripts/clang++/3.8.0/script.sh new file mode 100755 index 000000000..22489b56b --- /dev/null +++ b/scripts/clang++/3.8.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +function mason_build { + ${MASON_DIR}/mason install clang ${MASON_VERSION} + CLANG_PREFIX=$(${MASON_DIR}/mason prefix clang ${MASON_VERSION}) + mkdir -p "${MASON_PREFIX}/bin" + # we need to copy the standard C++ headers because clang-tidy doesn't know + # where to find them in the system and complains about missing information + mkdir -p "${MASON_PREFIX}/include" + mkdir -p "${MASON_PREFIX}/lib/clang/${MASON_VERSION}" + cp ${CLANG_PREFIX}/bin/${MASON_NAME} "${MASON_PREFIX}/bin/" + cp ${CLANG_PREFIX}/bin/clang "${MASON_PREFIX}/bin/" + cp -R ${CLANG_PREFIX}/include/c++ "${MASON_PREFIX}/include/c++" + cp -R ${CLANG_PREFIX}/lib/clang/${MASON_VERSION}/* "${MASON_PREFIX}/lib/clang/${MASON_VERSION}/" + cd ${MASON_PREFIX}/bin/ + rm -f "clang++-3.8" + ln -s "clang++" "clang++-3.8" + rm -f "clang-3.8" + ln -s "clang" "clang-3.8" +} + +mason_run "$@" diff --git a/scripts/clang++/3.8.1/.travis.yml b/scripts/clang++/3.8.1/.travis.yml new file mode 100644 index 000000000..68ea01f4e --- /dev/null +++ b/scripts/clang++/3.8.1/.travis.yml @@ -0,0 +1,16 @@ +language: generic + +matrix: + include: + - os: osx + - os: linux + sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/clang++/3.8.1/script.sh b/scripts/clang++/3.8.1/script.sh new file mode 100755 index 000000000..391259e3c --- /dev/null +++ b/scripts/clang++/3.8.1/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +# inherit all functions from base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +mason_run "$@" diff --git a/scripts/clang++/3.9.0/.travis.yml b/scripts/clang++/3.9.0/.travis.yml new file mode 100644 index 000000000..68ea01f4e --- /dev/null +++ b/scripts/clang++/3.9.0/.travis.yml @@ -0,0 +1,16 @@ +language: generic + +matrix: + include: + - os: osx + - os: linux + sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/clang++/3.9.0/script.sh b/scripts/clang++/3.9.0/script.sh new file mode 100755 index 000000000..391259e3c --- /dev/null +++ b/scripts/clang++/3.9.0/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +# inherit all functions from base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +mason_run "$@" diff --git a/scripts/clang++/base/common.sh b/scripts/clang++/base/common.sh new file mode 100755 index 000000000..5147275f0 --- /dev/null +++ b/scripts/clang++/base/common.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +function mason_build { + ${MASON_DIR}/mason install llvm ${MASON_VERSION} + CLANG_PREFIX=$(${MASON_DIR}/mason prefix llvm ${MASON_VERSION}) + + # copy bin + mkdir -p "${MASON_PREFIX}/bin" + cp "${CLANG_PREFIX}/bin/${MASON_NAME}" "${MASON_PREFIX}/bin/" + cp "${CLANG_PREFIX}/bin/clang" "${MASON_PREFIX}/bin/" + cp "${CLANG_PREFIX}/bin/llvm-symbolizer" "${MASON_PREFIX}/bin/" + + # copy share + mkdir -p "${MASON_PREFIX}/share" + cp -r "${CLANG_PREFIX}/share/clang" "${MASON_PREFIX}/share/" + # copy include/c++ + mkdir -p "${MASON_PREFIX}/include" + cp -r "${CLANG_PREFIX}/include/c++" "${MASON_PREFIX}/include/" + # copy libs + mkdir -p "${MASON_PREFIX}/lib" + cp -r ${CLANG_PREFIX}/lib/libc++* "${MASON_PREFIX}/lib/" + cp -r ${CLANG_PREFIX}/lib/libLTO.* "${MASON_PREFIX}/lib/" + mkdir -p "${MASON_PREFIX}/lib/clang" + cp -R ${CLANG_PREFIX}/lib/clang/${MASON_VERSION} "${MASON_PREFIX}/lib/clang/" + + # fixup symlinks + cd "${MASON_PREFIX}/bin/" + MAJOR_MINOR=$(echo $MASON_VERSION | cut -d '.' -f1-2) + rm -f "clang++-${MAJOR_MINOR}" + ln -s "clang++" "clang++-${MAJOR_MINOR}" + rm -f "clang-${MAJOR_MINOR}" + ln -s "clang" "clang-${MAJOR_MINOR}" +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} diff --git a/scripts/clang-format/3.8.0/.travis.yml b/scripts/clang-format/3.8.0/.travis.yml new file mode 100644 index 000000000..aa4b0b5a0 --- /dev/null +++ b/scripts/clang-format/3.8.0/.travis.yml @@ -0,0 +1,29 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: gcc + env: CXX=g++-5 CC=gcc-5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/clang-format/3.8.0/script.sh b/scripts/clang-format/3.8.0/script.sh new file mode 100755 index 000000000..520bdfc30 --- /dev/null +++ b/scripts/clang-format/3.8.0/script.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +function mason_build { + ${MASON_DIR}/mason install clang ${MASON_VERSION} + CLANG_PREFIX=$(${MASON_DIR}/mason prefix clang ${MASON_VERSION}) + mkdir -p "${MASON_PREFIX}/bin" + cp ${CLANG_PREFIX}/bin/${MASON_NAME} "${MASON_PREFIX}/bin/" +} + +mason_run "$@" diff --git a/scripts/clang-format/3.8.1/.travis.yml b/scripts/clang-format/3.8.1/.travis.yml new file mode 100644 index 000000000..68ea01f4e --- /dev/null +++ b/scripts/clang-format/3.8.1/.travis.yml @@ -0,0 +1,16 @@ +language: generic + +matrix: + include: + - os: osx + - os: linux + sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/clang-format/3.8.1/script.sh b/scripts/clang-format/3.8.1/script.sh new file mode 100755 index 000000000..391259e3c --- /dev/null +++ b/scripts/clang-format/3.8.1/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +# inherit all functions from base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +mason_run "$@" diff --git a/scripts/clang-format/3.9.0/.travis.yml b/scripts/clang-format/3.9.0/.travis.yml new file mode 100644 index 000000000..68ea01f4e --- /dev/null +++ b/scripts/clang-format/3.9.0/.travis.yml @@ -0,0 +1,16 @@ +language: generic + +matrix: + include: + - os: osx + - os: linux + sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/clang-format/3.9.0/script.sh b/scripts/clang-format/3.9.0/script.sh new file mode 100755 index 000000000..391259e3c --- /dev/null +++ b/scripts/clang-format/3.9.0/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +# inherit all functions from base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +mason_run "$@" diff --git a/scripts/clang-format/base/common.sh b/scripts/clang-format/base/common.sh new file mode 100755 index 000000000..5a95fb4e7 --- /dev/null +++ b/scripts/clang-format/base/common.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +function mason_build { + ${MASON_DIR}/mason install llvm ${MASON_VERSION} + CLANG_PREFIX=$(${MASON_DIR}/mason prefix llvm ${MASON_VERSION}) + # copy bin + mkdir -p "${MASON_PREFIX}/bin" + cp "${CLANG_PREFIX}/bin/${MASON_NAME}" "${MASON_PREFIX}/bin/" +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} \ No newline at end of file diff --git a/scripts/clang-tidy/3.8.0/.travis.yml b/scripts/clang-tidy/3.8.0/.travis.yml new file mode 100644 index 000000000..aa4b0b5a0 --- /dev/null +++ b/scripts/clang-tidy/3.8.0/.travis.yml @@ -0,0 +1,29 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: gcc + env: CXX=g++-5 CC=gcc-5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/clang-tidy/3.8.0/script.sh b/scripts/clang-tidy/3.8.0/script.sh new file mode 100755 index 000000000..ca9142b53 --- /dev/null +++ b/scripts/clang-tidy/3.8.0/script.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +function mason_build { + ${MASON_DIR}/mason install clang ${MASON_VERSION} + CLANG_PREFIX=$(${MASON_DIR}/mason prefix clang ${MASON_VERSION}) + mkdir -p "${MASON_PREFIX}/bin" + # we need to copy the standard C++ headers because clang-tidy doesn't know + # where to find them in the system and complains about missing information + mkdir -p "${MASON_PREFIX}/include" + mkdir -p "${MASON_PREFIX}/lib/clang/${MASON_VERSION}" + cp ${CLANG_PREFIX}/bin/${MASON_NAME} "${MASON_PREFIX}/bin/" + cp -R ${CLANG_PREFIX}/include/c++ "${MASON_PREFIX}/include/c++" + cp -R ${CLANG_PREFIX}/lib/clang/${MASON_VERSION}/include "${MASON_PREFIX}/lib/clang/${MASON_VERSION}/include" +} + +mason_run "$@" diff --git a/scripts/clang-tidy/3.8.1/.travis.yml b/scripts/clang-tidy/3.8.1/.travis.yml new file mode 100644 index 000000000..68ea01f4e --- /dev/null +++ b/scripts/clang-tidy/3.8.1/.travis.yml @@ -0,0 +1,16 @@ +language: generic + +matrix: + include: + - os: osx + - os: linux + sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/clang-tidy/3.8.1/script.sh b/scripts/clang-tidy/3.8.1/script.sh new file mode 100755 index 000000000..391259e3c --- /dev/null +++ b/scripts/clang-tidy/3.8.1/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +# inherit all functions from base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +mason_run "$@" diff --git a/scripts/clang-tidy/3.8/script.sh b/scripts/clang-tidy/3.8/script.sh new file mode 100755 index 000000000..17b84fade --- /dev/null +++ b/scripts/clang-tidy/3.8/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +MASON_NAME=clang-tidy +MASON_VERSION=3.8 +MASON_LIB_FILE=bin/clang-tidy + +. ${MASON_DIR}/mason.sh + +function mason_build { + mkdir -p "${MASON_PREFIX}/bin" + cd "${MASON_PREFIX}" + + URL="https://mason-binaries.s3.amazonaws.com/prebuilt/${MASON_PLATFORM}-$(uname -m)/clang-tidy-${MASON_VERSION}" + curl "${URL}" -o "${MASON_LIB_FILE}" +} + +mason_run "$@" diff --git a/scripts/clang-tidy/3.9.0/.travis.yml b/scripts/clang-tidy/3.9.0/.travis.yml new file mode 100644 index 000000000..68ea01f4e --- /dev/null +++ b/scripts/clang-tidy/3.9.0/.travis.yml @@ -0,0 +1,16 @@ +language: generic + +matrix: + include: + - os: osx + - os: linux + sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/clang-tidy/3.9.0/script.sh b/scripts/clang-tidy/3.9.0/script.sh new file mode 100755 index 000000000..391259e3c --- /dev/null +++ b/scripts/clang-tidy/3.9.0/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +# inherit all functions from base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +mason_run "$@" diff --git a/scripts/clang-tidy/base/common.sh b/scripts/clang-tidy/base/common.sh new file mode 100755 index 000000000..014667465 --- /dev/null +++ b/scripts/clang-tidy/base/common.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +function mason_build { + ${MASON_DIR}/mason install llvm ${MASON_VERSION} + CLANG_PREFIX=$(${MASON_DIR}/mason prefix llvm ${MASON_VERSION}) + + # copy bin + mkdir -p "${MASON_PREFIX}/bin" + cp "${CLANG_PREFIX}/bin/${MASON_NAME}" "${MASON_PREFIX}/bin/" + + # copy include/c++ + mkdir -p "${MASON_PREFIX}/include" + cp -r "${CLANG_PREFIX}/include/c++" "${MASON_PREFIX}/include/" + # copy libs + mkdir -p "${MASON_PREFIX}/lib" + mkdir -p "${MASON_PREFIX}/lib/clang" + cp -r ${CLANG_PREFIX}/lib/clang/${MASON_VERSION} "${MASON_PREFIX}/lib/clang/" +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} \ No newline at end of file diff --git a/scripts/clang/3.5.2/.travis.yml b/scripts/clang/3.5.2/.travis.yml new file mode 100644 index 000000000..f906060ee --- /dev/null +++ b/scripts/clang/3.5.2/.travis.yml @@ -0,0 +1,33 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: gcc + env: CXX=g++-5 CC=gcc-5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason install cmake 3.5.2 +- export PATH=$(./mason prefix cmake 3.5.2)/bin:${PATH} +- ./mason install ninja 1.7.1 +- export PATH=$(./mason prefix ninja 1.7.1)/bin:${PATH} +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/clang/3.5.2/script.sh b/scripts/clang/3.5.2/script.sh new file mode 100755 index 000000000..a3ce7cf2e --- /dev/null +++ b/scripts/clang/3.5.2/script.sh @@ -0,0 +1,110 @@ +#!/usr/bin/env bash + +MASON_NAME=clang +MASON_VERSION=3.5.2 +MASON_LIB_FILE=bin/clang + +. ${MASON_DIR}/mason.sh + + +# options +ENABLE_LLDB=false + +function curl_get() { + if [ ! -f $(basename ${1}) ] ; then + mason_step "Downloading $1 to $(pwd)/$(basename ${1})" + curl --retry 3 -f -L -O "$1" + else + echo "already downloaded $1 to $(pwd)/$(basename ${1})" + fi +} + +function setup_release() { + LLVM_RELEASE=$1 + BUILD_PATH=$2 + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/llvm-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/cfe-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/compiler-rt-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libcxx-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libcxxabi-${LLVM_RELEASE}.src.tar.xz" + #curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libunwind-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/lld-${LLVM_RELEASE}.src.tar.xz" + if [[ ${ENABLE_LLDB} == true ]]; then + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/lldb-${LLVM_RELEASE}.src.tar.xz" + fi + #curl_get "http://llvm.org/releases/${LLVM_RELEASE}/openmp-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/clang-tools-extra-${LLVM_RELEASE}.src.tar.xz" + for i in $(ls *.xz); do + echo "unpacking $i" + tar xf $i; + done + mv llvm-${LLVM_RELEASE}.src/* ${BUILD_PATH}/ + ls ${BUILD_PATH}/ + mv cfe-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/clang + mv compiler-rt-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/compiler-rt + mv libcxx-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libcxx + mv libcxxabi-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libcxxabi + #mv libunwind-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libunwind + mv lld-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/lld + if [[ ${ENABLE_LLDB} == true ]]; then + mv lldb-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/lldb + fi + #mv openmp-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/openmp + mv clang-tools-extra-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/clang/tools/extra + cd ../ +} + + +function mason_load_source { + mkdir -p "${MASON_ROOT}/.cache" + cd "${MASON_ROOT}/.cache" + export MASON_BUILD_PATH=${MASON_ROOT}/.build/llvm-${MASON_VERSION} + if [[ -d ${MASON_BUILD_PATH}/ ]]; then + rm -rf ${MASON_BUILD_PATH}/ + fi + mkdir -p ${MASON_BUILD_PATH}/ + setup_release ${MASON_VERSION} ${MASON_BUILD_PATH} +} + +function mason_compile { + CLANG_GIT_REV=$(git -C tools/clang/ rev-list --max-count=1 HEAD) + mkdir -p ./build + cd ./build + CMAKE_EXTRA_ARGS="" + ## TODO: CLANG_DEFAULT_CXX_STDLIB and CLANG_APPEND_VC_REV not available in clang-3.8 cmake files + if [[ $(uname -s) == 'Darwin' ]]; then + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCLANG_DEFAULT_CXX_STDLIB=libc++" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DC_INCLUDE_DIRS=:/usr/include:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DDEFAULT_SYSROOT=/" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.10" + fi + cmake ../ -G Ninja -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_ENABLE_ASSERTIONS=OFF \ + -DCLANG_VENDOR=mapbox/mason \ + -DCLANG_REPOSITORY_STRING=https://github.com/mapbox/mason \ + -DCLANG_APPEND_VC_REV=$CLANG_GIT_REV \ + -DCLANG_VENDOR_UTI=org.mapbox.clang \ + -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DLLVM_OPTIMIZED_TABLEGEN=ON \ + ${CMAKE_EXTRA_ARGS} + ninja -j${MASON_CONCURRENCY} -k5 + ninja install -k5 + cd ${MASON_PREFIX}/bin/ + ln -s "clang++" "clang++-3.5" +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/clang/3.8.0/.travis.yml b/scripts/clang/3.8.0/.travis.yml new file mode 100644 index 000000000..b8299674b --- /dev/null +++ b/scripts/clang/3.8.0/.travis.yml @@ -0,0 +1,38 @@ +language: generic + +cache: + directories: + - $HOME/.ccache + +env: + global: + - CCACHE_TEMPDIR=/tmp/.ccache-temp + - CCACHE_COMPRESS=1 + - CASHER_TIME_OUT=1000 + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + - g++-5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/clang/3.8.0/README.md b/scripts/clang/3.8.0/README.md new file mode 100644 index 000000000..aad44d765 --- /dev/null +++ b/scripts/clang/3.8.0/README.md @@ -0,0 +1,51 @@ +### Clang++ v3.8.0 + +This clang++ package depends on and defaults to compiling C++ programs against libstdc++. + +For clang++ itself to be able to run and compile C++ programs you need to upgrade the libstdc++ version. + +You also need to upgrade the libstdc++ for the programs to run that you compile with this version of clang++. + +You can do this on Travis like: + +```yml + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] +``` + +You can do this on any debian system like: + +```sh +add-apt-repository -y ppa:ubuntu-toolchain-r/test +apt-get update -y +apt-get install -y libstdc++-5-dev +``` + +A full example of installing clang and upgrading libstdc++ on travis is: + +```yml + +language: generic + +matrix: + include: + - os: linux + sudo: false + env: CXX=clang++ + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + +install: + - git clone --depth 1 https://github.com/mapbox/mason + - ./.mason/mason install clang 3.8.0 + - export PATH=$(./.mason/mason prefix clang 3.8.0)/bin:${PATH} + - which clang++ +``` + +Note: Installing `libstdc++-5-dev` installs a library named `libstdc++6`. This is not version 6, it is the ABI 6. Note that there is no dash between the `++` and the `6` like there is between the `++` and the `5` in the dev package. So don't worry about the mismatch of `5` and `6`. While the package name is based on the g++ version (`5`) the actual library version used, at the time of this writing, is `v6.1.1` (this comes from https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages). The `6` again is ABI not version: even the libstdc++ `v4.6.3` package (the default on Ubuntu precise) is named/aliased to `libstdc++6` + +If you hit a runtime error like `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.20' not found` it means you forgot to upgrade libstdc++6 to at least `v6.1.1`. diff --git a/scripts/clang/3.8.0/script.sh b/scripts/clang/3.8.0/script.sh new file mode 100755 index 000000000..230f1cfee --- /dev/null +++ b/scripts/clang/3.8.0/script.sh @@ -0,0 +1,127 @@ +#!/usr/bin/env bash + +MASON_NAME=clang +MASON_VERSION=3.8.0 +MASON_LIB_FILE=bin/clang + +. ${MASON_DIR}/mason.sh + + +# options +ENABLE_LLDB=false + +function curl_get() { + if [ ! -f $(basename ${1}) ] ; then + mason_step "Downloading $1 to $(pwd)/$(basename ${1})" + curl --retry 3 -f -L -O "$1" + else + echo "already downloaded $1 to $(pwd)/$(basename ${1})" + fi +} + +function setup_release() { + LLVM_RELEASE=$1 + BUILD_PATH=$2 + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/llvm-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/cfe-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/compiler-rt-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libcxx-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libcxxabi-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libunwind-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/lld-${LLVM_RELEASE}.src.tar.xz" + if [[ ${ENABLE_LLDB} == true ]]; then + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/lldb-${LLVM_RELEASE}.src.tar.xz" + fi + #curl_get "http://llvm.org/releases/${LLVM_RELEASE}/openmp-${LLVM_RELEASE}.src.tar.xz" + curl_get "http://llvm.org/releases/${LLVM_RELEASE}/clang-tools-extra-${LLVM_RELEASE}.src.tar.xz" + for i in $(ls *.xz); do + echo "unpacking $i" + tar xf $i; + done + mv llvm-${LLVM_RELEASE}.src/* ${BUILD_PATH}/ + ls ${BUILD_PATH}/ + mv cfe-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/clang + mv compiler-rt-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/compiler-rt + mv libcxx-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libcxx + mv libcxxabi-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libcxxabi + mv libunwind-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libunwind + mv lld-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/lld + if [[ ${ENABLE_LLDB} == true ]]; then + mv lldb-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/lldb + fi + #mv openmp-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/openmp + mv clang-tools-extra-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/clang/tools/extra + cd ../ +} + + +function mason_load_source { + mkdir -p "${MASON_ROOT}/.cache" + cd "${MASON_ROOT}/.cache" + export MASON_BUILD_PATH=${MASON_ROOT}/.build/llvm-${MASON_VERSION} + if [[ -d ${MASON_BUILD_PATH}/ ]]; then + rm -rf ${MASON_BUILD_PATH}/ + fi + mkdir -p ${MASON_BUILD_PATH}/ + setup_release ${MASON_VERSION} ${MASON_BUILD_PATH} +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install ccache 3.2.4 + MASON_CCACHE=$(${MASON_DIR}/mason prefix ccache 3.2.4) + ${MASON_DIR}/mason install clang 3.8.0 + MASON_CLANG=$(${MASON_DIR}/mason prefix clang 3.8.0) + ${MASON_DIR}/mason install cmake 3.5.2 + MASON_CMAKE=$(${MASON_DIR}/mason prefix cmake 3.5.2) + ${MASON_DIR}/mason install ninja 1.7.1 + MASON_NINJA=$(${MASON_DIR}/mason prefix ninja 1.7.1) +} + +function mason_compile { + export CXX="${MASON_CLANG}/bin/clang++" + export CC="${MASON_CLANG}/bin/clang" + mkdir -p ./build + cd ./build + CMAKE_EXTRA_ARGS="" + ## TODO: CLANG_DEFAULT_CXX_STDLIB and CLANG_APPEND_VC_REV not available in clang-3.8 cmake files + if [[ $(uname -s) == 'Darwin' ]]; then + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCLANG_DEFAULT_CXX_STDLIB=libc++" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DC_INCLUDE_DIRS=:/usr/include:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DDEFAULT_SYSROOT=/" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11" + fi + CXXFLAGS="${CXXFLAGS//-mmacosx-version-min=10.8}" + ${MASON_CMAKE}/bin/cmake ../ -G Ninja -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER_LAUNCHER="${MASON_CCACHE}/bin/ccache" \ + -DCMAKE_CXX_COMPILER="$CXX" \ + -DCMAKE_C_COMPILER="$CC" \ + -DLLVM_ENABLE_ASSERTIONS=OFF \ + -DCLANG_VENDOR=mapbox/mason \ + -DCLANG_REPOSITORY_STRING=https://github.com/mapbox/mason \ + -DCLANG_VENDOR_UTI=org.mapbox.clang \ + -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DLLVM_OPTIMIZED_TABLEGEN=ON \ + -DCMAKE_MAKE_PROGRAM=${MASON_NINJA}/bin/ninja \ + ${CMAKE_EXTRA_ARGS} + ${MASON_NINJA}/bin/ninja -j${MASON_CONCURRENCY} -k5 + ${MASON_NINJA}/bin/ninja install -k5 + cd ${MASON_PREFIX}/bin/ + rm -f "clang++-3.8" + ln -s "clang++" "clang++-3.8" +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/cmake/3.2.2/.travis.yml b/scripts/cmake/3.2.2/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/cmake/3.2.2/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/cmake/3.2.2/script.sh b/scripts/cmake/3.2.2/script.sh new file mode 100755 index 000000000..ba3d5bf55 --- /dev/null +++ b/scripts/cmake/3.2.2/script.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +MASON_NAME=cmake +MASON_VERSION=3.2.2 +MASON_LIB_FILE=bin/cmake + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz \ + b7cb39c390dcd8abad4af33d5507b68965e488b4 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/cmake/3.5.2/.travis.yml b/scripts/cmake/3.5.2/.travis.yml new file mode 100644 index 000000000..93f3828cc --- /dev/null +++ b/scripts/cmake/3.5.2/.travis.yml @@ -0,0 +1,29 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + env: CXX=clang++-3.5 CC=clang-3.5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/cmake/3.5.2/script.sh b/scripts/cmake/3.5.2/script.sh new file mode 100755 index 000000000..7a591ba3c --- /dev/null +++ b/scripts/cmake/3.5.2/script.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +MASON_NAME=cmake +MASON_VERSION=3.5.2 +MASON_LIB_FILE=bin/cmake + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.cmake.org/files/v3.5/cmake-${MASON_VERSION}.tar.gz \ + 70cbd618e8ac39414928d79c949968e7dd7a5605 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/cmake/3.6.2/.travis.yml b/scripts/cmake/3.6.2/.travis.yml new file mode 100644 index 000000000..a998b49bd --- /dev/null +++ b/scripts/cmake/3.6.2/.travis.yml @@ -0,0 +1,23 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + sudo: false + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/cmake/3.6.2/script.sh b/scripts/cmake/3.6.2/script.sh new file mode 100755 index 000000000..148c96993 --- /dev/null +++ b/scripts/cmake/3.6.2/script.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +MASON_NAME=cmake +MASON_VERSION=3.6.2 +MASON_LIB_FILE=bin/cmake + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.cmake.org/files/v3.6/cmake-${MASON_VERSION}.tar.gz \ + f2c114944dafb319c27bdca214ca7e0739a71cb0 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/earcut/0.10.1/.travis.yml b/scripts/earcut/0.10.1/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/earcut/0.10.1/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/earcut/0.10.1/script.sh b/scripts/earcut/0.10.1/script.sh new file mode 100755 index 000000000..d01880c1c --- /dev/null +++ b/scripts/earcut/0.10.1/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=earcut +MASON_VERSION=0.10.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/earcut.hpp/archive/v${MASON_VERSION}.tar.gz \ + f741208c3304b4f8bc2bc619d706d71c8e459b74 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/earcut/0.10.2/.travis.yml b/scripts/earcut/0.10.2/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/earcut/0.10.2/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/earcut/0.10.2/script.sh b/scripts/earcut/0.10.2/script.sh new file mode 100755 index 000000000..efa830b32 --- /dev/null +++ b/scripts/earcut/0.10.2/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=earcut +MASON_VERSION=0.10.2 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/earcut.hpp/archive/v${MASON_VERSION}.tar.gz \ + b2d01708c8a67d47cd9c7a754c3192c4cb0b6dfc + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/earcut/0.10.3/.travis.yml b/scripts/earcut/0.10.3/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/earcut/0.10.3/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/earcut/0.10.3/script.sh b/scripts/earcut/0.10.3/script.sh new file mode 100755 index 000000000..4710f781b --- /dev/null +++ b/scripts/earcut/0.10.3/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=earcut +MASON_VERSION=0.10.3 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/earcut.hpp/archive/v${MASON_VERSION}.tar.gz \ + 519704ea4bc317a7680eab79416837da581a2838 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/earcut/0.10/.travis.yml b/scripts/earcut/0.10/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/earcut/0.10/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/earcut/0.10/script.sh b/scripts/earcut/0.10/script.sh new file mode 100755 index 000000000..79d6003bc --- /dev/null +++ b/scripts/earcut/0.10/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=earcut +MASON_VERSION=0.10 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/earcut.hpp/archive/v${MASON_VERSION}.tar.gz \ + a66ce3dc19dbc059d42da52dacb0dd380286555d + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/earcut/0.11/.travis.yml b/scripts/earcut/0.11/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/earcut/0.11/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/earcut/0.11/script.sh b/scripts/earcut/0.11/script.sh new file mode 100755 index 000000000..b0d21b394 --- /dev/null +++ b/scripts/earcut/0.11/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=earcut +MASON_VERSION=0.11 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/earcut.hpp/archive/v${MASON_VERSION}.tar.gz \ + e1d88349675e18d703873a4391ef847c7d0ff622 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/earcut/0.12/.travis.yml b/scripts/earcut/0.12/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/earcut/0.12/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/earcut/0.12/script.sh b/scripts/earcut/0.12/script.sh new file mode 100755 index 000000000..bb566c224 --- /dev/null +++ b/scripts/earcut/0.12/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=earcut +MASON_VERSION=0.12 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/earcut.hpp/archive/v${MASON_VERSION}.tar.gz \ + 4bb12e9c7c4f05a5330f85be95de0e9548bbcd6d + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/mapbox/earcut.hpp ${MASON_PREFIX}/include/mapbox/earcut.hpp + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/earcut/0.9-pool/.travis.yml b/scripts/earcut/0.9-pool/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/earcut/0.9-pool/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/earcut/0.9-pool/script.sh b/scripts/earcut/0.9-pool/script.sh new file mode 100755 index 000000000..4a574438f --- /dev/null +++ b/scripts/earcut/0.9-pool/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=earcut +MASON_VERSION=0.9-pool +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/earcut.hpp/archive/v0.9-pool.tar.gz \ + b3dacbd180a5480d797b32ec3bc242b688046e99 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-0.9-pool +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/earcut/0.9/.travis.yml b/scripts/earcut/0.9/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/earcut/0.9/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/earcut/0.9/script.sh b/scripts/earcut/0.9/script.sh new file mode 100755 index 000000000..451e8e731 --- /dev/null +++ b/scripts/earcut/0.9/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=earcut +MASON_VERSION=0.9 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/earcut.hpp/archive/v0.9.tar.gz \ + 5fbb3bb44456caf100c80f11d4c6c2c0adb1669d + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-0.9 +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/expat/2.1.0/.travis.yml b/scripts/expat/2.1.0/.travis.yml new file mode 100644 index 000000000..f32785226 --- /dev/null +++ b/scripts/expat/2.1.0/.travis.yml @@ -0,0 +1,31 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=arm + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=x86 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/expat/2.1.0/script.sh b/scripts/expat/2.1.0/script.sh new file mode 100755 index 000000000..514560bb3 --- /dev/null +++ b/scripts/expat/2.1.0/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=expat +MASON_VERSION=2.1.0 +MASON_LIB_FILE=lib/libexpat.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/expat.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://mapnik.s3.amazonaws.com/deps/expat-2.1.0.tar.gz \ + a791223d3b20ab54e59ed0815afd2ef2fb81194e + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/expat/2.1.1/.travis.yml b/scripts/expat/2.1.1/.travis.yml new file mode 100644 index 000000000..2565fdb16 --- /dev/null +++ b/scripts/expat/2.1.1/.travis.yml @@ -0,0 +1,21 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/expat/2.1.1/script.sh b/scripts/expat/2.1.1/script.sh new file mode 100755 index 000000000..6ffbfda53 --- /dev/null +++ b/scripts/expat/2.1.1/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=expat +MASON_VERSION=2.1.1 +MASON_LIB_FILE=lib/libexpat.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/expat.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://fossies.org/linux/www/expat-${MASON_VERSION}.tar.gz \ + b939d8395c87b077f3562fca0096c03728b71e1f + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/freetype/2.5.4/.travis.yml b/scripts/freetype/2.5.4/.travis.yml new file mode 100644 index 000000000..ae18ab7a8 --- /dev/null +++ b/scripts/freetype/2.5.4/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=arm + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=x86 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ $(uname -s) == 'Darwin' ]]; then brew rm freetype || true; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/freetype/2.5.4/script.sh b/scripts/freetype/2.5.4/script.sh new file mode 100755 index 000000000..5f68a51d3 --- /dev/null +++ b/scripts/freetype/2.5.4/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=freetype +MASON_VERSION=2.5.4 +MASON_LIB_FILE=lib/libfreetype.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/freetype2.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://nongnu.askapache.com/freetype/freetype-${MASON_VERSION}.tar.bz2 \ + 0646f7e62a6191affe92270e2544e6011f5227e8 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/freetype-${MASON_VERSION} +} + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} \ + --enable-static \ + --disable-shared ${MASON_HOST_ARG} \ + --with-zlib=yes \ + --with-bzip2=no \ + --with-harfbuzz=no \ + --with-png=no \ + --with-quickdraw-toolbox=no \ + --with-quickdraw-carbon=no \ + --with-ats=no \ + --with-fsref=no \ + --with-fsspec=no \ + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + echo "-lfreetype -lz" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/freetype/2.5.5/.travis.yml b/scripts/freetype/2.5.5/.travis.yml new file mode 100644 index 000000000..ae18ab7a8 --- /dev/null +++ b/scripts/freetype/2.5.5/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=arm + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=x86 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ $(uname -s) == 'Darwin' ]]; then brew rm freetype || true; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/freetype/2.5.5/script.sh b/scripts/freetype/2.5.5/script.sh new file mode 100755 index 000000000..7c9d77eb5 --- /dev/null +++ b/scripts/freetype/2.5.5/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=freetype +MASON_VERSION=2.5.5 +MASON_LIB_FILE=lib/libfreetype.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/freetype2.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://nongnu.askapache.com/freetype/freetype-${MASON_VERSION}.tar.bz2 \ + c857bfa638b9c71e48baacd1cb12be446b62c333 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/freetype-${MASON_VERSION} +} + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} \ + --enable-static \ + --disable-shared ${MASON_HOST_ARG} \ + --with-zlib=yes \ + --with-bzip2=no \ + --with-harfbuzz=no \ + --with-png=no \ + --with-quickdraw-toolbox=no \ + --with-quickdraw-carbon=no \ + --with-ats=no \ + --with-fsref=no \ + --with-fsspec=no \ + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include/freetype2" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/freetype/2.6/.travis.yml b/scripts/freetype/2.6/.travis.yml new file mode 100644 index 000000000..6b723b768 --- /dev/null +++ b/scripts/freetype/2.6/.travis.yml @@ -0,0 +1,32 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=arm + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=x86 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ $(uname -s) == 'Darwin' ]]; then brew rm freetype || true; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/freetype/2.6/script.sh b/scripts/freetype/2.6/script.sh new file mode 100755 index 000000000..b9d1b3dcb --- /dev/null +++ b/scripts/freetype/2.6/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=freetype +MASON_VERSION=2.6 +MASON_LIB_FILE=lib/libfreetype.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/freetype2.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://nongnu.askapache.com/freetype/freetype-${MASON_VERSION}.tar.bz2 \ + 3cdf364b5db1c1adba670b188d76035ecba2d77c + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/freetype-${MASON_VERSION} +} + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} \ + --enable-static \ + --disable-shared ${MASON_HOST_ARG} \ + --with-zlib=yes \ + --with-bzip2=no \ + --with-harfbuzz=no \ + --with-png=no \ + --with-quickdraw-toolbox=no \ + --with-quickdraw-carbon=no \ + --with-ats=no \ + --with-fsref=no \ + --with-fsspec=no \ + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include/freetype2" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/gcc/4.9.2-cortex_a9-hf/.travis.yml b/scripts/gcc/4.9.2-cortex_a9-hf/.travis.yml new file mode 100644 index 000000000..06c8e8d8a --- /dev/null +++ b/scripts/gcc/4.9.2-cortex_a9-hf/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: linux + - os: osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gcc/4.9.2-cortex_a9-hf/script.sh b/scripts/gcc/4.9.2-cortex_a9-hf/script.sh new file mode 100755 index 000000000..0ff3c0898 --- /dev/null +++ b/scripts/gcc/4.9.2-cortex_a9-hf/script.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +MASON_NAME=gcc +MASON_VERSION=4.9.2-cortex_a9-hf +MASON_LIB_FILE=root/bin/arm-cortex_a9-linux-gnueabihf-gcc + +. ${MASON_DIR}/mason.sh + +if [ -f ${MASON_PREFIX}/setup.sh ]; then + . ${MASON_PREFIX}/setup.sh +fi + +function mason_load_source { + mkdir -p ${MASON_ROOT} + export MASON_BUILD_PATH=${MASON_ROOT}/../toolchain/${MASON_PLATFORM}/ +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + cp -a ${MASON_BUILD_PATH} ${MASON_PREFIX} +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/gcc/4.9.2-cortex_a9/script.sh b/scripts/gcc/4.9.2-cortex_a9/script.sh new file mode 100755 index 000000000..f991dd4ce --- /dev/null +++ b/scripts/gcc/4.9.2-cortex_a9/script.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +MASON_NAME=gcc +MASON_VERSION=4.9.2-cortex_a9 +MASON_LIB_FILE=root/bin/arm-cortex_a9-linux-gnueabi-gcc + +. ${MASON_DIR}/mason.sh + +if [ -f ${MASON_PREFIX}/setup.sh ]; then + . ${MASON_PREFIX}/setup.sh +fi + +function mason_load_source { + mkdir -p ${MASON_ROOT} + echo ${MASON_ROOT} + export MASON_BUILD_PATH=${MASON_ROOT}/../toolchain/${MASON_PLATFORM} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + cp -av ${MASON_BUILD_PATH}/* ${MASON_PREFIX}/ +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/gcc/4.9.2-i686/script.sh b/scripts/gcc/4.9.2-i686/script.sh new file mode 100755 index 000000000..30d5735ac --- /dev/null +++ b/scripts/gcc/4.9.2-i686/script.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +MASON_NAME=gcc +MASON_VERSION=4.9.2-i686 +MASON_LIB_FILE=root/bin/i686-pc-linux-gnu-gcc + +. ${MASON_DIR}/mason.sh + +if [ -f ${MASON_PREFIX}/setup.sh ]; then + . ${MASON_PREFIX}/setup.sh +fi + +function mason_load_source { + mkdir -p ${MASON_ROOT} + echo ${MASON_ROOT} + export MASON_BUILD_PATH=${MASON_ROOT}/../toolchain/${MASON_PLATFORM} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + cp -av ${MASON_BUILD_PATH}/* ${MASON_PREFIX}/ +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/gcc/5.3.0-cortex_a9-hf/script.sh b/scripts/gcc/5.3.0-cortex_a9-hf/script.sh new file mode 100755 index 000000000..1b2beffd0 --- /dev/null +++ b/scripts/gcc/5.3.0-cortex_a9-hf/script.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +MASON_NAME=gcc +MASON_VERSION=5.3.0-cortex_a9-hf +MASON_LIB_FILE=root/bin/arm-cortex_a9-linux-gnueabihf-gcc + +. ${MASON_DIR}/mason.sh + +if [ -f ${MASON_PREFIX}/setup.sh ] ; then + . ${MASON_PREFIX}/setup.sh +fi + +function mason_try_binary { + MASON_XC_ORIGIN="${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}" + . ${MASON_XC_ORIGIN}/setup.sh + + mkdir -p ${MASON_PREFIX} + cp "${MASON_XC_ORIGIN}/toolchain.cmake" ${MASON_PREFIX}/ + cp "${MASON_XC_ORIGIN}/toolchain.sh" ${MASON_PREFIX}/ + mason_success "Installed toolchain setup files at ${MASON_PREFIX}" +} + +function mason_load_source { + : +} + +function mason_compile { + : +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/gcc/5.3.0-cortex_a9-hf/setup.sh b/scripts/gcc/5.3.0-cortex_a9-hf/setup.sh new file mode 100755 index 000000000..bca6dfe43 --- /dev/null +++ b/scripts/gcc/5.3.0-cortex_a9-hf/setup.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +if [ `uname -s` = 'Darwin' ]; then + MASON_HOST_PLATFORM="osx" +elif [ `uname -s` = 'Linux' ]; then + MASON_HOST_PLATFORM="linux" +fi + +URL_MASON_BINARIES="https://mason-binaries.s3.amazonaws.com/prebuilt" + +if [ ! -f "${MASON_PREFIX}/${MASON_LIB_FILE}" ] ; then + mkdir -p ${MASON_ROOT}/.cache + if [ $MASON_HOST_PLATFORM = "osx" ]; then + URL="${URL_MASON_BINARIES}/osx-x86_64/gcc-5.3.0-arm-v7-hf.dmg" + FILE="${MASON_ROOT}/.cache/osx-x86_64-gcc-5.3.0-arm-v7-hf.dmg" + elif [ $MASON_HOST_PLATFORM = "linux" ]; then + URL="${URL_MASON_BINARIES}/linux-$(uname -m)/gcc-5.3.0-arm-v7-hf.tar.bz2" + FILE="${MASON_ROOT}/.cache/linux-$(uname -m)-gcc-5.3.0-arm-v7-hf.tar.bz2" + fi + if [ ! -f ${FILE} ] ; then + mason_step "Downloading ${URL}..." + curl --retry 3 ${MASON_CURL_ARGS} -f -L ${URL} -o ${FILE}.tmp && \ + mv ${FILE}.tmp ${FILE} + fi + mkdir -p ${MASON_PREFIX}/root + if [ $MASON_HOST_PLATFORM = "osx" ]; then + hdiutil attach -quiet -readonly -mountpoint ${MASON_PREFIX}/root ${FILE} + elif [ $MASON_HOST_PLATFORM = "linux" ]; then + tar xf "${FILE}" --directory "${MASON_PREFIX}/root" --strip-components=1 + fi +fi diff --git a/scripts/gcc/5.3.0-cortex_a9-hf/toolchain.cmake b/scripts/gcc/5.3.0-cortex_a9-hf/toolchain.cmake new file mode 100755 index 000000000..9e6eb4c3a --- /dev/null +++ b/scripts/gcc/5.3.0-cortex_a9-hf/toolchain.cmake @@ -0,0 +1,16 @@ +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_PROCESSOR arm) +SET(CMAKE_SYSTEM_VERSION 1) + +SET(CMAKE_C_COMPILER ${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-gcc) +SET(CMAKE_CXX_COMPILER ${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-g++) +SET(CMAKE_RANLIB ${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-ranlib) + +SET(CMAKE_C_FLAGS "-mtune=cortex-a9 -march=armv7-a -mfloat-abi=hard -mfpu=neon-fp16 ${CFLAGS}") +SET(CMAKE_CXX_FLAGS "-mtune=cortex-a9 -march=armv7-a -mfloat-abi=hard -mfpu=neon-fp16 ${CFLAGS}") + +SET(CMAKE_FIND_ROOT_PATH ${MASON_XC_ROOT}/root) + +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/scripts/gcc/5.3.0-cortex_a9-hf/toolchain.sh b/scripts/gcc/5.3.0-cortex_a9-hf/toolchain.sh new file mode 100755 index 000000000..c0e22e72f --- /dev/null +++ b/scripts/gcc/5.3.0-cortex_a9-hf/toolchain.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +export MASON_HOST_ARG="--host=arm-linux-gnueabihf" +export MASON_CMAKE_TOOLCHAIN="-DMASON_XC_ROOT=${MASON_XC_ROOT} -DCMAKE_TOOLCHAIN_FILE=${MASON_XC_ROOT}/toolchain.cmake" + +export CXX="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-g++" +export CC="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-gcc" +export LD="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-ld" +export LINK="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-g++" +export AR="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-ar" +export RANLIB="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-ranlib" +export STRIP="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-strip" +export STRIP="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabihf-strip" +export CFLAGS="-mtune=cortex-a9 -march=armv7-a -mfloat-abi=hard -mfpu=neon-fp16 ${CFLAGS}" diff --git a/scripts/gcc/5.3.0-cortex_a9/script.sh b/scripts/gcc/5.3.0-cortex_a9/script.sh new file mode 100755 index 000000000..e41ca7635 --- /dev/null +++ b/scripts/gcc/5.3.0-cortex_a9/script.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +MASON_NAME=gcc +MASON_VERSION=5.3.0-cortex_a9 +MASON_LIB_FILE=root/bin/arm-cortex_a9-linux-gnueabi-gcc + +. ${MASON_DIR}/mason.sh + +if [ -f ${MASON_PREFIX}/setup.sh ] ; then + . ${MASON_PREFIX}/setup.sh +fi + +function mason_try_binary { + MASON_XC_ORIGIN="${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}" + . ${MASON_XC_ORIGIN}/setup.sh + + mkdir -p ${MASON_PREFIX} + cp "${MASON_XC_ORIGIN}/toolchain.cmake" ${MASON_PREFIX}/ + cp "${MASON_XC_ORIGIN}/toolchain.sh" ${MASON_PREFIX}/ + mason_success "Installed toolchain setup files at ${MASON_PREFIX}" +} + +function mason_load_source { + : +} + +function mason_compile { + : +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/gcc/5.3.0-cortex_a9/setup.sh b/scripts/gcc/5.3.0-cortex_a9/setup.sh new file mode 100755 index 000000000..0927025f8 --- /dev/null +++ b/scripts/gcc/5.3.0-cortex_a9/setup.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +if [ `uname -s` = 'Darwin' ]; then + MASON_HOST_PLATFORM="osx" +elif [ `uname -s` = 'Linux' ]; then + MASON_HOST_PLATFORM="linux" +fi + +URL_MASON_BINARIES="https://mason-binaries.s3.amazonaws.com/prebuilt" + +if [ ! -f "${MASON_PREFIX}/${MASON_LIB_FILE}" ] ; then + mkdir -p ${MASON_ROOT}/.cache + if [ $MASON_HOST_PLATFORM = "osx" ]; then + URL="${URL_MASON_BINARIES}/osx-x86_64/gcc-5.3.0-arm-v7.dmg" + FILE="${MASON_ROOT}/.cache/osx-x86_64-gcc-5.3.0-arm-v7.dmg" + elif [ $MASON_HOST_PLATFORM = "linux" ]; then + URL="${URL_MASON_BINARIES}/linux-$(uname -m)/gcc-5.3.0-arm-v7.tar.bz2" + FILE="${MASON_ROOT}/.cache/linux-$(uname -m)-gcc-5.3.0-arm-v7.tar.bz2" + fi + if [ ! -f ${FILE} ] ; then + mason_step "Downloading ${URL}..." + curl --retry 3 ${MASON_CURL_ARGS} -f -L ${URL} -o ${FILE}.tmp && \ + mv ${FILE}.tmp ${FILE} + fi + mkdir -p ${MASON_PREFIX}/root + if [ $MASON_HOST_PLATFORM = "osx" ]; then + hdiutil attach -quiet -readonly -mountpoint ${MASON_PREFIX}/root ${FILE} + elif [ $MASON_HOST_PLATFORM = "linux" ]; then + tar xf "${FILE}" --directory "${MASON_PREFIX}/root" --strip-components=1 + fi +fi diff --git a/scripts/gcc/5.3.0-cortex_a9/toolchain.cmake b/scripts/gcc/5.3.0-cortex_a9/toolchain.cmake new file mode 100755 index 000000000..b6e9075ff --- /dev/null +++ b/scripts/gcc/5.3.0-cortex_a9/toolchain.cmake @@ -0,0 +1,16 @@ +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_PROCESSOR arm) +SET(CMAKE_SYSTEM_VERSION 1) + +SET(CMAKE_C_COMPILER ${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-gcc) +SET(CMAKE_CXX_COMPILER ${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-g++) +SET(CMAKE_RANLIB ${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-ranlib) + +SET(CMAKE_C_FLAGS "-mtune=cortex-a9 -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 ${CFLAGS}") +SET(CMAKE_CXX_FLAGS "-mtune=cortex-a9 -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 ${CFLAGS}") + +SET(CMAKE_FIND_ROOT_PATH ${MASON_XC_ROOT}/root) + +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/scripts/gcc/5.3.0-cortex_a9/toolchain.sh b/scripts/gcc/5.3.0-cortex_a9/toolchain.sh new file mode 100755 index 000000000..c76abd489 --- /dev/null +++ b/scripts/gcc/5.3.0-cortex_a9/toolchain.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +export MASON_HOST_ARG="--host=arm-linux-gnueabi" +export MASON_CMAKE_TOOLCHAIN="-DMASON_XC_ROOT=${MASON_XC_ROOT} -DCMAKE_TOOLCHAIN_FILE=${MASON_XC_ROOT}/toolchain.cmake" + +export CXX="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-g++" +export CC="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-gcc" +export LD="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-ld" +export LINK="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-g++" +export AR="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-ar" +export RANLIB="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-ranlib" +export STRIP="${MASON_XC_ROOT}/root/bin/arm-cortex_a9-linux-gnueabi-strip" +export CFLAGS="-mtune=cortex-a9 -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 ${CFLAGS}" diff --git a/scripts/gcc/5.3.0-i686/script.sh b/scripts/gcc/5.3.0-i686/script.sh new file mode 100755 index 000000000..e5a320890 --- /dev/null +++ b/scripts/gcc/5.3.0-i686/script.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +MASON_NAME=gcc +MASON_VERSION=5.3.0-i686 +MASON_LIB_FILE=root/bin/arm-i686-linux-gnueabi-gcc + +. ${MASON_DIR}/mason.sh + +if [ -f ${MASON_PREFIX}/setup.sh ] ; then + . ${MASON_PREFIX}/setup.sh +fi + +function mason_try_binary { + MASON_XC_ORIGIN="${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}" + . ${MASON_XC_ORIGIN}/setup.sh + + mkdir -p ${MASON_PREFIX} + cp "${MASON_XC_ORIGIN}/toolchain.cmake" ${MASON_PREFIX}/ + cp "${MASON_XC_ORIGIN}/toolchain.sh" ${MASON_PREFIX}/ + mason_success "Installed toolchain setup files at ${MASON_PREFIX}" +} + +function mason_load_source { + : +} + +function mason_compile { + : +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/gcc/5.3.0-i686/setup.sh b/scripts/gcc/5.3.0-i686/setup.sh new file mode 100755 index 000000000..5e62b008d --- /dev/null +++ b/scripts/gcc/5.3.0-i686/setup.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +if [ `uname -s` = 'Darwin' ]; then + MASON_HOST_PLATFORM="osx" +elif [ `uname -s` = 'Linux' ]; then + MASON_HOST_PLATFORM="linux" +fi + +URL_MASON_BINARIES="https://mason-binaries.s3.amazonaws.com/prebuilt" + +if [ ! -f "${MASON_PREFIX}/${MASON_LIB_FILE}" ] ; then + mkdir -p ${MASON_ROOT}/.cache + if [ $MASON_HOST_PLATFORM = "osx" ]; then + URL="${URL_MASON_BINARIES}/osx-x86_64/gcc-5.3.0-i686.dmg" + FILE="${MASON_ROOT}/.cache/osx-x86_64-gcc-5.3.0-i686.dmg" + elif [ $MASON_HOST_PLATFORM = "linux" ]; then + URL="${URL_MASON_BINARIES}/linux-$(uname -m)/gcc-5.3.0-i686.tar.bz2" + FILE="${MASON_ROOT}/.cache/linux-$(uname -m)-gcc-5.3.0-i686.tar.bz2" + fi + if [ ! -f ${FILE} ] ; then + mason_step "Downloading ${URL}..." + curl --retry 3 ${MASON_CURL_ARGS} -f -L ${URL} -o ${FILE}.tmp && \ + mv ${FILE}.tmp ${FILE} + fi + mkdir -p ${MASON_PREFIX}/root + if [ $MASON_HOST_PLATFORM = "osx" ]; then + hdiutil attach -quiet -readonly -mountpoint ${MASON_PREFIX}/root ${FILE} + elif [ $MASON_HOST_PLATFORM = "linux" ]; then + tar xf "${FILE}" --directory "${MASON_PREFIX}/root" --strip-components=1 + fi +fi diff --git a/scripts/gcc/5.3.0-i686/toolchain.cmake b/scripts/gcc/5.3.0-i686/toolchain.cmake new file mode 100755 index 000000000..ecc72a103 --- /dev/null +++ b/scripts/gcc/5.3.0-i686/toolchain.cmake @@ -0,0 +1,16 @@ +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_PROCESSOR i686) +SET(CMAKE_SYSTEM_VERSION 1) + +SET(CMAKE_C_COMPILER ${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-gcc) +SET(CMAKE_CXX_COMPILER ${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-g++) +SET(CMAKE_RANLIB ${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-ranlib) + +SET(CMAKE_C_FLAGS "-mtune=i686 -march=i686 ${CFLAGS}") +SET(CMAKE_CXX_FLAGS "-mtune=i686 -march=i686 ${CFLAGS}") + +SET(CMAKE_FIND_ROOT_PATH ${MASON_XC_ROOT}/root) + +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/scripts/gcc/5.3.0-i686/toolchain.sh b/scripts/gcc/5.3.0-i686/toolchain.sh new file mode 100755 index 000000000..f744709c9 --- /dev/null +++ b/scripts/gcc/5.3.0-i686/toolchain.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +export MASON_HOST_ARG="--host=i686-pc-linux-gnu" +export MASON_CMAKE_TOOLCHAIN="-DMASON_XC_ROOT=${MASON_XC_ROOT} -DCMAKE_TOOLCHAIN_FILE=${MASON_XC_ROOT}/toolchain.cmake" + +export CXX="${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-g++" +export CC="${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-gcc" +export LD="${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-ld" +export LINK="${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-g++" +export AR="${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-ar" +export RANLIB="${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-ranlib" +export STRIP="${MASON_XC_ROOT}/root/bin/i686-pc-linux-gnu-strip" +export CFLAGS="-mtune=i686 -march=i686 ${CFLAGS}" diff --git a/scripts/gdal/1.11.1-big-pants/.travis.yml b/scripts/gdal/1.11.1-big-pants/.travis.yml new file mode 100644 index 000000000..870bcdcc2 --- /dev/null +++ b/scripts/gdal/1.11.1-big-pants/.travis.yml @@ -0,0 +1,30 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} +- export GDAL_DATA=$(pwd)/mason_packages/.link/share/gdal +- ./mason_packages/.link/bin/ogr2ogr --formats +- if [[ $(uname -s) == 'Darwin' ]]; then otool -L ./mason_packages/.link/bin/ogr2ogr; else ldd ./mason_packages/.link/bin/ogr2ogr; fi; +- ./mason_packages/.link/bin/gdalinfo --formats +- if [[ $(uname -s) == 'Darwin' ]]; then otool -L ./mason_packages/.link/bin/gdalinfo; else ldd ./mason_packages/.link/bin/gdalinfo; fi; + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gdal/1.11.1-big-pants/script.sh b/scripts/gdal/1.11.1-big-pants/script.sh new file mode 100755 index 000000000..0c2643825 --- /dev/null +++ b/scripts/gdal/1.11.1-big-pants/script.sh @@ -0,0 +1,157 @@ +#!/usr/bin/env bash + +MASON_NAME=gdal +MASON_VERSION=1.11.1-big-pants +MASON_LIB_FILE=lib/libgdal.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + GIT_HASH=54cf139 + mason_download \ + https://github.com/springmeyer/gdal/tarball/${GIT_HASH} \ + fb0057ed8cdfccdfeca0e7ead9b38cdb0188c8e9 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/springmeyer-gdal-${GIT_HASH} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + if [[ $(uname -s) == 'Darwin' ]]; then + FIND="\/Users\/travis\/build\/mapbox\/mason" + else + FIND="\/home\/travis\/build\/mapbox\/mason" + fi + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + ${MASON_DIR}/mason install libtiff 4.0.4beta + MASON_TIFF=$(${MASON_DIR}/mason prefix libtiff 4.0.4beta) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_TIFF}/lib/libtiff.la + ${MASON_DIR}/mason install proj 4.8.0 + MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.8.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PROJ}/lib/libproj.la + ${MASON_DIR}/mason install jpeg_turbo 1.4.0 + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.4.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_JPEG}/lib/libjpeg.la + ${MASON_DIR}/mason install libpng 1.6.16 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.16) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la + ${MASON_DIR}/mason install expat 2.1.0 + MASON_EXPAT=$(${MASON_DIR}/mason prefix expat 2.1.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_EXPAT}/lib/libexpat.la + ${MASON_DIR}/mason install libpq 9.4.0 + MASON_LIBPQ=$(${MASON_DIR}/mason prefix libpq 9.4.0) + # depends on sudo apt-get install zlib1g-dev + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) + # depends on sudo apt-get install libc6-dev + #${MASON_DIR}/mason install iconv system + #MASON_ICONV=$(${MASON_DIR}/mason prefix iconv system) + export LIBRARY_PATH=${MASON_LIBPQ}/lib:$LIBRARY_PATH +} + +function mason_compile { + cd gdal/ + CUSTOM_LIBS="-L${MASON_TIFF}/lib -ltiff -L${MASON_JPEG}/lib -ljpeg -L${MASON_PROJ}/lib -lproj -L${MASON_PNG}/lib -lpng -L${MASON_EXPAT}/lib -lexpat" + CUSTOM_CFLAGS="${CFLAGS} -I${MASON_LIBPQ}/include -I${MASON_TIFF}/include -I${MASON_JPEG}/include -I${MASON_PROJ}/include -I${MASON_PNG}/include -I${MASON_EXPAT}/include" + + # very custom handling for libpq/postgres support + # forcing our portable static library to be used + MASON_LIBPQ_PATH=${MASON_LIBPQ}/lib/libpq.a + if [[ $(uname -s) == 'Linux' ]]; then + # on Linux passing -Wl will lead to libtool re-positioning libpq.a in the wrong place (no longer after libgdal.a) + # which leads to unresolved symbols + CUSTOM_LDFLAGS="${LDFLAGS} ${MASON_LIBPQ_PATH}" + else + # on OSX not passing -Wl will break libtool archive creation leading to confusing arch errors + CUSTOM_LDFLAGS="${LDFLAGS} -Wl,${MASON_LIBPQ_PATH}" + fi + # we have to remove -lpq otherwise it will trigger linking to system /usr/lib/libpq + perl -i -p -e "s/\-lpq //g;" configure + # on linux -Wl,/path/to/libpq.a still does not work for the configure test + # so we have to force it into LIBS. But we don't do this on OS X since it breaks libtool archive logic + if [[ $(uname -s) == 'Linux' ]]; then + CUSTOM_LIBS="${MASON_LIBPQ}/lib/libpq.a -pthread ${CUSTOM_LIBS}" + fi + + # note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity: + # http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass + if [[ $(uname -s) == 'Darwin' ]]; then + CXX="${CXX} -stdlib=libc++ -std=c++11" + fi + + # note: it might be tempting to build with --without-libtool + # but I find that will only lead to a shared libgdal.so and will + # not produce a static library even if --enable-static is passed + LIBS="${CUSTOM_LIBS}" LDFLAGS="${CUSTOM_LDFLAGS}" CFLAGS="${CUSTOM_CFLAGS}" ./configure \ + --enable-static --disable-shared \ + ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --with-libz=${MASON_ZLIB} \ + --disable-rpath \ + --with-libjson-c=internal \ + --with-geotiff=internal \ + --with-expat=${MASON_EXPAT} \ + --with-threads=yes \ + --with-fgdb=no \ + --with-rename-internal-libtiff-symbols=no \ + --with-rename-internal-libgeotiff-symbols=no \ + --with-hide-internal-symbols=yes \ + --with-libtiff=${MASON_TIFF} \ + --with-jpeg=${MASON_JPEG} \ + --with-png=${MASON_PNG} \ + --with-pg=${MASON_LIBPQ}/bin/pg_config \ + --with-static-proj4=${MASON_PROJ} \ + --with-spatialite=no \ + --with-geos=no \ + --with-sqlite3=no \ + --with-curl=no \ + --with-xml2=no \ + --with-pcraster=no \ + --with-cfitsio=no \ + --with-odbc=no \ + --with-libkml=no \ + --with-pcidsk=no \ + --with-jasper=no \ + --with-gif=no \ + --with-grib=no \ + --with-freexl=no \ + --with-avx=no \ + --with-sse=no \ + --with-perl=no \ + --with-ruby=no \ + --with-python=no \ + --with-java=no \ + --with-podofo=no \ + --with-pam \ + --with-webp=no \ + --with-pcre=no \ + --with-liblzma=no \ + --with-netcdf=no \ + --with-poppler=no + + make -j${MASON_CONCURRENCY} + make install + + # attempt to make paths relative in gdal-config + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_PREFIX','\$( cd \"\$( dirname \$( dirname \"\$0\" ))\" && pwd )'))" + cat $MASON_PREFIX/bin/gdal-config +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include/gdal" +} + +function mason_ldflags { + echo $(${MASON_PREFIX}/bin/gdal-config --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/gdal/1.11.1/.travis.yml b/scripts/gdal/1.11.1/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/gdal/1.11.1/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gdal/1.11.1/patch.diff b/scripts/gdal/1.11.1/patch.diff new file mode 100644 index 000000000..50faffae1 --- /dev/null +++ b/scripts/gdal/1.11.1/patch.diff @@ -0,0 +1,277 @@ +diff --git a/GDALmake.opt.in b/GDALmake.opt.in +index 82525d9..413b8bc 100644 +--- a/GDALmake.opt.in ++++ b/GDALmake.opt.in +@@ -474,14 +474,7 @@ FREEXL_INCLUDE = @FREEXL_INCLUDE@ + # and their uppercase form should be the format portion of the + # format registration entry point. eg. gdb -> GDALRegister_GDB(). + # +-GDAL_FORMATS = gxf gtiff hfa aigrid aaigrid ceos ceos2 iso8211 xpm \ +- sdts raw dted mem jdem envisat elas fit vrt usgsdem l1b \ +- nitf bmp pcidsk airsar rs2 ilwis rmf leveller sgi srtmhgt \ +- idrisi gsg ingr ers jaxapalsar dimap gff cosar pds adrg \ +- coasp tsx terragen blx msgn til r northwood saga xyz hf2 \ +- kmlsuperoverlay ctg e00grid zmap ngsgeoid iris map\ +- @OPT_GDAL_FORMATS@ +- ++GDAL_FORMATS = vrt gtiff hfa mem raw @OPT_GDAL_FORMATS@ + + ifneq ($(LIBZ_SETTING),no) + GDAL_FORMATS := $(GDAL_FORMATS) rik ozi pdf +diff --git a/ogr/ogrsf_frmts/GNUmakefile b/ogr/ogrsf_frmts/GNUmakefile +index f3f8585..c3f9fde 100644 +--- a/ogr/ogrsf_frmts/GNUmakefile ++++ b/ogr/ogrsf_frmts/GNUmakefile +@@ -2,44 +2,8 @@ + include ../../GDALmake.opt + + SUBDIRS-yes := \ +- generic avc bna csv dgn geojson gml gmt mem kml \ +- mitab ntf gpx rec s57 sdts shape tiger vrt \ +- geoconcept xplane georss gtm dxf pgdump gpsbabel \ +- sua openair pds htf aeronavfaa edigeo svg idrisi \ +- arcgen segukooa segy sxf openfilegdb wasp +- +-SUBDIRS-$(HAVE_DODS) += dods +-SUBDIRS-$(HAVE_DWGDIRECT) += dxfdwg +-SUBDIRS-$(HAVE_FME) += fme +-SUBDIRS-$(HAVE_GRASS) += grass +-SUBDIRS-$(HAVE_IDB) += idb +-SUBDIRS-$(HAVE_XERCES) += ili +-SUBDIRS-$(HAVE_NAS) += nas +-SUBDIRS-$(HAVE_MYSQL) += mysql +-SUBDIRS-$(ODBC_SETTING) += odbc pgeo mssqlspatial geomedia walk +-SUBDIRS-$(HAVE_OGDI) += ogdi +-SUBDIRS-$(HAVE_OCI) += oci +-SUBDIRS-$(HAVE_OGR_PG) += pg +-SUBDIRS-$(HAVE_SQLITE) += sqlite +-SUBDIRS-$(HAVE_SDE) += sde +-SUBDIRS-$(HAVE_FGDB) += filegdb +-SUBDIRS-$(HAVE_ARCOBJECTS) += arcobjects +-SUBDIRS-$(HAVE_INGRES) += ingres +-SUBDIRS-$(HAVE_SQLITE) += vfk +-SUBDIRS-$(HAVE_LIBKML) += libkml +-SUBDIRS-$(CURL_SETTING) += wfs +-SUBDIRS-$(MDB_ENABLED) += mdb +-SUBDIRS-$(CURL_SETTING) += gft +-SUBDIRS-$(CURL_SETTING) += gme +-SUBDIRS-$(CURL_SETTING) += couchdb +-SUBDIRS-$(HAVE_FREEXL) += xls +-SUBDIRS-$(HAVE_EXPAT) += ods +-SUBDIRS-$(HAVE_EXPAT) += xlsx +-SUBDIRS-$(CURL_SETTING) += elastic +-SUBDIRS-$(HAVE_SQLITE) += gpkg +-SUBDIRS-$(HAVE_SQLITE) += osm +-SUBDIRS-$(HAVE_SOSI) += sosi +-SUBDIRS-$(CURL_SETTING) += cartodb ++ generic csv geojson mem kml \ ++ gpx shape vrt openfilegdb mitab + + ifeq ($(PCIDSK_SETTING),internal) + SUBDIRS-yes += pcidsk +diff --git a/ogr/ogrsf_frmts/generic/GNUmakefile b/ogr/ogrsf_frmts/generic/GNUmakefile +index 7c6d5fd..c63b8d3 100644 +--- a/ogr/ogrsf_frmts/generic/GNUmakefile ++++ b/ogr/ogrsf_frmts/generic/GNUmakefile +@@ -9,200 +9,18 @@ OBJ = ogrsfdriverregistrar.o ogrlayer.o ogrdatasource.o \ + ogrmutexedlayer.o ogrmutexeddatasource.o + + BASEFORMATS = \ +- -DAVCBIN_ENABLED \ +- -DBNA_ENABLED \ + -DCSV_ENABLED \ +- -DDGN_ENABLED \ +- -DGML_ENABLED \ +- -DGMT_ENABLED \ + -DGPX_ENABLED \ + -DMEM_ENABLED \ +- -DNTF_ENABLED \ +- -DREC_ENABLED \ +- -DS57_ENABLED \ +- -DSDTS_ENABLED \ + -DSHAPE_ENABLED \ + -DTAB_ENABLED \ +- -DTIGER_ENABLED \ + -DVRT_ENABLED \ + -DKML_ENABLED \ + -DGEOJSON_ENABLED \ +- -DGEOCONCEPT_ENABLED \ +- -DXPLANE_ENABLED \ +- -DGEORSS_ENABLED \ +- -DGTM_ENABLED \ +- -DDXF_ENABLED \ +- -DPGDUMP_ENABLED \ +- -DGPSBABEL_ENABLED \ +- -DSUA_ENABLED \ +- -DOPENAIR_ENABLED \ +- -DPDS_ENABLED \ +- -DHTF_ENABLED \ +- -DAERONAVFAA_ENABLED \ +- -DEDIGEO_ENABLED \ +- -DSVG_ENABLED \ +- -DIDRISI_ENABLED \ +- -DARCGEN_ENABLED \ +- -DSEGUKOOA_ENABLED \ +- -DSEGY_ENABLED \ +- -DSXF_ENABLED \ +- -DOPENFILEGDB_ENABLED \ +- -DWASP_ENABLED ++ -DOPENFILEGDB_ENABLED + + CXXFLAGS := $(CXXFLAGS) -DINST_DATA=\"$(INST_DATA)\" $(BASEFORMATS) + +-ifeq ($(HAVE_OGDI),yes) +-CXXFLAGS := $(CXXFLAGS) -DOGDI_ENABLED +-endif +- +-ifeq ($(HAVE_OCI),yes) +-CXXFLAGS := $(CXXFLAGS) -DOCI_ENABLED +-endif +- +-ifeq ($(HAVE_SDE),yes) +-CXXFLAGS := $(CXXFLAGS) -DSDE_ENABLED +-endif +- +-ifeq ($(HAVE_FGDB),yes) +-CXXFLAGS := $(CXXFLAGS) -DFGDB_ENABLED +-endif +- +-ifeq ($(HAVE_OGR_PG),yes) +-CXXFLAGS := $(CXXFLAGS) -DPG_ENABLED +-endif +- +-ifeq ($(HAVE_MYSQL),yes) +-CXXFLAGS := $(CXXFLAGS) -DMYSQL_ENABLED +-endif +- +-ifeq ($(HAVE_INGRES),yes) +-CXXFLAGS := $(CXXFLAGS) -DINGRES_ENABLED +-endif +- +-ifeq ($(PCIDSK_SETTING),internal) +-CXXFLAGS := $(CXXFLAGS) -DPCIDSK_ENABLED +-endif +- +-ifeq ($(PCIDSK_SETTING),external) +-CXXFLAGS := $(CXXFLAGS) -DPCIDSK_ENABLED +-endif +- +-ifeq ($(HAVE_FME),yes) +-CXXFLAGS := $(CXXFLAGS) -DFME_ENABLED +-endif +- +-ifeq ($(ODBC_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DODBC_ENABLED +-endif +- +-ifeq ($(PGEO_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DPGEO_ENABLED +-endif +- +-ifeq ($(MSSQLSPATIAL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DMSSQLSPATIAL_ENABLED +-endif +- +-ifeq ($(HAVE_DODS),yes) +-CXXFLAGS := $(CXXFLAGS) -DDODS_ENABLED +-endif +- +-ifeq ($(HAVE_SQLITE),yes) +-CXXFLAGS := $(CXXFLAGS) -DSQLITE_ENABLED +-endif +- +-ifeq ($(HAVE_GRASS),yes) +-CXXFLAGS := $(CXXFLAGS) -DGRASS_ENABLED +-endif +- +-ifeq ($(HAVE_XERCES),yes) +-CXXFLAGS := $(CXXFLAGS) -DILI_ENABLED +-endif +- +-ifeq ($(HAVE_NAS),yes) +-CXXFLAGS := $(CXXFLAGS) -DNAS_ENABLED +-endif +- +-ifeq ($(HAVE_LIBKML),yes) +-CXXFLAGS := $(CXXFLAGS) -DLIBKML_ENABLED +-endif +- +-ifeq ($(HAVE_DWGDIRECT),yes) +-CXXFLAGS := $(CXXFLAGS) -DDWGDIRECT_ENABLED +-endif +- +-ifeq ($(HAVE_IDB),yes) +-CXXFLAGS := $(CXXFLAGS) -DIDB_ENABLED +-endif +- +-ifeq ($(HAVE_PANORAMA),yes) +-CXXFLAGS := $(CXXFLAGS) -DPANORAMA_ENABLED +-endif +- +-ifeq ($(HAVE_SOSI),yes) +-CXXFLAGS := $(CXXFLAGS) -DSOSI_ENABLED +-endif +- +-ifeq ($(HAVE_SQLITE),yes) +-CXXFLAGS := $(CXXFLAGS) -DVFK_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DWFS_ENABLED +-endif +- +-ifeq ($(GEOMEDIA_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DGEOMEDIA_ENABLED +-endif +- +-ifeq ($(MDB_ENABLED),yes) +-CXXFLAGS := $(CXXFLAGS) -DMDB_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DGFT_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DGME_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DCOUCHDB_ENABLED +-endif +- +-ifeq ($(HAVE_FREEXL),yes) +-CXXFLAGS := $(CXXFLAGS) -DFREEXL_ENABLED +-endif +- +-ifeq ($(HAVE_EXPAT),yes) +-CXXFLAGS := $(CXXFLAGS) -DODS_ENABLED +-endif +- +-ifeq ($(HAVE_EXPAT),yes) +-CXXFLAGS := $(CXXFLAGS) -DXLSX_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DELASTIC_ENABLED +-endif +- +-ifeq ($(HAVE_SQLITE),yes) +-CXXFLAGS := $(CXXFLAGS) -DOSM_ENABLED +-endif +- +-ifneq ($(LIBZ_SETTING),no) +-CXXFLAGS := $(CXXFLAGS) -DPDF_ENABLED +-endif +- +-ifeq ($(ODBC_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DWALK_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DCARTODB_ENABLED +-endif +- + CPPFLAGS := -I.. -I../.. $(GDAL_INCLUDE) $(CPPFLAGS) + + default: $(O_OBJ:.o=.$(OBJ_EXT)) diff --git a/scripts/gdal/1.11.1/script.sh b/scripts/gdal/1.11.1/script.sh new file mode 100755 index 000000000..e227185b8 --- /dev/null +++ b/scripts/gdal/1.11.1/script.sh @@ -0,0 +1,130 @@ +#!/usr/bin/env bash + +MASON_NAME=gdal +MASON_VERSION=1.11.1 +MASON_LIB_FILE=lib/libgdal.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/gdal/${MASON_VERSION}/gdal-${MASON_VERSION}.tar.gz \ + 6a06e527e6a5abd565a67f84caadf9f891e5f49b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + FIND="\/Users\/travis\/build\/mapbox\/mason" + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + ${MASON_DIR}/mason install libtiff 4.0.4beta + MASON_TIFF=$(${MASON_DIR}/mason prefix libtiff 4.0.4beta) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_TIFF}/lib/libtiff.la + ${MASON_DIR}/mason install proj 4.8.0 + MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.8.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PROJ}/lib/libproj.la + ${MASON_DIR}/mason install jpeg_turbo 1.4.0 + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.4.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_JPEG}/lib/libjpeg.la + ${MASON_DIR}/mason install libpng 1.6.16 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.16) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la + ${MASON_DIR}/mason install expat 2.1.0 + MASON_EXPAT=$(${MASON_DIR}/mason prefix expat 2.1.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_EXPAT}/lib/libexpat.la + # depends on sudo apt-get install zlib1g-dev + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p1 < ./patch.diff + CUSTOM_LIBS="-L${MASON_TIFF}/lib -ltiff -L${MASON_JPEG}/lib -ljpeg -L${MASON_PROJ}/lib -lproj -L${MASON_PNG}/lib -lpng -L${MASON_EXPAT}/lib -lexpat" + CUSTOM_CFLAGS="${CFLAGS} -I${MASON_LIBPQ}/include -I${MASON_TIFF}/include -I${MASON_JPEG}/include -I${MASON_PROJ}/include -I${MASON_PNG}/include -I${MASON_EXPAT}/include" + CUSTOM_LDFLAGS="${LDFLAGS}" + # note: it might be tempting to build with --without-libtool + # but I find that will only lead to a static libgdal.a and will + # not produce a shared library no matter if --enable-shared is passed + + # note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity: + # http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass + if [[ $(uname -s) == 'Darwin' ]]; then + CXX="${CXX} -stdlib=libc++ -std=c++11" + fi + + LIBS="${CUSTOM_LIBS}" LDFLAGS="${CUSTOM_LDFLAGS}" CFLAGS="${CUSTOM_CFLAGS}" ./configure \ + --enable-static --disable-shared \ + ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --with-libz=/usr/ \ + --disable-rpath \ + --with-libjson-c=internal \ + --with-geotiff=internal \ + --with-expat=${MASON_EXPAT} \ + --with-threads=yes \ + --with-fgdb=no \ + --with-rename-internal-libtiff-symbols=no \ + --with-rename-internal-libgeotiff-symbols=no \ + --with-hide-internal-symbols=yes \ + --with-libtiff=${MASON_TIFF} \ + --with-jpeg=${MASON_JPEG} \ + --with-png=${MASON_PNG} \ + --with-static-proj4=${MASON_PROJ} \ + --with-spatialite=no \ + --with-geos=no \ + --with-sqlite3=no \ + --with-curl=no \ + --with-xml2=no \ + --with-pcraster=no \ + --with-cfitsio=no \ + --with-odbc=no \ + --with-libkml=no \ + --with-pcidsk=no \ + --with-jasper=no \ + --with-gif=no \ + --with-pg=no \ + --with-grib=no \ + --with-freexl=no \ + --with-avx=no \ + --with-sse=no \ + --with-perl=no \ + --with-ruby=no \ + --with-python=no \ + --with-java=no \ + --with-podofo=no \ + --without-pam \ + --with-webp=no \ + --with-pcre=no \ + --with-lzma=no + + make -j${MASON_CONCURRENCY} + make install + + # attempt to make paths relative in gdal-config + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_PREFIX','\$( cd \"\$( dirname \$( dirname \"\$0\" ))\" && pwd )'))" + cat $MASON_PREFIX/bin/gdal-config +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include/gdal" +} + +function mason_ldflags { + echo $(${MASON_PREFIX}/bin/gdal-config --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/gdal/1.11.2/.travis.yml b/scripts/gdal/1.11.2/.travis.yml new file mode 100644 index 000000000..fd209791a --- /dev/null +++ b/scripts/gdal/1.11.2/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gdal/1.11.2/patch.diff b/scripts/gdal/1.11.2/patch.diff new file mode 100644 index 000000000..50faffae1 --- /dev/null +++ b/scripts/gdal/1.11.2/patch.diff @@ -0,0 +1,277 @@ +diff --git a/GDALmake.opt.in b/GDALmake.opt.in +index 82525d9..413b8bc 100644 +--- a/GDALmake.opt.in ++++ b/GDALmake.opt.in +@@ -474,14 +474,7 @@ FREEXL_INCLUDE = @FREEXL_INCLUDE@ + # and their uppercase form should be the format portion of the + # format registration entry point. eg. gdb -> GDALRegister_GDB(). + # +-GDAL_FORMATS = gxf gtiff hfa aigrid aaigrid ceos ceos2 iso8211 xpm \ +- sdts raw dted mem jdem envisat elas fit vrt usgsdem l1b \ +- nitf bmp pcidsk airsar rs2 ilwis rmf leveller sgi srtmhgt \ +- idrisi gsg ingr ers jaxapalsar dimap gff cosar pds adrg \ +- coasp tsx terragen blx msgn til r northwood saga xyz hf2 \ +- kmlsuperoverlay ctg e00grid zmap ngsgeoid iris map\ +- @OPT_GDAL_FORMATS@ +- ++GDAL_FORMATS = vrt gtiff hfa mem raw @OPT_GDAL_FORMATS@ + + ifneq ($(LIBZ_SETTING),no) + GDAL_FORMATS := $(GDAL_FORMATS) rik ozi pdf +diff --git a/ogr/ogrsf_frmts/GNUmakefile b/ogr/ogrsf_frmts/GNUmakefile +index f3f8585..c3f9fde 100644 +--- a/ogr/ogrsf_frmts/GNUmakefile ++++ b/ogr/ogrsf_frmts/GNUmakefile +@@ -2,44 +2,8 @@ + include ../../GDALmake.opt + + SUBDIRS-yes := \ +- generic avc bna csv dgn geojson gml gmt mem kml \ +- mitab ntf gpx rec s57 sdts shape tiger vrt \ +- geoconcept xplane georss gtm dxf pgdump gpsbabel \ +- sua openair pds htf aeronavfaa edigeo svg idrisi \ +- arcgen segukooa segy sxf openfilegdb wasp +- +-SUBDIRS-$(HAVE_DODS) += dods +-SUBDIRS-$(HAVE_DWGDIRECT) += dxfdwg +-SUBDIRS-$(HAVE_FME) += fme +-SUBDIRS-$(HAVE_GRASS) += grass +-SUBDIRS-$(HAVE_IDB) += idb +-SUBDIRS-$(HAVE_XERCES) += ili +-SUBDIRS-$(HAVE_NAS) += nas +-SUBDIRS-$(HAVE_MYSQL) += mysql +-SUBDIRS-$(ODBC_SETTING) += odbc pgeo mssqlspatial geomedia walk +-SUBDIRS-$(HAVE_OGDI) += ogdi +-SUBDIRS-$(HAVE_OCI) += oci +-SUBDIRS-$(HAVE_OGR_PG) += pg +-SUBDIRS-$(HAVE_SQLITE) += sqlite +-SUBDIRS-$(HAVE_SDE) += sde +-SUBDIRS-$(HAVE_FGDB) += filegdb +-SUBDIRS-$(HAVE_ARCOBJECTS) += arcobjects +-SUBDIRS-$(HAVE_INGRES) += ingres +-SUBDIRS-$(HAVE_SQLITE) += vfk +-SUBDIRS-$(HAVE_LIBKML) += libkml +-SUBDIRS-$(CURL_SETTING) += wfs +-SUBDIRS-$(MDB_ENABLED) += mdb +-SUBDIRS-$(CURL_SETTING) += gft +-SUBDIRS-$(CURL_SETTING) += gme +-SUBDIRS-$(CURL_SETTING) += couchdb +-SUBDIRS-$(HAVE_FREEXL) += xls +-SUBDIRS-$(HAVE_EXPAT) += ods +-SUBDIRS-$(HAVE_EXPAT) += xlsx +-SUBDIRS-$(CURL_SETTING) += elastic +-SUBDIRS-$(HAVE_SQLITE) += gpkg +-SUBDIRS-$(HAVE_SQLITE) += osm +-SUBDIRS-$(HAVE_SOSI) += sosi +-SUBDIRS-$(CURL_SETTING) += cartodb ++ generic csv geojson mem kml \ ++ gpx shape vrt openfilegdb mitab + + ifeq ($(PCIDSK_SETTING),internal) + SUBDIRS-yes += pcidsk +diff --git a/ogr/ogrsf_frmts/generic/GNUmakefile b/ogr/ogrsf_frmts/generic/GNUmakefile +index 7c6d5fd..c63b8d3 100644 +--- a/ogr/ogrsf_frmts/generic/GNUmakefile ++++ b/ogr/ogrsf_frmts/generic/GNUmakefile +@@ -9,200 +9,18 @@ OBJ = ogrsfdriverregistrar.o ogrlayer.o ogrdatasource.o \ + ogrmutexedlayer.o ogrmutexeddatasource.o + + BASEFORMATS = \ +- -DAVCBIN_ENABLED \ +- -DBNA_ENABLED \ + -DCSV_ENABLED \ +- -DDGN_ENABLED \ +- -DGML_ENABLED \ +- -DGMT_ENABLED \ + -DGPX_ENABLED \ + -DMEM_ENABLED \ +- -DNTF_ENABLED \ +- -DREC_ENABLED \ +- -DS57_ENABLED \ +- -DSDTS_ENABLED \ + -DSHAPE_ENABLED \ + -DTAB_ENABLED \ +- -DTIGER_ENABLED \ + -DVRT_ENABLED \ + -DKML_ENABLED \ + -DGEOJSON_ENABLED \ +- -DGEOCONCEPT_ENABLED \ +- -DXPLANE_ENABLED \ +- -DGEORSS_ENABLED \ +- -DGTM_ENABLED \ +- -DDXF_ENABLED \ +- -DPGDUMP_ENABLED \ +- -DGPSBABEL_ENABLED \ +- -DSUA_ENABLED \ +- -DOPENAIR_ENABLED \ +- -DPDS_ENABLED \ +- -DHTF_ENABLED \ +- -DAERONAVFAA_ENABLED \ +- -DEDIGEO_ENABLED \ +- -DSVG_ENABLED \ +- -DIDRISI_ENABLED \ +- -DARCGEN_ENABLED \ +- -DSEGUKOOA_ENABLED \ +- -DSEGY_ENABLED \ +- -DSXF_ENABLED \ +- -DOPENFILEGDB_ENABLED \ +- -DWASP_ENABLED ++ -DOPENFILEGDB_ENABLED + + CXXFLAGS := $(CXXFLAGS) -DINST_DATA=\"$(INST_DATA)\" $(BASEFORMATS) + +-ifeq ($(HAVE_OGDI),yes) +-CXXFLAGS := $(CXXFLAGS) -DOGDI_ENABLED +-endif +- +-ifeq ($(HAVE_OCI),yes) +-CXXFLAGS := $(CXXFLAGS) -DOCI_ENABLED +-endif +- +-ifeq ($(HAVE_SDE),yes) +-CXXFLAGS := $(CXXFLAGS) -DSDE_ENABLED +-endif +- +-ifeq ($(HAVE_FGDB),yes) +-CXXFLAGS := $(CXXFLAGS) -DFGDB_ENABLED +-endif +- +-ifeq ($(HAVE_OGR_PG),yes) +-CXXFLAGS := $(CXXFLAGS) -DPG_ENABLED +-endif +- +-ifeq ($(HAVE_MYSQL),yes) +-CXXFLAGS := $(CXXFLAGS) -DMYSQL_ENABLED +-endif +- +-ifeq ($(HAVE_INGRES),yes) +-CXXFLAGS := $(CXXFLAGS) -DINGRES_ENABLED +-endif +- +-ifeq ($(PCIDSK_SETTING),internal) +-CXXFLAGS := $(CXXFLAGS) -DPCIDSK_ENABLED +-endif +- +-ifeq ($(PCIDSK_SETTING),external) +-CXXFLAGS := $(CXXFLAGS) -DPCIDSK_ENABLED +-endif +- +-ifeq ($(HAVE_FME),yes) +-CXXFLAGS := $(CXXFLAGS) -DFME_ENABLED +-endif +- +-ifeq ($(ODBC_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DODBC_ENABLED +-endif +- +-ifeq ($(PGEO_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DPGEO_ENABLED +-endif +- +-ifeq ($(MSSQLSPATIAL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DMSSQLSPATIAL_ENABLED +-endif +- +-ifeq ($(HAVE_DODS),yes) +-CXXFLAGS := $(CXXFLAGS) -DDODS_ENABLED +-endif +- +-ifeq ($(HAVE_SQLITE),yes) +-CXXFLAGS := $(CXXFLAGS) -DSQLITE_ENABLED +-endif +- +-ifeq ($(HAVE_GRASS),yes) +-CXXFLAGS := $(CXXFLAGS) -DGRASS_ENABLED +-endif +- +-ifeq ($(HAVE_XERCES),yes) +-CXXFLAGS := $(CXXFLAGS) -DILI_ENABLED +-endif +- +-ifeq ($(HAVE_NAS),yes) +-CXXFLAGS := $(CXXFLAGS) -DNAS_ENABLED +-endif +- +-ifeq ($(HAVE_LIBKML),yes) +-CXXFLAGS := $(CXXFLAGS) -DLIBKML_ENABLED +-endif +- +-ifeq ($(HAVE_DWGDIRECT),yes) +-CXXFLAGS := $(CXXFLAGS) -DDWGDIRECT_ENABLED +-endif +- +-ifeq ($(HAVE_IDB),yes) +-CXXFLAGS := $(CXXFLAGS) -DIDB_ENABLED +-endif +- +-ifeq ($(HAVE_PANORAMA),yes) +-CXXFLAGS := $(CXXFLAGS) -DPANORAMA_ENABLED +-endif +- +-ifeq ($(HAVE_SOSI),yes) +-CXXFLAGS := $(CXXFLAGS) -DSOSI_ENABLED +-endif +- +-ifeq ($(HAVE_SQLITE),yes) +-CXXFLAGS := $(CXXFLAGS) -DVFK_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DWFS_ENABLED +-endif +- +-ifeq ($(GEOMEDIA_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DGEOMEDIA_ENABLED +-endif +- +-ifeq ($(MDB_ENABLED),yes) +-CXXFLAGS := $(CXXFLAGS) -DMDB_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DGFT_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DGME_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DCOUCHDB_ENABLED +-endif +- +-ifeq ($(HAVE_FREEXL),yes) +-CXXFLAGS := $(CXXFLAGS) -DFREEXL_ENABLED +-endif +- +-ifeq ($(HAVE_EXPAT),yes) +-CXXFLAGS := $(CXXFLAGS) -DODS_ENABLED +-endif +- +-ifeq ($(HAVE_EXPAT),yes) +-CXXFLAGS := $(CXXFLAGS) -DXLSX_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DELASTIC_ENABLED +-endif +- +-ifeq ($(HAVE_SQLITE),yes) +-CXXFLAGS := $(CXXFLAGS) -DOSM_ENABLED +-endif +- +-ifneq ($(LIBZ_SETTING),no) +-CXXFLAGS := $(CXXFLAGS) -DPDF_ENABLED +-endif +- +-ifeq ($(ODBC_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DWALK_ENABLED +-endif +- +-ifeq ($(CURL_SETTING),yes) +-CXXFLAGS := $(CXXFLAGS) -DCARTODB_ENABLED +-endif +- + CPPFLAGS := -I.. -I../.. $(GDAL_INCLUDE) $(CPPFLAGS) + + default: $(O_OBJ:.o=.$(OBJ_EXT)) diff --git a/scripts/gdal/1.11.2/script.sh b/scripts/gdal/1.11.2/script.sh new file mode 100755 index 000000000..d1f04ba01 --- /dev/null +++ b/scripts/gdal/1.11.2/script.sh @@ -0,0 +1,130 @@ +#!/usr/bin/env bash + +MASON_NAME=gdal +MASON_VERSION=1.11.2 +MASON_LIB_FILE=lib/libgdal.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/gdal/${MASON_VERSION}/gdal-${MASON_VERSION}.tar.gz \ + 50660f82fb01ff1c97f6342a3fbbe5bdc6d01b09 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + FIND="\/Users\/travis\/build\/mapbox\/mason" + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + ${MASON_DIR}/mason install libtiff 4.0.4beta + MASON_TIFF=$(${MASON_DIR}/mason prefix libtiff 4.0.4beta) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_TIFF}/lib/libtiff.la + ${MASON_DIR}/mason install proj 4.8.0 + MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.8.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PROJ}/lib/libproj.la + ${MASON_DIR}/mason install jpeg_turbo 1.4.0 + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.4.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_JPEG}/lib/libjpeg.la + ${MASON_DIR}/mason install libpng 1.6.20 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.20) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la + ${MASON_DIR}/mason install expat 2.1.0 + MASON_EXPAT=$(${MASON_DIR}/mason prefix expat 2.1.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_EXPAT}/lib/libexpat.la + # depends on sudo apt-get install zlib1g-dev + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p1 < ./patch.diff + CUSTOM_LIBS="-L${MASON_TIFF}/lib -ltiff -L${MASON_JPEG}/lib -ljpeg -L${MASON_PROJ}/lib -lproj -L${MASON_PNG}/lib -lpng -L${MASON_EXPAT}/lib -lexpat" + CUSTOM_CFLAGS="${CFLAGS} -I${MASON_LIBPQ}/include -I${MASON_TIFF}/include -I${MASON_JPEG}/include -I${MASON_PROJ}/include -I${MASON_PNG}/include -I${MASON_EXPAT}/include" + CUSTOM_LDFLAGS="${LDFLAGS}" + # note: it might be tempting to build with --without-libtool + # but I find that will only lead to a static libgdal.a and will + # not produce a shared library no matter if --enable-shared is passed + + # note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity: + # http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass + if [[ $(uname -s) == 'Darwin' ]]; then + CXX="${CXX} -stdlib=libc++ -std=c++11" + fi + + LIBS="${CUSTOM_LIBS}" LDFLAGS="${CUSTOM_LDFLAGS}" CFLAGS="${CUSTOM_CFLAGS}" ./configure \ + --enable-static --disable-shared \ + ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --with-libz=/usr/ \ + --disable-rpath \ + --with-libjson-c=internal \ + --with-geotiff=internal \ + --with-expat=${MASON_EXPAT} \ + --with-threads=yes \ + --with-fgdb=no \ + --with-rename-internal-libtiff-symbols=no \ + --with-rename-internal-libgeotiff-symbols=no \ + --with-hide-internal-symbols=yes \ + --with-libtiff=${MASON_TIFF} \ + --with-jpeg=${MASON_JPEG} \ + --with-png=${MASON_PNG} \ + --with-static-proj4=${MASON_PROJ} \ + --with-spatialite=no \ + --with-geos=no \ + --with-sqlite3=no \ + --with-curl=no \ + --with-xml2=no \ + --with-pcraster=no \ + --with-cfitsio=no \ + --with-odbc=no \ + --with-libkml=no \ + --with-pcidsk=no \ + --with-jasper=no \ + --with-gif=no \ + --with-pg=no \ + --with-grib=no \ + --with-freexl=no \ + --with-avx=no \ + --with-sse=no \ + --with-perl=no \ + --with-ruby=no \ + --with-python=no \ + --with-java=no \ + --with-podofo=no \ + --without-pam \ + --with-webp=no \ + --with-pcre=no \ + --with-lzma=no + + make -j${MASON_CONCURRENCY} + make install + + # attempt to make paths relative in gdal-config + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_PREFIX','\$( cd \"\$( dirname \$( dirname \"\$0\" ))\" && pwd )'))" + cat $MASON_PREFIX/bin/gdal-config +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include/gdal" +} + +function mason_ldflags { + echo $(${MASON_PREFIX}/bin/gdal-config --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/gdal/2.0.2/.travis.yml b/scripts/gdal/2.0.2/.travis.yml new file mode 100644 index 000000000..bce355fd4 --- /dev/null +++ b/scripts/gdal/2.0.2/.travis.yml @@ -0,0 +1,35 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + env: CXX=clang++-3.5 CC=clang-3.5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} +- export GDAL_DATA=$(pwd)/mason_packages/.link/share/gdal +- ./mason_packages/.link/bin/ogr2ogr --formats +- if [[ $(uname -s) == 'Darwin' ]]; then otool -L ./mason_packages/.link/bin/ogr2ogr; else ldd ./mason_packages/.link/bin/ogr2ogr; fi; +- ./mason_packages/.link/bin/gdalinfo --formats +- if [[ $(uname -s) == 'Darwin' ]]; then otool -L ./mason_packages/.link/bin/gdalinfo; else ldd ./mason_packages/.link/bin/gdalinfo; fi; + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gdal/2.0.2/patch.diff b/scripts/gdal/2.0.2/patch.diff new file mode 100644 index 000000000..963ad16f9 --- /dev/null +++ b/scripts/gdal/2.0.2/patch.diff @@ -0,0 +1,133 @@ +diff --git a/apps/GNUmakefile b/apps/GNUmakefile +index 2f6b749..7d8059c 100644 +--- a/apps/GNUmakefile ++++ b/apps/GNUmakefile +@@ -44,97 +44,97 @@ lib-depend: + (cd ../port ; $(MAKE) ) + + gdalinfo$(EXE): gdalinfo.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalserver$(EXE): gdalserver.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal_translate$(EXE): gdal_translate.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaladdo$(EXE): gdaladdo.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalwarp$(EXE): gdalwarp.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal_contour$(EXE): gdal_contour.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + nearblack$(EXE): nearblack.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalmanage$(EXE): gdalmanage.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal_rasterize$(EXE): gdal_rasterize.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaltindex$(EXE): gdaltindex.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalbuildvrt$(EXE): gdalbuildvrt.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + multireadtest$(EXE): multireadtest.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + dumpoverviews$(EXE): dumpoverviews.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalenhance$(EXE): gdalenhance.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaldem$(EXE): gdaldem.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal_grid$(EXE): gdal_grid.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalwarpsimple$(EXE): gdalwarpsimple.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaltransform$(EXE): gdaltransform.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdallocationinfo$(EXE): gdallocationinfo.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalsrsinfo$(EXE): gdalsrsinfo.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalflattenmask$(EXE): gdalflattenmask.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaltorture$(EXE): gdaltorture.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal2ogr$(EXE): gdal2ogr.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + ogrinfo$(EXE): ogrinfo.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + ogrlineref$(EXE): ogrlineref.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + ogr2ogr$(EXE): ogr2ogr.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + testepsg$(EXE): testepsg.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + ogrtindex$(EXE): ogrtindex.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + test_ogrsf$(EXE): test_ogrsf.$(OBJ_EXT) commonutils.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< commonutils.$(OBJ_EXT) $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalasyncread$(EXE): gdalasyncread.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + testreprojmulti$(EXE): testreprojmulti.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + clean: + $(RM) *.o $(BIN_LIST) core gdal-config gdal-config-inst diff --git a/scripts/gdal/2.0.2/script.sh b/scripts/gdal/2.0.2/script.sh new file mode 100755 index 000000000..dbf9e8052 --- /dev/null +++ b/scripts/gdal/2.0.2/script.sh @@ -0,0 +1,161 @@ +#!/usr/bin/env bash + +MASON_NAME=gdal +MASON_VERSION=2.0.2 +MASON_LIB_FILE=lib/libgdal.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/gdal/${MASON_VERSION}/gdal-${MASON_VERSION}.tar.gz \ + 6b82c9f5e356774a8451182d8720ed4a262a0d5e + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + if [[ $(uname -s) == 'Darwin' ]]; then + FIND="\/Users\/travis\/build\/mapbox\/mason" + else + FIND="\/home\/travis\/build\/mapbox\/mason" + fi + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + ${MASON_DIR}/mason install libtiff 4.0.6 + MASON_TIFF=$(${MASON_DIR}/mason prefix libtiff 4.0.6) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_TIFF}/lib/libtiff.la + ${MASON_DIR}/mason install proj 4.9.2 + MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.9.2) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PROJ}/lib/libproj.la + ${MASON_DIR}/mason install jpeg_turbo 1.4.2 + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.4.2) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_JPEG}/lib/libjpeg.la + ${MASON_DIR}/mason install libpng 1.6.21 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.21) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la + ${MASON_DIR}/mason install expat 2.1.1 + MASON_EXPAT=$(${MASON_DIR}/mason prefix expat 2.1.1) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_EXPAT}/lib/libexpat.la + ${MASON_DIR}/mason install libpq 9.5.2 + MASON_LIBPQ=$(${MASON_DIR}/mason prefix libpq 9.5.2) + # depends on sudo apt-get install zlib1g-dev + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) + # depends on sudo apt-get install libc6-dev + #${MASON_DIR}/mason install iconv system + #MASON_ICONV=$(${MASON_DIR}/mason prefix iconv system) + export LIBRARY_PATH=${MASON_LIBPQ}/lib:$LIBRARY_PATH +} + +function mason_compile { + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + mason_step "Loading patch" + patch -N -p1 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff + fi + CUSTOM_LIBS="-L${MASON_TIFF}/lib -ltiff -L${MASON_JPEG}/lib -ljpeg -L${MASON_PROJ}/lib -lproj -L${MASON_PNG}/lib -lpng -L${MASON_EXPAT}/lib -lexpat" + CUSTOM_CFLAGS="${CFLAGS} -I${MASON_LIBPQ}/include -I${MASON_TIFF}/include -I${MASON_JPEG}/include -I${MASON_PROJ}/include -I${MASON_PNG}/include -I${MASON_EXPAT}/include" + + # very custom handling for libpq/postgres support + # forcing our portable static library to be used + MASON_LIBPQ_PATH=${MASON_LIBPQ}/lib/libpq.a + if [[ $(uname -s) == 'Linux' ]]; then + # on Linux passing -Wl will lead to libtool re-positioning libpq.a in the wrong place (no longer after libgdal.a) + # which leads to unresolved symbols + CUSTOM_LDFLAGS="${LDFLAGS} ${MASON_LIBPQ_PATH}" + else + # on OSX not passing -Wl will break libtool archive creation leading to confusing arch errors + CUSTOM_LDFLAGS="${LDFLAGS} -Wl,${MASON_LIBPQ_PATH}" + fi + # we have to remove -lpq otherwise it will trigger linking to system /usr/lib/libpq + perl -i -p -e "s/\-lpq //g;" configure + # on linux -Wl,/path/to/libpq.a still does not work for the configure test + # so we have to force it into LIBS. But we don't do this on OS X since it breaks libtool archive logic + if [[ $(uname -s) == 'Linux' ]]; then + CUSTOM_LIBS="${MASON_LIBPQ}/lib/libpq.a -pthread ${CUSTOM_LIBS}" + fi + + # note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity: + # http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass + if [[ $(uname -s) == 'Darwin' ]]; then + CXX="${CXX} -stdlib=libc++ -std=c++11" + fi + + # note: it might be tempting to build with --without-libtool + # but I find that will only lead to a shared libgdal.so and will + # not produce a static library even if --enable-static is passed + LIBS="${CUSTOM_LIBS}" LDFLAGS="${CUSTOM_LDFLAGS}" CFLAGS="${CUSTOM_CFLAGS}" ./configure \ + --enable-static --disable-shared \ + ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --with-libz=${MASON_ZLIB} \ + --disable-rpath \ + --with-libjson-c=internal \ + --with-geotiff=internal \ + --with-expat=${MASON_EXPAT} \ + --with-threads=yes \ + --with-fgdb=no \ + --with-rename-internal-libtiff-symbols=no \ + --with-rename-internal-libgeotiff-symbols=no \ + --with-hide-internal-symbols=yes \ + --with-libtiff=${MASON_TIFF} \ + --with-jpeg=${MASON_JPEG} \ + --with-png=${MASON_PNG} \ + --with-pg=${MASON_LIBPQ}/bin/pg_config \ + --with-static-proj4=${MASON_PROJ} \ + --with-spatialite=no \ + --with-geos=no \ + --with-sqlite3=no \ + --with-curl=no \ + --with-xml2=no \ + --with-pcraster=no \ + --with-cfitsio=no \ + --with-odbc=no \ + --with-libkml=no \ + --with-pcidsk=no \ + --with-jasper=no \ + --with-gif=no \ + --with-grib=no \ + --with-freexl=no \ + --with-avx=no \ + --with-sse=no \ + --with-perl=no \ + --with-ruby=no \ + --with-python=no \ + --with-java=no \ + --with-podofo=no \ + --with-pam \ + --with-webp=no \ + --with-pcre=no \ + --with-liblzma=no \ + --with-netcdf=no \ + --with-poppler=no + + make -j${MASON_CONCURRENCY} + make install + + # attempt to make paths relative in gdal-config + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_PREFIX','\$( cd \"\$( dirname \$( dirname \"\$0\" ))\" && pwd )'))" + # hack to re-add -lpq since otherwise it will not end up in --dep-libs + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('\$CONFIG_DEP_LIBS','\$CONFIG_DEP_LIBS -lpq'))" + cat $MASON_PREFIX/bin/gdal-config +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo $(${MASON_PREFIX}/bin/gdal-config --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/gdal/2.1.1/.travis.yml b/scripts/gdal/2.1.1/.travis.yml new file mode 100644 index 000000000..ef9476a66 --- /dev/null +++ b/scripts/gdal/2.1.1/.travis.yml @@ -0,0 +1,24 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode8 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gdal/2.1.1/patch.diff b/scripts/gdal/2.1.1/patch.diff new file mode 100644 index 000000000..74945d50d --- /dev/null +++ b/scripts/gdal/2.1.1/patch.diff @@ -0,0 +1,141 @@ +diff --git a/apps/GNUmakefile b/apps/GNUmakefile +index a87cd0f..931a988 100644 +--- a/apps/GNUmakefile ++++ b/apps/GNUmakefile +@@ -79,103 +79,103 @@ gdalbuildvrt_lib.$(OBJ_EXT): gdalbuildvrt_lib.cpp + $(CXX) -c $(GDAL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $< -o $@ + + gdalinfo$(EXE): gdalinfo_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) $(CONFIG_LIB_UTILS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) $(CONFIG_LIB_UTILS) -o $@ $(LNK_FLAGS) + + gdalserver$(EXE): gdalserver.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal_translate$(EXE): gdal_translate_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaladdo$(EXE): gdaladdo.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalwarp$(EXE): gdalwarp_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal_contour$(EXE): gdal_contour.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + nearblack$(EXE): nearblack_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalmanage$(EXE): gdalmanage.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal_rasterize$(EXE): gdal_rasterize_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaltindex$(EXE): gdaltindex.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalbuildvrt$(EXE): gdalbuildvrt_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + multireadtest$(EXE): multireadtest.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + dumpoverviews$(EXE): dumpoverviews.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalenhance$(EXE): gdalenhance.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaldem$(EXE): gdaldem_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal_grid$(EXE): gdal_grid_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalwarpsimple$(EXE): gdalwarpsimple.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaltransform$(EXE): gdaltransform.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdallocationinfo$(EXE): gdallocationinfo.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalsrsinfo$(EXE): gdalsrsinfo.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalflattenmask$(EXE): gdalflattenmask.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdaltorture$(EXE): gdaltorture.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdal2ogr$(EXE): gdal2ogr.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + ogrinfo$(EXE): ogrinfo.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + ogrlineref$(EXE): ogrlineref.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + ogr2ogr$(EXE): ogr2ogr_bin.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + testepsg$(EXE): testepsg.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + ogrtindex$(EXE): ogrtindex.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + test_ogrsf$(EXE): test_ogrsf.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gdalasyncread$(EXE): gdalasyncread.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + testreprojmulti$(EXE): testreprojmulti.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gnmmanage$(EXE): gnmmanage.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + gnmanalyse$(EXE): gnmanalyse.$(OBJ_EXT) $(DEP_LIBS) +- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ ++ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS) + + clean: + $(RM) *.o $(BIN_LIST) core gdal-config gdal-config-inst diff --git a/scripts/gdal/2.1.1/script.sh b/scripts/gdal/2.1.1/script.sh new file mode 100755 index 000000000..f6ddf6ddd --- /dev/null +++ b/scripts/gdal/2.1.1/script.sh @@ -0,0 +1,169 @@ +#!/usr/bin/env bash + +MASON_NAME=gdal +MASON_VERSION=2.1.1 +MASON_LIB_FILE=lib/libgdal.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/gdal/${MASON_VERSION}/gdal-${MASON_VERSION}.tar.gz \ + 66aa2e083027cff36c000060f4e61ce5e1405307 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + if [[ $(uname -s) == 'Darwin' ]]; then + FIND="\/Users\/travis\/build\/mapbox\/mason" + else + FIND="\/home\/travis\/build\/mapbox\/mason" + fi + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + ${MASON_DIR}/mason install libtiff 4.0.6 + MASON_TIFF=$(${MASON_DIR}/mason prefix libtiff 4.0.6) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_TIFF}/lib/libtiff.la + ${MASON_DIR}/mason install proj 4.9.2 + MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.9.2) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PROJ}/lib/libproj.la + ${MASON_DIR}/mason install jpeg_turbo 1.5.0 + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.5.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_JPEG}/lib/libjpeg.la + ${MASON_DIR}/mason install libpng 1.6.24 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.24) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la + ${MASON_DIR}/mason install expat 2.2.0 + MASON_EXPAT=$(${MASON_DIR}/mason prefix expat 2.2.0) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_EXPAT}/lib/libexpat.la + ${MASON_DIR}/mason install libpq 9.5.2 + MASON_LIBPQ=$(${MASON_DIR}/mason prefix libpq 9.5.2) + # depends on sudo apt-get install zlib1g-dev + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) + # depends on sudo apt-get install libc6-dev + #${MASON_DIR}/mason install iconv system + #MASON_ICONV=$(${MASON_DIR}/mason prefix iconv system) + export LIBRARY_PATH=${MASON_LIBPQ}/lib:$LIBRARY_PATH +} + +function mason_compile { + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + mason_step "Loading patch" + patch -N -p1 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff + fi + CUSTOM_LIBS="-L${MASON_TIFF}/lib -ltiff -L${MASON_JPEG}/lib -ljpeg -L${MASON_PROJ}/lib -lproj -L${MASON_PNG}/lib -lpng -L${MASON_EXPAT}/lib -lexpat" + CUSTOM_CFLAGS="${CFLAGS} -I${MASON_LIBPQ}/include -I${MASON_TIFF}/include -I${MASON_JPEG}/include -I${MASON_PROJ}/include -I${MASON_PNG}/include -I${MASON_EXPAT}/include" + + # very custom handling for libpq/postgres support + # forcing our portable static library to be used + MASON_LIBPQ_PATH=${MASON_LIBPQ}/lib/libpq.a + if [[ $(uname -s) == 'Linux' ]]; then + # on Linux passing -Wl will lead to libtool re-positioning libpq.a in the wrong place (no longer after libgdal.a) + # which leads to unresolved symbols + CUSTOM_LDFLAGS="${LDFLAGS} ${MASON_LIBPQ_PATH}" + else + # on OSX not passing -Wl will break libtool archive creation leading to confusing arch errors + CUSTOM_LDFLAGS="${LDFLAGS} -Wl,${MASON_LIBPQ_PATH}" + fi + # we have to remove -lpq otherwise it will trigger linking to system /usr/lib/libpq + perl -i -p -e "s/\-lpq //g;" configure + # on linux -Wl,/path/to/libpq.a still does not work for the configure test + # so we have to force it into LIBS. But we don't do this on OS X since it breaks libtool archive logic + if [[ $(uname -s) == 'Linux' ]]; then + CUSTOM_LIBS="${MASON_LIBPQ}/lib/libpq.a -pthread ${CUSTOM_LIBS}" + fi + + # note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity: + # http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass + if [[ $(uname -s) == 'Darwin' ]]; then + CXX="${CXX} -stdlib=libc++ -std=c++11" + fi + + # note: it might be tempting to build with --without-libtool + # but I find that will only lead to a shared libgdal.so and will + # not produce a static library even if --enable-static is passed + LIBS="${CUSTOM_LIBS}" LDFLAGS="${CUSTOM_LDFLAGS}" CFLAGS="${CUSTOM_CFLAGS}" ./configure \ + --enable-static --disable-shared \ + ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --with-libz=${MASON_ZLIB} \ + --disable-rpath \ + --with-libjson-c=internal \ + --with-geotiff=internal \ + --with-expat=${MASON_EXPAT} \ + --with-threads=yes \ + --with-fgdb=no \ + --with-rename-internal-libtiff-symbols=no \ + --with-rename-internal-libgeotiff-symbols=no \ + --with-hide-internal-symbols=yes \ + --with-libtiff=${MASON_TIFF} \ + --with-jpeg=${MASON_JPEG} \ + --with-png=${MASON_PNG} \ + --with-pg=${MASON_LIBPQ}/bin/pg_config \ + --with-static-proj4=${MASON_PROJ} \ + --with-spatialite=no \ + --with-geos=no \ + --with-sqlite3=no \ + --with-curl=no \ + --with-xml2=no \ + --with-pcraster=no \ + --with-cfitsio=no \ + --with-odbc=no \ + --with-libkml=no \ + --with-pcidsk=no \ + --with-jasper=no \ + --with-gif=no \ + --with-grib=no \ + --with-freexl=no \ + --with-avx=no \ + --with-sse=no \ + --with-perl=no \ + --with-ruby=no \ + --with-python=no \ + --with-java=no \ + --with-podofo=no \ + --with-pam \ + --with-webp=no \ + --with-pcre=no \ + --with-liblzma=no \ + --with-netcdf=no \ + --with-poppler=no + + make -j${MASON_CONCURRENCY} + make install + + # attempt to make paths relative in gdal-config + # TODO: remove libpg.a from CONFIG_DEP_LIBS on linux? + # fix the path to -lgdal to be relative (CONFIG_LIBS,CONFIG_PREFIX,CONFIG_CFLAGS) + RESOLVE_SYMLINK="readlink" + if [[ $(uname -s) == 'Linux' ]];then + RESOLVE_SYMLINK="readlink -f" + fi + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_PREFIX','\$( cd \"\$( dirname \$( dirname \$( $RESOLVE_SYMLINK \"\$0\" ) ))\" && pwd )'))" + # fix the path to dep libs (CONFIG_DEP_LIBS) + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('${MASON_ROOT}/${MASON_PLATFORM_ID}','\$( cd \"\$( dirname \$( dirname \$( dirname \$( dirname \$( $RESOLVE_SYMLINK \"\$0\" ) ) ) ))\" && pwd )'))" + # hack to re-add -lpq since otherwise it will not end up in --dep-libs + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('\$CONFIG_DEP_LIBS','\$CONFIG_DEP_LIBS -lpq'))" + cat $MASON_PREFIX/bin/gdal-config +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo $(${MASON_PREFIX}/bin/gdal-config --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/gdal/dev/.travis.yml b/scripts/gdal/dev/.travis.yml new file mode 100644 index 000000000..870bcdcc2 --- /dev/null +++ b/scripts/gdal/dev/.travis.yml @@ -0,0 +1,30 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} +- export GDAL_DATA=$(pwd)/mason_packages/.link/share/gdal +- ./mason_packages/.link/bin/ogr2ogr --formats +- if [[ $(uname -s) == 'Darwin' ]]; then otool -L ./mason_packages/.link/bin/ogr2ogr; else ldd ./mason_packages/.link/bin/ogr2ogr; fi; +- ./mason_packages/.link/bin/gdalinfo --formats +- if [[ $(uname -s) == 'Darwin' ]]; then otool -L ./mason_packages/.link/bin/gdalinfo; else ldd ./mason_packages/.link/bin/gdalinfo; fi; + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gdal/dev/script.sh b/scripts/gdal/dev/script.sh new file mode 100755 index 000000000..7e38dcbc5 --- /dev/null +++ b/scripts/gdal/dev/script.sh @@ -0,0 +1,168 @@ +#!/usr/bin/env bash + +MASON_NAME=gdal +MASON_VERSION=dev +MASON_LIB_FILE=lib/libgdal.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/gdal-2.x + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + git clone --depth 1 https://github.com/springmeyer/gdal.git -b build-fixes ${MASON_BUILD_PATH} + else + (cd ${MASON_BUILD_PATH} && git pull) + fi +} + +if [[ $(uname -s) == 'Darwin' ]]; then + FIND_PATTERN="\/Users\/travis\/build\/mapbox\/mason" +else + FIND_PATTERN="\/home\/travis\/build\/mapbox\/mason" +fi + +function install_dep { + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + ${MASON_DIR}/mason install $1 $2 + ${MASON_DIR}/mason link $1 $2 + LA_FILE=$(${MASON_DIR}/mason prefix $1 $2)/lib/$3.la + if [[ -f ${LA_FILE} ]]; then + perl -i -p -e "s/${FIND_PATTERN}/${REPLACE}/g;" ${LA_FILE} + else + echo "$LA_FILE not found" + fi +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + install_dep libtiff 4.0.4beta libtiff + install_dep proj 4.8.0 libproj + install_dep jpeg_turbo 1.4.0 libjpeg + install_dep libpng 1.6.16 libpng + install_dep expat 2.1.0 libexpat + install_dep libpq 9.4.0 libpq + # depends on sudo apt-get install zlib1g-dev + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) + # depends on sudo apt-get install libc6-dev + #${MASON_DIR}/mason install iconv system + #MASON_ICONV=$(${MASON_DIR}/mason prefix iconv system) +} + +function mason_compile { + LINK_DIR="${MASON_ROOT}/.link" + echo $LINK_DIR + export LIBRARY_PATH=${LINK_DIR}/lib:${LIBRARY_PATH} + + cd gdal/ + CUSTOM_LIBS="-L${LINK_DIR}/lib -ltiff -ljpeg -lproj -lpng -lexpat" + CUSTOM_CFLAGS="${CFLAGS} -I${LINK_DIR}/include -I${LINK_DIR}/include/libpng16" + CUSTOM_CXXFLAGS="${CUSTOM_CFLAGS}" + + # very custom handling for libpq/postgres support + # forcing our portable static library to be used + MASON_LIBPQ_PATH=${LINK_DIR}/lib/libpq.a + if [[ $(uname -s) == 'Linux' ]]; then + # on Linux passing -Wl will lead to libtool re-positioning libpq.a in the wrong place (no longer after libgdal.a) + # which leads to unresolved symbols + CUSTOM_LDFLAGS="-z nodeflib ${LDFLAGS} ${MASON_LIBPQ_PATH}" + else + # on OSX not passing -Wl will break libtool archive creation leading to confusing arch errors + CUSTOM_LDFLAGS="${LDFLAGS} -Wl,${MASON_LIBPQ_PATH}" + fi + # we have to remove -lpq otherwise it will trigger linking to system /usr/lib/libpq + perl -i -p -e "s/\-lpq //g;" configure + # on linux -Wl,/path/to/libpq.a still does not work for the configure test + # so we have to force it into LIBS. But we don't do this on OS X since it breaks libtool archive logic + if [[ $(uname -s) == 'Linux' ]]; then + CUSTOM_LIBS="${MASON_LIBPQ_PATH} -pthread ${CUSTOM_LIBS}" + fi + + # note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity: + # http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass + if [[ $(uname -s) == 'Darwin' ]]; then + CXX="${CXX} -stdlib=libc++ -std=c++11" + fi + + # note: it might be tempting to build with --without-libtool + # but I find that will only lead to a shared libgdal.so and will + # not produce a static library even if --enable-static is passed + LIBS="${CUSTOM_LIBS}" \ + LDFLAGS="${CUSTOM_LDFLAGS}" \ + CFLAGS="${CUSTOM_CFLAGS}" \ + CXXFLAGS="${CUSTOM_CXXFLAGS}" \ + ./configure \ + --enable-static --disable-shared \ + ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --with-libz=${LINK_DIR} \ + --disable-rpath \ + --with-libjson-c=internal \ + --with-geotiff=internal \ + --with-expat=${LINK_DIR} \ + --with-threads=yes \ + --with-fgdb=no \ + --with-rename-internal-libtiff-symbols=no \ + --with-rename-internal-libgeotiff-symbols=no \ + --with-hide-internal-symbols=yes \ + --with-libtiff=${LINK_DIR} \ + --with-jpeg=${LINK_DIR} \ + --with-png=${LINK_DIR} \ + --with-pg=${LINK_DIR}/bin/pg_config \ + --with-static-proj4=${LINK_DIR} \ + --with-spatialite=no \ + --with-geos=no \ + --with-sqlite3=no \ + --with-curl=no \ + --with-xml2=no \ + --with-pcraster=no \ + --with-cfitsio=no \ + --with-odbc=no \ + --with-libkml=no \ + --with-pcidsk=no \ + --with-jasper=no \ + --with-gif=no \ + --with-grib=no \ + --with-freexl=no \ + --with-avx=no \ + --with-sse=no \ + --with-perl=no \ + --with-ruby=no \ + --with-python=no \ + --with-java=no \ + --with-podofo=no \ + --with-pam \ + --with-webp=no \ + --with-pcre=no \ + --with-liblzma=no \ + --with-netcdf=no \ + --with-poppler=no + + make -j${MASON_CONCURRENCY} + make install + + # attempt to make paths relative in gdal-config + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_PREFIX','\$( cd \"\$( dirname \$( dirname \"\$0\" ))\" && pwd )'))" + # fix paths to all deps to point to mason_packages/.link + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_ROOT','./mason_packages'))" + # add static libpq.a + python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('CONFIG_DEP_LIBS=\"','CONFIG_DEP_LIBS=\"-lpq'))" + cat $MASON_PREFIX/bin/gdal-config +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include/gdal" +} + +function mason_ldflags { + echo $(${MASON_PREFIX}/bin/gdal-config --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/geojson/0.1.1-cxx03abi/.travis.yml b/scripts/geojson/0.1.1-cxx03abi/.travis.yml new file mode 100644 index 000000000..ac00648e9 --- /dev/null +++ b/scripts/geojson/0.1.1-cxx03abi/.travis.yml @@ -0,0 +1,63 @@ +language: c + +sudo: false + +matrix: + exclude: + - os: linux + - os: osx + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.1.1-cxx03abi/script.sh b/scripts/geojson/0.1.1-cxx03abi/script.sh new file mode 100755 index 000000000..315b69b13 --- /dev/null +++ b/scripts/geojson/0.1.1-cxx03abi/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.1.1 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION}-cxx03abi +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + 98daffe2846a97a21d37a15e6b3d022e164d897e + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.1.2-cxx03abi/.travis.yml b/scripts/geojson/0.1.2-cxx03abi/.travis.yml new file mode 100644 index 000000000..413b1b63a --- /dev/null +++ b/scripts/geojson/0.1.2-cxx03abi/.travis.yml @@ -0,0 +1,54 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.1.2-cxx03abi/script.sh b/scripts/geojson/0.1.2-cxx03abi/script.sh new file mode 100755 index 000000000..71899fb52 --- /dev/null +++ b/scripts/geojson/0.1.2-cxx03abi/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.1.2 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION}-cxx03abi +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + ba0f620b97c8ab39b262f8474038a3fd4e33a7f3 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.1.3-cxx03abi/.travis.yml b/scripts/geojson/0.1.3-cxx03abi/.travis.yml new file mode 100644 index 000000000..413b1b63a --- /dev/null +++ b/scripts/geojson/0.1.3-cxx03abi/.travis.yml @@ -0,0 +1,54 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.1.3-cxx03abi/script.sh b/scripts/geojson/0.1.3-cxx03abi/script.sh new file mode 100755 index 000000000..3cfd5da7b --- /dev/null +++ b/scripts/geojson/0.1.3-cxx03abi/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.1.3 +CXXABI=-D_GLIBCXX_USE_CXX11_ABI=0 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION}-cxx03abi +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + a9c01debc7fe31fd98b7a960f9c3bd3e4e82d272 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS $CXXABI" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.1.3/.travis.yml b/scripts/geojson/0.1.3/.travis.yml new file mode 100644 index 000000000..457060852 --- /dev/null +++ b/scripts/geojson/0.1.3/.travis.yml @@ -0,0 +1,61 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + compiler: gcc + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- | + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + export CXX=g++-5 + export CC=gcc-5 + fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.1.3/script.sh b/scripts/geojson/0.1.3/script.sh new file mode 100755 index 000000000..90d020941 --- /dev/null +++ b/scripts/geojson/0.1.3/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.1.3 +CXXABI=-D_GLIBCXX_USE_CXX11_ABI=1 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + a9c01debc7fe31fd98b7a960f9c3bd3e4e82d272 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS $CXXABI" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.1.4-cxx03abi/.travis.yml b/scripts/geojson/0.1.4-cxx03abi/.travis.yml new file mode 100644 index 000000000..413b1b63a --- /dev/null +++ b/scripts/geojson/0.1.4-cxx03abi/.travis.yml @@ -0,0 +1,54 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.1.4-cxx03abi/script.sh b/scripts/geojson/0.1.4-cxx03abi/script.sh new file mode 100755 index 000000000..0767db3ad --- /dev/null +++ b/scripts/geojson/0.1.4-cxx03abi/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.1.4 +CXXABI=-D_GLIBCXX_USE_CXX11_ABI=0 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION}-cxx03abi +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + f0a1499e67a9641691933eaec06cc74c7b70f468 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS $CXXABI" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.1.4-cxx11abi/script.sh b/scripts/geojson/0.1.4-cxx11abi/script.sh new file mode 100755 index 000000000..ec6cd056d --- /dev/null +++ b/scripts/geojson/0.1.4-cxx11abi/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.1.4 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION}-cxx11abi +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + f0a1499e67a9641691933eaec06cc74c7b70f468 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.1.4/.travis.yml b/scripts/geojson/0.1.4/.travis.yml new file mode 100644 index 000000000..457060852 --- /dev/null +++ b/scripts/geojson/0.1.4/.travis.yml @@ -0,0 +1,61 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + compiler: gcc + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- | + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + export CXX=g++-5 + export CC=gcc-5 + fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.1.4/script.sh b/scripts/geojson/0.1.4/script.sh new file mode 100755 index 000000000..58d1106f6 --- /dev/null +++ b/scripts/geojson/0.1.4/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.1.4 +CXXABI=-D_GLIBCXX_USE_CXX11_ABI=1 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + f0a1499e67a9641691933eaec06cc74c7b70f468 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS $CXXABI" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.2.0/.travis.yml b/scripts/geojson/0.2.0/.travis.yml new file mode 100644 index 000000000..457060852 --- /dev/null +++ b/scripts/geojson/0.2.0/.travis.yml @@ -0,0 +1,61 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + compiler: gcc + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- | + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + export CXX=g++-5 + export CC=gcc-5 + fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.2.0/script.sh b/scripts/geojson/0.2.0/script.sh new file mode 100755 index 000000000..b493aaf47 --- /dev/null +++ b/scripts/geojson/0.2.0/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.2.0 +CXXABI=-D_GLIBCXX_USE_CXX11_ABI=1 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + 0baf35ce0e359dbb22ea4c6ca1fd5250dfb51e8f + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS $CXXABI" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.3.0/.travis.yml b/scripts/geojson/0.3.0/.travis.yml new file mode 100644 index 000000000..457060852 --- /dev/null +++ b/scripts/geojson/0.3.0/.travis.yml @@ -0,0 +1,61 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + compiler: gcc + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- | + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + export CXX=g++-5 + export CC=gcc-5 + fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.3.0/script.sh b/scripts/geojson/0.3.0/script.sh new file mode 100755 index 000000000..7489ef1ef --- /dev/null +++ b/scripts/geojson/0.3.0/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.3.0 +CXXABI=-D_GLIBCXX_USE_CXX11_ABI=1 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + 95e547eb39ccac984ed15446cd31d035da683d2b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS $CXXABI" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.3.1-hpp/.travis.yml b/scripts/geojson/0.3.1-hpp/.travis.yml new file mode 100644 index 000000000..457060852 --- /dev/null +++ b/scripts/geojson/0.3.1-hpp/.travis.yml @@ -0,0 +1,61 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + compiler: gcc + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- | + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + export CXX=g++-5 + export CC=gcc-5 + fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.3.1-hpp/script.sh b/scripts/geojson/0.3.1-hpp/script.sh new file mode 100755 index 000000000..859f67dba --- /dev/null +++ b/scripts/geojson/0.3.1-hpp/script.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +MASON_NAME=geojson +MASON_VERSION=0.3.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${MASON_VERSION}.tar.gz \ + 2014db07a5525628e43a9fec36809b04417e1cda + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/geojson/0.3.1/.travis.yml b/scripts/geojson/0.3.1/.travis.yml new file mode 100644 index 000000000..457060852 --- /dev/null +++ b/scripts/geojson/0.3.1/.travis.yml @@ -0,0 +1,61 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + compiler: gcc + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- | + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + export CXX=g++-5 + export CC=gcc-5 + fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.3.1/script.sh b/scripts/geojson/0.3.1/script.sh new file mode 100755 index 000000000..c48cdb079 --- /dev/null +++ b/scripts/geojson/0.3.1/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.3.1 +CXXABI=-D_GLIBCXX_USE_CXX11_ABI=1 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + 2014db07a5525628e43a9fec36809b04417e1cda + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS $CXXABI" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojson/0.3.2-hpp/.travis.yml b/scripts/geojson/0.3.2-hpp/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geojson/0.3.2-hpp/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.3.2-hpp/script.sh b/scripts/geojson/0.3.2-hpp/script.sh new file mode 100755 index 000000000..4967c555c --- /dev/null +++ b/scripts/geojson/0.3.2-hpp/script.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +MASON_NAME=geojson +MASON_VERSION=0.3.2 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${MASON_VERSION}.tar.gz \ + 1b3ccdee9d0273ae817b79d2b335df80c1b3dc4b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/geojson/0.3.2/.travis.yml b/scripts/geojson/0.3.2/.travis.yml new file mode 100644 index 000000000..457060852 --- /dev/null +++ b/scripts/geojson/0.3.2/.travis.yml @@ -0,0 +1,61 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + compiler: gcc + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - g++-5 + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- | + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + export CXX=g++-5 + export CC=gcc-5 + fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojson/0.3.2/script.sh b/scripts/geojson/0.3.2/script.sh new file mode 100755 index 000000000..5f650bdb3 --- /dev/null +++ b/scripts/geojson/0.3.2/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +LIB_VERSION=0.3.2 +CXXABI=-D_GLIBCXX_USE_CXX11_ABI=1 + +MASON_NAME=geojson +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgeojson.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-cpp/archive/v${LIB_VERSION}.tar.gz \ + 1b3ccdee9d0273ae817b79d2b335df80c1b3dc4b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-cpp-${LIB_VERSION} +} + +function mason_compile { + make clean + CXXFLAGS="$CXXFLAGS $CXXABI" MASON=${MASON_DIR}/mason make + mkdir -p ${MASON_PREFIX}/{include,lib} + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + mv build/libgeojson.a ${MASON_PREFIX}/lib +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojson.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/1.1.0/.travis.yml b/scripts/geojsonvt/1.1.0/.travis.yml new file mode 100644 index 000000000..43bc39811 --- /dev/null +++ b/scripts/geojsonvt/1.1.0/.travis.yml @@ -0,0 +1,48 @@ +sudo: false + +matrix: + include: + - os: osx + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/1.1.0/script.sh b/scripts/geojsonvt/1.1.0/script.sh new file mode 100755 index 000000000..0511299c5 --- /dev/null +++ b/scripts/geojsonvt/1.1.0/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=1.1.0 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v1.1.0.tar.gz \ + 9b7caa80331b09258d9cd9b31d2e12de74565592 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/2.1.0/.travis.yml b/scripts/geojsonvt/2.1.0/.travis.yml new file mode 100644 index 000000000..43bc39811 --- /dev/null +++ b/scripts/geojsonvt/2.1.0/.travis.yml @@ -0,0 +1,48 @@ +sudo: false + +matrix: + include: + - os: osx + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/2.1.0/script.sh b/scripts/geojsonvt/2.1.0/script.sh new file mode 100755 index 000000000..13e2eb21d --- /dev/null +++ b/scripts/geojsonvt/2.1.0/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=2.1.0 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v2.1.0.tar.gz \ + 1d59e635ed4498d2ad35b76a39eeab6ebd96479f + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/2.1.6.1/.travis.yml b/scripts/geojsonvt/2.1.6.1/.travis.yml new file mode 100644 index 000000000..52b2734dd --- /dev/null +++ b/scripts/geojsonvt/2.1.6.1/.travis.yml @@ -0,0 +1,50 @@ +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/2.1.6.1/script.sh b/scripts/geojsonvt/2.1.6.1/script.sh new file mode 100755 index 000000000..2e5ce9111 --- /dev/null +++ b/scripts/geojsonvt/2.1.6.1/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=2.1.6.1 +MASON_LIB_FILE=lib/libgeojsonvt.a +MASON_CXX_PACKAGE=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + e17bb4265123a4da0756f85f37a64eb49973d153 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + V=1 CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/2.1.6.2/.travis.yml b/scripts/geojsonvt/2.1.6.2/.travis.yml new file mode 100644 index 000000000..52b2734dd --- /dev/null +++ b/scripts/geojsonvt/2.1.6.2/.travis.yml @@ -0,0 +1,50 @@ +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/2.1.6.2/script.sh b/scripts/geojsonvt/2.1.6.2/script.sh new file mode 100755 index 000000000..f22450cd1 --- /dev/null +++ b/scripts/geojsonvt/2.1.6.2/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=2.1.6.2 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + ee14b47a102ed1eae4ed189c7303905c41ddd08a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/2.1.6.3/.travis.yml b/scripts/geojsonvt/2.1.6.3/.travis.yml new file mode 100644 index 000000000..52b2734dd --- /dev/null +++ b/scripts/geojsonvt/2.1.6.3/.travis.yml @@ -0,0 +1,50 @@ +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/2.1.6.3/script.sh b/scripts/geojsonvt/2.1.6.3/script.sh new file mode 100755 index 000000000..de834f2d7 --- /dev/null +++ b/scripts/geojsonvt/2.1.6.3/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=2.1.6.3 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + d94297eac316190c7dc6723137e7fbd27bc4fd1d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/2.1.6/.travis.yml b/scripts/geojsonvt/2.1.6/.travis.yml new file mode 100644 index 000000000..52b2734dd --- /dev/null +++ b/scripts/geojsonvt/2.1.6/.travis.yml @@ -0,0 +1,50 @@ +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/2.1.6/script.sh b/scripts/geojsonvt/2.1.6/script.sh new file mode 100755 index 000000000..4619dc8fc --- /dev/null +++ b/scripts/geojsonvt/2.1.6/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=2.1.6 +MASON_LIB_FILE=lib/libgeojsonvt.a +MASON_CXX_PACKAGE=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + 684d7e3ce744dfdfde2c73d76377af6968fd2a30 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/3.0.0/.travis.yml b/scripts/geojsonvt/3.0.0/.travis.yml new file mode 100644 index 000000000..52b2734dd --- /dev/null +++ b/scripts/geojsonvt/3.0.0/.travis.yml @@ -0,0 +1,50 @@ +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/3.0.0/script.sh b/scripts/geojsonvt/3.0.0/script.sh new file mode 100755 index 000000000..a3c58ecb7 --- /dev/null +++ b/scripts/geojsonvt/3.0.0/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=3.0.0 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + b6bdbd0fcc0e85c280d7b93300c72761d5d8fbd8 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/3.0.1/.travis.yml b/scripts/geojsonvt/3.0.1/.travis.yml new file mode 100644 index 000000000..52b2734dd --- /dev/null +++ b/scripts/geojsonvt/3.0.1/.travis.yml @@ -0,0 +1,50 @@ +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/3.0.1/script.sh b/scripts/geojsonvt/3.0.1/script.sh new file mode 100755 index 000000000..544462449 --- /dev/null +++ b/scripts/geojsonvt/3.0.1/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=3.0.1 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + 611eff90164f43960b08f96ba3bdd9820c7a3551 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/3.1.0/.travis.yml b/scripts/geojsonvt/3.1.0/.travis.yml new file mode 100644 index 000000000..52b2734dd --- /dev/null +++ b/scripts/geojsonvt/3.1.0/.travis.yml @@ -0,0 +1,50 @@ +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/3.1.0/script.sh b/scripts/geojsonvt/3.1.0/script.sh new file mode 100755 index 000000000..17dbe5e84 --- /dev/null +++ b/scripts/geojsonvt/3.1.0/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=3.1.0 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + 68fc1039b0e8906d58af23853f2fd6d0854d5910 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/4.0.0/.travis.yml b/scripts/geojsonvt/4.0.0/.travis.yml new file mode 100644 index 000000000..cfebc8a5f --- /dev/null +++ b/scripts/geojsonvt/4.0.0/.travis.yml @@ -0,0 +1,55 @@ +language: c + +sudo: false + +matrix: + exclude: + - os: linux + - os: osx + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/4.0.0/script.sh b/scripts/geojsonvt/4.0.0/script.sh new file mode 100755 index 000000000..704582dbb --- /dev/null +++ b/scripts/geojsonvt/4.0.0/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=4.0.0 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + feda591fb74a8b3811598ba7af533ffda982458f + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/4.1.0/.travis.yml b/scripts/geojsonvt/4.1.0/.travis.yml new file mode 100644 index 000000000..ac00648e9 --- /dev/null +++ b/scripts/geojsonvt/4.1.0/.travis.yml @@ -0,0 +1,63 @@ +language: c + +sudo: false + +matrix: + exclude: + - os: linux + - os: osx + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/4.1.0/script.sh b/scripts/geojsonvt/4.1.0/script.sh new file mode 100755 index 000000000..fc13039eb --- /dev/null +++ b/scripts/geojsonvt/4.1.0/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=4.1.0 +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + 910299c5b71927fb57f14dbc4acd5f0a2320eb45 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/4.1.2-cxx11abi/.travis.yml b/scripts/geojsonvt/4.1.2-cxx11abi/.travis.yml new file mode 100644 index 000000000..85f06a003 --- /dev/null +++ b/scripts/geojsonvt/4.1.2-cxx11abi/.travis.yml @@ -0,0 +1,36 @@ +language: c + +sudo: false + +matrix: + exclude: + - os: linux + - os: osx + include: + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/4.1.2-cxx11abi/script.sh b/scripts/geojsonvt/4.1.2-cxx11abi/script.sh new file mode 100755 index 000000000..819900b1b --- /dev/null +++ b/scripts/geojsonvt/4.1.2-cxx11abi/script.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +LIB_VERSION=4.1.2 + +MASON_NAME=geojsonvt +MASON_VERSION=${LIB_VERSION}-cxx11abi +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${LIB_VERSION}.tar.gz \ + a98f44ee9f059e41a90dfed7e4c256c76ea4076a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${LIB_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # Force Linux Makefiles when cross-compiling for Android + if [[ ${MASON_PLATFORM:-} == 'android' ]] ; then + export GYP_FLAVOR_SUFFIX=-linux + fi + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/4.1.2/.travis.yml b/scripts/geojsonvt/4.1.2/.travis.yml new file mode 100644 index 000000000..ac00648e9 --- /dev/null +++ b/scripts/geojsonvt/4.1.2/.travis.yml @@ -0,0 +1,63 @@ +language: c + +sudo: false + +matrix: + exclude: + - os: linux + - os: osx + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/4.1.2/script.sh b/scripts/geojsonvt/4.1.2/script.sh new file mode 100755 index 000000000..bcb1d6fea --- /dev/null +++ b/scripts/geojsonvt/4.1.2/script.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +LIB_VERSION=4.1.2 + +MASON_NAME=geojsonvt +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${LIB_VERSION}.tar.gz \ + a98f44ee9f059e41a90dfed7e4c256c76ea4076a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${LIB_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/5.0.0/.travis.yml b/scripts/geojsonvt/5.0.0/.travis.yml new file mode 100644 index 000000000..ac00648e9 --- /dev/null +++ b/scripts/geojsonvt/5.0.0/.travis.yml @@ -0,0 +1,63 @@ +language: c + +sudo: false + +matrix: + exclude: + - os: linux + - os: osx + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/5.0.0/script.sh b/scripts/geojsonvt/5.0.0/script.sh new file mode 100755 index 000000000..d501ec91c --- /dev/null +++ b/scripts/geojsonvt/5.0.0/script.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +LIB_VERSION=5.0.0 + +MASON_NAME=geojsonvt +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgeojsonvt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${LIB_VERSION}.tar.gz \ + 9ab6c25076fc042f04f5488ba3726579a4b55d77 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${LIB_VERSION} +} + +function mason_compile { + # setup mason + rm -rf .mason + ln -s ${MASON_DIR} .mason + + # build + INSTALL_PREFIX=${MASON_PREFIX} ./configure + CXXFLAGS="-fPIC ${CFLAGS:-} ${CXXFLAGS:-}" make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgeojsonvt.a +} + +mason_run "$@" diff --git a/scripts/geojsonvt/6.0.0-pre1/.travis.yml b/scripts/geojsonvt/6.0.0-pre1/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geojsonvt/6.0.0-pre1/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/6.0.0-pre1/script.sh b/scripts/geojsonvt/6.0.0-pre1/script.sh new file mode 100755 index 000000000..5f9421c1e --- /dev/null +++ b/scripts/geojsonvt/6.0.0-pre1/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=6.0.0-pre1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + 37c180b3e3f0162fb18efab082e134ddc90c63bb + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geojsonvt/6.0.0/.travis.yml b/scripts/geojsonvt/6.0.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geojsonvt/6.0.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/6.0.0/script.sh b/scripts/geojsonvt/6.0.0/script.sh new file mode 100755 index 000000000..a6f37b82e --- /dev/null +++ b/scripts/geojsonvt/6.0.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=6.0.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + 56e6ed66136864f4c5ca5620ad940fabd1737aca + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geojsonvt/6.1.0/.travis.yml b/scripts/geojsonvt/6.1.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geojsonvt/6.1.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/6.1.0/script.sh b/scripts/geojsonvt/6.1.0/script.sh new file mode 100755 index 000000000..6ba05e9ca --- /dev/null +++ b/scripts/geojsonvt/6.1.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=6.1.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + 215046da9d6439747659adffa1fc8a74191cb579 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geojsonvt/6.1.1/.travis.yml b/scripts/geojsonvt/6.1.1/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geojsonvt/6.1.1/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/6.1.1/script.sh b/scripts/geojsonvt/6.1.1/script.sh new file mode 100644 index 000000000..df6689618 --- /dev/null +++ b/scripts/geojsonvt/6.1.1/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=6.1.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + 63e6ab7bb507888f9ef7b1a9e84341049d8dbf18 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geojsonvt/6.1.2/.travis.yml b/scripts/geojsonvt/6.1.2/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geojsonvt/6.1.2/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/6.1.2/script.sh b/scripts/geojsonvt/6.1.2/script.sh new file mode 100644 index 000000000..2e770e9eb --- /dev/null +++ b/scripts/geojsonvt/6.1.2/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=6.1.2 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + d7e7ac1e6ad37f1c62cfb2a42dd40dba10393fc3 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geojsonvt/6.1.3/.travis.yml b/scripts/geojsonvt/6.1.3/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geojsonvt/6.1.3/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geojsonvt/6.1.3/script.sh b/scripts/geojsonvt/6.1.3/script.sh new file mode 100644 index 000000000..ee8b6979e --- /dev/null +++ b/scripts/geojsonvt/6.1.3/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geojsonvt +MASON_VERSION=6.1.3 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \ + f6b33e6689b978718706c4dea924955425fdbb37 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.1.0/.travis.yml b/scripts/geometry/0.1.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.1.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.1.0/script.sh b/scripts/geometry/0.1.0/script.sh new file mode 100644 index 000000000..d3748ed80 --- /dev/null +++ b/scripts/geometry/0.1.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.1.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + 32e0fbb03adcda1c12d26f0e5b6d544275567303 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.2.0/.travis.yml b/scripts/geometry/0.2.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.2.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.2.0/script.sh b/scripts/geometry/0.2.0/script.sh new file mode 100644 index 000000000..80fe23f73 --- /dev/null +++ b/scripts/geometry/0.2.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.2.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + 239381389a051b589d6a15279bce109442e28e7d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.3.0/.travis.yml b/scripts/geometry/0.3.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.3.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.3.0/script.sh b/scripts/geometry/0.3.0/script.sh new file mode 100644 index 000000000..f69d5a913 --- /dev/null +++ b/scripts/geometry/0.3.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.3.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + 10ea7439841c282387728ac8ea56a476482ec2ba + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.4.0/.travis.yml b/scripts/geometry/0.4.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.4.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.4.0/script.sh b/scripts/geometry/0.4.0/script.sh new file mode 100644 index 000000000..2ebc40e6d --- /dev/null +++ b/scripts/geometry/0.4.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.4.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + af84ebc1f706ab6d72fd49c9d9683a822bb1ca11 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.5.0/.travis.yml b/scripts/geometry/0.5.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.5.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.5.0/script.sh b/scripts/geometry/0.5.0/script.sh new file mode 100644 index 000000000..af3c73064 --- /dev/null +++ b/scripts/geometry/0.5.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.5.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + c6e53f0a74c8016365d414451beaa71032112a48 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.6.0/.travis.yml b/scripts/geometry/0.6.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.6.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.6.0/script.sh b/scripts/geometry/0.6.0/script.sh new file mode 100644 index 000000000..d33594560 --- /dev/null +++ b/scripts/geometry/0.6.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.6.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + 6c3b5cfe2191d00ac629bdf5c24ce986be1177d3 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.7.0/.travis.yml b/scripts/geometry/0.7.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.7.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.7.0/script.sh b/scripts/geometry/0.7.0/script.sh new file mode 100644 index 000000000..d872c9c9a --- /dev/null +++ b/scripts/geometry/0.7.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.7.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + 22774806af77621e72d612ac2eece068954a7d1c + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.8.0/.travis.yml b/scripts/geometry/0.8.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.8.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.8.0/script.sh b/scripts/geometry/0.8.0/script.sh new file mode 100644 index 000000000..66a6c3ba8 --- /dev/null +++ b/scripts/geometry/0.8.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.8.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + 3c73e6d44c5ef6dd891e9179d31c6e6ee73b0e32 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geometry/0.8.1/.travis.yml b/scripts/geometry/0.8.1/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/geometry/0.8.1/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geometry/0.8.1/script.sh b/scripts/geometry/0.8.1/script.sh new file mode 100644 index 000000000..98633e06c --- /dev/null +++ b/scripts/geometry/0.8.1/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=geometry +MASON_VERSION=0.8.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/geometry.hpp/archive/v${MASON_VERSION}.tar.gz \ + de77d2b2c1895328838aa79eabba1db557bb7300 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/geometry.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/geos/3.4.2/.travis.yml b/scripts/geos/3.4.2/.travis.yml new file mode 100644 index 000000000..95f982410 --- /dev/null +++ b/scripts/geos/3.4.2/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geos/3.4.2/patch.diff b/scripts/geos/3.4.2/patch.diff new file mode 100644 index 000000000..db1837116 --- /dev/null +++ b/scripts/geos/3.4.2/patch.diff @@ -0,0 +1,26 @@ +diff --git a/configure b/configure +index eee34f8..808c020 100755 +--- a/configure ++++ b/configure +@@ -16149,7 +16149,7 @@ fi + $as_echo "$dummy_cv_ansi" >&6; } + + if test x"$dummy_cv_ansi" = xyes; then +- WARNFLAGS="$WARNFLAGS -ansi" ++ WARNFLAGS="$WARNFLAGS" + else + : + fi +diff --git a/include/geos/platform.h.in b/include/geos/platform.h.in +index ab63929..1bb2fae 100644 +--- a/include/geos/platform.h.in ++++ b/include/geos/platform.h.in +@@ -84,7 +84,7 @@ extern "C" + #endif + + #if defined(HAVE_ISNAN) +-# define ISNAN(x) (isnan(x)) ++# define ISNAN(x) (std::isnan(x)) + #else + # if defined(_MSC_VER) + # define ISNAN(x) _isnan(x) diff --git a/scripts/geos/3.4.2/script.sh b/scripts/geos/3.4.2/script.sh new file mode 100755 index 000000000..add5772e2 --- /dev/null +++ b/scripts/geos/3.4.2/script.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +MASON_NAME=geos +MASON_VERSION=3.4.2 +MASON_LIB_FILE=lib/libgeos.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/geos/${MASON_NAME}-${MASON_VERSION}.tar.bz2 \ + b248842dee2afa6e944693c21571a2999dfafc5a + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p1 < ./patch.diff + + # note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity: + # http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass + if [[ $(uname -s) == 'Darwin' ]]; then + CXX="${CXX} -stdlib=libc++ -std=c++11" + fi + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --disable-shared --enable-static \ + --disable-dependency-tracking + make -j${MASON_CONCURRENCY} install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/geos/3.5.0/.travis.yml b/scripts/geos/3.5.0/.travis.yml new file mode 100644 index 000000000..b5bd30199 --- /dev/null +++ b/scripts/geos/3.5.0/.travis.yml @@ -0,0 +1,30 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + env: CXX=clang++-3.5 CC=clang-3.5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/geos/3.5.0/patch.diff b/scripts/geos/3.5.0/patch.diff new file mode 100644 index 000000000..0648d22b9 --- /dev/null +++ b/scripts/geos/3.5.0/patch.diff @@ -0,0 +1,26 @@ +diff --git a/configure b/configure +index eee34f8..808c020 100755 +--- a/configure ++++ b/configure +@@ -17611,7 +17611,7 @@ + $as_echo "$dummy_cv_ansi" >&6; } + + if test yes = "$dummy_cv_ansi"; then +- WARNFLAGS="$WARNFLAGS -ansi" ++ WARNFLAGS="$WARNFLAGS" + else + : + fi +diff --git a/include/geos/platform.h.in b/include/geos/platform.h.in +index ab63929..1bb2fae 100644 +--- a/include/geos/platform.h.in ++++ b/include/geos/platform.h.in +@@ -84,7 +84,7 @@ extern "C" + #endif + + #if defined(HAVE_ISNAN) +-# define ISNAN(x) (isnan(x)) ++# define ISNAN(x) (std::isnan(x)) + #else + # if defined(_MSC_VER) + # define ISNAN(x) _isnan(x) diff --git a/scripts/geos/3.5.0/script.sh b/scripts/geos/3.5.0/script.sh new file mode 100755 index 000000000..213a5d3e6 --- /dev/null +++ b/scripts/geos/3.5.0/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=geos +MASON_VERSION=3.5.0 +MASON_LIB_FILE=lib/libgeos.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/geos/${MASON_NAME}-${MASON_VERSION}.tar.bz2 \ + a641469449fc32b829fb885cb0ea5fdd3333ce62 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + if [ "$MASON_PLATFORM" == "linux" ]; then + mason_step "Loading patch ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff" + patch -N -p1 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff + fi + + # note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity: + # http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass + if [[ $(uname -s) == 'Darwin' ]]; then + CXX="${CXX} -stdlib=libc++ -std=c++11" + fi + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --disable-shared --enable-static \ + --disable-dependency-tracking + make -j${MASON_CONCURRENCY} install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/geowave-jace/0.8.7/.travis.yml b/scripts/geowave-jace/0.8.7/.travis.yml new file mode 100644 index 000000000..2ee83e576 --- /dev/null +++ b/scripts/geowave-jace/0.8.7/.travis.yml @@ -0,0 +1,29 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} + diff --git a/scripts/geowave-jace/0.8.7/script.sh b/scripts/geowave-jace/0.8.7/script.sh new file mode 100755 index 000000000..e8e524924 --- /dev/null +++ b/scripts/geowave-jace/0.8.7/script.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +MASON_NAME=geowave-jace +MASON_VERSION=0.8.7 +MASON_LIB_FILE=lib/libjace.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download http://s3.amazonaws.com/geowave-rpms/release/TARBALL/geowave-0.8.7-c8ef40c-jace-source.tar.gz \ + 80f7002a063c6b178366e7376597acc53859558b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build +} + +function dep() { + ${MASON_DIR}/mason install $1 $2 + ${MASON_DIR}/mason link $1 $2 +} + +function all_deps() { + dep cmake 3.2.2 & + dep boost 1.57.0 & + dep boost_libsystem 1.57.0 & + dep boost_libthread 1.57.0 & + wait +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + all_deps + MASON_HOME=${MASON_ROOT}/.link + PATH=${MASON_HOME}/bin:$PATH +} + +function mason_compile { + mkdir -p build + cd build + cmake ../ \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DBOOST_INCLUDEDIR=${MASON_HOME}/include \ + -DBOOST_LIBRARYDIR=${MASON_HOME}/lib \ + -DCMAKE_BUILD_TYPE=Release + make -j${MASON_CONCURRENCY} + make install + mkdir -p ${MASON_PREFIX}/bin + mv ../*.jar ${MASON_PREFIX}/bin +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -ljace" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/glfw/3.1.2/.travis.yml b/scripts/glfw/3.1.2/.travis.yml new file mode 100644 index 000000000..8607c0053 --- /dev/null +++ b/scripts/glfw/3.1.2/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +matrix: + include: + - os: osx + osx_image: xcode7 + - os: linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- "if [[ `lsb_release -r` =~ '12.04' ]]; then sudo add-apt-repository --yes ppa:kubuntu-ppa/backports ; fi" +- "if [[ ${TRAVIS_OS_NAME:-linux} = 'linux' ]]; then sudo apt-get update -y ; fi" +- "if [[ ${TRAVIS_OS_NAME:-linux} = 'linux' ]]; then sudo apt-get -y install cmake libxi-dev libglu1-mesa-dev x11proto-randr-dev x11proto-xext-dev libxrandr-dev x11proto-xf86vidmode-dev libxxf86vm-dev libxcursor-dev libxinerama-dev ; fi" + +script: +- if [[ $(uname -s) == 'Darwin' ]]; then brew install cmake; fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/glfw/3.1.2/script.sh b/scripts/glfw/3.1.2/script.sh new file mode 100755 index 000000000..af4cb4925 --- /dev/null +++ b/scripts/glfw/3.1.2/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=glfw +MASON_VERSION=3.1.2 +MASON_LIB_FILE=lib/libglfw3.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/glfw3.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/glfw/glfw/archive/${MASON_VERSION}.tar.gz \ + 66bf7b2fc987c0ec2ca1a4eb757b33e6f3f8bb1b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/glfw-${MASON_VERSION} +} + +function mason_compile { + rm -rf build + mkdir build + cd build + cmake .. \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_INCLUDE_PATH=${MASON_PREFIX}/include \ + -DCMAKE_LIBRARY_PATH=${MASON_PREFIX}/lib \ + -DBUILD_SHARED_LIBS=OFF \ + -DGLFW_BUILD_DOCS=OFF \ + -DGLFW_BUILD_TESTS=OFF \ + -DGLFW_BUILD_EXAMPLES=OFF \ + -DCMAKE_BUILD_TYPE=Release + + make install -j${MASON_CONCURRENCY} +} + +function mason_ldflags { + LIBS=$(`mason_pkgconfig` --static --libs-only-l --libs-only-other) + echo ${LIBS//-lglfw3/} +} + +mason_run "$@" diff --git a/scripts/glfw/3.2.1/.travis.yml b/scripts/glfw/3.2.1/.travis.yml new file mode 100644 index 000000000..861757499 --- /dev/null +++ b/scripts/glfw/3.2.1/.travis.yml @@ -0,0 +1,30 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - george-edison55-precise-backports + packages: [ 'libstdc++-5-dev', 'cmake', 'cmake-data', + 'libxi-dev', 'libglu1-mesa-dev', 'x11proto-randr-dev', 'x11proto-xext-dev', 'libxrandr-dev', + 'x11proto-xf86vidmode-dev', 'libxxf86vm-dev', 'libxcursor-dev', 'libxinerama-dev' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/glfw/3.2.1/script.sh b/scripts/glfw/3.2.1/script.sh new file mode 100755 index 000000000..6e2022dc9 --- /dev/null +++ b/scripts/glfw/3.2.1/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=glfw +MASON_VERSION=3.2.1 +MASON_LIB_FILE=lib/libglfw3.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/glfw3.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/glfw/glfw/archive/${MASON_VERSION}.tar.gz \ + ead013413546ceabbceafbd5e714753573f67496 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/glfw-${MASON_VERSION} +} + +function mason_compile { + rm -rf build + mkdir build + cd build + cmake .. \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_INCLUDE_PATH=${MASON_PREFIX}/include \ + -DCMAKE_LIBRARY_PATH=${MASON_PREFIX}/lib \ + -DBUILD_SHARED_LIBS=OFF \ + -DGLFW_BUILD_DOCS=OFF \ + -DGLFW_BUILD_TESTS=OFF \ + -DGLFW_BUILD_EXAMPLES=OFF \ + -DCMAKE_BUILD_TYPE=Release + + make install -j${MASON_CONCURRENCY} +} + +function mason_ldflags { + LIBS=$(`mason_pkgconfig` --static --libs-only-l --libs-only-other) + echo ${LIBS//-lglfw3/} +} + +mason_run "$@" diff --git a/scripts/gtest/1.7.0-cxx11abi/script.sh b/scripts/gtest/1.7.0-cxx11abi/script.sh new file mode 100755 index 000000000..a5dad1f19 --- /dev/null +++ b/scripts/gtest/1.7.0-cxx11abi/script.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +LIB_VERSION=1.7.0 + +MASON_NAME=gtest +MASON_VERSION=${LIB_VERSION}-cxx11abi +MASON_LIB_FILE=lib/libgtest.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://googletest.googlecode.com/files/gtest-${LIB_VERSION}.zip \ + 86f5fd0ce20ef1283092d1d5a4bc004916521aaf + + + mason_setup_build_dir + unzip ../.cache/${MASON_SLUG} + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/gtest-${LIB_VERSION} +} + +function mason_compile { + if [ ${MASON_PLATFORM} = 'ios' ]; then + ${CXX:-c++} ${CFLAGS:-} -O3 -g -isystem fused-src -pthread -c -fPIC fused-src/gtest/gtest-all.cc + mkdir -p lib/.libs + libtool -static gtest-all.o -o lib/.libs/libgtest.a + else + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make -j${MASON_CONCURRENCY} + fi + + mkdir -p ${MASON_PREFIX}/lib + cp -v lib/.libs/libgtest.a ${MASON_PREFIX}/lib + mkdir -p ${MASON_PREFIX}/include/gtest + cp -v fused-src/gtest/gtest.h ${MASON_PREFIX}/include/gtest +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + echo -lpthread +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgtest.a +} + + +mason_run "$@" diff --git a/scripts/gtest/1.7.0/.travis.yml b/scripts/gtest/1.7.0/.travis.yml new file mode 100644 index 000000000..c656a0e3e --- /dev/null +++ b/scripts/gtest/1.7.0/.travis.yml @@ -0,0 +1,51 @@ +language: cpp + +sudo: false + +compiler: clang + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] + packages: [ 'libstdc++-5-dev', 'cmake', 'cmake-data' ] + +matrix: + exclude: + - os: linux + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + - os: linux + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then brew install cmake ; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gtest/1.7.0/script.sh b/scripts/gtest/1.7.0/script.sh new file mode 100755 index 000000000..3ce6b08e1 --- /dev/null +++ b/scripts/gtest/1.7.0/script.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash + +LIB_VERSION=1.7.0 + +MASON_NAME=gtest +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgtest.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/google/googletest/archive/release-${LIB_VERSION}.tar.gz \ + 88afbaea71b4ba50b25f52e13e8c3b01f0f99494 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/googletest-release-${LIB_VERSION} +} + +function mason_build { + mason_load_source + mason_step "Building for Platform '${MASON_PLATFORM}/${MASON_PLATFORM_VERSION}'..." + cd "${MASON_BUILD_PATH}" + + mkdir -p ${MASON_PREFIX}/lib + mkdir -p ${MASON_PREFIX}/include/gtest + cp -rv include ${MASON_PREFIX} + + rm -rf build + mkdir -p build + cd build + if [ ${MASON_PLATFORM} = 'ios' ]; then + cmake \ + -GXcode \ + -DCMAKE_TOOLCHAIN_FILE=${MASON_DIR}/utils/ios.cmake \ + .. + xcodebuild -configuration Release -sdk iphoneos + xcodebuild -configuration Release -sdk iphonesimulator + + mason_substep "Creating Universal Binary..." + LIB_FOLDERS="Release-iphoneos Release-iphonesimulator" + mkdir -p ${MASON_PREFIX}/lib + for LIB in $(find ${LIB_FOLDERS} -name "*.a" | xargs basename | sort | uniq) ; do + lipo -create $(find ${LIB_FOLDERS} -name "${LIB}") -output ${MASON_PREFIX}/lib/${LIB} + lipo -info ${MASON_PREFIX}/lib/${LIB} + done + elif [ ${MASON_PLATFORM} = 'android' ]; then + ${MASON_DIR}/utils/android.sh > toolchain.cmake + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \ + .. + make VERBOSE=1 -j${MASON_CONCURRENCY} gtest + cp -v libgtest.a ${MASON_PREFIX}/lib + else + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + .. + make VERBOSE=1 -j${MASON_CONCURRENCY} gtest + cp -v libgtest.a ${MASON_PREFIX}/lib + fi +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + echo -lpthread +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgtest.a +} + + +mason_run "$@" diff --git a/scripts/gtest/1.8.0/.travis.yml b/scripts/gtest/1.8.0/.travis.yml new file mode 100644 index 000000000..c656a0e3e --- /dev/null +++ b/scripts/gtest/1.8.0/.travis.yml @@ -0,0 +1,51 @@ +language: cpp + +sudo: false + +compiler: clang + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] + packages: [ 'libstdc++-5-dev', 'cmake', 'cmake-data' ] + +matrix: + exclude: + - os: linux + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + - os: linux + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then brew install cmake ; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/gtest/1.8.0/script.sh b/scripts/gtest/1.8.0/script.sh new file mode 100755 index 000000000..20d8a860b --- /dev/null +++ b/scripts/gtest/1.8.0/script.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash + +LIB_VERSION=1.8.0 + +MASON_NAME=gtest +MASON_VERSION=${LIB_VERSION} +MASON_LIB_FILE=lib/libgtest.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/google/googletest/archive/release-${LIB_VERSION}.tar.gz \ + a40df33faad4a1fb308282148296ad7d0df4dd7a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/googletest-release-${LIB_VERSION}/googletest +} + +function mason_build { + mason_load_source + mason_step "Building for Platform '${MASON_PLATFORM}/${MASON_PLATFORM_VERSION}'..." + cd "${MASON_BUILD_PATH}" + + mkdir -p ${MASON_PREFIX}/lib + mkdir -p ${MASON_PREFIX}/include/gtest + cp -rv include ${MASON_PREFIX} + + rm -rf build + mkdir -p build + cd build + if [ ${MASON_PLATFORM} = 'ios' ]; then + cmake \ + -GXcode \ + -DCMAKE_TOOLCHAIN_FILE=${MASON_DIR}/utils/ios.cmake \ + .. + xcodebuild -configuration Release -sdk iphoneos + xcodebuild -configuration Release -sdk iphonesimulator + + mason_substep "Creating Universal Binary..." + LIB_FOLDERS="Release-iphoneos Release-iphonesimulator" + mkdir -p ${MASON_PREFIX}/lib + for LIB in $(find ${LIB_FOLDERS} -name "*.a" | xargs basename | sort | uniq) ; do + lipo -create $(find ${LIB_FOLDERS} -name "${LIB}") -output ${MASON_PREFIX}/lib/${LIB} + lipo -info ${MASON_PREFIX}/lib/${LIB} + done + elif [ ${MASON_PLATFORM} = 'android' ]; then + ${MASON_DIR}/utils/android.sh > toolchain.cmake + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \ + .. + make VERBOSE=1 -j${MASON_CONCURRENCY} gtest + cp -v libgtest.a ${MASON_PREFIX}/lib + else + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + .. + make VERBOSE=1 -j${MASON_CONCURRENCY} gtest + cp -v libgtest.a ${MASON_PREFIX}/lib + fi +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + echo -lpthread +} + +function mason_static_libs { + echo ${MASON_PREFIX}/lib/libgtest.a +} + + +mason_run "$@" diff --git a/scripts/harfbuzz/0.9.40/.travis.yml b/scripts/harfbuzz/0.9.40/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/harfbuzz/0.9.40/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/harfbuzz/0.9.40/patch.diff b/scripts/harfbuzz/0.9.40/patch.diff new file mode 100644 index 000000000..f51a6f8f9 --- /dev/null +++ b/scripts/harfbuzz/0.9.40/patch.diff @@ -0,0 +1,106 @@ +diff --git a/configure b/configure +index 1c08cae..7ada61a 100755 +--- a/configure ++++ b/configure +@@ -18616,98 +18616,11 @@ else + with_freetype=auto + fi + +-have_freetype=false +-if test "x$with_freetype" = "xyes" -o "x$with_freetype" = "xauto"; then +- # See freetype/docs/VERSION.DLL; 12.0.6 means freetype-2.4.2 +- +-pkg_failed=no +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5 +-$as_echo_n "checking for FREETYPE... " >&6; } +- +-if test -n "$PKG_CONFIG"; then +- if test -n "$FREETYPE_CFLAGS"; then +- pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS" +- else +- if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 12.0.6\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "freetype2 >= 12.0.6") 2>&5 +- ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +- test $ac_status = 0; }; then +- pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 12.0.6" 2>/dev/null` +-else +- pkg_failed=yes +-fi +- fi +-else +- pkg_failed=untried +-fi +-if test -n "$PKG_CONFIG"; then +- if test -n "$FREETYPE_LIBS"; then +- pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS" +- else +- if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 12.0.6\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "freetype2 >= 12.0.6") 2>&5 +- ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +- test $ac_status = 0; }; then +- pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= 12.0.6" 2>/dev/null` +-else +- pkg_failed=yes +-fi +- fi +-else +- pkg_failed=untried +-fi +- +- +- +-if test $pkg_failed = yes; then +- +-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then +- _pkg_short_errors_supported=yes +-else +- _pkg_short_errors_supported=no +-fi +- if test $_pkg_short_errors_supported = yes; then +- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "freetype2 >= 12.0.6"` +- else +- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2 >= 12.0.6"` +- fi +- # Put the nasty error message in config.log where it belongs +- echo "$FREETYPE_PKG_ERRORS" >&5 +- +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +- : +-elif test $pkg_failed = untried; then +- : +-else +- FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS +- FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } +- have_freetype=true +-fi +-fi +-if test "x$with_freetype" = "xyes" -a "x$have_freetype" != "xtrue"; then +- as_fn_error $? "FreeType support requested but libfreetype2 not found" "$LINENO" 5 +-fi +-if $have_freetype; then +- ++have_freetype=true + $as_echo "#define HAVE_FREETYPE 1" >>confdefs.h + +-fi +- if $have_freetype; then +- HAVE_FREETYPE_TRUE= +- HAVE_FREETYPE_FALSE='#' +-else +- HAVE_FREETYPE_TRUE='#' +- HAVE_FREETYPE_FALSE= +-fi +- +- ++HAVE_FREETYPE_TRUE= ++HAVE_FREETYPE_FALSE='#' + + + # Check whether --with-uniscribe was given. diff --git a/scripts/harfbuzz/0.9.40/script.sh b/scripts/harfbuzz/0.9.40/script.sh new file mode 100755 index 000000000..a16faaf88 --- /dev/null +++ b/scripts/harfbuzz/0.9.40/script.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +MASON_NAME=harfbuzz +MASON_VERSION=0.9.40 +MASON_LIB_FILE=lib/libharfbuzz.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${MASON_VERSION}.tar.bz2 \ + a685da85d38c37fd27603165642fc09feb7ae7c1 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + FREETYPE_VERSION="2.5.5" + ${MASON_DIR}/mason install freetype ${FREETYPE_VERSION} + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION}) + MASON_PLATFORM= ${MASON_DIR}/mason install ragel 6.9 + export PATH=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix ragel 6.9)/bin:$PATH + export PKG_CONFIG_PATH="$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION})/lib/pkgconfig":$PKG_CONFIG_PATH + export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export LIBRARY_PATH="${MASON_FREETYPE}/lib" +} + +function mason_compile { + export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2" + export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz" + export CXXFLAGS="${CXXFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}" + export CFLAGS="${CFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}" + export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}" + + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p1 < ./patch.diff + + ./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --with-icu=no \ + --with-cairo=no \ + --with-glib=no \ + --with-gobject=no \ + --with-graphite2=no \ + --with-freetype \ + --with-uniscribe=no \ + --with-coretext=no + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/harfbuzz/0.9.41/.travis.yml b/scripts/harfbuzz/0.9.41/.travis.yml new file mode 100644 index 000000000..fd209791a --- /dev/null +++ b/scripts/harfbuzz/0.9.41/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/harfbuzz/0.9.41/patch.diff b/scripts/harfbuzz/0.9.41/patch.diff new file mode 100644 index 000000000..f51a6f8f9 --- /dev/null +++ b/scripts/harfbuzz/0.9.41/patch.diff @@ -0,0 +1,106 @@ +diff --git a/configure b/configure +index 1c08cae..7ada61a 100755 +--- a/configure ++++ b/configure +@@ -18616,98 +18616,11 @@ else + with_freetype=auto + fi + +-have_freetype=false +-if test "x$with_freetype" = "xyes" -o "x$with_freetype" = "xauto"; then +- # See freetype/docs/VERSION.DLL; 12.0.6 means freetype-2.4.2 +- +-pkg_failed=no +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5 +-$as_echo_n "checking for FREETYPE... " >&6; } +- +-if test -n "$PKG_CONFIG"; then +- if test -n "$FREETYPE_CFLAGS"; then +- pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS" +- else +- if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 12.0.6\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "freetype2 >= 12.0.6") 2>&5 +- ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +- test $ac_status = 0; }; then +- pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 12.0.6" 2>/dev/null` +-else +- pkg_failed=yes +-fi +- fi +-else +- pkg_failed=untried +-fi +-if test -n "$PKG_CONFIG"; then +- if test -n "$FREETYPE_LIBS"; then +- pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS" +- else +- if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 12.0.6\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "freetype2 >= 12.0.6") 2>&5 +- ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +- test $ac_status = 0; }; then +- pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= 12.0.6" 2>/dev/null` +-else +- pkg_failed=yes +-fi +- fi +-else +- pkg_failed=untried +-fi +- +- +- +-if test $pkg_failed = yes; then +- +-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then +- _pkg_short_errors_supported=yes +-else +- _pkg_short_errors_supported=no +-fi +- if test $_pkg_short_errors_supported = yes; then +- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "freetype2 >= 12.0.6"` +- else +- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2 >= 12.0.6"` +- fi +- # Put the nasty error message in config.log where it belongs +- echo "$FREETYPE_PKG_ERRORS" >&5 +- +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +- : +-elif test $pkg_failed = untried; then +- : +-else +- FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS +- FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; } +- have_freetype=true +-fi +-fi +-if test "x$with_freetype" = "xyes" -a "x$have_freetype" != "xtrue"; then +- as_fn_error $? "FreeType support requested but libfreetype2 not found" "$LINENO" 5 +-fi +-if $have_freetype; then +- ++have_freetype=true + $as_echo "#define HAVE_FREETYPE 1" >>confdefs.h + +-fi +- if $have_freetype; then +- HAVE_FREETYPE_TRUE= +- HAVE_FREETYPE_FALSE='#' +-else +- HAVE_FREETYPE_TRUE='#' +- HAVE_FREETYPE_FALSE= +-fi +- +- ++HAVE_FREETYPE_TRUE= ++HAVE_FREETYPE_FALSE='#' + + + # Check whether --with-uniscribe was given. diff --git a/scripts/harfbuzz/0.9.41/script.sh b/scripts/harfbuzz/0.9.41/script.sh new file mode 100755 index 000000000..ff7422c8c --- /dev/null +++ b/scripts/harfbuzz/0.9.41/script.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +MASON_NAME=harfbuzz +MASON_VERSION=0.9.41 +MASON_LIB_FILE=lib/libharfbuzz.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${MASON_VERSION}.tar.bz2 \ + a7d4c722f7d663dfa51503c0c857046b86495a69 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + FREETYPE_VERSION="2.6" + ${MASON_DIR}/mason install freetype ${FREETYPE_VERSION} + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION}) + MASON_PLATFORM= ${MASON_DIR}/mason install ragel 6.9 + export PATH=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix ragel 6.9)/bin:$PATH + export PKG_CONFIG_PATH="$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION})/lib/pkgconfig":$PKG_CONFIG_PATH + export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export LIBRARY_PATH="${MASON_FREETYPE}/lib" +} + +function mason_compile { + export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2" + export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz" + export CXXFLAGS="${CXXFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}" + export CFLAGS="${CFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}" + export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}" + + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p1 < ./patch.diff + + ./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --with-icu=no \ + --with-cairo=no \ + --with-glib=no \ + --with-gobject=no \ + --with-graphite2=no \ + --with-freetype \ + --with-uniscribe=no \ + --with-coretext=no + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/harfbuzz/1.1.2/.travis.yml b/scripts/harfbuzz/1.1.2/.travis.yml new file mode 100644 index 000000000..fd209791a --- /dev/null +++ b/scripts/harfbuzz/1.1.2/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/harfbuzz/1.1.2/script.sh b/scripts/harfbuzz/1.1.2/script.sh new file mode 100755 index 000000000..da165dd04 --- /dev/null +++ b/scripts/harfbuzz/1.1.2/script.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +MASON_NAME=harfbuzz +MASON_VERSION=1.1.2 +MASON_LIB_FILE=lib/libharfbuzz.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${MASON_VERSION}.tar.bz2 \ + bcd27708cca5f47c11dba7d2030f33af3ae4f0cf + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + FREETYPE_VERSION="2.6" + ${MASON_DIR}/mason install freetype ${FREETYPE_VERSION} + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION}) + MASON_PLATFORM= ${MASON_DIR}/mason install ragel 6.9 + export PATH=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix ragel 6.9)/bin:$PATH + export PKG_CONFIG_PATH="$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION})/lib/pkgconfig":$PKG_CONFIG_PATH + export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export LIBRARY_PATH="${MASON_FREETYPE}/lib" +} + +function mason_compile { + export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2" + export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz" + export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS}" + export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS}" + export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}" + + ./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --with-icu=no \ + --with-cairo=no \ + --with-glib=no \ + --with-gobject=no \ + --with-graphite2=no \ + --with-freetype \ + --with-uniscribe=no \ + --with-coretext=no + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/harfbuzz/1.2.1/.travis.yml b/scripts/harfbuzz/1.2.1/.travis.yml new file mode 100644 index 000000000..fd209791a --- /dev/null +++ b/scripts/harfbuzz/1.2.1/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/harfbuzz/1.2.1/script.sh b/scripts/harfbuzz/1.2.1/script.sh new file mode 100755 index 000000000..a5cd6dd50 --- /dev/null +++ b/scripts/harfbuzz/1.2.1/script.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +MASON_NAME=harfbuzz +MASON_VERSION=1.2.1 +MASON_LIB_FILE=lib/libharfbuzz.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${MASON_VERSION}.tar.bz2 \ + 977370efcc118ddd14a9553d9a608b2619b2f786 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + FREETYPE_VERSION="2.6" + ${MASON_DIR}/mason install freetype ${FREETYPE_VERSION} + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION}) + MASON_PLATFORM= ${MASON_DIR}/mason install ragel 6.9 + export PATH=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix ragel 6.9)/bin:$PATH + export PKG_CONFIG_PATH="$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION})/lib/pkgconfig":$PKG_CONFIG_PATH + export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export LIBRARY_PATH="${MASON_FREETYPE}/lib" +} + +function mason_compile { + export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2" + export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz" + export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS}" + export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS}" + export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}" + + ./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --with-icu=no \ + --with-cairo=no \ + --with-glib=no \ + --with-gobject=no \ + --with-graphite2=no \ + --with-freetype \ + --with-uniscribe=no \ + --with-coretext=no + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/harfbuzz/1.2.6/.travis.yml b/scripts/harfbuzz/1.2.6/.travis.yml new file mode 100644 index 000000000..fd209791a --- /dev/null +++ b/scripts/harfbuzz/1.2.6/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/harfbuzz/1.2.6/script.sh b/scripts/harfbuzz/1.2.6/script.sh new file mode 100755 index 000000000..4e4184ed1 --- /dev/null +++ b/scripts/harfbuzz/1.2.6/script.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +MASON_NAME=harfbuzz +MASON_VERSION=1.2.6 +MASON_LIB_FILE=lib/libharfbuzz.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${MASON_VERSION}.tar.bz2 \ + e8c05c3e91603b7f0de9607e66475fdaa4c02970 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + FREETYPE_VERSION="2.6" + ${MASON_DIR}/mason install freetype ${FREETYPE_VERSION} + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION}) + MASON_PLATFORM= ${MASON_DIR}/mason install ragel 6.9 + export PATH=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix ragel 6.9)/bin:$PATH + export PKG_CONFIG_PATH="$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION})/lib/pkgconfig":$PKG_CONFIG_PATH + export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export LIBRARY_PATH="${MASON_FREETYPE}/lib" +} + +function mason_compile { + export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2" + export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz" + export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS}" + export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS}" + export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}" + + ./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --with-icu=no \ + --with-cairo=no \ + --with-glib=no \ + --with-gobject=no \ + --with-graphite2=no \ + --with-freetype \ + --with-uniscribe=no \ + --with-coretext=no + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/harfbuzz/2cd5323531dcd800549b2cb1cb51d708e72ab2d8/.travis.yml b/scripts/harfbuzz/2cd5323531dcd800549b2cb1cb51d708e72ab2d8/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/harfbuzz/2cd5323531dcd800549b2cb1cb51d708e72ab2d8/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/harfbuzz/2cd5323531dcd800549b2cb1cb51d708e72ab2d8/script.sh b/scripts/harfbuzz/2cd5323531dcd800549b2cb1cb51d708e72ab2d8/script.sh new file mode 100755 index 000000000..76eee1b52 --- /dev/null +++ b/scripts/harfbuzz/2cd5323531dcd800549b2cb1cb51d708e72ab2d8/script.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +MASON_NAME=harfbuzz +MASON_VERSION=2cd5323531dcd800549b2cb1cb51d708e72ab2d8 +MASON_LIB_FILE=lib/libharfbuzz.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/behdad/harfbuzz/archive/${MASON_VERSION}.tar.gz \ + 671c4cd7d31013de720e98c7e1f4bbfa06871fce + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install freetype 2.5.4 + MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype 2.5.4) + MASON_PLATFORM= ${MASON_DIR}/mason install ragel 6.9 + export PATH=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix ragel 6.9)/bin:$PATH + export PKG_CONFIG_PATH="$(${MASON_DIR}/mason prefix freetype 2.5.4)/lib/pkgconfig":$PKG_CONFIG_PATH + export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2" + export LIBRARY_PATH="${MASON_FREETYPE}/lib" +} + +function mason_compile { + export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2" + export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz" + export CXXFLAGS="${CXXFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}" + export CFLAGS="${CFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}" + export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}" + + NOCONFIGURE=1 ./autogen.sh ${HOST_ARG} + ./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --with-icu=no \ + --with-cairo=no \ + --with-glib=no \ + --with-gobject=no \ + --with-graphite2=no \ + --with-freetype \ + --with-uniscribe=no \ + --with-coretext=no || cat config.log + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + echo "-lharfbuzz" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/hpp_skel/0.0.1/.travis.yml b/scripts/hpp_skel/0.0.1/.travis.yml new file mode 100644 index 000000000..0747a654f --- /dev/null +++ b/scripts/hpp_skel/0.0.1/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/hpp_skel/0.0.1/script.sh b/scripts/hpp_skel/0.0.1/script.sh new file mode 100755 index 000000000..747573869 --- /dev/null +++ b/scripts/hpp_skel/0.0.1/script.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +MASON_NAME=hpp_skel +MASON_VERSION=0.0.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/hpp-skel/archive/v${MASON_VERSION}.tar.gz \ + 2876991412fcfd41bd7d606e78025e2d3f6e319b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/hpp-skel-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include ${MASON_PREFIX}/include +} + +mason_run "$@" \ No newline at end of file diff --git a/scripts/hpp_skel/0.0.2/.travis.yml b/scripts/hpp_skel/0.0.2/.travis.yml new file mode 100644 index 000000000..0747a654f --- /dev/null +++ b/scripts/hpp_skel/0.0.2/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/hpp_skel/0.0.2/script.sh b/scripts/hpp_skel/0.0.2/script.sh new file mode 100755 index 000000000..e8de4993e --- /dev/null +++ b/scripts/hpp_skel/0.0.2/script.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +MASON_NAME=hpp_skel +MASON_VERSION=0.0.2 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/hpp-skel/archive/v${MASON_VERSION}.tar.gz \ + 77a58e9b1071cab2edebca12f04b22b85f1a7085 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/hpp-skel-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include ${MASON_PREFIX}/include +} + +mason_run "$@" \ No newline at end of file diff --git a/scripts/hpp_skel/1.0.0/.travis.yml b/scripts/hpp_skel/1.0.0/.travis.yml new file mode 100644 index 000000000..0747a654f --- /dev/null +++ b/scripts/hpp_skel/1.0.0/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/hpp_skel/1.0.0/script.sh b/scripts/hpp_skel/1.0.0/script.sh new file mode 100755 index 000000000..9f037621b --- /dev/null +++ b/scripts/hpp_skel/1.0.0/script.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +MASON_NAME=hpp_skel +MASON_VERSION=1.0.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/hpp-skel/archive/v${MASON_VERSION}.tar.gz \ + 0a869f57141a52e3d2f18fb8f857bd93c3f4f044 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/hpp-skel-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/hello_world ${MASON_PREFIX}/include/hello_world +} + +mason_run "$@" \ No newline at end of file diff --git a/scripts/iconv/system/.travis.yml b/scripts/iconv/system/.travis.yml new file mode 100644 index 000000000..3aca1170f --- /dev/null +++ b/scripts/iconv/system/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +#- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/iconv/system/script.sh b/scripts/iconv/system/script.sh new file mode 100755 index 000000000..2a09510fe --- /dev/null +++ b/scripts/iconv/system/script.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env bash + +MASON_NAME=iconv +MASON_VERSION=system +MASON_SYSTEM_PACKAGE=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + : +} + +function mason_system_version { + mkdir -p "${MASON_PREFIX}" + cd "${MASON_PREFIX}" + if [ ! -f version ]; then + echo "#include +#include +#include +int main() { + printf(\"%d.%d\",_libiconv_version >> 8, _libiconv_version & 0xff); + return 0; +} +" > version.c && cc version.c -I${MASON_PREFIX}/include/ -L${MASON_PREFIX}/lib -liconv -o version + fi + ./version +} + +if [[ ${MASON_PLATFORM} = 'osx' || ${MASON_PLATFORM} = 'ios' ]]; then + MASON_HEADER_FILE="${MASON_SDK_PATH}/usr/include/iconv.h" + if [ ! -f "${MASON_HEADER_FILE}" ]; then + mason_error "Can't find header file ${MASON_HEADER_FILE}" + exit 1 + fi + + MASON_LIBRARY_FILE="${MASON_SDK_PATH}/usr/lib/libiconv.dylib" + if [ ! -f "${MASON_LIBRARY_FILE}" ]; then + mason_error "Can't find library file ${MASON_LIBRARY_FILE}" + exit 1 + fi + MASON_CFLAGS="-I${MASON_PREFIX}/include/" + MASON_LDFLAGS="-L${MASON_PREFIX}/lib -liconv" +elif [[ ${MASON_PLATFORM} = 'android' ]]; then + MASON_HEADER_FILE="${MASON_SDK_PATH}/usr/include/iconv.h" + if [ ! -f "${MASON_HEADER_FILE}" ]; then + mason_error "Can't find header file ${MASON_HEADER_FILE}" + exit 1 + fi + + MASON_LIBRARY_FILE="${MASON_SDK_PATH}/usr/lib/libiconv.so" + if [ ! -f "${MASON_LIBRARY_FILE}" ]; then + mason_error "Can't find library file ${MASON_LIBRARY_FILE}" + exit 1 + fi + + MASON_CFLAGS="-I${MASON_PREFIX}/include/" + MASON_LDFLAGS="-L${MASON_PREFIX}/lib -liconv" +else + MASON_CFLAGS="-I${MASON_PREFIX}/include/" + MASON_LDFLAGS="-L${MASON_PREFIX}/lib -liconv" +fi + +function mason_compile { + mkdir -p ${MASON_PREFIX}/lib/ + mkdir -p ${MASON_PREFIX}/include/ + if [[ ${MASON_PLATFORM} = 'osx' || ${MASON_PLATFORM} = 'ios' ]]; then + ln -sf ${MASON_SDK_PATH}/usr/include/iconv.h ${MASON_PREFIX}/include/iconv.h + ln -sf ${MASON_SDK_PATH}/usr/lib/libiconv.dylib ${MASON_PREFIX}/lib/libiconv.dylib + elif [[ ${MASON_PLATFORM} = 'android' ]]; then + ln -sf ${MASON_SDK_PATH}/usr/include/iconv.h ${MASON_PREFIX}/include/iconv.h + ln -sf ${MASON_SDK_PATH}/usr/lib/libiconv.dylib ${MASON_PREFIX}/lib/libiconv.dylib + elif [[ -d /usr/include/iconv.h ]]; then + ln -sf /usr/include/iconv.h ${MASON_PREFIX}/include/iconv.h + ln -sf /usr/lib/libiconv.so ${MASON_PREFIX}/lib/libiconv.so + fi +} + +function mason_cflags { + echo ${MASON_CFLAGS} +} + +function mason_ldflags { + echo ${MASON_LDFLAGS} +} + +mason_run "$@" diff --git a/scripts/icu/54.1/.travis.yml b/scripts/icu/54.1/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/icu/54.1/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/icu/54.1/script.sh b/scripts/icu/54.1/script.sh new file mode 100755 index 000000000..4620dd5ee --- /dev/null +++ b/scripts/icu/54.1/script.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +MASON_NAME=icu +MASON_VERSION=54.1 +MASON_LIB_FILE=lib/libicuuc.a +#MASON_PKGCONFIG_FILE=lib/pkgconfig/icu-uc.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz \ + d0f79be346f75862ccef8fd641e429d9c129ac14 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME} +} + +function mason_compile { + # note: -DUCONFIG_NO_BREAK_ITERATION=1 is desired by mapnik (for toTitle) + # http://www.icu-project.org/apiref/icu4c/uconfig_8h_source.html + export ICU_CORE_CPP_FLAGS="-DU_CHARSET_IS_UTF8=1" + # disabled due to breakage with node-mapnik on OS X: https://github.com/mapnik/mapnik-packaging/issues/98 + # -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION=1 -DU_TIMEZONE=0 -DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_TRANSLITERATION=1 -DUCONFIG_NO_REGULAR_EXPRESSIONS=1" + export ICU_EXTRA_CPP_FLAGS="${ICU_CORE_CPP_FLAGS} -DUCONFIG_NO_COLLATION=1" + cd ./source + CFLAGS="${CFLAGS} -fvisibility=hidden" + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./configure ${MASON_HOST_ARG} --prefix=${MASON_PREFIX} \ + --with-data-packaging=archive \ + --enable-renaming \ + --enable-strict \ + --enable-release \ + --enable-static \ + --enable-draft \ + --enable-tools \ + --disable-rpath \ + --disable-debug \ + --disable-shared \ + --disable-tests \ + --disable-extras \ + --disable-tracing \ + --disable-layout \ + --disable-icuio \ + --disable-samples \ + --disable-dyload + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + echo "-lharfbuzz" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/icu/55.1/.travis.yml b/scripts/icu/55.1/.travis.yml new file mode 100644 index 000000000..fd209791a --- /dev/null +++ b/scripts/icu/55.1/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/icu/55.1/script.sh b/scripts/icu/55.1/script.sh new file mode 100755 index 000000000..a161f9917 --- /dev/null +++ b/scripts/icu/55.1/script.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +MASON_NAME=icu +MASON_VERSION=55.1 +MASON_LIB_FILE=lib/libicuuc.a +#MASON_PKGCONFIG_FILE=lib/pkgconfig/icu-uc.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.tgz \ + 0b38bcdde97971917f0039eeeb5d070ed29e5ad7 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME} +} + +function mason_compile { + # note: -DUCONFIG_NO_BREAK_ITERATION=1 is desired by mapnik (for toTitle) + # http://www.icu-project.org/apiref/icu4c/uconfig_8h_source.html + export ICU_CORE_CPP_FLAGS="-DU_CHARSET_IS_UTF8=1" + # disabled due to breakage with node-mapnik on OS X: https://github.com/mapnik/mapnik-packaging/issues/98 + # -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION=1 -DU_TIMEZONE=0 -DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_TRANSLITERATION=1 -DUCONFIG_NO_REGULAR_EXPRESSIONS=1" + export ICU_EXTRA_CPP_FLAGS="${ICU_CORE_CPP_FLAGS} -DUCONFIG_NO_COLLATION=1" + cd ./source + CFLAGS="${CFLAGS} -fvisibility=hidden" + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./configure ${MASON_HOST_ARG} --prefix=${MASON_PREFIX} \ + --with-data-packaging=archive \ + --enable-renaming \ + --enable-strict \ + --enable-release \ + --enable-static \ + --enable-draft \ + --enable-tools \ + --disable-rpath \ + --disable-debug \ + --disable-shared \ + --disable-tests \ + --disable-extras \ + --disable-tracing \ + --disable-layout \ + --disable-icuio \ + --disable-samples \ + --disable-dyload + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + echo "-licuuc" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/icu/latest/.travis.yml b/scripts/icu/latest/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/icu/latest/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/icu/latest/script.sh b/scripts/icu/latest/script.sh new file mode 100755 index 000000000..da7f9dcf6 --- /dev/null +++ b/scripts/icu/latest/script.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +MASON_NAME=icu +MASON_VERSION=latest +MASON_LIB_FILE=lib/libicuuc.a +#MASON_PKGCONFIG_FILE=lib/pkgconfig/icu-uc.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/icu-trunk + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + svn co http://source.icu-project.org/repos/icu/icu/trunk/source/ ${MASON_BUILD_PATH} + else + (cd ${MASON_BUILD_PATH} && svn update) + fi +} + +function mason_compile { + # note: -DUCONFIG_NO_BREAK_ITERATION=1 is desired by mapnik (for toTitle) + # http://www.icu-project.org/apiref/icu4c/uconfig_8h_source.html + export ICU_CORE_CPP_FLAGS="-DU_CHARSET_IS_UTF8=1" + # disabled due to breakage with node-mapnik on OS X: https://github.com/mapnik/mapnik-packaging/issues/98 + # -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION=1 -DU_TIMEZONE=0 -DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_TRANSLITERATION=1 -DUCONFIG_NO_REGULAR_EXPRESSIONS=1" + export ICU_EXTRA_CPP_FLAGS="${ICU_CORE_CPP_FLAGS} -DUCONFIG_NO_COLLATION=1" + CFLAGS="${CFLAGS} -fvisibility=hidden" + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + ./configure ${MASON_HOST_ARG} --prefix=${MASON_PREFIX} \ + --with-data-packaging=archive \ + --enable-renaming \ + --enable-strict \ + --enable-release \ + --enable-static \ + --enable-draft \ + --enable-tools \ + --disable-rpath \ + --disable-debug \ + --disable-shared \ + --disable-tests \ + --disable-extras \ + --disable-tracing \ + --disable-layout \ + --disable-icuio \ + --disable-samples \ + --disable-dyload + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + echo "" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/iojs/1.2.0/.travis.yml b/scripts/iojs/1.2.0/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/iojs/1.2.0/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/iojs/1.2.0/script.sh b/scripts/iojs/1.2.0/script.sh new file mode 100755 index 000000000..985fd8c52 --- /dev/null +++ b/scripts/iojs/1.2.0/script.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +MASON_NAME=iojs +MASON_VERSION=1.2.0 +MASON_LIB_FILE=bin/iojs + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + https://iojs.org/dist/v1.2.0/iojs-v1.2.0-darwin-x64.tar.gz \ + 15c553a35abb84085f993e605b83a6b924e22f3c + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + https://iojs.org/dist/v1.2.0/iojs-v1.2.0-linux-x64.tar.gz \ + 054234cb47ba4a3b3826a892836760b107596a57 + fi + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + mv -v */* ${MASON_PREFIX} +} + +mason_run "$@" diff --git a/scripts/iojs/2.0.1/.travis.yml b/scripts/iojs/2.0.1/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/iojs/2.0.1/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/iojs/2.0.1/script.sh b/scripts/iojs/2.0.1/script.sh new file mode 100755 index 000000000..22361da6e --- /dev/null +++ b/scripts/iojs/2.0.1/script.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +MASON_NAME=iojs +MASON_VERSION=2.0.1 +MASON_LIB_FILE=bin/iojs + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + https://iojs.org/dist/v2.0.1/iojs-v2.0.1-darwin-x64.tar.gz \ + 0b6d6a783907f4f4ef84e84af6b1ff9e954aae13 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + https://iojs.org/dist/v2.0.1/iojs-v2.0.1-linux-x64.tar.gz \ + 33ce94f563cc6deaf7bf84d66822be2770b5aad6 + fi + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + mv -v */* ${MASON_PREFIX} +} + +mason_run "$@" diff --git a/scripts/jemalloc/4.2.1/.travis.yml b/scripts/jemalloc/4.2.1/.travis.yml new file mode 100644 index 000000000..6b8b6fefe --- /dev/null +++ b/scripts/jemalloc/4.2.1/.travis.yml @@ -0,0 +1,23 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode8 + compiler: clang + - os: linux + compiler: clang + sudo: false + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/jemalloc/4.2.1/script.sh b/scripts/jemalloc/4.2.1/script.sh new file mode 100755 index 000000000..5f3489a55 --- /dev/null +++ b/scripts/jemalloc/4.2.1/script.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +MASON_NAME=jemalloc +MASON_VERSION=4.2.1 +MASON_LIB_FILE=bin/jeprof + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/jemalloc/jemalloc/releases/download/${MASON_VERSION}/jemalloc-${MASON_VERSION}.tar.bz2 \ + 6bd515d75d192ac82f3171d36a998e0e6e77ac8a + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + # warning: CFLAGS overwrites jemalloc CFLAGS, so we need to add back the jemalloc defaults + export CFLAGS="${CFLAGS} -std=gnu99 -Wall -pipe -O3 -funroll-loops" + ./configure --prefix=${MASON_PREFIX} + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/jni.hpp/1.0.0/.travis.yml b/scripts/jni.hpp/1.0.0/.travis.yml new file mode 100644 index 000000000..330d8d41d --- /dev/null +++ b/scripts/jni.hpp/1.0.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/jni.hpp/1.0.0/script.sh b/scripts/jni.hpp/1.0.0/script.sh new file mode 100755 index 000000000..050d0927a --- /dev/null +++ b/scripts/jni.hpp/1.0.0/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=jni.hpp +MASON_VERSION=1.0.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/jni.hpp/archive/v${MASON_VERSION}.tar.gz \ + eff354ffb0c01d1bcca562c779d78d4261516eeb + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/jni.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + cp -vR include README.md LICENSE.txt ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" \ No newline at end of file diff --git a/scripts/jni.hpp/2.0.0/.travis.yml b/scripts/jni.hpp/2.0.0/.travis.yml new file mode 100644 index 000000000..330d8d41d --- /dev/null +++ b/scripts/jni.hpp/2.0.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/jni.hpp/2.0.0/script.sh b/scripts/jni.hpp/2.0.0/script.sh new file mode 100755 index 000000000..c2ba706aa --- /dev/null +++ b/scripts/jni.hpp/2.0.0/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=jni.hpp +MASON_VERSION=2.0.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/jni.hpp/archive/v${MASON_VERSION}.tar.gz \ + 02a99b3a4b55686a8956c8bef9de036819826de0 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/jni.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + cp -vR include README.md LICENSE.txt ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" \ No newline at end of file diff --git a/scripts/jpeg/v9a/.travis.yml b/scripts/jpeg/v9a/.travis.yml new file mode 100644 index 000000000..ad1c37b01 --- /dev/null +++ b/scripts/jpeg/v9a/.travis.yml @@ -0,0 +1,37 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/jpeg/v9a/script.sh b/scripts/jpeg/v9a/script.sh new file mode 100755 index 000000000..55a63965a --- /dev/null +++ b/scripts/jpeg/v9a/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=jpeg +MASON_VERSION=v9a +MASON_LIB_FILE=lib/libjpeg.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.ijg.org/files/jpegsrc.v9a.tar.gz \ + fc3b1eefda3d8a193f9f92a16a1b0c9f56304b6d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/jpeg-9a +} + + +function mason_compile { + export CFLAGS="${CFLAGS:-} -O3" + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + V=1 make install -j${MASON_CONCURRENCY} + rm -rf ${MASON_PREFIX}/bin +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/jpeg_turbo/1.4.0/.travis.yml b/scripts/jpeg_turbo/1.4.0/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/jpeg_turbo/1.4.0/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/jpeg_turbo/1.4.0/script.sh b/scripts/jpeg_turbo/1.4.0/script.sh new file mode 100755 index 000000000..e95146c62 --- /dev/null +++ b/scripts/jpeg_turbo/1.4.0/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=jpeg_turbo +MASON_VERSION=1.4.0 +MASON_LIB_FILE=lib/libjpeg.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/libjpeg-turbo/1.4.0/libjpeg-turbo-1.4.0.tar.gz \ + 6ce52501e0be70b15cd062efeca8fa57faf84a16 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libjpeg-turbo-${MASON_VERSION} +} + +function mason_prepare_compile { + MASON_PLATFORM= ${MASON_DIR}/mason install nasm 2.11.06 + MASON_NASM=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix nasm 2.11.06) +} + +function mason_compile { + ./configure \ + NASM="${MASON_NASM}/bin/nasm" \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --with-jpeg8 \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make -j1 # -j1 since build breaks with concurrency + make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + echo -L${MASON_PREFIX}/lib -ljpeg +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/jpeg_turbo/1.4.2/.travis.yml b/scripts/jpeg_turbo/1.4.2/.travis.yml new file mode 100644 index 000000000..07209ddb4 --- /dev/null +++ b/scripts/jpeg_turbo/1.4.2/.travis.yml @@ -0,0 +1,24 @@ +language: generic + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/jpeg_turbo/1.4.2/script.sh b/scripts/jpeg_turbo/1.4.2/script.sh new file mode 100755 index 000000000..1e385a2c0 --- /dev/null +++ b/scripts/jpeg_turbo/1.4.2/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=jpeg_turbo +MASON_VERSION=1.4.2 +MASON_LIB_FILE=lib/libjpeg.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/libjpeg-turbo/${MASON_VERSION}/libjpeg-turbo-${MASON_VERSION}.tar.gz \ + d4638b2261ac3c1c20a2a2e1f8e19fc1f11bf524 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libjpeg-turbo-${MASON_VERSION} +} + +function mason_prepare_compile { + MASON_PLATFORM= ${MASON_DIR}/mason install nasm 2.11.06 + MASON_NASM=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix nasm 2.11.06) +} + +function mason_compile { + ./configure \ + NASM="${MASON_NASM}/bin/nasm" \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --with-jpeg8 \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make -j1 # -j1 since build breaks with concurrency + make install +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + echo -L${MASON_PREFIX}/lib -ljpeg +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/js-number-to-string/1.0.2/.travis.yml b/scripts/js-number-to-string/1.0.2/.travis.yml new file mode 100644 index 000000000..fefe6c8e6 --- /dev/null +++ b/scripts/js-number-to-string/1.0.2/.travis.yml @@ -0,0 +1,73 @@ +language: c + +sudo: false + +# Save common build configurations as shortcuts, so we can reference them later. +addons_shortcuts: + cmake3: &cmake3 + apt: + sources: [ 'george-edison55-precise-backports' ] + packages: [ 'cmake', 'cmake-data' ] + +matrix: + exclude: + - os: linux + - os: osx + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.7 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.7', 'george-edison55-precise-backports' ] + packages: [ 'clang-3.7', 'cmake', 'cmake-data' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + addons: *cmake3 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then brew install cmake ; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/js-number-to-string/1.0.2/script.sh b/scripts/js-number-to-string/1.0.2/script.sh new file mode 100755 index 000000000..df90b3e01 --- /dev/null +++ b/scripts/js-number-to-string/1.0.2/script.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +MASON_NAME=js-number-to-string +MASON_VERSION=1.0.2 +MASON_LIB_FILE=lib/libjs-number-to-string.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/js-number-to-string/archive/v${MASON_VERSION}.tar.gz \ + b6b7e0184876ef9035a555936921e8481eb9801a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/js-number-to-string-${MASON_VERSION} +} + +function mason_compile { + rm -rf build + mkdir build + cd build + CMAKE_TOOLCHAIN_FILE= + if [ ${MASON_PLATFORM} == 'ios' ] ; then + # Make sure CMake thinks we're cross-compiling and manually set the exit codes + # because CMake can't run the test programs + echo "set (CMAKE_SYSTEM_NAME Darwin)" > toolchain.cmake + CMAKE_TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake" + elif [ ${MASON_PLATFORM} == 'android' ] ; then + # Make sure CMake thinks we're cross-compiling and manually set the exit codes + # because CMake can't run the test programs + echo "set (CMAKE_SYSTEM_NAME Android)" > toolchain.cmake + CMAKE_TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake" + fi + + cmake .. ${CMAKE_TOOLCHAIN_FILE} \ + -DCMAKE_CXX_FLAGS="${CFLAGS:-}" \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release + + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -ljs-number-to-string" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/js-number-to-string/1.0.3/.travis.yml b/scripts/js-number-to-string/1.0.3/.travis.yml new file mode 100644 index 000000000..fefe6c8e6 --- /dev/null +++ b/scripts/js-number-to-string/1.0.3/.travis.yml @@ -0,0 +1,73 @@ +language: c + +sudo: false + +# Save common build configurations as shortcuts, so we can reference them later. +addons_shortcuts: + cmake3: &cmake3 + apt: + sources: [ 'george-edison55-precise-backports' ] + packages: [ 'cmake', 'cmake-data' ] + +matrix: + exclude: + - os: linux + - os: osx + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.2 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7.3 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.7 + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.7', 'george-edison55-precise-backports' ] + packages: [ 'clang-3.7', 'cmake', 'cmake-data' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + addons: *cmake3 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + addons: *cmake3 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then brew install cmake ; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/js-number-to-string/1.0.3/script.sh b/scripts/js-number-to-string/1.0.3/script.sh new file mode 100755 index 000000000..c6f926c0b --- /dev/null +++ b/scripts/js-number-to-string/1.0.3/script.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +MASON_NAME=js-number-to-string +MASON_VERSION=1.0.3 +MASON_LIB_FILE=lib/libjs-number-to-string.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/js-number-to-string/archive/v${MASON_VERSION}.tar.gz \ + b85f911c51309c77c5bd3239c74a62129bd6bc1c + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/js-number-to-string-${MASON_VERSION} +} + +function mason_compile { + rm -rf build + mkdir build + cd build + CMAKE_TOOLCHAIN_FILE= + if [ ${MASON_PLATFORM} == 'ios' ] ; then + # Make sure CMake thinks we're cross-compiling and manually set the exit codes + # because CMake can't run the test programs + echo "set (CMAKE_SYSTEM_NAME Darwin)" > toolchain.cmake + CMAKE_TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake" + elif [ ${MASON_PLATFORM} == 'android' ] ; then + # Make sure CMake thinks we're cross-compiling and manually set the exit codes + # because CMake can't run the test programs + echo "set (CMAKE_SYSTEM_NAME Android)" > toolchain.cmake + CMAKE_TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake" + fi + + cmake .. ${CMAKE_TOOLCHAIN_FILE} \ + -DCMAKE_CXX_FLAGS="${CFLAGS:-}" \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_EXAMPLES=OFF + + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -ljs-number-to-string" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/kdbush/0.1.0/.travis.yml b/scripts/kdbush/0.1.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/kdbush/0.1.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/kdbush/0.1.0/script.sh b/scripts/kdbush/0.1.0/script.sh new file mode 100644 index 000000000..bb6cb12f6 --- /dev/null +++ b/scripts/kdbush/0.1.0/script.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +MASON_NAME=kdbush +MASON_VERSION=0.1.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mourner/kdbush.hpp/archive/v${MASON_VERSION}.tar.gz \ + e40170a84ee9fd6cff0a74577d70c22c570b0bdf + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/kdbush.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -v include/*.hpp ${MASON_PREFIX}/include + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/kdbush/0.1.1/.travis.yml b/scripts/kdbush/0.1.1/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/kdbush/0.1.1/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/kdbush/0.1.1/script.sh b/scripts/kdbush/0.1.1/script.sh new file mode 100644 index 000000000..21706e50d --- /dev/null +++ b/scripts/kdbush/0.1.1/script.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +MASON_NAME=kdbush +MASON_VERSION=0.1.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mourner/kdbush.hpp/archive/v${MASON_VERSION}.tar.gz \ + a7ce2860374fc547fbf4568c6c77eba6af376e5a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/kdbush.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -v include/*.hpp ${MASON_PREFIX}/include + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/lcov/1.12/.travis.yml b/scripts/lcov/1.12/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/lcov/1.12/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/lcov/1.12/script.sh b/scripts/lcov/1.12/script.sh new file mode 100755 index 000000000..b7deca076 --- /dev/null +++ b/scripts/lcov/1.12/script.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +MASON_NAME=lcov +MASON_VERSION=1.12 +MASON_LIB_FILE=usr/bin/lcov + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/ltp/lcov-1.12.tar.gz \ + c7470ce9d89bb9c276ef7f461e9ab5b9c9935eff + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then + brew install coreutils + export PATH="/usr/local/opt/coreutils/libexec/gnubin:${PATH}" + fi + PREFIX=${MASON_PREFIX} make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/leveldb/a7bff69/.travis.yml b/scripts/leveldb/a7bff69/.travis.yml new file mode 100644 index 000000000..1cbae91ee --- /dev/null +++ b/scripts/leveldb/a7bff69/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/leveldb/a7bff69/script.sh b/scripts/leveldb/a7bff69/script.sh new file mode 100644 index 000000000..97561efb5 --- /dev/null +++ b/scripts/leveldb/a7bff69/script.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +MASON_NAME=leveldb +MASON_VERSION=a7bff69 +MASON_LIB_FILE=lib/libleveldb.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/google/leveldb/archive/a7bff697baa062c8f6b8fb760eacf658712b611a.tar.gz \ + f9fb5e3c97ab59e2a8c24c68eb7af85f17a370ff + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-a7bff697baa062c8f6b8fb760eacf658712b611a +} + +function mason_compile { + # note: OPT is set in the Makefile and defaults to '-O2 -DNDEBUG' + # (dane) we should use -O3 for the fastest code - I presume -O2 + # is being used as safe default since some old compilers were buggy + # with -O3 back in the day... + OPT="-O3 -DNDEBUG" make out-static/libleveldb.a -j${MASON_CONCURRENCY} + # leveldb lacks an install target + # https://github.com/google/leveldb/pull/2 + mkdir -p ${MASON_PREFIX}/include/ + mkdir -p ${MASON_PREFIX}/lib/ + cp -r include/leveldb ${MASON_PREFIX}/include/leveldb + cp out-static/libleveldb.a ${MASON_PREFIX}/lib/ +} + +function mason_ldflags { + echo -L${MASON_PREFIX}/lib -lleveldb +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libcrypto/1.0.1p/.travis.yml b/scripts/libcrypto/1.0.1p/.travis.yml new file mode 100644 index 000000000..0e270713e --- /dev/null +++ b/scripts/libcrypto/1.0.1p/.travis.yml @@ -0,0 +1,30 @@ +language: cpp +sudo: false + +os: + - linux + +addons: + apt_packages: + - xutils-dev +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + matrix: + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - MASON_PLATFORM=linux + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libcrypto/1.0.1p/script.sh b/scripts/libcrypto/1.0.1p/script.sh new file mode 100755 index 000000000..0074903f0 --- /dev/null +++ b/scripts/libcrypto/1.0.1p/script.sh @@ -0,0 +1,109 @@ +#!/usr/bin/env bash + +MASON_NAME=libcrypto +MASON_VERSION=1.0.1p +MASON_LIB_FILE=lib/libcrypto.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/openssl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.openssl.org/source/old/1.0.1/openssl-${MASON_VERSION}.tar.gz \ + db77eba6cc1f9e50f61a864c07d09ecd0154c84d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/openssl-${MASON_VERSION} +} + +function mason_prepare_compile { + MASON_MAKEDEPEND="gccmakedep" + + if [ ${MASON_PLATFORM} = 'osx' ]; then + MASON_MAKEDEPEND="makedepend" + MASON_OS_COMPILER="darwin64-x86_64-cc enable-ec_nistp_64_gcc_128" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128" + elif [[ ${MASON_PLATFORM} == 'android' ]]; then + COMMON="-fPIC -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-integrated-as -O2 -g -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes" + if [ ${MASON_ANDROID_ABI} = 'arm-v5' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv5te -mtune=xscale -msoft-float -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v7' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wl,--fix-cortex-a8 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86' ]; then + MASON_OS_COMPILER="linux-elf -march=i686 -msse3 -mfpmath=sse -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v8' ]; then + MASON_OS_COMPILER="linux-generic64 enable-ec_nistp_64_gcc_128 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86-64' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128 -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips-64' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + fi + fi +} + +function mason_compile { + NO_ASM= + + # Work around a Android 6.0 TEXTREL exception. See https://github.com/mapbox/mapbox-gl-native/issues/2772 + if [[ ${MASON_PLATFORM} == 'android' ]]; then + if [ ${MASON_ANDROID_ABI} = 'x86' ]; then + NO_ASM=-no-asm + fi + fi + + ./Configure \ + --prefix=${MASON_PREFIX} \ + enable-tlsext \ + ${NO_ASM} \ + -no-dso \ + -no-hw \ + -no-engines \ + -no-comp \ + -no-gmp \ + -no-zlib \ + -no-shared \ + -no-ssl2 \ + -no-ssl3 \ + -no-krb5 \ + -no-camellia \ + -no-capieng \ + -no-cast \ + -no-dtls \ + -no-gost \ + -no-idea \ + -no-jpake \ + -no-md2 \ + -no-mdc2 \ + -no-rc5 \ + -no-rdrand \ + -no-ripemd \ + -no-rsax \ + -no-sctp \ + -no-seed \ + -no-sha0 \ + -no-whirlpool \ + -fPIC \ + -DOPENSSL_PIC \ + -DOPENSSL_NO_DEPRECATED \ + -DOPENSSL_NO_COMP \ + -DOPENSSL_NO_HEARTBEATS \ + --openssldir=${MASON_PREFIX}/etc/openssl \ + ${MASON_OS_COMPILER} + + make depend MAKEDEPPROG=${MASON_MAKEDEPEND} + + make + + # https://github.com/openssl/openssl/issues/57 + make install_sw +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libcurl/7.38.0-boringssl/.travis.yml b/scripts/libcurl/7.38.0-boringssl/.travis.yml new file mode 100644 index 000000000..0ab55da35 --- /dev/null +++ b/scripts/libcurl/7.38.0-boringssl/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=arm + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ARCH=x86 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libcurl/7.38.0-boringssl/openssl.patch b/scripts/libcurl/7.38.0-boringssl/openssl.patch new file mode 100644 index 000000000..1a85ae705 --- /dev/null +++ b/scripts/libcurl/7.38.0-boringssl/openssl.patch @@ -0,0 +1,187 @@ +--- openssl.orig.c 2014-09-04 01:22:36.000000000 +1200 ++++ openssl.c 2015-01-04 11:26:39.827435900 +1300 +@@ -92,15 +92,6 @@ + #undef HAVE_USERDATA_IN_PWD_CALLBACK + #endif + +-#if OPENSSL_VERSION_NUMBER >= 0x00907001L +-/* ENGINE_load_private_key() takes four arguments */ +-#define HAVE_ENGINE_LOAD_FOUR_ARGS +-#include +-#else +-/* ENGINE_load_private_key() takes three arguments */ +-#undef HAVE_ENGINE_LOAD_FOUR_ARGS +-#endif +- + #if (OPENSSL_VERSION_NUMBER >= 0x00903001L) && defined(HAVE_OPENSSL_PKCS12_H) + /* OpenSSL has PKCS 12 support */ + #define HAVE_PKCS12_SUPPORT +@@ -135,6 +126,9 @@ + #define OPENSSL_NO_SSL2 + #endif + ++#undef HAVE_OPENSSL_ENGINE_H ++#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER ++ + /* + * Number of bytes to read from the random number seed file. This must be + * a finite value (because some entropy "files" like /dev/urandom have +@@ -168,108 +162,8 @@ + return 0; + } + +-/* +- * rand_enough() is a function that returns TRUE if we have seeded the random +- * engine properly. We use some preprocessor magic to provide a seed_enough() +- * macro to use, just to prevent a compiler warning on this function if we +- * pass in an argument that is never used. +- */ +- +-#ifdef HAVE_RAND_STATUS +-#define seed_enough(x) rand_enough() +-static bool rand_enough(void) +-{ +- return (0 != RAND_status()) ? TRUE : FALSE; +-} +-#else +-#define seed_enough(x) rand_enough(x) +-static bool rand_enough(int nread) +-{ +- /* this is a very silly decision to make */ +- return (nread > 500) ? TRUE : FALSE; +-} +-#endif +- +-static int ossl_seed(struct SessionHandle *data) +-{ +- char *buf = data->state.buffer; /* point to the big buffer */ +- int nread=0; +- +- /* Q: should we add support for a random file name as a libcurl option? +- A: Yes, it is here */ +- +-#ifndef RANDOM_FILE +- /* if RANDOM_FILE isn't defined, we only perform this if an option tells +- us to! */ +- if(data->set.ssl.random_file) +-#define RANDOM_FILE "" /* doesn't matter won't be used */ +-#endif +- { +- /* let the option override the define */ +- nread += RAND_load_file((data->set.str[STRING_SSL_RANDOM_FILE]? +- data->set.str[STRING_SSL_RANDOM_FILE]: +- RANDOM_FILE), +- RAND_LOAD_LENGTH); +- if(seed_enough(nread)) +- return nread; +- } +- +-#if defined(HAVE_RAND_EGD) +- /* only available in OpenSSL 0.9.5 and later */ +- /* EGD_SOCKET is set at configure time or not at all */ +-#ifndef EGD_SOCKET +- /* If we don't have the define set, we only do this if the egd-option +- is set */ +- if(data->set.str[STRING_SSL_EGDSOCKET]) +-#define EGD_SOCKET "" /* doesn't matter won't be used */ +-#endif +- { +- /* If there's an option and a define, the option overrides the +- define */ +- int ret = RAND_egd(data->set.str[STRING_SSL_EGDSOCKET]? +- data->set.str[STRING_SSL_EGDSOCKET]:EGD_SOCKET); +- if(-1 != ret) { +- nread += ret; +- if(seed_enough(nread)) +- return nread; +- } +- } +-#endif +- +- /* If we get here, it means we need to seed the PRNG using a "silly" +- approach! */ +- do { +- unsigned char randb[64]; +- int len = sizeof(randb); +- RAND_bytes(randb, len); +- RAND_add(randb, len, (len >> 1)); +- } while(!RAND_status()); +- +- /* generates a default path for the random seed file */ +- buf[0]=0; /* blank it first */ +- RAND_file_name(buf, BUFSIZE); +- if(buf[0]) { +- /* we got a file name to try */ +- nread += RAND_load_file(buf, RAND_LOAD_LENGTH); +- if(seed_enough(nread)) +- return nread; +- } +- +- infof(data, "libcurl is now using a weak random seed!\n"); +- return nread; +-} +- + static int Curl_ossl_seed(struct SessionHandle *data) + { +- /* we have the "SSL is seeded" boolean static to prevent multiple +- time-consuming seedings in vain */ +- static bool ssl_seeded = FALSE; +- +- if(!ssl_seeded || data->set.str[STRING_SSL_RANDOM_FILE] || +- data->set.str[STRING_SSL_EGDSOCKET]) { +- ossl_seed(data); +- ssl_seeded = TRUE; +- } + return 0; + } + +@@ -742,17 +636,6 @@ + + OpenSSL_add_all_algorithms(); + +- +- /* OPENSSL_config(NULL); is "strongly recommended" to use but unfortunately +- that function makes an exit() call on wrongly formatted config files +- which makes it hard to use in some situations. OPENSSL_config() itself +- calls CONF_modules_load_file() and we use that instead and we ignore +- its return code! */ +- +- (void)CONF_modules_load_file(NULL, NULL, +- CONF_MFLAGS_DEFAULT_SECTION| +- CONF_MFLAGS_IGNORE_MISSING_FILE); +- + return 1; + } + +@@ -2825,29 +2708,10 @@ + #if(SSLEAY_VERSION_NUMBER >= 0x905000) + { + char sub[3]; +- unsigned long ssleay_value; ++ unsigned long ssleay_value = 0; + sub[2]='\0'; + sub[1]='\0'; +- ssleay_value=SSLeay(); +- if(ssleay_value < 0x906000) { +- ssleay_value=SSLEAY_VERSION_NUMBER; +- sub[0]='\0'; +- } +- else { +- if(ssleay_value&0xff0) { +- int minor_ver = (ssleay_value >> 4) & 0xff; +- if(minor_ver > 26) { +- /* handle extended version introduced for 0.9.8za */ +- sub[1] = (char) ((minor_ver - 1) % 26 + 'a' + 1); +- sub[0] = 'z'; +- } +- else { +- sub[0]=(char)(((ssleay_value>>4)&0xff) + 'a' -1); +- } +- } +- else +- sub[0]='\0'; +- } ++ sub[0]='\0'; + + return snprintf(buffer, size, "%s/%lx.%lx.%lx%s", + #ifdef OPENSSL_IS_BORINGSSL diff --git a/scripts/libcurl/7.38.0-boringssl/script.sh b/scripts/libcurl/7.38.0-boringssl/script.sh new file mode 100755 index 000000000..06ad229c4 --- /dev/null +++ b/scripts/libcurl/7.38.0-boringssl/script.sh @@ -0,0 +1,91 @@ +#!/usr/bin/env bash + +MASON_NAME=libcurl +MASON_VERSION=7.38.0-boringssl +MASON_LIB_FILE=lib/libcurl.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libcurl.pc + +MASON_PWD=`pwd` + +. ${MASON_DIR}/mason.sh + + +function mason_load_source { + mason_download \ + http://curl.haxx.se/download/curl-7.38.0.tar.gz \ + 5463f1b9dc807e4ae8be2ef4ed57e67f677f4426 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/curl-7.38.0 +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install boringssl d3bcf13 + MASON_OPENSSL=`${MASON_DIR}/mason prefix boringssl d3bcf13` + + if [ ${MASON_PLATFORM} = 'linux' ]; then + LIBS="-ldl ${LIBS=}" + fi +} + +function mason_compile { + curl --retry 3 -f -# -L "https://raw.githubusercontent.com/mapbox/mason/libcurl-7.38.0-boringssl/openssl.patch" -o ${MASON_BUILD_PATH}/openssl.patch + patch ${MASON_BUILD_PATH}/lib/vtls/openssl.c < ${MASON_BUILD_PATH}/openssl.patch + + LIBS="${LIBS=}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --with-pic \ + --enable-manual \ + --with-ssl=${MASON_OPENSSL} \ + --without-ca-bundle \ + --without-ca-path \ + --without-darwinssl \ + --without-gnutls \ + --without-polarssl \ + --without-cyassl \ + --without-nss \ + --without-axtls \ + --without-libmetalink \ + --without-libssh2 \ + --without-librtmp \ + --without-winidn \ + --without-libidn \ + --without-nghttp2 \ + --disable-ldap \ + --disable-ldaps \ + --disable-ldap \ + --disable-ftp \ + --disable-file \ + --disable-rtsp \ + --disable-proxy \ + --disable-dict \ + --disable-telnet \ + --disable-tftp \ + --disable-pop3 \ + --disable-imap \ + --disable-smtp \ + --disable-gopher \ + --disable-libcurl-option \ + --disable-sspi \ + --disable-crypto-auth \ + --disable-ntlm-wb \ + --disable-tls-srp \ + --disable-cookies || cat config.log + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + echo -L${MASON_PREFIX}/lib -lcurl +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libcurl/7.38.0-boringssl/temp.txt b/scripts/libcurl/7.38.0-boringssl/temp.txt new file mode 100644 index 000000000..e69de29bb diff --git a/scripts/libcurl/7.40.0/.travis.yml b/scripts/libcurl/7.40.0/.travis.yml new file mode 100644 index 000000000..080a83a39 --- /dev/null +++ b/scripts/libcurl/7.40.0/.travis.yml @@ -0,0 +1,27 @@ +language: cpp +sudo: false + +os: + - linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + matrix: + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - MASON_PLATFORM=linux + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libcurl/7.40.0/script.sh b/scripts/libcurl/7.40.0/script.sh new file mode 100755 index 000000000..03d2adc1c --- /dev/null +++ b/scripts/libcurl/7.40.0/script.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env bash + +MASON_NAME=libcurl +MASON_VERSION=7.40.0 +MASON_LIB_FILE=lib/libcurl.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libcurl.pc + +. ${MASON_DIR}/mason.sh + + +function mason_load_source { + mason_download \ + http://curl.haxx.se/download/curl-7.40.0.tar.gz \ + c7c97e02f5fa4302f4c25c72486359f7b46f7d6d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/curl-${MASON_VERSION} +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install openssl 1.0.1l + MASON_OPENSSL=`${MASON_DIR}/mason prefix openssl 1.0.1l` + + if [ ${MASON_PLATFORM} = 'linux' ]; then + LIBS="-ldl ${LIBS=}" + fi +} + +function mason_compile { + LIBS="${LIBS=}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --with-pic \ + --enable-manual \ + --with-ssl=${MASON_OPENSSL} \ + --without-ca-bundle \ + --without-ca-path \ + --without-darwinssl \ + --without-gnutls \ + --without-polarssl \ + --without-cyassl \ + --without-nss \ + --without-axtls \ + --without-libmetalink \ + --without-libssh2 \ + --without-librtmp \ + --without-winidn \ + --without-libidn \ + --without-nghttp2 \ + --disable-ldap \ + --disable-ldaps \ + --disable-ldap \ + --disable-ftp \ + --disable-file \ + --disable-rtsp \ + --disable-proxy \ + --disable-dict \ + --disable-telnet \ + --disable-tftp \ + --disable-pop3 \ + --disable-imap \ + --disable-smtp \ + --disable-gopher \ + --disable-libcurl-option \ + --disable-sspi \ + --disable-crypto-auth \ + --disable-ntlm-wb \ + --disable-tls-srp \ + --disable-cookies + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libcurl/7.45.0/.travis.yml b/scripts/libcurl/7.45.0/.travis.yml new file mode 100644 index 000000000..080a83a39 --- /dev/null +++ b/scripts/libcurl/7.45.0/.travis.yml @@ -0,0 +1,27 @@ +language: cpp +sudo: false + +os: + - linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + matrix: + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - MASON_PLATFORM=linux + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libcurl/7.45.0/script.sh b/scripts/libcurl/7.45.0/script.sh new file mode 100755 index 000000000..4d4f30180 --- /dev/null +++ b/scripts/libcurl/7.45.0/script.sh @@ -0,0 +1,84 @@ +#!/usr/bin/env bash + +MASON_NAME=libcurl +MASON_VERSION=7.45.0 +MASON_LIB_FILE=lib/libcurl.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libcurl.pc + +OPENSSL_VERSION=1.0.1p + +. ${MASON_DIR}/mason.sh + + +function mason_load_source { + mason_download \ + http://curl.haxx.se/download/curl-${MASON_VERSION}.tar.gz \ + cf5b820a1ab30e49083784c46fe3ec9e6d2c84dc + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/curl-${MASON_VERSION} +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install openssl ${OPENSSL_VERSION} + MASON_OPENSSL=`${MASON_DIR}/mason prefix openssl ${OPENSSL_VERSION}` + + if [ ${MASON_PLATFORM} = 'linux' ]; then + LIBS="-ldl ${LIBS=}" + fi +} + +function mason_compile { + LIBS="${LIBS=}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --with-pic \ + --enable-manual \ + --with-ssl=${MASON_OPENSSL} \ + --without-ca-bundle \ + --without-ca-path \ + --without-darwinssl \ + --without-gnutls \ + --without-polarssl \ + --without-cyassl \ + --without-nss \ + --without-axtls \ + --without-libmetalink \ + --without-libssh2 \ + --without-librtmp \ + --without-winidn \ + --without-libidn \ + --without-nghttp2 \ + --disable-ldap \ + --disable-ldaps \ + --disable-ldap \ + --disable-ftp \ + --disable-file \ + --disable-rtsp \ + --disable-proxy \ + --disable-dict \ + --disable-telnet \ + --disable-tftp \ + --disable-pop3 \ + --disable-imap \ + --disable-smtp \ + --disable-gopher \ + --disable-libcurl-option \ + --disable-sspi \ + --disable-crypto-auth \ + --disable-ntlm-wb \ + --disable-tls-srp \ + --disable-cookies + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libcurl/system/script.sh b/scripts/libcurl/system/script.sh new file mode 100755 index 000000000..0c68fd3af --- /dev/null +++ b/scripts/libcurl/system/script.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +MASON_NAME=libcurl +MASON_VERSION=system +MASON_SYSTEM_PACKAGE=true + +. ${MASON_DIR}/mason.sh + + +if [[ ${MASON_PLATFORM} = 'ios' || ${MASON_PLATFORM} = 'android' ]]; then + mason_error "Unavailable on platform \"${MASON_PLATFORM}\"" + exit 1 +fi + +MASON_CFLAGS="-I${MASON_PREFIX}/include" +MASON_LDFLAGS="-L${MASON_PREFIX}/lib" + +if [[ ${MASON_PLATFORM} = 'osx' ]]; then + CURL_INCLUDE_PREFIX="${MASON_SDK_PATH}/usr/include" + CURL_LIBRARY="${MASON_SDK_PATH}/usr/lib/libcurl.${MASON_DYNLIB_SUFFIX}" + MASON_LDFLAGS="${MASON_LDFLAGS} -lcurl" +else + CURL_INCLUDE_PREFIX="`pkg-config libcurl --variable=includedir`" + CURL_LIBRARY="`pkg-config libcurl --variable=libdir`/libcurl.${MASON_DYNLIB_SUFFIX}" + MASON_CFLAGS="${MASON_CFLAGS} `pkg-config libcurl --cflags-only-other`" + MASON_LDFLAGS="${MASON_LDFLAGS} `pkg-config libcurl --libs-only-other --libs-only-l`" +fi + + +if [ ! -f "${CURL_INCLUDE_PREFIX}/curl/curl.h" ]; then + mason_error "Can't find header file ${CURL_INCLUDE_PREFIX}/curl/curl.h" + exit 1 +fi + +if [ ! -f "${CURL_LIBRARY}" ]; then + mason_error "Can't find library file ${CURL_LIBRARY}" + exit 1 +fi + +function mason_system_version { + mkdir -p "${MASON_PREFIX}" + cd "${MASON_PREFIX}" + if [ ! -f version ]; then + echo "#include +#include +int main() { + printf(\"%s\", curl_version_info(CURLVERSION_NOW)->version); + return 0; +} +" > version.c && ${CC:-cc} version.c $(mason_cflags) $(mason_ldflags) -o version + fi + ./version +} + +function mason_build { + mkdir -p ${MASON_PREFIX}/{include,lib} + ln -sf ${CURL_INCLUDE_PREFIX}/curl ${MASON_PREFIX}/include/ + ln -sf ${CURL_LIBRARY} ${MASON_PREFIX}/lib/ + echo "build is done and available at ${MASON_PREFIX}/" +} + +function mason_cflags { + echo ${MASON_CFLAGS} +} + +function mason_ldflags { + echo ${MASON_LDFLAGS} +} + +mason_run "$@" diff --git a/scripts/libjpeg-turbo/1.4.2/.travis.yml b/scripts/libjpeg-turbo/1.4.2/.travis.yml new file mode 100644 index 000000000..b672f5ff1 --- /dev/null +++ b/scripts/libjpeg-turbo/1.4.2/.travis.yml @@ -0,0 +1,46 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux + compiler: clang + addons: + apt: + packages: [ 'yasm' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + addons: + apt: + packages: [ 'yasm' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ "${MASON_PLATFORM}" == "osx" ]]; then brew install yasm ; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libjpeg-turbo/1.4.2/script.sh b/scripts/libjpeg-turbo/1.4.2/script.sh new file mode 100755 index 000000000..ab4294f04 --- /dev/null +++ b/scripts/libjpeg-turbo/1.4.2/script.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +MASON_NAME=libjpeg-turbo +MASON_VERSION=1.4.2 +MASON_LIB_FILE=lib/libjpeg.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/libjpeg-turbo/1.4.2/libjpeg-turbo-1.4.2.tar.gz \ + d4638b2261ac3c1c20a2a2e1f8e19fc1f11bf524 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libjpeg-turbo-1.4.2 +} + + +function mason_compile { + export CFLAGS="${CFLAGS:-} -O3" + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --with-jpeg8 \ + --without-turbojpeg \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking \ + NASM=yasm + + V=1 make install -j${MASON_CONCURRENCY} + rm -rf ${MASON_PREFIX}/bin +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libjpeg-turbo/1.5.0/.travis.yml b/scripts/libjpeg-turbo/1.5.0/.travis.yml new file mode 100644 index 000000000..634408c01 --- /dev/null +++ b/scripts/libjpeg-turbo/1.5.0/.travis.yml @@ -0,0 +1,47 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux + compiler: clang + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev', 'yasm' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + addons: + apt: + packages: [ 'yasm' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- if [[ "${MASON_PLATFORM}" == "osx" ]]; then brew install yasm ; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libjpeg-turbo/1.5.0/script.sh b/scripts/libjpeg-turbo/1.5.0/script.sh new file mode 100755 index 000000000..25b5b4793 --- /dev/null +++ b/scripts/libjpeg-turbo/1.5.0/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=libjpeg-turbo +MASON_VERSION=1.5.0 +MASON_LIB_FILE=lib/libjpeg.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/libjpeg-turbo/libjpeg-turbo/archive/1.5.0.tar.gz \ + 8b06f41d821a4dbcd20fd5fea97ba80916a22b00 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libjpeg-turbo-1.5.0 +} + + +function mason_compile { + export CFLAGS="${CFLAGS:-} -O3" + autoreconf -fiv + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --with-jpeg8 \ + --without-turbojpeg \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking \ + NASM=yasm + + V=1 make install -j${MASON_CONCURRENCY} + rm -rf ${MASON_PREFIX}/bin +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libosmium/2.6.1/.travis.yml b/scripts/libosmium/2.6.1/.travis.yml new file mode 100644 index 000000000..2a3f80b9b --- /dev/null +++ b/scripts/libosmium/2.6.1/.travis.yml @@ -0,0 +1,22 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libosmium/2.6.1/script.sh b/scripts/libosmium/2.6.1/script.sh new file mode 100755 index 000000000..87f270845 --- /dev/null +++ b/scripts/libosmium/2.6.1/script.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +MASON_NAME=libosmium +MASON_VERSION=2.6.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/osmcode/libosmium/tarball/v2.6.1 \ + 079814b4632dcc585cef6e6b0f1e1e1d27b53904 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/osmcode-libosmium-2282c84 +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/osmium ${MASON_PREFIX}/include/osmium +} + +mason_run "$@" diff --git a/scripts/libosmium/2.7.2/.travis.yml b/scripts/libosmium/2.7.2/.travis.yml new file mode 100644 index 000000000..0747a654f --- /dev/null +++ b/scripts/libosmium/2.7.2/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libosmium/2.7.2/script.sh b/scripts/libosmium/2.7.2/script.sh new file mode 100755 index 000000000..5d87df9c2 --- /dev/null +++ b/scripts/libosmium/2.7.2/script.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +MASON_NAME=libosmium +MASON_VERSION=2.7.2 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/osmcode/${MASON_NAME}/archive/v${MASON_VERSION}.tar.gz \ + aca66253eb73fdac4433c0207c508ad155b2f8de + + mason_extract_tar_gz + ls + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/osmium ${MASON_PREFIX}/include/osmium +} + +mason_run "$@" diff --git a/scripts/libosmium/2.8.0/.travis.yml b/scripts/libosmium/2.8.0/.travis.yml new file mode 100644 index 000000000..ffeae776a --- /dev/null +++ b/scripts/libosmium/2.8.0/.travis.yml @@ -0,0 +1,26 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libosmium/2.8.0/script.sh b/scripts/libosmium/2.8.0/script.sh new file mode 100755 index 000000000..d7e5f40d9 --- /dev/null +++ b/scripts/libosmium/2.8.0/script.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +MASON_NAME=libosmium +MASON_VERSION=2.8.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/osmcode/${MASON_NAME}/archive/v${MASON_VERSION}.tar.gz \ + 30c5b5b74bdda40bace1ea993f43a00874ac553f + + mason_extract_tar_gz + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/osmium ${MASON_PREFIX}/include/osmium +} + +mason_run "$@" diff --git a/scripts/libpng/1.6.16/.travis.yml b/scripts/libpng/1.6.16/.travis.yml new file mode 100644 index 000000000..48bfd20c3 --- /dev/null +++ b/scripts/libpng/1.6.16/.travis.yml @@ -0,0 +1,37 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpng/1.6.16/script.sh b/scripts/libpng/1.6.16/script.sh new file mode 100755 index 000000000..985ef42db --- /dev/null +++ b/scripts/libpng/1.6.16/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=1.6.16 +MASON_LIB_FILE=lib/libpng.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://prdownloads.sourceforge.net/libpng/libpng-1.6.16.tar.gz?download \ + b0449a7d05447842f3f19642c2104e0a57db13a8 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lpng16 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libpng/1.6.17/.travis.yml b/scripts/libpng/1.6.17/.travis.yml new file mode 100644 index 000000000..48bfd20c3 --- /dev/null +++ b/scripts/libpng/1.6.17/.travis.yml @@ -0,0 +1,37 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpng/1.6.17/script.sh b/scripts/libpng/1.6.17/script.sh new file mode 100755 index 000000000..ceafc44ee --- /dev/null +++ b/scripts/libpng/1.6.17/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=1.6.17 +MASON_LIB_FILE=lib/libpng.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://prdownloads.sourceforge.net/libpng/libpng-${MASON_VERSION}.tar.gz?download \ + ccc3b2243585a8aedf762fc72ffcc253aaed9298 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lpng16 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libpng/1.6.18/.travis.yml b/scripts/libpng/1.6.18/.travis.yml new file mode 100644 index 000000000..d77cb1230 --- /dev/null +++ b/scripts/libpng/1.6.18/.travis.yml @@ -0,0 +1,38 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + osx_image: xcode7 + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpng/1.6.18/script.sh b/scripts/libpng/1.6.18/script.sh new file mode 100755 index 000000000..26a3c5b40 --- /dev/null +++ b/scripts/libpng/1.6.18/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=1.6.18 +MASON_LIB_FILE=lib/libpng.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://prdownloads.sourceforge.net/libpng/libpng-${MASON_VERSION}.tar.gz?download \ + d9ed998cee89dc6ea3427c17882b5cfe7882429a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lpng16 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libpng/1.6.20/.travis.yml b/scripts/libpng/1.6.20/.travis.yml new file mode 100644 index 000000000..5da2e8f01 --- /dev/null +++ b/scripts/libpng/1.6.20/.travis.yml @@ -0,0 +1,46 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + osx_image: xcode6 + - os: osx + osx_image: xcode7 + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpng/1.6.20/script.sh b/scripts/libpng/1.6.20/script.sh new file mode 100755 index 000000000..d59501016 --- /dev/null +++ b/scripts/libpng/1.6.20/script.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=1.6.20 +MASON_LIB_FILE=lib/libpng.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/libpng/libpng16/older-releases/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \ + 0b5df1201ea4b63777a9c9c49ff26a45dd87890e + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION} +} + +function mason_compile { + export CFLAGS="${CFLAGS:-} -O3" + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lpng16 + echo "$@" +} + +function mason_ldflags { + local PREFIX FLAGS + PREFIX=$(${MASON_PREFIX}/bin/libpng-config --prefix) + FLAGS=$(${MASON_PREFIX}/bin/libpng-config --static --ldflags) + # Replace hard-coded prefix with the current one. + mason_strip_ldflags ${FLAGS//${PREFIX}/${MASON_PREFIX}} +} + +function mason_cflags { + local PREFIX FLAGS + PREFIX=$(${MASON_PREFIX}/bin/libpng-config --prefix) + FLAGS=$(${MASON_PREFIX}/bin/libpng-config --static --cflags) + # Replace hard-coded prefix with the current one. + echo ${FLAGS//${PREFIX}/${MASON_PREFIX}} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libpng/1.6.21/.travis.yml b/scripts/libpng/1.6.21/.travis.yml new file mode 100644 index 000000000..0a7ba0c7a --- /dev/null +++ b/scripts/libpng/1.6.21/.travis.yml @@ -0,0 +1,40 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + osx_image: xcode6 + - os: osx + osx_image: xcode7 + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpng/1.6.21/script.sh b/scripts/libpng/1.6.21/script.sh new file mode 100755 index 000000000..3f05c61b3 --- /dev/null +++ b/scripts/libpng/1.6.21/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=1.6.21 +MASON_LIB_FILE=lib/libpng.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/libpng/libpng16/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \ + 1604e875b732b08ae81e155259422f1c1407255d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION} +} + +function mason_compile { + export CFLAGS="${CFLAGS:-} -O3" + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lpng16 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libpng/1.6.25/.travis.yml b/scripts/libpng/1.6.25/.travis.yml new file mode 100644 index 000000000..11c4675f6 --- /dev/null +++ b/scripts/libpng/1.6.25/.travis.yml @@ -0,0 +1,43 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux + compiler: clang + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpng/1.6.25/script.sh b/scripts/libpng/1.6.25/script.sh new file mode 100755 index 000000000..b63fff061 --- /dev/null +++ b/scripts/libpng/1.6.25/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=1.6.25 +MASON_LIB_FILE=lib/libpng.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.sourceforge.net/project/libpng/libpng16/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \ + a88b710714a8e27e5e5aa52de28076860fc7748c + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION} +} + +function mason_compile { + export CFLAGS="${CFLAGS:-} -O3" + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lpng16 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libpng/system/script.sh b/scripts/libpng/system/script.sh new file mode 100755 index 000000000..85097dd29 --- /dev/null +++ b/scripts/libpng/system/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=system +MASON_SYSTEM_PACKAGE=true + +. ${MASON_DIR}/mason.sh + +if [ ! $(pkg-config libpng --exists; echo $?) = 0 ]; then + mason_error "Cannot find libpng with pkg-config" + exit 1 +fi + +function mason_system_version { + # Use host compiler to produce a binary that can run on the host + HOST_CC=`MASON_PLATFORM= mason env CC` + HOST_CFLAGS=`MASON_PLATFORM= mason env CFLAGS` + + mkdir -p "${MASON_PREFIX}" + cd "${MASON_PREFIX}" + if [ ! -f version ]; then + echo "#define PNG_VERSION_INFO_ONLY +#include +#include +int main() { + printf(\"%s\", PNG_LIBPNG_VER_STRING); + return 0; +} +" > version.c && ${HOST_CC} ${HOST_CFLAGS} version.c $(mason_cflags) -o version + fi + ./version +} + +function mason_build { + : +} + +function mason_pkgconfig { + echo 'pkg-config libpng' +} + +mason_run "$@" diff --git a/scripts/libpq/9.4.0/.travis.yml b/scripts/libpq/9.4.0/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/libpq/9.4.0/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpq/9.4.0/patch.diff b/scripts/libpq/9.4.0/patch.diff new file mode 100644 index 000000000..ae2f06a46 --- /dev/null +++ b/scripts/libpq/9.4.0/patch.diff @@ -0,0 +1,11 @@ +--- src/include/pg_config_manual.h 2013-10-07 20:17:38.000000000 -0700 ++++ src/include/pg_config_manual.h 2014-03-08 21:29:48.000000000 -0800 +@@ -144,7 +144,7 @@ + * here's where to twiddle it. You can also override this at runtime + * with the postmaster's -k switch. + */ +-#define DEFAULT_PGSOCKET_DIR "/tmp" ++#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" + + /* + * The random() function is expected to yield values between 0 and diff --git a/scripts/libpq/9.4.0/script.sh b/scripts/libpq/9.4.0/script.sh new file mode 100755 index 000000000..8098cb726 --- /dev/null +++ b/scripts/libpq/9.4.0/script.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +MASON_NAME=libpq +MASON_VERSION=9.4.0 +MASON_LIB_FILE=lib/libpq.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpq.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://ftp.postgresql.org/pub/source/v9.4.0/postgresql-9.4.0.tar.bz2 \ + d1cf3f96059532a99445e34a15cf0ef67f8da9c7 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/postgresql-${MASON_VERSION} +} + +function mason_compile { + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch src/include/pg_config_manual.h ./patch.diff + fi + + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-thread-safety \ + --enable-largefile \ + --without-bonjour \ + --without-openssl \ + --without-pam \ + --without-krb5 \ + --without-gssapi \ + --without-ossp-uuid \ + --without-readline \ + --without-ldap \ + --without-zlib \ + --without-libxml \ + --without-libxslt \ + --without-selinux \ + --without-python \ + --without-perl \ + --without-tcl \ + --disable-rpath \ + --disable-debug \ + --disable-profiling \ + --disable-coverage \ + --disable-dtrace \ + --disable-depend \ + --disable-cassert + + make -j${MASON_CONCURRENCY} -C src/bin/pg_config install + make -j${MASON_CONCURRENCY} -C src/interfaces/libpq/ install + cp src/include/postgres_ext.h ${MASON_PREFIX}/include/ + cp src/include/pg_config_ext.h ${MASON_PREFIX}/include/ + rm -f ${MASON_PREFIX}/lib/libpq{*.so*,*.dylib} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libpq/9.4.1/.travis.yml b/scripts/libpq/9.4.1/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/libpq/9.4.1/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpq/9.4.1/patch.diff b/scripts/libpq/9.4.1/patch.diff new file mode 100644 index 000000000..ae2f06a46 --- /dev/null +++ b/scripts/libpq/9.4.1/patch.diff @@ -0,0 +1,11 @@ +--- src/include/pg_config_manual.h 2013-10-07 20:17:38.000000000 -0700 ++++ src/include/pg_config_manual.h 2014-03-08 21:29:48.000000000 -0800 +@@ -144,7 +144,7 @@ + * here's where to twiddle it. You can also override this at runtime + * with the postmaster's -k switch. + */ +-#define DEFAULT_PGSOCKET_DIR "/tmp" ++#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" + + /* + * The random() function is expected to yield values between 0 and diff --git a/scripts/libpq/9.4.1/script.sh b/scripts/libpq/9.4.1/script.sh new file mode 100755 index 000000000..4704bf921 --- /dev/null +++ b/scripts/libpq/9.4.1/script.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +MASON_NAME=libpq +MASON_VERSION=9.4.1 +MASON_LIB_FILE=lib/libpq.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpq.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://ftp.postgresql.org/pub/source/v${MASON_VERSION}/postgresql-${MASON_VERSION}.tar.bz2 \ + 1fcc75dccdb9ffd3f30e723828cbfce00c9b13fd + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/postgresql-${MASON_VERSION} +} + +function mason_compile { + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch src/include/pg_config_manual.h ./patch.diff + fi + + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-thread-safety \ + --enable-largefile \ + --without-bonjour \ + --without-openssl \ + --without-pam \ + --without-krb5 \ + --without-gssapi \ + --without-ossp-uuid \ + --without-readline \ + --without-ldap \ + --without-zlib \ + --without-libxml \ + --without-libxslt \ + --without-selinux \ + --without-python \ + --without-perl \ + --without-tcl \ + --disable-rpath \ + --disable-debug \ + --disable-profiling \ + --disable-coverage \ + --disable-dtrace \ + --disable-depend \ + --disable-cassert + + make -j${MASON_CONCURRENCY} -C src/bin/pg_config install + make -j${MASON_CONCURRENCY} -C src/interfaces/libpq/ install + cp src/include/postgres_ext.h ${MASON_PREFIX}/include/ + cp src/include/pg_config_ext.h ${MASON_PREFIX}/include/ + rm -f ${MASON_PREFIX}/lib/libpq{*.so*,*.dylib} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libpq/9.5.2/.travis.yml b/scripts/libpq/9.5.2/.travis.yml new file mode 100644 index 000000000..b1a59ea1f --- /dev/null +++ b/scripts/libpq/9.5.2/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: linux + compiler: clang + - os: osx + osx_image: xcode7.3 + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpq/9.5.2/patch.diff b/scripts/libpq/9.5.2/patch.diff new file mode 100644 index 000000000..ae2f06a46 --- /dev/null +++ b/scripts/libpq/9.5.2/patch.diff @@ -0,0 +1,11 @@ +--- src/include/pg_config_manual.h 2013-10-07 20:17:38.000000000 -0700 ++++ src/include/pg_config_manual.h 2014-03-08 21:29:48.000000000 -0800 +@@ -144,7 +144,7 @@ + * here's where to twiddle it. You can also override this at runtime + * with the postmaster's -k switch. + */ +-#define DEFAULT_PGSOCKET_DIR "/tmp" ++#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" + + /* + * The random() function is expected to yield values between 0 and diff --git a/scripts/libpq/9.5.2/script.sh b/scripts/libpq/9.5.2/script.sh new file mode 100755 index 000000000..bd899a306 --- /dev/null +++ b/scripts/libpq/9.5.2/script.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +MASON_NAME=libpq +MASON_VERSION=9.5.2 +MASON_LIB_FILE=lib/libpq.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpq.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://ftp.postgresql.org/pub/source/v${MASON_VERSION}/postgresql-${MASON_VERSION}.tar.bz2 \ + 9c7bd5c1c601075ff6d5ea7615f9461d5b1f4c88 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/postgresql-${MASON_VERSION} +} + +function mason_compile { + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + mason_step "Loading patch" + patch src/include/pg_config_manual.h ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff + fi + + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-thread-safety \ + --enable-largefile \ + --without-bonjour \ + --without-openssl \ + --without-pam \ + --without-krb5 \ + --without-gssapi \ + --without-ossp-uuid \ + --without-readline \ + --without-ldap \ + --without-zlib \ + --without-libxml \ + --without-libxslt \ + --without-selinux \ + --without-python \ + --without-perl \ + --without-tcl \ + --disable-rpath \ + --disable-debug \ + --disable-profiling \ + --disable-coverage \ + --disable-dtrace \ + --disable-depend \ + --disable-cassert + + make -j${MASON_CONCURRENCY} -C src/bin/pg_config install + make -j${MASON_CONCURRENCY} -C src/interfaces/libpq/ install + cp src/include/postgres_ext.h ${MASON_PREFIX}/include/ + cp src/include/pg_config_ext.h ${MASON_PREFIX}/include/ + rm -f ${MASON_PREFIX}/lib/libpq{*.so*,*.dylib} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libtiff/4.0.4beta/.travis.yml b/scripts/libtiff/4.0.4beta/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/libtiff/4.0.4beta/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libtiff/4.0.4beta/script.sh b/scripts/libtiff/4.0.4beta/script.sh new file mode 100755 index 000000000..9ef375b62 --- /dev/null +++ b/scripts/libtiff/4.0.4beta/script.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +MASON_NAME=libtiff +MASON_VERSION=4.0.4beta +MASON_LIB_FILE=lib/libtiff.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libtiff-4.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/libtiff/tiff-${MASON_VERSION}.tar.gz \ + 7bbd91b09cef1a4c29d3cccb7e656ee32587e5ef + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/tiff-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install jpeg_turbo 1.4.0 + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.4.0) + SYSTEM_ZLIB="/usr" +} + + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --disable-dependency-tracking \ + --disable-cxx \ + --enable-defer-strile-load \ + --enable-chunky-strip-read \ + --with-jpeg-include-dir=${MASON_JPEG}/include \ + --with-jpeg-lib-dir=${MASON_JPEG}/lib \ + --with-zlib-include-dir=${SYSTEM_ZLIB}/include \ + --with-zlib-lib-dir=${SYSTEM_ZLIB}/lib \ + --disable-lzma --disable-jbig --disable-mdi \ + --without-x + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + echo "-ltiff -ljpeg -lz" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libtiff/4.0.6/.travis.yml b/scripts/libtiff/4.0.6/.travis.yml new file mode 100644 index 000000000..07209ddb4 --- /dev/null +++ b/scripts/libtiff/4.0.6/.travis.yml @@ -0,0 +1,24 @@ +language: generic + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libtiff/4.0.6/script.sh b/scripts/libtiff/4.0.6/script.sh new file mode 100755 index 000000000..22d1fea30 --- /dev/null +++ b/scripts/libtiff/4.0.6/script.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +MASON_NAME=libtiff +MASON_VERSION=4.0.6 +MASON_LIB_FILE=lib/libtiff.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libtiff-4.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/libtiff/tiff-${MASON_VERSION}.tar.gz \ + a6c275bb0a444f9b43f5cd3f15e0400599dc5ffc + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/tiff-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install jpeg_turbo 1.4.2 + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.4.2) + SYSTEM_ZLIB="/usr" +} + + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --disable-dependency-tracking \ + --disable-cxx \ + --enable-defer-strile-load \ + --enable-chunky-strip-read \ + --with-jpeg-include-dir=${MASON_JPEG}/include \ + --with-jpeg-lib-dir=${MASON_JPEG}/lib \ + --with-zlib-include-dir=${SYSTEM_ZLIB}/include \ + --with-zlib-lib-dir=${SYSTEM_ZLIB}/lib \ + --disable-lzma --disable-jbig --disable-mdi \ + --without-x + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + echo "-ltiff -ljpeg -lz" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libtiff/46346a6b570b6084be53063216fbd2825d311675/.travis.yml b/scripts/libtiff/46346a6b570b6084be53063216fbd2825d311675/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/libtiff/46346a6b570b6084be53063216fbd2825d311675/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libtiff/46346a6b570b6084be53063216fbd2825d311675/script.sh b/scripts/libtiff/46346a6b570b6084be53063216fbd2825d311675/script.sh new file mode 100755 index 000000000..1c8463fc8 --- /dev/null +++ b/scripts/libtiff/46346a6b570b6084be53063216fbd2825d311675/script.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +MASON_NAME=libtiff +MASON_VERSION=46346a6b570b6084be53063216fbd2825d311675 +MASON_LIB_FILE=lib/libtiff.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libtiff-4.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/vadz/libtiff/archive/${MASON_VERSION}.tar.gz \ + 26bc51193cfba8c017128143b19414adb0897c5b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + ${MASON_DIR}/mason install jpeg v8d + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg v8d) + SYSTEM_ZLIB="/usr" +} + + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --disable-dependency-tracking \ + --disable-cxx \ + --enable-defer-strile-load \ + --enable-chunky-strip-read \ + --with-jpeg-include-dir=${MASON_JPEG}/include \ + --with-jpeg-lib-dir=${MASON_JPEG}/lib \ + --with-zlib-include-dir=${SYSTEM_ZLIB}/include \ + --with-zlib-lib-dir=${SYSTEM_ZLIB}/lib \ + --disable-lzma --disable-jbig --disable-mdi \ + --without-x + + make -j${MASON_CONCURRENCY} V=1 + make install +} + +function mason_ldflags { + echo "-ltiff -ljpeg -lz" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libuv/0.10.28/.travis.yml b/scripts/libuv/0.10.28/.travis.yml new file mode 100644 index 000000000..cadc8d3c1 --- /dev/null +++ b/scripts/libuv/0.10.28/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libuv/0.10.28/script.sh b/scripts/libuv/0.10.28/script.sh new file mode 100755 index 000000000..3ee84f007 --- /dev/null +++ b/scripts/libuv/0.10.28/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=0.10.28 +MASON_LIB_FILE=lib/libuv.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/joyent/libuv/archive/v${MASON_VERSION}.tar.gz \ + a3fc90eca125e49979103d748be436a438083cb7 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} + +function mason_compile { + CFLAGS="-fPIC ${CFLAGS:-}" make libuv.a -j${MASON_CONCURRENCY} + mkdir -p lib + mv libuv.a "${MASON_LIB_FILE}" + mkdir -p "${MASON_PREFIX}" + cp -rv lib include "${MASON_PREFIX}" +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + if [ ${MASON_PLATFORM} = 'osx' ]; then + echo "-lpthread -ldl -framework CoreFoundation -framework CoreServices" + elif [ ${MASON_PLATFORM} = 'ios' ]; then + echo "-lpthread -ldl" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + echo "-lpthread -ldl -lrt" + fi +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libuv/0.10.33/.travis.yml b/scripts/libuv/0.10.33/.travis.yml new file mode 100644 index 000000000..cadc8d3c1 --- /dev/null +++ b/scripts/libuv/0.10.33/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libuv/0.10.33/script.sh b/scripts/libuv/0.10.33/script.sh new file mode 100755 index 000000000..60a8531a2 --- /dev/null +++ b/scripts/libuv/0.10.33/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=0.10.33 +MASON_LIB_FILE=lib/libuv.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/libuv/libuv/archive/v${MASON_VERSION}.tar.gz \ + d4bc9973e0cc4b653ebc4fccaccb9564c022b52b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} + +function mason_compile { + CFLAGS="-fPIC ${CFLAGS:-}" make libuv.a -j${MASON_CONCURRENCY} + mkdir -p lib + mv libuv.a "${MASON_LIB_FILE}" + mkdir -p "${MASON_PREFIX}" + cp -rv lib include "${MASON_PREFIX}" +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + if [ ${MASON_PLATFORM} = 'osx' ]; then + echo "-lpthread -ldl -framework CoreFoundation -framework CoreServices" + elif [ ${MASON_PLATFORM} = 'ios' ]; then + echo "-lpthread -ldl" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + echo "-lpthread -ldl -lrt" + fi +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libuv/0.10.36/.travis.yml b/scripts/libuv/0.10.36/.travis.yml new file mode 100644 index 000000000..cadc8d3c1 --- /dev/null +++ b/scripts/libuv/0.10.36/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libuv/0.10.36/script.sh b/scripts/libuv/0.10.36/script.sh new file mode 100755 index 000000000..f2b4fe8d5 --- /dev/null +++ b/scripts/libuv/0.10.36/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=0.10.36 +MASON_LIB_FILE=lib/libuv.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/libuv/libuv/archive/v${MASON_VERSION}.tar.gz \ + 8885b330c9c9aea3892aa3e5f7534a6dba128733 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} + +function mason_compile { + CFLAGS="-fPIC ${CFLAGS:-}" make libuv.a -j${MASON_CONCURRENCY} + mkdir -p lib + mv libuv.a "${MASON_LIB_FILE}" + mkdir -p "${MASON_PREFIX}" + cp -rv lib include "${MASON_PREFIX}" +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + if [ ${MASON_PLATFORM} = 'osx' ]; then + echo "-lpthread -ldl -framework CoreFoundation -framework CoreServices" + elif [ ${MASON_PLATFORM} = 'ios' ]; then + echo "-lpthread -ldl" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + echo "-lpthread -ldl -lrt" + fi +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libuv/0.11.29/.travis.yml b/scripts/libuv/0.11.29/.travis.yml new file mode 100644 index 000000000..c664eb025 --- /dev/null +++ b/scripts/libuv/0.11.29/.travis.yml @@ -0,0 +1,41 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libuv/0.11.29/script.sh b/scripts/libuv/0.11.29/script.sh new file mode 100755 index 000000000..15f32e34d --- /dev/null +++ b/scripts/libuv/0.11.29/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=0.11.29 +MASON_LIB_FILE=lib/libuv.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libuv.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/joyent/libuv/archive/v0.11.29.tar.gz \ + 5bf49a8652f680557cbaf335a160187b2da3bf7f + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} + +function mason_prepare_compile { + ./autogen.sh +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --disable-dtrace + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libuv/1.4.0/.travis.yml b/scripts/libuv/1.4.0/.travis.yml new file mode 100644 index 000000000..c664eb025 --- /dev/null +++ b/scripts/libuv/1.4.0/.travis.yml @@ -0,0 +1,41 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libuv/1.4.0/script.sh b/scripts/libuv/1.4.0/script.sh new file mode 100755 index 000000000..838c2de5d --- /dev/null +++ b/scripts/libuv/1.4.0/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=1.4.0 +MASON_LIB_FILE=lib/libuv.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libuv.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/libuv/libuv/archive/v1.4.0.tar.gz \ + 22d3aada0b532d41c95cf51029f539f0570eeaa4 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} + +function mason_prepare_compile { + ./autogen.sh +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --disable-dtrace + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libuv/1.6.1/.travis.yml b/scripts/libuv/1.6.1/.travis.yml new file mode 100644 index 000000000..cadc8d3c1 --- /dev/null +++ b/scripts/libuv/1.6.1/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libuv/1.6.1/script.sh b/scripts/libuv/1.6.1/script.sh new file mode 100755 index 000000000..ef5b2015d --- /dev/null +++ b/scripts/libuv/1.6.1/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=1.6.1 +MASON_LIB_FILE=lib/libuv.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libuv.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/libuv/libuv/archive/v1.6.1.tar.gz \ + 7e0bf128a4e7e82f8d3a13bf789e66ad963f82a1 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} + +function mason_prepare_compile { + ./autogen.sh +} + +function mason_compile { + CFLAGS="-O3 -DNDEBUG -fPIC ${CFLAGS}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --disable-dtrace + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libuv/1.7.5/.travis.yml b/scripts/libuv/1.7.5/.travis.yml new file mode 100644 index 000000000..27002bdb3 --- /dev/null +++ b/scripts/libuv/1.7.5/.travis.yml @@ -0,0 +1,52 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux CXX=clang++-3.5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ] + packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libuv/1.7.5/script.sh b/scripts/libuv/1.7.5/script.sh new file mode 100755 index 000000000..9ff9733f0 --- /dev/null +++ b/scripts/libuv/1.7.5/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=1.7.5 +MASON_LIB_FILE=lib/libuv.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libuv.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/libuv/libuv/archive/v1.7.5.tar.gz \ + 236deb17974ea1114121907672894c2a7bc6673c + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} + +function mason_prepare_compile { + ./autogen.sh +} + +function mason_compile { + CFLAGS="-O3 -DNDEBUG -fPIC ${CFLAGS}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --disable-dtrace + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libuv/1.9.1/.travis.yml b/scripts/libuv/1.9.1/.travis.yml new file mode 100644 index 000000000..b9970d566 --- /dev/null +++ b/scripts/libuv/1.9.1/.travis.yml @@ -0,0 +1,51 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=ios + compiler: clang + - os: osx + osx_image: xcode7 + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +install: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +before_script: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + +script: +- ./mason remove ${MASON_NAME} ${MASON_VERSION} +- ./mason install ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libuv/1.9.1/script.sh b/scripts/libuv/1.9.1/script.sh new file mode 100755 index 000000000..c6e389571 --- /dev/null +++ b/scripts/libuv/1.9.1/script.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +MASON_NAME=libuv +MASON_VERSION=1.9.1 +MASON_LIB_FILE=lib/libuv.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libuv.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/libuv/libuv/archive/v1.9.1.tar.gz \ + f58168a132477d505ef462e83319740ff7122c48 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libuv-${MASON_VERSION} +} + +function mason_prepare_compile { + ./autogen.sh +} + +function mason_compile { + CFLAGS="-O3 -DNDEBUG -fPIC ${CFLAGS}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --disable-dtrace + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libxml2/2.9.2/.travis.yml b/scripts/libxml2/2.9.2/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/libxml2/2.9.2/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libxml2/2.9.2/script.sh b/scripts/libxml2/2.9.2/script.sh new file mode 100755 index 000000000..932cad450 --- /dev/null +++ b/scripts/libxml2/2.9.2/script.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +MASON_NAME=libxml2 +MASON_VERSION=2.9.2 +MASON_LIB_FILE=lib/libxml2.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libxml-2.0.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://xmlsoft.org/libxml2/libxml2-2.9.2.tar.gz \ + be0b605b2bb5a1bbca9bb375d8748b702bdeb29a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + # note --with-writer for osmium + ./configure --prefix=${MASON_PREFIX} \ + --enable-static --disable-shared ${MASON_HOST_ARG} \ + --with-writer \ + --with-xptr \ + --with-xpath \ + --with-xinclude \ + --with-threads \ + --with-tree \ + --with-catalog \ + --without-icu \ + --without-zlib \ + --without-python \ + --without-legacy \ + --without-iconv \ + --without-debug \ + --without-docbook \ + --without-ftp \ + --without-html \ + --without-http \ + --without-sax1 \ + --without-schemas \ + --without-schematron \ + --without-valid \ + --without-modules \ + --without-lzma \ + --without-readline \ + --without-regexps \ + --without-c14n + make install -j${MASON_CONCURRENCY} +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include/libxml2" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lxml2 -lpthread -lm" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libxml2/2.9.3/.travis.yml b/scripts/libxml2/2.9.3/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/libxml2/2.9.3/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libxml2/2.9.3/script.sh b/scripts/libxml2/2.9.3/script.sh new file mode 100755 index 000000000..ae6c2d1f9 --- /dev/null +++ b/scripts/libxml2/2.9.3/script.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +MASON_NAME=libxml2 +MASON_VERSION=2.9.3 +MASON_LIB_FILE=lib/libxml2.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libxml-2.0.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://xmlsoft.org/libxml2/libxml2-${MASON_VERSION}.tar.gz \ + 5b5ff1b6cc9b5aa292a3748a45fc22fa9b46dc8e + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + # note --with-writer for osmium + ./configure --prefix=${MASON_PREFIX} \ + --enable-static --disable-shared ${MASON_HOST_ARG} \ + --with-writer \ + --with-xptr \ + --with-xpath \ + --with-xinclude \ + --with-threads \ + --with-tree \ + --with-catalog \ + --without-icu \ + --without-zlib \ + --without-python \ + --without-legacy \ + --without-iconv \ + --without-debug \ + --without-docbook \ + --without-ftp \ + --without-html \ + --without-http \ + --without-sax1 \ + --without-schemas \ + --without-schematron \ + --without-valid \ + --without-modules \ + --without-lzma \ + --without-readline \ + --without-regexps \ + --without-c14n + make install -j${MASON_CONCURRENCY} +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include/libxml2" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lxml2 -lpthread -lm" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libzip/0.11.2/.travis.yml b/scripts/libzip/0.11.2/.travis.yml new file mode 100644 index 000000000..a102335d1 --- /dev/null +++ b/scripts/libzip/0.11.2/.travis.yml @@ -0,0 +1,33 @@ +language: cpp +sudo: false + +os: + - linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + matrix: + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - env: MASON_PLATFORM=linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libzip/0.11.2/script.sh b/scripts/libzip/0.11.2/script.sh new file mode 100755 index 000000000..c900b853e --- /dev/null +++ b/scripts/libzip/0.11.2/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=libzip +MASON_VERSION=0.11.2 +MASON_LIB_FILE=lib/libzip.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libzip.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.nih.at/libzip/libzip-0.11.2.tar.gz \ + 5e2407b231390e1cb8234541e89693ae57487170 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libzip-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lzip + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libzip/1.0.1/.travis.yml b/scripts/libzip/1.0.1/.travis.yml new file mode 100644 index 000000000..278541a00 --- /dev/null +++ b/scripts/libzip/1.0.1/.travis.yml @@ -0,0 +1,36 @@ +language: cpp +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - os: linux + env: MASON_PLATFORM=linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libzip/1.0.1/script.sh b/scripts/libzip/1.0.1/script.sh new file mode 100755 index 000000000..a3a98afc9 --- /dev/null +++ b/scripts/libzip/1.0.1/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=libzip +MASON_VERSION=1.0.1 +MASON_LIB_FILE=lib/libzip.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libzip.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.nih.at/libzip/libzip-${MASON_VERSION}.tar.gz \ + b7761ee2ef581979df32f42637042f5663d766bf + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libzip-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lzip + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/libzip/1.1.3/.travis.yml b/scripts/libzip/1.1.3/.travis.yml new file mode 100644 index 000000000..11c4675f6 --- /dev/null +++ b/scripts/libzip/1.1.3/.travis.yml @@ -0,0 +1,43 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux + compiler: clang + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libzip/1.1.3/script.sh b/scripts/libzip/1.1.3/script.sh new file mode 100755 index 000000000..d1df74560 --- /dev/null +++ b/scripts/libzip/1.1.3/script.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +MASON_NAME=libzip +MASON_VERSION=1.1.3 +MASON_LIB_FILE=lib/libzip.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libzip.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.nih.at/libzip/libzip-${MASON_VERSION}.tar.gz \ + 4bc18317d0607d5a24b618a6a5c1c229dade48e8 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libzip-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lzip + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/lldb/3.9.0/.travis.yml b/scripts/lldb/3.9.0/.travis.yml new file mode 100644 index 000000000..c992578d9 --- /dev/null +++ b/scripts/lldb/3.9.0/.travis.yml @@ -0,0 +1,22 @@ +language: generic + +matrix: + include: + - os: osx + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/lldb/3.9.0/script.sh b/scripts/lldb/3.9.0/script.sh new file mode 100755 index 000000000..391259e3c --- /dev/null +++ b/scripts/lldb/3.9.0/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +# inherit all functions from base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +mason_run "$@" diff --git a/scripts/lldb/base/common.sh b/scripts/lldb/base/common.sh new file mode 100755 index 000000000..9b1250a4f --- /dev/null +++ b/scripts/lldb/base/common.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +function mason_build { + ${MASON_DIR}/mason install llvm ${MASON_VERSION} + CLANG_PREFIX=$(${MASON_DIR}/mason prefix llvm ${MASON_VERSION}) + # copy bin + mkdir -p "${MASON_PREFIX}/bin" + cp "${CLANG_PREFIX}/bin/${MASON_NAME}" "${MASON_PREFIX}/bin/" + # copy lib + mkdir -p "${MASON_PREFIX}/lib" + if [[ $(uname -s) == 'Darwin' ]]; then + cp -r ${CLANG_PREFIX}/lib/liblldb*.dylib "${MASON_PREFIX}/lib/" + else + cp -r ${CLANG_PREFIX}/lib/liblldb*.so* "${MASON_PREFIX}/lib/" + fi +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} \ No newline at end of file diff --git a/scripts/llvm-cov/3.9.0/.travis.yml b/scripts/llvm-cov/3.9.0/.travis.yml new file mode 100644 index 000000000..c992578d9 --- /dev/null +++ b/scripts/llvm-cov/3.9.0/.travis.yml @@ -0,0 +1,22 @@ +language: generic + +matrix: + include: + - os: osx + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/llvm-cov/3.9.0/script.sh b/scripts/llvm-cov/3.9.0/script.sh new file mode 100755 index 000000000..391259e3c --- /dev/null +++ b/scripts/llvm-cov/3.9.0/script.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" + +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +MASON_LIB_FILE=bin/${MASON_NAME} + +. ${MASON_DIR}/mason.sh + +# inherit all functions from base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +mason_run "$@" diff --git a/scripts/llvm-cov/base/common.sh b/scripts/llvm-cov/base/common.sh new file mode 100755 index 000000000..ccb83e897 --- /dev/null +++ b/scripts/llvm-cov/base/common.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +function mason_build { + ${MASON_DIR}/mason install llvm ${MASON_VERSION} + CLANG_PREFIX=$(${MASON_DIR}/mason prefix llvm ${MASON_VERSION}) + # copy bin + mkdir -p "${MASON_PREFIX}/bin" + cp "${CLANG_PREFIX}/bin/${MASON_NAME}" "${MASON_PREFIX}/bin/" + cp "${CLANG_PREFIX}/bin/llvm-profdata" "${MASON_PREFIX}/bin/" +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} \ No newline at end of file diff --git a/scripts/llvm/3.8.1/.travis.yml b/scripts/llvm/3.8.1/.travis.yml new file mode 100644 index 000000000..e8175bffa --- /dev/null +++ b/scripts/llvm/3.8.1/.travis.yml @@ -0,0 +1,9 @@ +language: generic + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- echo "nothing to do since travis cannot compile something as large as llvm" diff --git a/scripts/llvm/3.8.1/README.md b/scripts/llvm/3.8.1/README.md new file mode 100644 index 000000000..42f2d6f85 --- /dev/null +++ b/scripts/llvm/3.8.1/README.md @@ -0,0 +1,7 @@ +### llvm v3.8.1 + +This is a package of all llvm tools. Multiple packages are based on repackaging the binaries from this one including: + + - clang++ 3.8.1 + - clang-tidy 3.8.1 + - clang-format 3.8.1 \ No newline at end of file diff --git a/scripts/llvm/3.8.1/script.sh b/scripts/llvm/3.8.1/script.sh new file mode 100755 index 000000000..f629f4140 --- /dev/null +++ b/scripts/llvm/3.8.1/script.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +# inherit all functions from llvm base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +function setup_release() { + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/llvm-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/ 6de84b7bb71e49ef2764d364c4318e01fda1e1e3 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/cfe-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang 9a05f9c1c8dc865c064782dedbbbfb533c3909ac + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/compiler-rt-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/compiler-rt 678cbff6e177a18f4e2d0662901a744163da3347 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxx-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxx d15220e86eb8480e58a4378a4c977bbb5463fb79 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxxabi-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxxabi b7508c64ab8e670062ee57a12ae1e542bcb2bfb4 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libunwind-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libunwind 90c0184ca72e1999fec304f76bfa10340f038ee5 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lld-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lld 416c36ded12ead42dc4739d52eabf22267300883 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/clang-tools-extra-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang/tools/extra ea40e36d54dc8c9bb21cbebcc872a3221a2ed685 +} + +mason_run "$@" diff --git a/scripts/llvm/3.9.0/.travis.yml b/scripts/llvm/3.9.0/.travis.yml new file mode 100644 index 000000000..e8175bffa --- /dev/null +++ b/scripts/llvm/3.9.0/.travis.yml @@ -0,0 +1,9 @@ +language: generic + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- echo "nothing to do since travis cannot compile something as large as llvm" diff --git a/scripts/llvm/3.9.0/README.md b/scripts/llvm/3.9.0/README.md new file mode 100644 index 000000000..bbcf428f5 --- /dev/null +++ b/scripts/llvm/3.9.0/README.md @@ -0,0 +1,120 @@ +### llvm v3.9.0 + +This is a package of all llvm tools. Multiple packages are based on repackaging the binaries from this one including: + + - clang++ 3.9.0 + - clang-tidy 3.9.0 + - clang-format 3.9.0 + +### Details of package + +This package inherits from `scripts/llvm/base/common.sh`, which is a base configuration and not an actual package itself. + +Therefore to see the intricacies of how this package is built look in `scripts/llvm/base/common.sh`. + +The `scripts/llvm/base/common.sh` is used by both llvm 3.8.1 and llvm 3.9.0 packages (and future ones). It reduces duplication of package code and makes it easier to update the builds in one place to benefit all versions. + +The `scripts/llvm/3.9.0/script.sh` therefore sources `scripts/llvm/base/common.sh` and then overrides just the functions that need to be customized. At the time of writing this is only the `setup_release` function. It is customized in order to provide version specific md5 values which can ensure that upstream packages do not change without us noticing. + +### Details of builds + + - Done on Sept 22, 2016 by @springmeyer + - OS X build done on OS X 10.11 + - Linux build done on ubuntu precise + +The order and method of building was generally: + +```sh +VERSION=3.9.0 +./mason build llvm ${VERSION} +./mason publish llvm ${VERSION} +./mason build clang++ ${VERSION} +./mason publish clang++ ${VERSION} +./mason build clang-tidy ${VERSION} +./mason publish clang-tidy ${VERSION} +./mason build clang-format ${VERSION} +./mason publish clang-format ${VERSION} +``` + +#### OSX details + +On macOS we use the apple system clang++ to compile and link against the apple system libc++. + +```sh +$ clang++ -v +Apple LLVM version 7.3.0 (clang-703.0.31) +Target: x86_64-apple-darwin15.6.0 +Thread model: posix +InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin +``` + +Therefore the llvm package was built like: + +```sh +./mason build llvm 3.9.0 +``` + +#### Linux details + +On linux we use precise in order to ensure that binaries can be run on ubuntu precise and newer platforms. + +We still want to compile clang++ in c++11 mode so we compile clang++ using a mason provided clang++. + +To support c++11 we'd normally need to upgrade libstdc++ which would make it problematic for the resulting binary to be portable to linux systems without that upgraded libstdc++. So we avoid this issue by instead linking clang++ to libc++, which itself will travel inside the clang++ package. + +To accomplish this (c++11 build of clang++ and linking to libc++ instead of an upgraded libstdc++) we did: + +```sh +./mason install clang++ 3.9.0 +CLANG_39_PREFIX=$(./mason prefix clang 3.8.0) +export CXX=${CLANG_38_PREFIX}/bin/clang++-3.9 +export CC=${CLANG_38_PREFIX}/bin/clang-3.9 +./mason build llvm 3.9.0 +``` + +The reason `LD_LIBRARY_PATH` is set before the build is so that libc++.so can be found during linking. Once linked clang++ automatically uses the right @rpath on macOS and linux to find its own libc++.so at runtime. + +TODO: + + - Modify the llvm 3.9.0 build scripts to build libc++ and libc++abi first. + - Then we should be able to point LD_LIBRARY_PATH at llvm 3.9.0's libc++.so to avoid potential ABI mismatch with the version provided by 3.8.0 + - LD_LIBRARY_PATH would be pointed at the theoretical location of llvm 3.9.0's libc++, and that location would exist and become valid before llvm 3.9.0's clang++ is linked. + + +### Testing of these new tools + +Once these packages were built I needed to test that they could be used to build and publish other mason packages. And I needed to be able to test that these packages worked for downstream users. + +To accomplish this I branched mason and changed the `MASON_PLATFORM_ID` to enable publishing new binaries with llvm 3.9.0 tools without overwriting existing binaries. + +``` +diff --git a/mason.sh b/mason.sh +index 800216d..ccc1fcb 100644 +--- a/mason.sh ++++ b/mason.sh +@@ -259,7 +259,7 @@ MASON_SLUG=${MASON_NAME}-${MASON_VERSION} + if [[ ${MASON_HEADER_ONLY} == true ]]; then + MASON_PLATFORM_ID=headers + else +- MASON_PLATFORM_ID=${MASON_PLATFORM}-${MASON_PLATFORM_VERSION} ++ MASON_PLATFORM_ID=${MASON_PLATFORM}-${MASON_PLATFORM_VERSION}-llvm390 + fi + MASON_PREFIX=${MASON_ROOT}/${MASON_PLATFORM_ID}/${MASON_NAME}/${MASON_VERSION} + MASON_BINARIES=${MASON_PLATFORM_ID}/${MASON_NAME}/${MASON_VERSION}.tar.gz +``` + +But changing the `MASON_PLATFORM_ID` also means that you loose access to all existing binaries for building packages. To ensure I could still bootstrap the builds I seeded this new `MASON_PLATFORM_ID` with key build tools, including the previously built llvm tools being discussed here. + +``` +CUSTOM_PATH="llvm390" +aws s3 sync --acl public-read s3://mason-binaries/linux-x86_64/llvm/ s3://mason-binaries/linux-x86_64-{CUSTOM_PATH}/llvm/ +aws s3 sync --acl public-read s3://mason-binaries/linux-x86_64/clang++/ s3://mason-binaries/linux-x86_64-{CUSTOM_PATH}/clang++/ +aws s3 sync --acl public-read s3://mason-binaries/linux-x86_64/cmake/ s3://mason-binaries/linux-x86_64-{CUSTOM_PATH}/cmake/ +aws s3 sync --acl public-read s3://mason-binaries/linux-x86_64/ccache/ s3://mason-binaries/linux-x86_64-{CUSTOM_PATH}/ccache/ +aws s3 sync --acl public-read s3://mason-binaries/linux-x86_64/ninja/ s3://mason-binaries/linux-x86_64-{CUSTOM_PATH}/ninja/ +aws s3 sync --acl public-read s3://mason-binaries/osx-x86_64/llvm/ s3://mason-binaries/osx-x86_64-{CUSTOM_PATH}/llvm/ +aws s3 sync --acl public-read s3://mason-binaries/osx-x86_64/clang++/ s3://mason-binaries/osx-x86_64-{CUSTOM_PATH}/clang++/ +aws s3 sync --acl public-read s3://mason-binaries/osx-x86_64/cmake/ s3://mason-binaries/osx-x86_64-{CUSTOM_PATH}/cmake/ +aws s3 sync --acl public-read s3://mason-binaries/osx-x86_64/ccache/ s3://mason-binaries/osx-x86_64-{CUSTOM_PATH}/ccache/ +aws s3 sync --acl public-read s3://mason-binaries/osx-x86_64/ninja/ s3://mason-binaries/osx-x86_64-{CUSTOM_PATH}/ninja/ +``` diff --git a/scripts/llvm/3.9.0/script.sh b/scripts/llvm/3.9.0/script.sh new file mode 100755 index 000000000..f6726bc0a --- /dev/null +++ b/scripts/llvm/3.9.0/script.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +# inherit all functions from llvm base +source ${HERE}/../../${MASON_NAME}/base/common.sh + +function setup_release() { + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/llvm-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/ 00f5268479117c9c7f90d0f9e2f06485875f5444 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/cfe-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang 465e70cfb1d8b3fb5d1f6577933f7b5014aca3bd + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/compiler-rt-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/compiler-rt 7a2ea8a7257a739330d8f7cfe2bcb70939476f31 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxx-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxx 248635c4821b9f2e4b620364c21a2596eed514cd + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxxabi-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxxabi 04ffa28577ec3d935dcd69d137a2e478e71f2704 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libunwind-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libunwind 32e17eaf6a5b769c244480bd32ab3c9cbdf6c97d + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lld-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lld e1829cd47a5c44ad6c68957056afe63879ad9610 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/clang-tools-extra-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang/tools/extra 8e7e118a769c76e70d5fb2ede66c8f5a2952f8d9 + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lldb-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lldb 988766cbb3d4a295b33dd11f51f7f20811bfa8f2 +} + +mason_run "$@" diff --git a/scripts/llvm/4.x/.travis.yml b/scripts/llvm/4.x/.travis.yml new file mode 100644 index 000000000..e8175bffa --- /dev/null +++ b/scripts/llvm/4.x/.travis.yml @@ -0,0 +1,9 @@ +language: generic + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- echo "nothing to do since travis cannot compile something as large as llvm" diff --git a/scripts/llvm/4.x/README.md b/scripts/llvm/4.x/README.md new file mode 100644 index 000000000..6ce52d7fd --- /dev/null +++ b/scripts/llvm/4.x/README.md @@ -0,0 +1,3 @@ +### llvm v4.x + +Development package of llvm git head \ No newline at end of file diff --git a/scripts/llvm/4.x/script.sh b/scripts/llvm/4.x/script.sh new file mode 100755 index 000000000..2885a3ff7 --- /dev/null +++ b/scripts/llvm/4.x/script.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# dynamically determine the path to this package +HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )" +# dynamically take name of package from directory +MASON_NAME=$(basename $(dirname $HERE)) +# dynamically take the version of the package from directory +MASON_VERSION=$(basename $HERE) +# inherit all functions from llvm base +source ${HERE}/../../${MASON_NAME}/base/common.sh + + +# git_get https://github.com/include-what-you-use/include-what-you-use.git ${LLVM_RELEASE}/llvm/tools/clang/tools/include-what-you-use + +function setup_release() { + get_llvm_project "http://llvm.org/git/llvm.git" ${MASON_BUILD_PATH} + get_llvm_project "http://llvm.org/git/clang.git" ${MASON_BUILD_PATH}/tools/clang + get_llvm_project "http://llvm.org/git/compiler-rt.git" ${MASON_BUILD_PATH}/projects/compiler-rt + get_llvm_project "http://llvm.org/git/libcxx.git" ${MASON_BUILD_PATH}/projects/libcxx + get_llvm_project "http://llvm.org/git/libcxxabi.git" ${MASON_BUILD_PATH}/projects/libcxxabi + get_llvm_project "http://llvm.org/git/libunwind.git" ${MASON_BUILD_PATH}/projects/libunwind + get_llvm_project "http://llvm.org/git/lld.git" ${MASON_BUILD_PATH}/tools/lld + get_llvm_project "http://llvm.org/git/clang-tools-extra.git" ${MASON_BUILD_PATH}/tools/clang/tools/extra + get_llvm_project "http://llvm.org/git/lldb.git" ${MASON_BUILD_PATH}/tools/lldb +} + +mason_run "$@" diff --git a/scripts/llvm/base/common.sh b/scripts/llvm/base/common.sh new file mode 100755 index 000000000..d7a51e590 --- /dev/null +++ b/scripts/llvm/base/common.sh @@ -0,0 +1,188 @@ +#!/usr/bin/env bash + +MASON_NAME=llvm +MASON_LIB_FILE=bin/clang + +. ${MASON_DIR}/mason.sh + +# we use this custom function rather than "mason_download" since we need to easily grab multiple packages +function get_llvm_project() { + local URL=${1} + local TO_DIR=${2} + if [[ ${TO_DIR:-false} == false ]]; then + mason_error "TO_DIR unset" + exit 1 + fi + local EXPECTED_HASH=${3:-false} + local file_basename=$(basename ${URL}) + local local_checkout=$(pwd)/${file_basename} + if [[ ${URL} =~ '.git' ]]; then + if [ ! -d ${local_checkout} ] ; then + mason_step "cloning ${URL} to ${local_checkout}" + git clone --depth 1 ${URL} ${local_checkout} + else + mason_substep "already cloned ${URL}, pulling to update" + (cd ${local_checkout} && git pull) + fi + mason_step "moving ${local_checkout} into place at ${TO_DIR}" + cp -r ${local_checkout} ${TO_DIR} + else + if [ ! -f ${local_file} ] ; then + mason_step "Downloading ${URL} to ${local_file}" + curl --retry 3 -f -L -O "${URL}" + else + mason_substep "already downloaded $1 to ${local_file}" + fi + OBJECT_HASH=$(git hash-object ${local_file}) + if [[ ${EXPECTED_HASH:-false} == false ]]; then + mason_error "Warning: no expected hash provided by script.sh, actual was ${OBJECT_HASH}" + else + if [[ $3 != ${OBJECT_HASH} ]]; then + mason_error "Error: hash mismatch ${EXPECTED_HASH} (expected) != ${OBJECT_HASH} (actual)" + exit 1 + else + mason_success "Success: hash matched: ${EXPECTED_HASH} (expected) == ${OBJECT_HASH} (actual)" + fi + fi + mason_step "uncompressing ${local_file}" + tar xf ${local_file} + local uncompressed_dir=${file_basename/.tar.xz} + mason_step "moving ${uncompressed_dir} into place at ${TO_DIR}" + mv ${uncompressed_dir} ${TO_DIR} + fi +} + +# Note: override this function to set custom hash +function setup_release() { + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/llvm-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/ + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/cfe-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/compiler-rt-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/compiler-rt + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxx-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxx + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxxabi-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxxabi + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libunwind-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libunwind + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lld-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lld + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/clang-tools-extra-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang/tools/extra + get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lldb-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lldb +} + +function mason_load_source { + mkdir -p "${MASON_ROOT}/.cache" + cd "${MASON_ROOT}/.cache" + export MASON_BUILD_PATH=${MASON_ROOT}/.build/llvm-${MASON_VERSION} + mkdir -p "${MASON_ROOT}/.build" + if [[ -d ${MASON_BUILD_PATH}/ ]]; then + rm -rf ${MASON_BUILD_PATH}/ + fi + # NOTE: this setup_release can be overridden per package to assert on different hash + setup_release +} + +function mason_prepare_compile { + CCACHE_VERSION=3.3.1 + CMAKE_VERSION=3.6.2 + NINJA_VERSION=1.7.1 + + ${MASON_DIR}/mason install ccache ${CCACHE_VERSION} + MASON_CCACHE=$(${MASON_DIR}/mason prefix ccache ${CCACHE_VERSION}) + ${MASON_DIR}/mason install cmake ${CMAKE_VERSION} + MASON_CMAKE=$(${MASON_DIR}/mason prefix cmake ${CMAKE_VERSION}) + ${MASON_DIR}/mason install ninja ${NINJA_VERSION} + MASON_NINJA=$(${MASON_DIR}/mason prefix ninja ${NINJA_VERSION}) +} + +function mason_compile { + export CXX="${CXX:-clang++}" + export CC="${CC:-clang}" + # knock out lldb doc building, to remove doxygen dependency + perl -i -p -e "s/add_subdirectory\(docs\)//g;" tools/lldb/CMakeLists.txt + mkdir -p ./build + cd ./build + CMAKE_EXTRA_ARGS="" + if [[ $(uname -s) == 'Darwin' ]]; then + # This is a stable location for libc++ headers from the system + SYSTEM_LIBCXX_HEADERS="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/" + # This is the location of C headers on 10.11 + OSX_10_11_SDK_C_HEADERS="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/" + # This is the location of C headers on >= 10.12 which is a symlink to the versioned SDK + OSX_10_12_AND_GREATER_SDK_HEADERS="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/" + # This allows this version of clang to find the headers from only a command line tools install (no xcode installed) + # It is debatable whether this should be supported + COMMAND_LINE_TOOLS_C_HEADERS="/usr/include" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DC_INCLUDE_DIRS=:${SYSTEM_LIBCXX_HEADERS}:${OSX_10_12_AND_GREATER_SDK_HEADERS}:${OSX_10_11_SDK_C_HEADERS}:${COMMAND_LINE_TOOLS_C_HEADERS}" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCLANG_DEFAULT_CXX_STDLIB=libc++" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DDEFAULT_SYSROOT=/" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11" + CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DLLVM_CREATE_XCODE_TOOLCHAIN=ON" + fi + # we link to libc++ even on linux to avoid runtime dependency on libstdc++: + # https://github.com/mapbox/mason/issues/252 + export CXXFLAGS="-stdlib=libc++ ${CXXFLAGS//-mmacosx-version-min=10.8}" + export LDFLAGS="-stdlib=libc++ ${LDFLAGS//-mmacosx-version-min=10.8}" + if [[ $(uname -s) == 'Linux' ]]; then + export LDFLAGS="${LDFLAGS} -Wl,--start-group -L$(pwd)/lib -lc++ -lc++abi -pthread -lc -lgcc_s" + fi + # llvm may request c++14 instead so let's not force c++11 + # TODO: -fvisibility=hidden breaks just lldb + export CXXFLAGS="${CXXFLAGS//-std=c++11}" + + # TODO: test this + #-DLLVM_ENABLE_LTO=ON \ + + ${MASON_CMAKE}/bin/cmake ../ -G Ninja -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER_LAUNCHER="${MASON_CCACHE}/bin/ccache" \ + -DCMAKE_CXX_COMPILER="$CXX" \ + -DCMAKE_C_COMPILER="$CC" \ + -DLIBCXX_ENABLE_ASSERTIONS=OFF \ + -DLIBCXXABI_ENABLE_SHARED=OFF \ + -DLIBUNWIND_ENABLE_SHARED=OFF \ + -DLIBCXX_ENABLE_SHARED=OFF \ + -DLIBCXXABI_USE_LLVM_UNWINDER=ON \ + -DLLVM_ENABLE_ASSERTIONS=OFF \ + -DCLANG_VENDOR="mapbox/mason" \ + -DCLANG_REPOSITORY_STRING="https://github.com/mapbox/mason" \ + -DCLANG_VENDOR_UTI="org.mapbox.llvm" \ + -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DLLDB_DISABLE_PYTHON=1 -DLLDB_DISABLE_CURSES=1 -DLLDB_DISABLE_LIBEDIT=1 -DLLVM_ENABLE_TERMINFO=0 \ + -DCMAKE_MAKE_PROGRAM=${MASON_NINJA}/bin/ninja \ + ${CMAKE_EXTRA_ARGS} + + # make libc++ and libc++abi first + # this ensures that the LD_LIBRARY_PATH above will be valid + # and that clang++ on linux will be able to link itself to + # this same instance of libc++ + ${MASON_NINJA}/bin/ninja unwind -v -j${MASON_CONCURRENCY} + ${MASON_NINJA}/bin/ninja cxxabi -v -j${MASON_CONCURRENCY} + ${MASON_NINJA}/bin/ninja cxx -v -j${MASON_CONCURRENCY} + # no move the host compilers libc++ and libc++abi shared libs out of the way + if [[ ${CXX_BOOTSTRAP:-false} != false ]]; then + mkdir -p /tmp/backup_shlibs + mv $(dirname $(dirname $CXX))/lib/*c++*so /tmp/backup_shlibs/ + fi + # then make everything else + ${MASON_NINJA}/bin/ninja -j${MASON_CONCURRENCY} + # install it all + ${MASON_NINJA}/bin/ninja install + # set up symlinks for clang++ to match what llvm.org binaries provide + cd ${MASON_PREFIX}/bin/ + MAJOR_MINOR=$(echo $MASON_VERSION | cut -d '.' -f1-2) + rm -f "clang++-${MAJOR_MINOR}" + ln -s "clang++" "clang++-${MAJOR_MINOR}" + # restore host compilers sharedlibs + if [[ ${CXX_BOOTSTRAP:-false} != false ]]; then + cp -r /tmp/backup_shlibs/* $(dirname $(dirname $CXX))/lib/ + fi +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} diff --git a/scripts/lua/5.1.0/.travis.yml b/scripts/lua/5.1.0/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/lua/5.1.0/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/lua/5.1.0/script.sh b/scripts/lua/5.1.0/script.sh new file mode 100755 index 000000000..1193421eb --- /dev/null +++ b/scripts/lua/5.1.0/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=lua +MASON_VERSION=5.1.0 +MASON_LIB_FILE=lib/liblua.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.lua.org/ftp/lua-5.1.tar.gz \ + 3f8d5a84a38423829765512118bbf26c500b0c06 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-5.1 +} + +function mason_compile { + make generic CC=$CC CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" INSTALL_TOP=${MASON_PREFIX} install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -llua" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/lua/5.2.4/.travis.yml b/scripts/lua/5.2.4/.travis.yml new file mode 100644 index 000000000..911342093 --- /dev/null +++ b/scripts/lua/5.2.4/.travis.yml @@ -0,0 +1,22 @@ +language: generic + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + compiler: clang + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/lua/5.2.4/patch.diff b/scripts/lua/5.2.4/patch.diff new file mode 100644 index 000000000..d0d7b9817 --- /dev/null +++ b/scripts/lua/5.2.4/patch.diff @@ -0,0 +1,17 @@ +diff --git a/src/Makefile b/src/Makefile +index 7b4b2b7..c1e3507 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -6,9 +6,9 @@ + # Your platform. See PLATS for possible values. + PLAT= none + +-CC= gcc +-CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS) +-LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) ++CC := $(CC) ++CFLAGS := -O3 -DNDEBUG -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS) ++LDFLAGS := $(SYSLDFLAGS) $(MYLDFLAGS) + LIBS= -lm $(SYSLIBS) $(MYLIBS) + + AR= ar rcu diff --git a/scripts/lua/5.2.4/script.sh b/scripts/lua/5.2.4/script.sh new file mode 100755 index 000000000..03b864452 --- /dev/null +++ b/scripts/lua/5.2.4/script.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +MASON_NAME=lua +MASON_VERSION=5.2.4 +MASON_LIB_FILE=lib/liblua.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.lua.org/ftp/lua-${MASON_VERSION}.tar.gz \ + 6dd4526fdae5a7f76e44febf4d3066614920c43e + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + mason_step "Loading patch ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff" + patch -N -p1 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff + make generic CC=$CC MYCFLAGS="${CFLAGS}" MYLDFLAGS="${LDFLAGS}" INSTALL_TOP=${MASON_PREFIX} install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -llua" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/lua/5.3.0/.travis.yml b/scripts/lua/5.3.0/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/lua/5.3.0/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/lua/5.3.0/script.sh b/scripts/lua/5.3.0/script.sh new file mode 100755 index 000000000..d755a6c50 --- /dev/null +++ b/scripts/lua/5.3.0/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=lua +MASON_VERSION=5.3.0 +MASON_LIB_FILE=lib/liblua.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.lua.org/ftp/lua-5.3.0.tar.gz \ + 44ffcfd0f38445c76e5d58777089f392bed175c3 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + make generic CC=$CC CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" INSTALL_TOP=${MASON_PREFIX} install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -llua" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/luabind/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml b/scripts/luabind/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/luabind/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/luabind/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh b/scripts/luabind/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh new file mode 100755 index 000000000..c5f0098be --- /dev/null +++ b/scripts/luabind/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +MASON_NAME=luabind +MASON_VERSION=e414c57bcb687bb3091b7c55bbff6947f052e46b +MASON_LIB_FILE=lib/libluabind.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/luabind/archive/${MASON_VERSION}.tar.gz \ + 49bbe06214a6a747a1f20eba34b7c2d0ea41c51a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install lua 5.3.0 + MASON_LUA=$(${MASON_DIR}/mason prefix lua 5.3.0) + ${MASON_DIR}/mason install boost 1.57.0 + MASON_BOOST_HEADERS=$(${MASON_DIR}/mason prefix boost 1.57.0) + SYSTEM_ZLIB="/usr" +} + +function mason_compile { + mkdir build + cd build + cmake + cmake ../ -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DLUA_LIBRARIES=${MASON_LUA}/lib \ + -DLUA_INCLUDE_DIR=${MASON_LUA}/include \ + -DBOOST_INCLUDEDIR=${MASON_BOOST_HEADERS}/include \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lluabind" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/luabind_lua51/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml b/scripts/luabind_lua51/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/luabind_lua51/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/luabind_lua51/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh b/scripts/luabind_lua51/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh new file mode 100755 index 000000000..6368bf7c7 --- /dev/null +++ b/scripts/luabind_lua51/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +MASON_NAME=luabind_lua51 +MASON_VERSION=e414c57bcb687bb3091b7c55bbff6947f052e46b +MASON_LIB_FILE=lib/libluabind.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/luabind/archive/${MASON_VERSION}.tar.gz \ + 49bbe06214a6a747a1f20eba34b7c2d0ea41c51a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/luabind-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install lua 5.1.0 + MASON_LUA=$(${MASON_DIR}/mason prefix lua 5.1.0) + ${MASON_DIR}/mason install boost 1.57.0 + MASON_BOOST_HEADERS=$(${MASON_DIR}/mason prefix boost 1.57.0) + SYSTEM_ZLIB="/usr" +} + +function mason_compile { + mkdir build + cd build + cmake + cmake ../ -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DLUA_LIBRARIES=${MASON_LUA}/lib \ + -DLUA_INCLUDE_DIR=${MASON_LUA}/include \ + -DBOOST_INCLUDEDIR=${MASON_BOOST_HEADERS}/include \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lluabind" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/luabind_lua524/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml b/scripts/luabind_lua524/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml new file mode 100644 index 000000000..911342093 --- /dev/null +++ b/scripts/luabind_lua524/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml @@ -0,0 +1,22 @@ +language: generic + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7.3 + - os: linux + compiler: clang + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} \ No newline at end of file diff --git a/scripts/luabind_lua524/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh b/scripts/luabind_lua524/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh new file mode 100755 index 000000000..697d72650 --- /dev/null +++ b/scripts/luabind_lua524/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +MASON_NAME=luabind_lua524 +MASON_VERSION=e414c57bcb687bb3091b7c55bbff6947f052e46b +MASON_LIB_FILE=lib/libluabind.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/luabind/archive/${MASON_VERSION}.tar.gz \ + 49bbe06214a6a747a1f20eba34b7c2d0ea41c51a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/luabind-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install lua 5.2.4 + MASON_LUA=$(${MASON_DIR}/mason prefix lua 5.2.4) + ${MASON_DIR}/mason install boost 1.61.0 + MASON_BOOST_HEADERS=$(${MASON_DIR}/mason prefix boost 1.61.0) + ${MASON_DIR}/mason install cmake 3.5.2 + MASON_CMAKE=$(${MASON_DIR}/mason prefix cmake 3.5.2) +} + +function mason_compile { + rm -rf build + mkdir build + cd build + ${MASON_CMAKE}/bin/cmake ../ -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DLUA_COMPAT_ALL" \ + -DLUA_LIBRARIES=${MASON_LUA}/lib \ + -DLUA_INCLUDE_DIR=${MASON_LUA}/include \ + -DBOOST_INCLUDEDIR=${MASON_BOOST_HEADERS}/include \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lluabind" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/luabind_luajit2.0.3/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml b/scripts/luabind_luajit2.0.3/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/luabind_luajit2.0.3/e414c57bcb687bb3091b7c55bbff6947f052e46b/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/luabind_luajit2.0.3/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh b/scripts/luabind_luajit2.0.3/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh new file mode 100755 index 000000000..802eeb9a0 --- /dev/null +++ b/scripts/luabind_luajit2.0.3/e414c57bcb687bb3091b7c55bbff6947f052e46b/script.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +MASON_NAME=luabind_luajit2.0.3 +MASON_VERSION=e414c57bcb687bb3091b7c55bbff6947f052e46b +MASON_LIB_FILE=lib/libluabind.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/luabind/archive/${MASON_VERSION}.tar.gz \ + 49bbe06214a6a747a1f20eba34b7c2d0ea41c51a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/luabind-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install luajit 2.0.3 + MASON_LUA=$(${MASON_DIR}/mason prefix luajit 2.0.3) + ${MASON_DIR}/mason install boost 1.57.0 + MASON_BOOST_HEADERS=$(${MASON_DIR}/mason prefix boost 1.57.0) + SYSTEM_ZLIB="/usr" +} + +function mason_compile { + mkdir build + cd build + cmake + cmake ../ -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DLUA_LIBRARIES=${MASON_LUA}/lib \ + -DLUA_INCLUDE_DIR=${MASON_LUA}/include/luajit-2.0 \ + -DBOOST_INCLUDEDIR=${MASON_BOOST_HEADERS}/include \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lluabind" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/luajit/2.0.3/.travis.yml b/scripts/luajit/2.0.3/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/luajit/2.0.3/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/luajit/2.0.3/script.sh b/scripts/luajit/2.0.3/script.sh new file mode 100755 index 000000000..1fb044ed0 --- /dev/null +++ b/scripts/luajit/2.0.3/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=luajit +MASON_VERSION=2.0.3 +MASON_LIB_FILE=lib/libluajit-5.1.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://luajit.org/download/LuaJIT-2.0.3.tar.gz \ + 0705f5967736b3b01fe7b96af03a8fff45fa43d8 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/LuaJIT-${MASON_VERSION} +} + +function mason_compile { + make CC=$CC CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" PREFIX=${MASON_PREFIX} install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "ld ${MASON_PREFIX}/lib/libluajit-5.1.a" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mapnik/3.0.0-rc2/.travis.yml b/scripts/mapnik/3.0.0-rc2/.travis.yml new file mode 100644 index 000000000..a283000bc --- /dev/null +++ b/scripts/mapnik/3.0.0-rc2/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mapnik/3.0.0-rc2/script.sh b/scripts/mapnik/3.0.0-rc2/script.sh new file mode 100755 index 000000000..0f98dc939 --- /dev/null +++ b/scripts/mapnik/3.0.0-rc2/script.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +MASON_NAME=mapnik +MASON_VERSION=3.0.0-rc2 +MASON_LIB_FILE=lib/libmapnik-wkt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapnik/mapnik/archive/v${MASON_VERSION}.tar.gz \ + bd852ee3f7348ead66e6a6d78741f323365a49f0 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapnik-${MASON_VERSION} +} + +function mason_compile { + echo $(pwd) + source bootstrap.sh + cat config.py + ./configure PREFIX=${MASON_PREFIX} PYTHON_PREFIX=${MASON_PREFIX} PATH_REPLACE='' MAPNIK_BUNDLED_SHARE_DIRECTORY=True || true + cat ${MASON_BUILD_PATH}"/config.log" + cat config.py + echo $(pwd) + JOBS=${MASON_CONCURRENCY} make + make install + if [[ `uname` = 'Darwin' ]]; then + install_name_tool -id @loader_path/libmapnik.dylib ${MASON_PREFIX}"/lib/libmapnik.dylib"; + PLUGINDIRS=${MASON_PREFIX}"/lib/mapnik/input/*.input"; + for f in $PLUGINDIRS; do + echo $f; + echo `basename $f`; + install_name_tool -id plugins/input/`basename $f` $f; + install_name_tool -change ${MASON_PREFIX}"/lib/libmapnik.dylib" @loader_path/../../libmapnik.dylib $f; + done; + fi + # push over GDAL_DATA, ICU_DATA, PROJ_LIB + # fix mapnik-config entries for deps + HERE=$(pwd) + python -c "data=open('$MASON_PREFIX/bin/mapnik-config','r').read();open('$MASON_PREFIX/bin/mapnik-config','w').write(data.replace('$HERE','.'))" + cat $MASON_PREFIX/bin/mapnik-config + mkdir -p ${MASON_PREFIX}/share/gdal + mkdir -p ${MASON_PREFIX}/share/proj + mkdir -p ${MASON_PREFIX}/share/icu + cp -r $GDAL_DATA/ ${MASON_PREFIX}/share/gdal/ + cp -r $PROJ_LIB/ ${MASON_PREFIX}/share/proj/ + cp -r $ICU_DATA/*dat ${MASON_PREFIX}/share/icu/ + find ${MASON_PREFIX} -name "*.pyc" -exec rm {} \; +} + +function mason_cflags { + "" +} + +function mason_ldflags { + "" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mapnik/3.0.0-rc3/.travis.yml b/scripts/mapnik/3.0.0-rc3/.travis.yml new file mode 100644 index 000000000..a283000bc --- /dev/null +++ b/scripts/mapnik/3.0.0-rc3/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mapnik/3.0.0-rc3/script.sh b/scripts/mapnik/3.0.0-rc3/script.sh new file mode 100755 index 000000000..73f5286cb --- /dev/null +++ b/scripts/mapnik/3.0.0-rc3/script.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +MASON_NAME=mapnik +MASON_VERSION=3.0.0-rc3 +MASON_LIB_FILE=lib/libmapnik-wkt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://s3.amazonaws.com/mapnik/dist/v${MASON_VERSION}/mapnik-v{$MASON_VERSION}.tar.bz2 \ + d6bf086cccc213db4e1196293f69869235af9008 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapnik-v${MASON_VERSION} +} + +function mason_compile { + echo $(pwd) + source bootstrap.sh + cat config.py + ./configure PREFIX=${MASON_PREFIX} PYTHON_PREFIX=${MASON_PREFIX} PATH_REPLACE='' MAPNIK_BUNDLED_SHARE_DIRECTORY=True || true + cat ${MASON_BUILD_PATH}"/config.log" + cat config.py + echo $(pwd) + JOBS=${MASON_CONCURRENCY} make + make install + if [[ `uname` = 'Darwin' ]]; then + install_name_tool -id @loader_path/libmapnik.dylib ${MASON_PREFIX}"/lib/libmapnik.dylib"; + PLUGINDIRS=${MASON_PREFIX}"/lib/mapnik/input/*.input"; + for f in $PLUGINDIRS; do + echo $f; + echo `basename $f`; + install_name_tool -id plugins/input/`basename $f` $f; + install_name_tool -change ${MASON_PREFIX}"/lib/libmapnik.dylib" @loader_path/../../libmapnik.dylib $f; + done; + fi + # push over GDAL_DATA, ICU_DATA, PROJ_LIB + # fix mapnik-config entries for deps + HERE=$(pwd) + python -c "data=open('$MASON_PREFIX/bin/mapnik-config','r').read();open('$MASON_PREFIX/bin/mapnik-config','w').write(data.replace('$HERE','.'))" + cat $MASON_PREFIX/bin/mapnik-config + mkdir -p ${MASON_PREFIX}/share/gdal + mkdir -p ${MASON_PREFIX}/share/proj + mkdir -p ${MASON_PREFIX}/share/icu + cp -r $GDAL_DATA/ ${MASON_PREFIX}/share/gdal/ + cp -r $PROJ_LIB/ ${MASON_PREFIX}/share/proj/ + cp -r $ICU_DATA/*dat ${MASON_PREFIX}/share/icu/ + find ${MASON_PREFIX} -name "*.pyc" -exec rm {} \; +} + +function mason_cflags { + "" +} + +function mason_ldflags { + "" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mapnik/3.0.0/.travis.yml b/scripts/mapnik/3.0.0/.travis.yml new file mode 100644 index 000000000..a283000bc --- /dev/null +++ b/scripts/mapnik/3.0.0/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mapnik/3.0.0/script.sh b/scripts/mapnik/3.0.0/script.sh new file mode 100755 index 000000000..5f0ef0964 --- /dev/null +++ b/scripts/mapnik/3.0.0/script.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash + +MASON_NAME=mapnik +MASON_VERSION=3.0.0 +MASON_LIB_FILE=lib/libmapnik-wkt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://s3.amazonaws.com/mapnik/dist/v${MASON_VERSION}/mapnik-v${MASON_VERSION}.tar.bz2 \ + 24699baf01fa24c09bee472d6e2b3a543326a161 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapnik-v${MASON_VERSION} +} + +function mason_compile { + echo $(pwd) + source bootstrap.sh + if [[ $(uname -s) = 'Linux' ]]; then + echo "CUSTOM_LDFLAGS = '-Wl,-z,origin -Wl,-rpath=\\\$\$ORIGIN'" >> config.py + fi + cat config.py + ./configure PREFIX=${MASON_PREFIX} PYTHON_PREFIX=${MASON_PREFIX} + cat ${MASON_BUILD_PATH}"/config.log" + cat config.py + echo $(pwd) + JOBS=${MASON_CONCURRENCY} make + make install + if [[ `uname` = 'Darwin' ]]; then + install_name_tool -id @loader_path/libmapnik.dylib ${MASON_PREFIX}"/lib/libmapnik.dylib"; + PLUGINDIRS=${MASON_PREFIX}"/lib/mapnik/input/*.input"; + for f in $PLUGINDIRS; do + echo $f; + echo `basename $f`; + install_name_tool -id plugins/input/`basename $f` $f; + install_name_tool -change ${MASON_PREFIX}"/lib/libmapnik.dylib" @loader_path/../../libmapnik.dylib $f; + done; + fi + # push over GDAL_DATA, ICU_DATA, PROJ_LIB + # fix mapnik-config entries for deps + HERE=$(pwd) + python -c "data=open('$MASON_PREFIX/bin/mapnik-config','r').read();open('$MASON_PREFIX/bin/mapnik-config','w').write(data.replace('$HERE','.'))" + cat $MASON_PREFIX/bin/mapnik-config + mkdir -p ${MASON_PREFIX}/share/icu + cp -r $GDAL_DATA ${MASON_PREFIX}/share/ + cp -r $PROJ_LIB ${MASON_PREFIX}/share/ + cp -r $ICU_DATA/*dat ${MASON_PREFIX}/share/icu/ + find ${MASON_PREFIX} -name "*.pyc" -exec rm {} \; +} + +function mason_cflags { + "" +} + +function mason_ldflags { + "" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mapnik/dev/.travis.yml b/scripts/mapnik/dev/.travis.yml new file mode 100644 index 000000000..a283000bc --- /dev/null +++ b/scripts/mapnik/dev/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mapnik/dev/script.sh b/scripts/mapnik/dev/script.sh new file mode 100755 index 000000000..cc323b379 --- /dev/null +++ b/scripts/mapnik/dev/script.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +MASON_NAME=mapnik +MASON_VERSION=dev +MASON_LIB_FILE=lib/libmapnik-wkt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapnik-3.x + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + git clone --depth 1 https://github.com/mapnik/mapnik.git ${MASON_BUILD_PATH} + else + (cd ${MASON_BUILD_PATH} && git pull) + fi +} + +function mason_compile { + echo $(pwd) + source bootstrap.sh + cat config.py + ./configure PREFIX=${MASON_PREFIX} PYTHON_PREFIX=${MASON_PREFIX} PATH_REMOVE='/usr' RUNTIME_LINK='static' || true + cat ${MASON_BUILD_PATH}"/config.log" + echo $(pwd) + JOBS=${MASON_CONCURRENCY} make + make install + # push over GDAL_DATA, ICU_DATA, PROJ_LIB + # fix mapnik-config entries for deps + HERE=$(pwd) + python -c "data=open('$MASON_PREFIX/bin/mapnik-config','r').read();open('$MASON_PREFIX/bin/mapnik-config','w').write(data.replace('$HERE','.'))" + cat $MASON_PREFIX/bin/mapnik-config + mkdir -p ${MASON_PREFIX}/share/gdal + mkdir -p ${MASON_PREFIX}/share/proj + mkdir -p ${MASON_PREFIX}/share/icu + cp -r $GDAL_DATA/ ${MASON_PREFIX}/share/gdal/ + cp -r $PROJ_LIB/ ${MASON_PREFIX}/share/proj/ + cp -r $ICU_DATA/*dat ${MASON_PREFIX}/share/icu/ + find ${MASON_PREFIX} -name "*.pyc" -exec rm {} \; +} + +function mason_cflags { + "" +} + +function mason_ldflags { + "" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mapnik/geom/.travis.yml b/scripts/mapnik/geom/.travis.yml new file mode 100644 index 000000000..95f982410 --- /dev/null +++ b/scripts/mapnik/geom/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mapnik/geom/script.sh b/scripts/mapnik/geom/script.sh new file mode 100755 index 000000000..930d0d781 --- /dev/null +++ b/scripts/mapnik/geom/script.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +MASON_NAME=mapnik +MASON_VERSION=geom +MASON_LIB_FILE=lib/libmapnik-wkt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapnik-3.x + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + git clone https://github.com/mapnik/mapnik.git ${MASON_BUILD_PATH} -b mapnik-geometry + else + (cd ${MASON_BUILD_PATH} && git pull && git checkout mapnik-geometry) + fi +} + +function mason_compile { + echo $(pwd) + source bootstrap.sh + cat config.py + ./configure PREFIX=${MASON_PREFIX} PYTHON_PREFIX=${MASON_PREFIX} PATH_REPLACE='' + cat config.py + echo $(pwd) + JOBS=${MASON_CONCURRENCY} make + make install + # push over GDAL_DATA, ICU_DATA, PROJ_LIB + # fix mapnik-config entries for deps + HERE=$(pwd) + python -c "data=open('$MASON_PREFIX/bin/mapnik-config','r').read();open('$MASON_PREFIX/bin/mapnik-config','w').write(data.replace('$HERE','.'))" + cat $MASON_PREFIX/bin/mapnik-config + mkdir -p ${MASON_PREFIX}/share/gdal + mkdir -p ${MASON_PREFIX}/share/proj + mkdir -p ${MASON_PREFIX}/share/icu + cp -r $GDAL_DATA/ ${MASON_PREFIX}/share/gdal/ + cp -r $PROJ_LIB/ ${MASON_PREFIX}/share/proj/ + cp -r $ICU_DATA/*dat ${MASON_PREFIX}/share/icu/ + find ${MASON_PREFIX} -name "*.pyc" -exec rm {} \; +} + +function mason_cflags { + "" +} + +function mason_ldflags { + "" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mapnik/latest/.travis.yml b/scripts/mapnik/latest/.travis.yml new file mode 100644 index 000000000..a283000bc --- /dev/null +++ b/scripts/mapnik/latest/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mapnik/latest/script.sh b/scripts/mapnik/latest/script.sh new file mode 100755 index 000000000..1e12a8ce4 --- /dev/null +++ b/scripts/mapnik/latest/script.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +MASON_NAME=mapnik +MASON_VERSION=latest +MASON_LIB_FILE=lib/libmapnik-wkt.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapnik-3.x + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + git clone --depth 1 https://github.com/mapnik/mapnik.git ${MASON_BUILD_PATH} + else + (cd ${MASON_BUILD_PATH} && git pull) + fi +} + +function mason_compile { + echo $(pwd) + source bootstrap.sh + echo "CUSTOM_LDFLAGS = '-Wl,-z,origin -Wl,-rpath=\\\$\$ORIGIN'" >> config.py + cat config.py + ./configure PREFIX=${MASON_PREFIX} PYTHON_PREFIX=${MASON_PREFIX} + cat ${MASON_BUILD_PATH}"/config.log" + cat config.py + echo $(pwd) + JOBS=${MASON_CONCURRENCY} make + make install + if [[ `uname` = 'Darwin' ]]; then + install_name_tool -id @loader_path/libmapnik.dylib ${MASON_PREFIX}"/lib/libmapnik.dylib"; + PLUGINDIRS=${MASON_PREFIX}"/lib/mapnik/input/*.input"; + for f in $PLUGINDIRS; do + echo $f; + echo `basename $f`; + install_name_tool -id plugins/input/`basename $f` $f; + install_name_tool -change ${MASON_PREFIX}"/lib/libmapnik.dylib" @loader_path/../../libmapnik.dylib $f; + done; + fi + # push over GDAL_DATA, ICU_DATA, PROJ_LIB + # fix mapnik-config entries for deps + HERE=$(pwd) + python -c "data=open('$MASON_PREFIX/bin/mapnik-config','r').read();open('$MASON_PREFIX/bin/mapnik-config','w').write(data.replace('$HERE','.'))" + cat $MASON_PREFIX/bin/mapnik-config + mkdir -p ${MASON_PREFIX}/share/icu + cp -r $GDAL_DATA ${MASON_PREFIX}/share/ + cp -r $PROJ_LIB ${MASON_PREFIX}/share/ + cp -r $ICU_DATA/*dat ${MASON_PREFIX}/share/icu/ + find ${MASON_PREFIX} -name "*.pyc" -exec rm {} \; +} + +function mason_cflags { + "" +} + +function mason_ldflags { + "" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mesa/10.3.5/.travis.yml b/scripts/mesa/10.3.5/.travis.yml new file mode 100644 index 000000000..6fa89f61b --- /dev/null +++ b/scripts/mesa/10.3.5/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +os: + - linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- "if [[ `lsb_release -r` =~ '12.04' ]]; then sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test ; fi" +- sudo apt-get update -y +- sudo apt-get -y install gcc-4.8 g++-4.8 automake pkg-config libtool +- export CXX="g++-4.8" +- export CC="gcc-4.8" +- sudo apt-get install -y libpthread-stubs0-dev xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev libxcb-glx0-dev libxrender-dev llvm-3.4 mesa-utils +- sudo apt-get build-dep -y libgl1-mesa-dri libxcb-glx0-dev + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + + + diff --git a/scripts/mesa/10.3.5/script.sh b/scripts/mesa/10.3.5/script.sh new file mode 100755 index 000000000..4fb4686c9 --- /dev/null +++ b/scripts/mesa/10.3.5/script.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +MASON_NAME=mesa +MASON_VERSION=10.3.5 +MASON_LIB_FILE=lib/libGL.so +MASON_PKGCONFIG_FILE=lib/pkgconfig/gl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.freedesktop.org/pub/mesa/10.3.5/MesaLib-10.3.5.tar.gz \ + 04b9046dfc9aa1558b939aae7032b80e411ff0e0 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/Mesa-10.3.5 +} + +function mason_compile { + CXXFLAGS=-std=c++11 ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-shared \ + --with-gallium-drivers=svga,swrast \ + --disable-dri \ + --enable-xlib-glx \ + --enable-glx-tls \ + --with-llvm-prefix=/usr/lib/llvm-3.4 \ + --without-va + + make install +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mesa/10.4.3/.travis.yml b/scripts/mesa/10.4.3/.travis.yml new file mode 100644 index 000000000..6fa89f61b --- /dev/null +++ b/scripts/mesa/10.4.3/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +os: + - linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- "if [[ `lsb_release -r` =~ '12.04' ]]; then sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test ; fi" +- sudo apt-get update -y +- sudo apt-get -y install gcc-4.8 g++-4.8 automake pkg-config libtool +- export CXX="g++-4.8" +- export CC="gcc-4.8" +- sudo apt-get install -y libpthread-stubs0-dev xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev libxcb-glx0-dev libxrender-dev llvm-3.4 mesa-utils +- sudo apt-get build-dep -y libgl1-mesa-dri libxcb-glx0-dev + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + + + diff --git a/scripts/mesa/10.4.3/script.sh b/scripts/mesa/10.4.3/script.sh new file mode 100755 index 000000000..39b36a598 --- /dev/null +++ b/scripts/mesa/10.4.3/script.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +MASON_NAME=mesa +MASON_VERSION=10.4.3 +MASON_LIB_FILE=lib/libGL.so +MASON_PKGCONFIG_FILE=lib/pkgconfig/gl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.freedesktop.org/pub/mesa/10.4.3/MesaLib-10.4.3.tar.gz \ + 3a0cbced01f666d5d075bd3d6570fa43c91b86be + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/Mesa-10.4.3 +} + +function mason_compile { + autoreconf --force --install + + CXXFLAGS=-std=c++11 ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-shared \ + --with-gallium-drivers=svga,swrast \ + --disable-dri \ + --enable-xlib-glx \ + --enable-glx-tls \ + --with-llvm-prefix=/usr/lib/llvm-3.4 \ + --without-va + + make install +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mesa/10.5.4-dbg/.travis.yml b/scripts/mesa/10.5.4-dbg/.travis.yml new file mode 100644 index 000000000..6fa89f61b --- /dev/null +++ b/scripts/mesa/10.5.4-dbg/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +os: + - linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- "if [[ `lsb_release -r` =~ '12.04' ]]; then sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test ; fi" +- sudo apt-get update -y +- sudo apt-get -y install gcc-4.8 g++-4.8 automake pkg-config libtool +- export CXX="g++-4.8" +- export CC="gcc-4.8" +- sudo apt-get install -y libpthread-stubs0-dev xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev libxcb-glx0-dev libxrender-dev llvm-3.4 mesa-utils +- sudo apt-get build-dep -y libgl1-mesa-dri libxcb-glx0-dev + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + + + diff --git a/scripts/mesa/10.5.4-dbg/circle.yml b/scripts/mesa/10.5.4-dbg/circle.yml new file mode 100644 index 000000000..19c12b80f --- /dev/null +++ b/scripts/mesa/10.5.4-dbg/circle.yml @@ -0,0 +1,22 @@ +machine: + environment: + CXX: g++-4.8 + CC: gcc-4.8 + +dependencies: + pre: + - "if [[ `lsb_release -r` =~ '12.04' ]]; then sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test ; fi" + - sudo apt-get update -y + - sudo apt-get -y install gcc-4.8 g++-4.8 automake pkg-config libtool + - sudo apt-get install -y libpthread-stubs0-dev xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev libxcb-glx0-dev libxrender-dev llvm-3.4 mesa-utils libxcb-dri2-0-dev libxcb-xfixes0-dev + +test: + override: + - ldd --version + - ./mason build ${MASON_NAME} ${MASON_VERSION} + +deployment: + publish: + branch: /.*/ + commands: + - ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mesa/10.5.4-dbg/script.sh b/scripts/mesa/10.5.4-dbg/script.sh new file mode 100755 index 000000000..d9dc8ab17 --- /dev/null +++ b/scripts/mesa/10.5.4-dbg/script.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +MASON_NAME=mesa +MASON_VERSION=10.5.4-dbg +MASON_LIB_FILE=lib/libGL.so +MASON_PKGCONFIG_FILE=lib/pkgconfig/gl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.freedesktop.org/pub/mesa/10.5.4/mesa-10.5.4.tar.gz \ + 2c87044700a738d23133477864c62f194aa9daba + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mesa-10.5.4 +} + +function mason_compile { + autoreconf --force --install + + CFLAGS='-g -DDEBUG' CXXFLAGS='-g -DDEBUG -std=c++11' ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-shared \ + --with-gallium-drivers=svga,swrast \ + --disable-dri \ + --enable-xlib-glx \ + --enable-glx-tls \ + --with-llvm-prefix=/usr/lib/llvm-3.4 \ + --without-va + + make install +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mesa/10.5.4/.travis.yml b/scripts/mesa/10.5.4/.travis.yml new file mode 100644 index 000000000..6fa89f61b --- /dev/null +++ b/scripts/mesa/10.5.4/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +os: + - linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- "if [[ `lsb_release -r` =~ '12.04' ]]; then sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test ; fi" +- sudo apt-get update -y +- sudo apt-get -y install gcc-4.8 g++-4.8 automake pkg-config libtool +- export CXX="g++-4.8" +- export CC="gcc-4.8" +- sudo apt-get install -y libpthread-stubs0-dev xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev libxcb-glx0-dev libxrender-dev llvm-3.4 mesa-utils +- sudo apt-get build-dep -y libgl1-mesa-dri libxcb-glx0-dev + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} + + + diff --git a/scripts/mesa/10.5.4/circle.yml b/scripts/mesa/10.5.4/circle.yml new file mode 100644 index 000000000..19c12b80f --- /dev/null +++ b/scripts/mesa/10.5.4/circle.yml @@ -0,0 +1,22 @@ +machine: + environment: + CXX: g++-4.8 + CC: gcc-4.8 + +dependencies: + pre: + - "if [[ `lsb_release -r` =~ '12.04' ]]; then sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test ; fi" + - sudo apt-get update -y + - sudo apt-get -y install gcc-4.8 g++-4.8 automake pkg-config libtool + - sudo apt-get install -y libpthread-stubs0-dev xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev libxcb-glx0-dev libxrender-dev llvm-3.4 mesa-utils libxcb-dri2-0-dev libxcb-xfixes0-dev + +test: + override: + - ldd --version + - ./mason build ${MASON_NAME} ${MASON_VERSION} + +deployment: + publish: + branch: /.*/ + commands: + - ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mesa/10.5.4/script.sh b/scripts/mesa/10.5.4/script.sh new file mode 100755 index 000000000..99a2d2305 --- /dev/null +++ b/scripts/mesa/10.5.4/script.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +MASON_NAME=mesa +MASON_VERSION=10.5.4 +MASON_LIB_FILE=lib/libGL.so +MASON_PKGCONFIG_FILE=lib/pkgconfig/gl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.freedesktop.org/pub/mesa/10.5.4/mesa-10.5.4.tar.gz \ + 2c87044700a738d23133477864c62f194aa9daba + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mesa-10.5.4 +} + +function mason_compile { + autoreconf --force --install + + CXXFLAGS=-std=c++11 ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-shared \ + --with-gallium-drivers=svga,swrast \ + --disable-dri \ + --enable-xlib-glx \ + --enable-glx-tls \ + --with-llvm-prefix=/usr/lib/llvm-3.4 \ + --without-va + + make install +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/mesa/11.2.2/.travis.yml b/scripts/mesa/11.2.2/.travis.yml new file mode 100644 index 000000000..3c411703c --- /dev/null +++ b/scripts/mesa/11.2.2/.travis.yml @@ -0,0 +1,30 @@ +language: generic + +matrix: + include: + - os: linux + sudo: true + env: CXX=g++-5 CC=gcc-5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +install: +- sudo apt-get install -y libpthread-stubs0-dev xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev libxcb-glx0-dev libxrender-dev libdrm-dev llvm-3.4 mesa-utils +- sudo apt-get build-dep -y libgl1-mesa-dri libxcb-glx0-dev + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/mesa/11.2.2/script.sh b/scripts/mesa/11.2.2/script.sh new file mode 100755 index 000000000..8da6cbd9b --- /dev/null +++ b/scripts/mesa/11.2.2/script.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +MASON_NAME=mesa +MASON_VERSION=11.2.2 + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.freedesktop.org/pub/mesa/${MASON_VERSION}/mesa-${MASON_VERSION}.tar.gz \ + 1b69da0b8d72d59c62c5dc6ff0d71d79e1a8db9d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mesa-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-shared \ + --with-gallium-drivers=swrast \ + --disable-dri \ + --disable-egl \ + --enable-xlib-glx \ + --enable-glx-tls \ + --with-llvm-prefix=/usr/lib/llvm-3.4 + + make + make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/minjur/a2c9dc871369432c7978718834dac487c0591bd6/.travis.yml b/scripts/minjur/a2c9dc871369432c7978718834dac487c0591bd6/.travis.yml new file mode 100644 index 000000000..58c5eeb74 --- /dev/null +++ b/scripts/minjur/a2c9dc871369432c7978718834dac487c0591bd6/.travis.yml @@ -0,0 +1,29 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- if [[ $(uname -s) == 'Darwin' ]]; then brew install cmake; fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/minjur/a2c9dc871369432c7978718834dac487c0591bd6/script.sh b/scripts/minjur/a2c9dc871369432c7978718834dac487c0591bd6/script.sh new file mode 100755 index 000000000..db3d2641d --- /dev/null +++ b/scripts/minjur/a2c9dc871369432c7978718834dac487c0591bd6/script.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +MASON_NAME=minjur +MASON_VERSION=a2c9dc871369432c7978718834dac487c0591bd6 + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/minjur/tarball/a2c9dc871369432c7978718834dac487c0591bd6 \ + b24a45f64ae0b75e2fbcbb6b87e04192b63b3014 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapbox-minjur-a2c9dc8 +} + +function mason_prepare_compile { + echo ${MASON_ROOT}/.build + cd ${MASON_ROOT} + OSMIUM_INCLUDE_DIR=${MASON_ROOT}/osmcode-libosmium-372d29a/include + curl --retry 3 -f -# -L "https://github.com/osmcode/libosmium/tarball/372d29a34d8b3f571ea7172d527730d3d5200dab" -o osmium.tar.gz + tar -xzf osmium.tar.gz + + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install boost 1.57.0 + ${MASON_DIR}/mason link boost 1.57.0 + ${MASON_DIR}/mason install boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason link boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason install protobuf 2.6.1 + ${MASON_DIR}/mason link protobuf 2.6.1 + ${MASON_DIR}/mason install zlib 1.2.8 + ${MASON_DIR}/mason link zlib 1.2.8 + ${MASON_DIR}/mason install expat 2.1.0 + ${MASON_DIR}/mason link expat 2.1.0 + ${MASON_DIR}/mason install osmpbf 1.3.3 + ${MASON_DIR}/mason link osmpbf 1.3.3 + ${MASON_DIR}/mason install bzip 1.0.6 + ${MASON_DIR}/mason link bzip 1.0.6 +} + +function mason_compile { + mkdir build + cd build + CMAKE_PREFIX_PATH=${MASON_ROOT}/.link \ + cmake \ + -DOSMIUM_INCLUDE_DIR=${OSMIUM_INCLUDE_DIR} \ + .. + make + mkdir -p ${MASON_PREFIX}/bin + mv minjur ${MASON_PREFIX}/bin/minjur + mv minjur-mp ${MASON_PREFIX}/bin/minjur-mp + mv minjur-generate-tilelist ${MASON_PREFIX}/bin/minjur-generate-tilelist +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/minjur/feac70472f46c3145b6bdf7a02fdc37777828318/.travis.yml b/scripts/minjur/feac70472f46c3145b6bdf7a02fdc37777828318/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/minjur/feac70472f46c3145b6bdf7a02fdc37777828318/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/minjur/feac70472f46c3145b6bdf7a02fdc37777828318/script.sh b/scripts/minjur/feac70472f46c3145b6bdf7a02fdc37777828318/script.sh new file mode 100755 index 000000000..dec053d66 --- /dev/null +++ b/scripts/minjur/feac70472f46c3145b6bdf7a02fdc37777828318/script.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +MASON_NAME=minjur +MASON_VERSION=feac70472f46c3145b6bdf7a02fdc37777828318 + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/minjur/tarball/feac70472f46c3145b6bdf7a02fdc37777828318 \ + 4af6719285ab68ad99ba35e441b925cc950a1a27 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapbox-minjur-feac704 +} + +function mason_prepare_compile { + echo ${MASON_ROOT}/.build + cd ${MASON_ROOT} + OSMIUM_INCLUDE_DIR=${MASON_ROOT}/osmcode-libosmium-372d29a/include + curl --retry 3 -f -# -L "https://github.com/osmcode/libosmium/tarball/372d29a34d8b3f571ea7172d527730d3d5200dab" -o osmium.tar.gz + tar -xzf osmium.tar.gz + + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install boost 1.57.0 + ${MASON_DIR}/mason link boost 1.57.0 + ${MASON_DIR}/mason install boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason link boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason install protobuf 2.6.1 + ${MASON_DIR}/mason link protobuf 2.6.1 + ${MASON_DIR}/mason install zlib 1.2.8 + ${MASON_DIR}/mason link zlib 1.2.8 + ${MASON_DIR}/mason install expat 2.1.0 + ${MASON_DIR}/mason link expat 2.1.0 + ${MASON_DIR}/mason install osmpbf 1.3.3 + ${MASON_DIR}/mason link osmpbf 1.3.3 + ${MASON_DIR}/mason install bzip 1.0.6 + ${MASON_DIR}/mason link bzip 1.0.6 +} + +function mason_compile { + mkdir build + cd build + CMAKE_PREFIX_PATH=${MASON_ROOT}/.link \ + cmake \ + -DOSMIUM_INCLUDE_DIR=${OSMIUM_INCLUDE_DIR} \ + .. + make + mkdir -p ${MASON_PREFIX}/bin + mv minjur ${MASON_PREFIX}/bin/minjur + mv minjur-mp ${MASON_PREFIX}/bin/minjur-mp + mv minjur-generate-tilelist ${MASON_PREFIX}/bin/minjur-generate-tilelist +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/minjur/latest/.travis.yml b/scripts/minjur/latest/.travis.yml new file mode 100644 index 000000000..224d58b50 --- /dev/null +++ b/scripts/minjur/latest/.travis.yml @@ -0,0 +1,36 @@ +language: c + +sudo: false + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + packages: + - clang-3.7 + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + env: CXX=clang++-3.7 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/minjur/latest/script.sh b/scripts/minjur/latest/script.sh new file mode 100755 index 000000000..85aac521a --- /dev/null +++ b/scripts/minjur/latest/script.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +MASON_NAME=minjur +MASON_VERSION=latest +MASON_LIB_FILE=bin/minjur + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/minjur-latest + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + git clone --depth 1 https://github.com/mapbox/minjur.git ${MASON_BUILD_PATH} + else + (cd ${MASON_BUILD_PATH} && git pull) + fi +} + +function mason_prepare_compile { + echo ${MASON_ROOT}/.build + cd ${MASON_ROOT} + OSMIUM_INCLUDE_DIR=${MASON_ROOT}/osmcode-libosmium-latest/include + curl --retry 3 -f -# -L "https://github.com/osmcode/libosmium/tarball/master" -o osmium.tar.gz + tar -xzf osmium.tar.gz + rm -rf osmcode-libosmium-latest + mv osmcode-libosmium-* osmcode-libosmium-latest + + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install cmake 3.2.2 + ${MASON_DIR}/mason link cmake 3.2.2 + ${MASON_DIR}/mason install boost 1.59.0 + ${MASON_DIR}/mason link boost 1.59.0 + ${MASON_DIR}/mason install boost_liball 1.59.0 + ${MASON_DIR}/mason link boost_liball 1.59.0 + ${MASON_DIR}/mason install zlib 1.2.8 + ${MASON_DIR}/mason link zlib 1.2.8 + ${MASON_DIR}/mason install expat 2.1.0 + ${MASON_DIR}/mason link expat 2.1.0 + ${MASON_DIR}/mason install bzip 1.0.6 + ${MASON_DIR}/mason link bzip 1.0.6 +} + +function mason_compile { + rm -rf build + mkdir -p build + cd build + CMAKE_PREFIX_PATH=${MASON_ROOT}/.link \ + ${MASON_ROOT}/.link/bin/cmake \ + -DOSMIUM_INCLUDE_DIR=${OSMIUM_INCLUDE_DIR} \ + .. + make + mkdir -p ${MASON_PREFIX}/bin + mv minjur ${MASON_PREFIX}/bin/minjur + mv minjur-mp ${MASON_PREFIX}/bin/minjur-mp + mv minjur-generate-tilelist ${MASON_PREFIX}/bin/minjur-generate-tilelist +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/nasm/2.11.06/.travis.yml b/scripts/nasm/2.11.06/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/nasm/2.11.06/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/nasm/2.11.06/script.sh b/scripts/nasm/2.11.06/script.sh new file mode 100755 index 000000000..f14091cee --- /dev/null +++ b/scripts/nasm/2.11.06/script.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +MASON_NAME=nasm +MASON_VERSION=2.11.06 +MASON_LIB_FILE=bin/nasm + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.nasm.us/pub/nasm/releasebuilds/${MASON_VERSION}/${MASON_NAME}-${MASON_VERSION}.tar.bz2 \ + 9602eca86270d4df37f53ae4de2342073ad4adc7 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install install_rdf -j${MASON_CONCURRENCY} +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/ninja/1.7.1/.travis.yml b/scripts/ninja/1.7.1/.travis.yml new file mode 100644 index 000000000..b72dd81ce --- /dev/null +++ b/scripts/ninja/1.7.1/.travis.yml @@ -0,0 +1,28 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: gcc + env: CXX=gcc++-5 CC=gcc-5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/ninja/1.7.1/script.sh b/scripts/ninja/1.7.1/script.sh new file mode 100755 index 000000000..136b6aec1 --- /dev/null +++ b/scripts/ninja/1.7.1/script.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +MASON_NAME=ninja +MASON_VERSION=1.7.1 +MASON_LIB_FILE=bin/ninja + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/ninja-build/ninja/archive/v${MASON_VERSION}.tar.gz \ + 2756449c3d68f965d3b6bd6e4989fcaa84caee5a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure.py --bootstrap + mkdir -p ${MASON_PREFIX}/bin/ + cp ./ninja ${MASON_PREFIX}/bin/ +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/node/0.10.35/.travis.yml b/scripts/node/0.10.35/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/node/0.10.35/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/node/0.10.35/script.sh b/scripts/node/0.10.35/script.sh new file mode 100755 index 000000000..5004b3b84 --- /dev/null +++ b/scripts/node/0.10.35/script.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +MASON_NAME=node +MASON_VERSION=0.10.35 +MASON_LIB_FILE=bin/node + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + https://nodejs.org/dist/v0.10.35/node-v0.10.35-darwin-x64.tar.gz \ + f0311c1291cafe98649e5733210792f7d57cbcd1 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + https://nodejs.org/dist/v0.10.35/node-v0.10.35-linux-x64.tar.gz \ + ffcb8592e9a2556ea0a25284d5ab5fe608f344c0 + fi + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + mv -v */* ${MASON_PREFIX} +} + +mason_run "$@" diff --git a/scripts/node/0.10.36/.travis.yml b/scripts/node/0.10.36/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/node/0.10.36/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/node/0.10.36/script.sh b/scripts/node/0.10.36/script.sh new file mode 100755 index 000000000..d8df4f02b --- /dev/null +++ b/scripts/node/0.10.36/script.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +MASON_NAME=node +MASON_VERSION=0.10.36 +MASON_LIB_FILE=bin/node + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + https://nodejs.org/dist/v0.10.36/node-v0.10.36-darwin-x64.tar.gz \ + bead5971c06fb58ac5a84f81187c5ec45dfc2c15 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + https://nodejs.org/dist/v0.10.36/node-v0.10.36-linux-x64.tar.gz \ + f4c2b6f439671adc3ede4c435ead261cece7a05d + fi + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + mv -v */* ${MASON_PREFIX} +} + +mason_run "$@" diff --git a/scripts/node/0.12.0/.travis.yml b/scripts/node/0.12.0/.travis.yml new file mode 100644 index 000000000..d9a5a26e8 --- /dev/null +++ b/scripts/node/0.12.0/.travis.yml @@ -0,0 +1,19 @@ +language: cpp +sudo: false + +os: + - linux + - osx + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/node/0.12.0/script.sh b/scripts/node/0.12.0/script.sh new file mode 100755 index 000000000..fb2fb4287 --- /dev/null +++ b/scripts/node/0.12.0/script.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +MASON_NAME=node +MASON_VERSION=0.12.0 +MASON_LIB_FILE=bin/node + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + if [ ${MASON_PLATFORM} = 'osx' ]; then + mason_download \ + https://nodejs.org/dist/v0.12.0/node-v0.12.0-darwin-x64.tar.gz \ + 202d45f836ec45db11a58c4a3ced9774ea2144a2 + elif [ ${MASON_PLATFORM} = 'linux' ]; then + mason_download \ + https://nodejs.org/dist/v0.12.0/node-v0.12.0-linux-x64.tar.gz \ + 0cc11d3465ae5b57c181bdb6064e2ba618910d41 + fi + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + mv -v */* ${MASON_PREFIX} +} + +mason_run "$@" diff --git a/scripts/node_asan/4.4.4/.travis.yml b/scripts/node_asan/4.4.4/.travis.yml new file mode 100644 index 000000000..93f3828cc --- /dev/null +++ b/scripts/node_asan/4.4.4/.travis.yml @@ -0,0 +1,29 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + env: CXX=clang++-3.5 CC=clang-3.5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/node_asan/4.4.4/script.sh b/scripts/node_asan/4.4.4/script.sh new file mode 100644 index 000000000..96fa17cbc --- /dev/null +++ b/scripts/node_asan/4.4.4/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=node_asan +MASON_VERSION=4.4.4 +MASON_LIB_FILE=bin/node + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://nodejs.org/dist/v${MASON_VERSION}/node-v${MASON_VERSION}.tar.gz \ + 71c6b67274b5e042366e7fbba1ee92426ce6fe1a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/node-v${MASON_VERSION} +} + +function mason_compile { + export CXXFLAGS="${CXXFLAGS} -fsanitize=address" + export CFLAGS="${CFLAGS} -fsanitize=address" + export LDFLAGS="${LDFLAGS} -fsanitize=address" + if [[ $(uname -s) == 'Darwin' ]]; then + export CXXFLAGS="${CXXFLAGS} -std=c++11 -stdlib=libc++" + export LDFLAGS="${LDFLAGS} -std=c++11 -stdlib=libc++" + fi + + ./configure \ + --prefix=${MASON_PREFIX} \ + --debug + echo "making binary" + make binary -j${MASON_CONCURRENCY} + ls + echo "uncompressing binary" + tar -xf *.tar.gz + echo "making dir" + mkdir -p ${MASON_PREFIX} + echo "making copying" + cp -r node-v${MASON_VERSION}*/* ${MASON_PREFIX}/ +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/node_asan/4.4.5/.travis.yml b/scripts/node_asan/4.4.5/.travis.yml new file mode 100644 index 000000000..0747a654f --- /dev/null +++ b/scripts/node_asan/4.4.5/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/node_asan/4.4.5/script.sh b/scripts/node_asan/4.4.5/script.sh new file mode 100644 index 000000000..9e981a8ac --- /dev/null +++ b/scripts/node_asan/4.4.5/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=node_asan +MASON_VERSION=4.4.5 +MASON_LIB_FILE=bin/node + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://nodejs.org/dist/v${MASON_VERSION}/node-v${MASON_VERSION}.tar.gz \ + 3dd25ccb1a5c529fbb1724b002ccce44ab0872cb + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/node-v${MASON_VERSION} +} + +function mason_compile { + export CXXFLAGS="${CXXFLAGS} -fsanitize=address" + export CFLAGS="${CFLAGS} -fsanitize=address" + export LDFLAGS="${LDFLAGS} -fsanitize=address" + if [[ $(uname -s) == 'Darwin' ]]; then + export CXXFLAGS="${CXXFLAGS} -std=c++11 -stdlib=libc++" + export LDFLAGS="${LDFLAGS} -std=c++11 -stdlib=libc++" + fi + + ./configure \ + --prefix=${MASON_PREFIX} \ + --debug + echo "making binary" + make binary -j${MASON_CONCURRENCY} + ls + echo "uncompressing binary" + tar -xf *.tar.gz + echo "making dir" + mkdir -p ${MASON_PREFIX} + echo "making copying" + cp -r node-v${MASON_VERSION}*/* ${MASON_PREFIX}/ +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/node_tsan/4.4.5/.travis.yml b/scripts/node_tsan/4.4.5/.travis.yml new file mode 100644 index 000000000..0747a654f --- /dev/null +++ b/scripts/node_tsan/4.4.5/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/node_tsan/4.4.5/script.sh b/scripts/node_tsan/4.4.5/script.sh new file mode 100644 index 000000000..1dd15c609 --- /dev/null +++ b/scripts/node_tsan/4.4.5/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=node_tsan +MASON_VERSION=4.4.5 +MASON_LIB_FILE=bin/node + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://nodejs.org/dist/v${MASON_VERSION}/node-v${MASON_VERSION}.tar.gz \ + 3dd25ccb1a5c529fbb1724b002ccce44ab0872cb + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/node-v${MASON_VERSION} +} + +function mason_compile { + export CXXFLAGS="${CXXFLAGS} -fsanitize=thread" + export CFLAGS="${CFLAGS} -fsanitize=thread" + export LDFLAGS="${LDFLAGS} -fsanitize=thread" + if [[ $(uname -s) == 'Darwin' ]]; then + export CXXFLAGS="${CXXFLAGS} -std=c++11 -stdlib=libc++" + export LDFLAGS="${LDFLAGS} -std=c++11 -stdlib=libc++" + fi + + ./configure \ + --prefix=${MASON_PREFIX} \ + --debug + echo "making binary" + make binary -j${MASON_CONCURRENCY} + ls + echo "uncompressing binary" + tar -xf *.tar.gz + echo "making dir" + mkdir -p ${MASON_PREFIX} + echo "making copying" + cp -r node-v${MASON_VERSION}*/* ${MASON_PREFIX}/ +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/nunicode/1.5.1/.travis.yml b/scripts/nunicode/1.5.1/.travis.yml new file mode 100644 index 000000000..30dae7f0c --- /dev/null +++ b/scripts/nunicode/1.5.1/.travis.yml @@ -0,0 +1,37 @@ +language: cpp +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- if [[ $(uname -s) == 'Darwin' ]]; then brew install cmake; fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/nunicode/1.5.1/script.sh b/scripts/nunicode/1.5.1/script.sh new file mode 100755 index 000000000..da19ec9f1 --- /dev/null +++ b/scripts/nunicode/1.5.1/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=nunicode +MASON_VERSION=1.5.1 +MASON_LIB_FILE=lib/libnu.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/nu.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://bitbucket.org/alekseyt/nunicode/get/1.5.1.tar.bz2 \ + d85a6cd2d779db3503034762f56fd094ea6f5def + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/alekseyt-nunicode-01c8e4ebc740 +} + +function mason_compile { + mkdir -p build-dir + cd build-dir + + # patch CMakeLists file + cat ../CMakeLists.txt | sed -e '/find_package.Sqlite3/ s/^/#/' > ../CMakeLists.txt.new && cp ../CMakeLists.txt.new ../CMakeLists.txt + + cmake \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + ${MASON_CMAKE_TOOLCHAIN} \ + .. + + make install -j${MASON_CONCURRENCY} +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/nunicode/1.6/.travis.yml b/scripts/nunicode/1.6/.travis.yml new file mode 100644 index 000000000..419d679be --- /dev/null +++ b/scripts/nunicode/1.6/.travis.yml @@ -0,0 +1,39 @@ +language: cpp + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- "if [[ `lsb_release -r` =~ '12.04' ]]; then sudo add-apt-repository --yes ppa:kubuntu-ppa/backports ; fi" +- "if [[ ${TRAVIS_OS_NAME:-linux} = 'linux' ]]; then sudo apt-get update -y ; fi" +- "if [[ ${TRAVIS_OS_NAME:-linux} = 'linux' ]]; then sudo apt-get -y install cmake ; fi" +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- if [[ $(uname -s) == 'Darwin' ]]; then brew install cmake; fi +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/nunicode/1.6/script.sh b/scripts/nunicode/1.6/script.sh new file mode 100755 index 000000000..ce1525486 --- /dev/null +++ b/scripts/nunicode/1.6/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=nunicode +MASON_VERSION=1.6 +MASON_LIB_FILE=lib/libnu.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/nu.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download https://bitbucket.org/alekseyt/nunicode/get/1.6.tar.bz2 \ + 3dd1b2487038823e6435ad9d44d76836577f0801 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/alekseyt-nunicode-34f278da1e6a +} + +function mason_compile { + mkdir -p build-dir + cd build-dir + + # patch CMakeLists file + cat ../CMakeLists.txt | sed -e '/find_package.Sqlite3/ s/^/#/' > ../CMakeLists.txt.new && cp ../CMakeLists.txt.new ../CMakeLists.txt + + cmake \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + ${MASON_CMAKE_TOOLCHAIN} \ + .. + + make install -j${MASON_CONCURRENCY} +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/nunicode/1.7.1/.travis.yml b/scripts/nunicode/1.7.1/.travis.yml new file mode 100644 index 000000000..488860d0f --- /dev/null +++ b/scripts/nunicode/1.7.1/.travis.yml @@ -0,0 +1,45 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + env: MASON_PLATFORM=osx + compiler: clang + - os: linux + env: MASON_PLATFORM=linux + compiler: clang + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +addons: + apt: + sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] + packages: [ 'libstdc++-5-dev', 'cmake', 'cmake-data' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +install: +- if [[ $(uname -s) == 'Darwin' ]]; then brew install cmake; fi + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/nunicode/1.7.1/script.sh b/scripts/nunicode/1.7.1/script.sh new file mode 100755 index 000000000..fd0448fbc --- /dev/null +++ b/scripts/nunicode/1.7.1/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=nunicode +MASON_VERSION=1.7.1 +MASON_LIB_FILE=lib/libnu.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/nu.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download https://bitbucket.org/alekseyt/nunicode/get/1.7.1.tar.bz2 \ + 96e4b9893c88be4dacd2db7db154ec1727a757d1 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/alekseyt-nunicode-263219737286 +} + +function mason_compile { + mkdir -p build-dir + cd build-dir + + # patch CMakeLists file + cat ../CMakeLists.txt | sed -e '/find_package.Sqlite3/ s/^/#/' > ../CMakeLists.txt.new && cp ../CMakeLists.txt.new ../CMakeLists.txt + + cmake \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + ${MASON_CMAKE_TOOLCHAIN} \ + .. + + make install -j${MASON_CONCURRENCY} +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/openssl/1.0.1l/.travis.yml b/scripts/openssl/1.0.1l/.travis.yml new file mode 100644 index 000000000..0e270713e --- /dev/null +++ b/scripts/openssl/1.0.1l/.travis.yml @@ -0,0 +1,30 @@ +language: cpp +sudo: false + +os: + - linux + +addons: + apt_packages: + - xutils-dev +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + matrix: + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - MASON_PLATFORM=linux + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/openssl/1.0.1l/script.sh b/scripts/openssl/1.0.1l/script.sh new file mode 100755 index 000000000..994284db1 --- /dev/null +++ b/scripts/openssl/1.0.1l/script.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash + +MASON_NAME=openssl +MASON_VERSION=1.0.1l +MASON_LIB_FILE=lib/libssl.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/openssl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.openssl.org/source/old/1.0.1/openssl-1.0.1l.tar.gz \ + 448aaf41b40d9ff0a1722a2838fb48f78b95dfa4 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/openssl-${MASON_VERSION} +} + +function mason_prepare_compile { + MASON_MAKEDEPEND="gccmakedep" + + if [ ${MASON_PLATFORM} = 'osx' ]; then + MASON_MAKEDEPEND="makedepend" + MASON_OS_COMPILER="darwin64-x86_64-cc enable-ec_nistp_64_gcc_128" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128" + elif [[ ${MASON_PLATFORM} == 'android' ]]; then + COMMON="-fpic -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-integrated-as -O2 -g -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes" + if [ ${MASON_ANDROID_ABI} = 'arm-v5' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv5te -mtune=xscale -msoft-float -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v7' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wl,--fix-cortex-a8 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86' ]; then + MASON_OS_COMPILER="linux-elf -march=i686 -msse3 -mfpmath=sse -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v8' ]; then + MASON_OS_COMPILER="linux-generic64 enable-ec_nistp_64_gcc_128 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86-64' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128 -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips-64' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + fi + fi +} + +function mason_compile { + ./Configure \ + --prefix=${MASON_PREFIX} \ + enable-tlsext \ + -no-dso \ + -no-hw \ + -no-comp \ + -no-idea \ + -no-mdc2 \ + -no-rc5 \ + -no-zlib \ + -no-shared \ + -no-ssl2 \ + -no-ssl3 \ + -no-krb5 \ + -fPIC \ + -DOPENSSL_PIC \ + -DOPENSSL_NO_DEPRECATED \ + -DOPENSSL_NO_COMP \ + -DOPENSSL_NO_HEARTBEATS \ + --openssldir=${MASON_PREFIX}/etc/openssl \ + ${MASON_OS_COMPILER} + + make depend MAKEDEPPROG=${MASON_MAKEDEPEND} + + make + + # https://github.com/openssl/openssl/issues/57 + make install_sw +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/openssl/1.0.1p/.travis.yml b/scripts/openssl/1.0.1p/.travis.yml new file mode 100644 index 000000000..0e270713e --- /dev/null +++ b/scripts/openssl/1.0.1p/.travis.yml @@ -0,0 +1,30 @@ +language: cpp +sudo: false + +os: + - linux + +addons: + apt_packages: + - xutils-dev +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + matrix: + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - MASON_PLATFORM=linux + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/openssl/1.0.1p/script.sh b/scripts/openssl/1.0.1p/script.sh new file mode 100755 index 000000000..7df7c7420 --- /dev/null +++ b/scripts/openssl/1.0.1p/script.sh @@ -0,0 +1,109 @@ +#!/usr/bin/env bash + +MASON_NAME=openssl +MASON_VERSION=1.0.1p +MASON_LIB_FILE=lib/libssl.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/openssl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.openssl.org/source/old/1.0.1/openssl-${MASON_VERSION}.tar.gz \ + db77eba6cc1f9e50f61a864c07d09ecd0154c84d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/openssl-${MASON_VERSION} +} + +function mason_prepare_compile { + MASON_MAKEDEPEND="gccmakedep" + + if [ ${MASON_PLATFORM} = 'osx' ]; then + MASON_MAKEDEPEND="makedepend" + MASON_OS_COMPILER="darwin64-x86_64-cc enable-ec_nistp_64_gcc_128" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128" + elif [[ ${MASON_PLATFORM} == 'android' ]]; then + COMMON="-fPIC -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-integrated-as -O2 -g -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes" + if [ ${MASON_ANDROID_ABI} = 'arm-v5' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv5te -mtune=xscale -msoft-float -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v7' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wl,--fix-cortex-a8 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86' ]; then + MASON_OS_COMPILER="linux-elf -march=i686 -msse3 -mfpmath=sse -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v8' ]; then + MASON_OS_COMPILER="linux-generic64 enable-ec_nistp_64_gcc_128 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86-64' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128 -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips-64' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + fi + fi +} + +function mason_compile { + NO_ASM= + + # Work around a Android 6.0 TEXTREL exception. See https://github.com/mapbox/mapbox-gl-native/issues/2772 + if [[ ${MASON_PLATFORM} == 'android' ]]; then + if [ ${MASON_ANDROID_ABI} = 'x86' ]; then + NO_ASM=-no-asm + fi + fi + + ./Configure \ + --prefix=${MASON_PREFIX} \ + enable-tlsext \ + ${NO_ASM} \ + -no-dso \ + -no-hw \ + -no-engines \ + -no-comp \ + -no-gmp \ + -no-zlib \ + -no-shared \ + -no-ssl2 \ + -no-ssl3 \ + -no-krb5 \ + -no-camellia \ + -no-capieng \ + -no-cast \ + -no-dtls \ + -no-gost \ + -no-idea \ + -no-jpake \ + -no-md2 \ + -no-mdc2 \ + -no-rc5 \ + -no-rdrand \ + -no-ripemd \ + -no-rsax \ + -no-sctp \ + -no-seed \ + -no-sha0 \ + -no-whirlpool \ + -fPIC \ + -DOPENSSL_PIC \ + -DOPENSSL_NO_DEPRECATED \ + -DOPENSSL_NO_COMP \ + -DOPENSSL_NO_HEARTBEATS \ + --openssldir=${MASON_PREFIX}/etc/openssl \ + ${MASON_OS_COMPILER} + + make depend MAKEDEPPROG=${MASON_MAKEDEPEND} + + make + + # https://github.com/openssl/openssl/issues/57 + make install_sw +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/openssl/1.0.2/.travis.yml b/scripts/openssl/1.0.2/.travis.yml new file mode 100644 index 000000000..0e270713e --- /dev/null +++ b/scripts/openssl/1.0.2/.travis.yml @@ -0,0 +1,30 @@ +language: cpp +sudo: false + +os: + - linux + +addons: + apt_packages: + - xutils-dev +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + matrix: + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - MASON_PLATFORM=linux + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/openssl/1.0.2/script.sh b/scripts/openssl/1.0.2/script.sh new file mode 100755 index 000000000..2259a7999 --- /dev/null +++ b/scripts/openssl/1.0.2/script.sh @@ -0,0 +1,109 @@ +#!/usr/bin/env bash + +MASON_NAME=openssl +MASON_VERSION=1.0.2 +MASON_LIB_FILE=lib/libssl.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/openssl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.openssl.org/source/old/1.0.2/openssl-${MASON_VERSION}.tar.gz \ + edb5a59838b24d0845950feed47dae014c66b2ab + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/openssl-${MASON_VERSION} +} + +function mason_prepare_compile { + MASON_MAKEDEPEND="gccmakedep" + + if [ ${MASON_PLATFORM} = 'osx' ]; then + MASON_MAKEDEPEND="makedepend" + MASON_OS_COMPILER="darwin64-x86_64-cc enable-ec_nistp_64_gcc_128" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128" + elif [[ ${MASON_PLATFORM} == 'android' ]]; then + COMMON="-fPIC -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-integrated-as -O2 -g -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes" + if [ ${MASON_ANDROID_ABI} = 'arm-v5' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv5te -mtune=xscale -msoft-float -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v7' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wl,--fix-cortex-a8 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86' ]; then + MASON_OS_COMPILER="linux-elf -march=i686 -msse3 -mfpmath=sse -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v8' ]; then + MASON_OS_COMPILER="linux-generic64 enable-ec_nistp_64_gcc_128 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86-64' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128 -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips-64' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + fi + fi +} + +function mason_compile { + NO_ASM= + + # Work around a Android 6.0 TEXTREL exception. See https://github.com/mapbox/mapbox-gl-native/issues/2772 + if [[ ${MASON_PLATFORM} == 'android' ]]; then + if [ ${MASON_ANDROID_ABI} = 'x86' ]; then + NO_ASM=-no-asm + fi + fi + + ./Configure \ + --prefix=${MASON_PREFIX} \ + enable-tlsext \ + ${NO_ASM} \ + -no-dso \ + -no-hw \ + -no-engines \ + -no-comp \ + -no-gmp \ + -no-zlib \ + -no-shared \ + -no-ssl2 \ + -no-ssl3 \ + -no-krb5 \ + -no-camellia \ + -no-capieng \ + -no-cast \ + -no-dtls \ + -no-gost \ + -no-idea \ + -no-jpake \ + -no-md2 \ + -no-mdc2 \ + -no-rc5 \ + -no-rdrand \ + -no-ripemd \ + -no-rsax \ + -no-sctp \ + -no-seed \ + -no-sha0 \ + -no-whirlpool \ + -fPIC \ + -DOPENSSL_PIC \ + -DOPENSSL_NO_DEPRECATED \ + -DOPENSSL_NO_COMP \ + -DOPENSSL_NO_HEARTBEATS \ + --openssldir=${MASON_PREFIX}/etc/openssl \ + ${MASON_OS_COMPILER} + + make depend MAKEDEPPROG=${MASON_MAKEDEPEND} + + make + + # https://github.com/openssl/openssl/issues/57 + make install_sw +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/openssl/1.0.2d/.travis.yml b/scripts/openssl/1.0.2d/.travis.yml new file mode 100644 index 000000000..0e270713e --- /dev/null +++ b/scripts/openssl/1.0.2d/.travis.yml @@ -0,0 +1,30 @@ +language: cpp +sudo: false + +os: + - linux + +addons: + apt_packages: + - xutils-dev +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + matrix: + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + - MASON_PLATFORM=linux + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/openssl/1.0.2d/script.sh b/scripts/openssl/1.0.2d/script.sh new file mode 100755 index 000000000..394ea312c --- /dev/null +++ b/scripts/openssl/1.0.2d/script.sh @@ -0,0 +1,109 @@ +#!/usr/bin/env bash + +MASON_NAME=openssl +MASON_VERSION=1.0.2d +MASON_LIB_FILE=lib/libssl.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/openssl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + ftp://ftp.openssl.org/source/old/1.0.2/openssl-${MASON_VERSION}.tar.gz \ + ec5b1937e8dcbf8c1831bf67f3744474f0f04bf8 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/openssl-${MASON_VERSION} +} + +function mason_prepare_compile { + MASON_MAKEDEPEND="gccmakedep" + + if [ ${MASON_PLATFORM} = 'osx' ]; then + MASON_MAKEDEPEND="makedepend" + MASON_OS_COMPILER="darwin64-x86_64-cc enable-ec_nistp_64_gcc_128" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128" + elif [[ ${MASON_PLATFORM} == 'android' ]]; then + COMMON="-fPIC -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-integrated-as -O2 -g -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes" + if [ ${MASON_ANDROID_ABI} = 'arm-v5' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv5te -mtune=xscale -msoft-float -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v7' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wl,--fix-cortex-a8 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86' ]; then + MASON_OS_COMPILER="linux-elf -march=i686 -msse3 -mfpmath=sse -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v8' ]; then + MASON_OS_COMPILER="linux-generic64 enable-ec_nistp_64_gcc_128 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86-64' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128 -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips-64' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + fi + fi +} + +function mason_compile { + NO_ASM= + + # Work around a Android 6.0 TEXTREL exception. See https://github.com/mapbox/mapbox-gl-native/issues/2772 + if [[ ${MASON_PLATFORM} == 'android' ]]; then + if [ ${MASON_ANDROID_ABI} = 'x86' ]; then + NO_ASM=-no-asm + fi + fi + + ./Configure \ + --prefix=${MASON_PREFIX} \ + enable-tlsext \ + ${NO_ASM} \ + -no-dso \ + -no-hw \ + -no-engines \ + -no-comp \ + -no-gmp \ + -no-zlib \ + -no-shared \ + -no-ssl2 \ + -no-ssl3 \ + -no-krb5 \ + -no-camellia \ + -no-capieng \ + -no-cast \ + -no-dtls \ + -no-gost \ + -no-idea \ + -no-jpake \ + -no-md2 \ + -no-mdc2 \ + -no-rc5 \ + -no-rdrand \ + -no-ripemd \ + -no-rsax \ + -no-sctp \ + -no-seed \ + -no-sha0 \ + -no-whirlpool \ + -fPIC \ + -DOPENSSL_PIC \ + -DOPENSSL_NO_DEPRECATED \ + -DOPENSSL_NO_COMP \ + -DOPENSSL_NO_HEARTBEATS \ + --openssldir=${MASON_PREFIX}/etc/openssl \ + ${MASON_OS_COMPILER} + + make depend MAKEDEPPROG=${MASON_MAKEDEPEND} + + make + + # https://github.com/openssl/openssl/issues/57 + make install_sw +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/openswr-mesa/11.0-openswr/.travis.yml b/scripts/openswr-mesa/11.0-openswr/.travis.yml new file mode 100644 index 000000000..50bc5d0f9 --- /dev/null +++ b/scripts/openswr-mesa/11.0-openswr/.travis.yml @@ -0,0 +1,29 @@ +sudo: required + +dist: trusty + +language: cpp + +os: + - linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- "if [[ `lsb_release -r` =~ '14.04' ]]; then sudo apt-get install -y software-properties-common; fi" +- sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test +- sudo apt-get update -y +- sudo apt-get install -y gcc-4.9 g++-4.9 automake pkg-config libtool +- export CXX="g++-4.9" +- export CC="gcc-4.9" +- sudo apt-get install -y flex bison python-pip libdrm-dev x11proto-gl-dev x11proto-dri2-dev x11proto-dri3-dev x11proto-present-dev libx11-xcb-dev libxext-dev libxdamage-dev libxfixes-dev libxcb-glx0-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev libxcb-sync-dev libxshmfence-dev libudev-dev libexpat1-dev libva-dev gettext libnuma-dev llvm-3.6 mesa-utils +- sudo -H pip install mako + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/openswr-mesa/11.0-openswr/circle.yml b/scripts/openswr-mesa/11.0-openswr/circle.yml new file mode 100644 index 000000000..309501b23 --- /dev/null +++ b/scripts/openswr-mesa/11.0-openswr/circle.yml @@ -0,0 +1,25 @@ +machine: + environment: + CXX: g++-4.9 + CC: gcc-4.9 + +dependencies: + pre: + - "if [[ `lsb_release -r` =~ '14.04' ]]; then sudo apt-get install -y software-properties-common; fi" + - sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test + - sudo add-apt-repository --yes ppa:xorg-edgers/ppa + - sudo apt-get update -y + - sudo apt-get install -y gcc-4.9 g++-4.9 automake pkg-config libtool + - sudo apt-get install -y python-pip flex bison libdrm-dev x11proto-gl-dev x11proto-dri2-dev x11proto-dri3-dev x11proto-present-dev libx11-xcb-dev libxext-dev libxdamage-dev libxfixes-dev libxcb-glx0-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev libxcb-sync-dev libxshmfence-dev libudev-dev libexpat1-dev libdrm-intel1 libva-dev gettext libnuma-dev llvm-3.6 mesa-utils + - sudo pip install mako + +test: + override: + - ldd --version + - ./mason build ${MASON_NAME} ${MASON_VERSION} + +deployment: + publish: + branch: /.*/ + commands: + - ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/openswr-mesa/11.0-openswr/script.sh b/scripts/openswr-mesa/11.0-openswr/script.sh new file mode 100755 index 000000000..0d93fd822 --- /dev/null +++ b/scripts/openswr-mesa/11.0-openswr/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=openswr-mesa +MASON_VERSION=11.0-openswr +MASON_LIB_FILE=lib/libGL.so +MASON_PKGCONFIG_FILE=lib/pkgconfig/gl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/OpenSWR/openswr-mesa/archive/11.0-openswr.tar.gz \ + bf76df16a495d1fdd9f03fd301f325503d087c20 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + CXXFLAGS=-std=c++14 ./autogen.sh \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --with-gallium-drivers=swr,swrast \ + --enable-swr-native \ + --enable-glx-tls \ + --with-llvm-prefix=/usr/lib/llvm-3.6 + + make install +} + +function mason_strip_ldflags { + shift # -L... + shift # -luv + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/osm2pgsql/0.87.2/.travis.yml b/scripts/osm2pgsql/0.87.2/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/osm2pgsql/0.87.2/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/osm2pgsql/0.87.2/patch.diff b/scripts/osm2pgsql/0.87.2/patch.diff new file mode 100644 index 000000000..28e567b19 --- /dev/null +++ b/scripts/osm2pgsql/0.87.2/patch.diff @@ -0,0 +1,15 @@ +Index: configure.ac +=================================================================== +--- configure.ac (revision 29411) ++++ configure.ac (working copy) +@@ -29,10 +29,6 @@ + dnl Find C++ compiler + AC_PROG_CXX + AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no) +-if test "$HAVE_CXX" = "no" +-then +- AC_MSG_ERROR([Could not find a c++ compiler]); +-fi + + dnl AX_CFLAGS_WARN_ALL + dnl AX_CXXFLAGS_WARN_ALL diff --git a/scripts/osm2pgsql/0.87.2/script.sh b/scripts/osm2pgsql/0.87.2/script.sh new file mode 100755 index 000000000..822c6e780 --- /dev/null +++ b/scripts/osm2pgsql/0.87.2/script.sh @@ -0,0 +1,107 @@ +#!/usr/bin/env bash + +MASON_NAME=osm2pgsql +MASON_VERSION=0.87.2 +MASON_LIB_FILE=bin/osm2pgsql + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/openstreetmap/osm2pgsql/archive/0.87.2.tar.gz \ + f585876898e7cf48e1662c5e5a3c8b6787e0aa2b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + if [[ $(uname -s) == 'Darwin' ]]; then + FIND="\/Users\/travis\/build\/mapbox\/mason" + else + FIND="\/home\/travis\/build\/mapbox\/mason" + fi + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + ${MASON_DIR}/mason install boost 1.57.0 + MASON_BOOST=$(${MASON_DIR}/mason prefix boost 1.57.0) + MASON_BOOST_LIBS=$(pwd)/mason_packages/.link/lib + ${MASON_DIR}/mason install boost_libsystem 1.57.0 + ${MASON_DIR}/mason link boost_libsystem 1.57.0 + ${MASON_DIR}/mason install boost_libthread 1.57.0 + ${MASON_DIR}/mason link boost_libthread 1.57.0 + MASON_BOOST_SYSTEM=$(${MASON_DIR}/mason prefix boost_libsystem 1.57.0) + ${MASON_DIR}/mason install boost_libfilesystem 1.57.0 + ${MASON_DIR}/mason link boost_libfilesystem 1.57.0 + ${MASON_DIR}/mason install libxml2 2.9.2 + MASON_XML2=$(${MASON_DIR}/mason prefix libxml2 2.9.2) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_XML2}/bin/xml2-config + ${MASON_DIR}/mason install geos 3.4.2 + MASON_GEOS=$(${MASON_DIR}/mason prefix geos 3.4.2) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_GEOS}/bin/geos-config + ${MASON_DIR}/mason install proj 4.8.0 + MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.8.0) + ${MASON_DIR}/mason install bzip 1.0.6 + MASON_BZIP=$(${MASON_DIR}/mason prefix bzip 1.0.6) + # depends on sudo apt-get install zlib1g-dev + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) + ${MASON_DIR}/mason install protobuf 2.6.1 + MASON_PROTOBUF=$(${MASON_DIR}/mason prefix protobuf 2.6.1) + ${MASON_DIR}/mason install protobuf_c 1.1.0 + MASON_PROTOBUF_C=$(${MASON_DIR}/mason prefix protobuf_c 1.1.0) + ${MASON_DIR}/mason install libpq 9.4.1 + MASON_LIBPQ=$(${MASON_DIR}/mason prefix libpq 9.4.1) +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + NOCONFIGURE=1 ./autogen.sh + # --without-lockfree to workaround https://github.com/openstreetmap/osm2pgsql/issues/196 + # parse-o5m.cpp:405:58: error: invalid suffix on literal + LDFLAGS="-L${MASON_BOOST_LIBS} -lboost_thread ${LDFLAGS}" + if [[ $(uname -s) == 'Linux' ]]; then + LDFLAGS="${LDFLAGS} -lrt" + fi + CXXFLAGS="-Wno-reserved-user-defined-literal ${CXXFLAGS} -I${MASON_PROTOBUF_C}/include" LDFLAGS="${LDFLAGS}" ./configure \ + --enable-static --disable-shared \ + ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --without-lockfree \ + --with-boost=${MASON_BOOST} \ + --with-boost-libdir=${MASON_BOOST_LIBS} \ + --with-libxml2=${MASON_XML2}/bin/xml2-config \ + --with-zlib=${MASON_ZLIB} \ + --with-bzip2=${MASON_BZIP} \ + --with-geos=${MASON_GEOS}/bin/geos-config \ + --with-proj=${MASON_PROJ} \ + --with-protobuf-c=${MASON_PROTOBUF_C} \ + --with-protobuf-c-inc=${MASON_PROTOBUF_C}/include \ + --with-protobuf-c-lib=${MASON_PROTOBUF_C}/lib \ + --with-postgresql=${MASON_LIBPQ}/bin/pg_config + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/osm2pgsql/0.88.1/.travis.yml b/scripts/osm2pgsql/0.88.1/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/osm2pgsql/0.88.1/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/osm2pgsql/0.88.1/patch.diff b/scripts/osm2pgsql/0.88.1/patch.diff new file mode 100644 index 000000000..28e567b19 --- /dev/null +++ b/scripts/osm2pgsql/0.88.1/patch.diff @@ -0,0 +1,15 @@ +Index: configure.ac +=================================================================== +--- configure.ac (revision 29411) ++++ configure.ac (working copy) +@@ -29,10 +29,6 @@ + dnl Find C++ compiler + AC_PROG_CXX + AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no) +-if test "$HAVE_CXX" = "no" +-then +- AC_MSG_ERROR([Could not find a c++ compiler]); +-fi + + dnl AX_CFLAGS_WARN_ALL + dnl AX_CXXFLAGS_WARN_ALL diff --git a/scripts/osm2pgsql/0.88.1/script.sh b/scripts/osm2pgsql/0.88.1/script.sh new file mode 100755 index 000000000..7650d5e9f --- /dev/null +++ b/scripts/osm2pgsql/0.88.1/script.sh @@ -0,0 +1,111 @@ +#!/usr/bin/env bash + +MASON_NAME=osm2pgsql +MASON_VERSION=0.88.1 +MASON_LIB_FILE=bin/osm2pgsql + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/openstreetmap/osm2pgsql/archive/0.88.1.tar.gz \ + 24d58477f3f9b8406af115f9eb2bab51ac64e09d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + # set up to fix libtool .la files + # https://github.com/mapbox/mason/issues/61 + if [[ $(uname -s) == 'Darwin' ]]; then + FIND="\/Users\/travis\/build\/mapbox\/mason" + else + FIND="\/home\/travis\/build\/mapbox\/mason" + fi + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + ${MASON_DIR}/mason install boost 1.57.0 + MASON_BOOST=$(${MASON_DIR}/mason prefix boost 1.57.0) + MASON_BOOST_LIBS=$(pwd)/mason_packages/.link/lib + ${MASON_DIR}/mason install boost_libsystem 1.57.0 + ${MASON_DIR}/mason link boost_libsystem 1.57.0 + ${MASON_DIR}/mason install boost_libthread 1.57.0 + ${MASON_DIR}/mason link boost_libthread 1.57.0 + MASON_BOOST_SYSTEM=$(${MASON_DIR}/mason prefix boost_libsystem 1.57.0) + ${MASON_DIR}/mason install boost_libfilesystem 1.57.0 + ${MASON_DIR}/mason link boost_libfilesystem 1.57.0 + ${MASON_DIR}/mason install libxml2 2.9.2 + ${MASON_DIR}/mason link libxml2 2.9.2 + MASON_XML2=$(${MASON_DIR}/mason prefix libxml2 2.9.2) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_XML2}/bin/xml2-config + ${MASON_DIR}/mason install geos 3.4.2 + ${MASON_DIR}/mason link geos 3.4.2 + MASON_LINKED_HEADERS=$(pwd)/mason_packages/.link/include + MASON_GEOS=$(${MASON_DIR}/mason prefix geos 3.4.2) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_GEOS}/bin/geos-config + ${MASON_DIR}/mason install proj 4.8.0 + MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.8.0) + ${MASON_DIR}/mason install bzip 1.0.6 + MASON_BZIP=$(${MASON_DIR}/mason prefix bzip 1.0.6) + # depends on sudo apt-get install zlib1g-dev + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) + ${MASON_DIR}/mason install protobuf 2.6.1 + MASON_PROTOBUF=$(${MASON_DIR}/mason prefix protobuf 2.6.1) + ${MASON_DIR}/mason install protobuf_c 1.1.0 + MASON_PROTOBUF_C=$(${MASON_DIR}/mason prefix protobuf_c 1.1.0) + ${MASON_DIR}/mason install libpq 9.4.1 + MASON_LIBPQ=$(${MASON_DIR}/mason prefix libpq 9.4.1) +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p0 < ./patch.diff + NOCONFIGURE=1 ./autogen.sh + # --without-lockfree to workaround https://github.com/openstreetmap/osm2pgsql/issues/196 + # parse-o5m.cpp:405:58: error: invalid suffix on literal + LDFLAGS="-L${MASON_BOOST_LIBS} -lboost_thread ${LDFLAGS}" + if [[ $(uname -s) == 'Linux' ]]; then + LDFLAGS="${LDFLAGS} -lrt" + fi + # -I${MASON_GEOS_HEADER} works around geos-config hardcoding the platform - which breaks if built on OS X 10.10 but building on 10.11 + CFLAGS="-I${MASON_LINKED_HEADERS} -I${MASON_LINKED_HEADERS}/libxml2 ${CFLAGS}" CXXFLAGS="-I${MASON_LINKED_HEADERS} -I${MASON_LINKED_HEADERS}/libxml2 -Wno-reserved-user-defined-literal ${CXXFLAGS} -I${MASON_PROTOBUF_C}/include" LDFLAGS="${LDFLAGS}" ./configure \ + --enable-static --disable-shared \ + ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --without-lockfree \ + --with-boost=${MASON_BOOST} \ + --with-boost-libdir=${MASON_BOOST_LIBS} \ + --with-libxml2=${MASON_XML2}/bin/xml2-config \ + --with-zlib=${MASON_ZLIB} \ + --with-bzip2=${MASON_BZIP} \ + --with-geos=${MASON_GEOS}/bin/geos-config \ + --with-proj=${MASON_PROJ} \ + --with-protobuf-c=${MASON_PROTOBUF_C} \ + --with-protobuf-c-inc=${MASON_PROTOBUF_C}/include \ + --with-protobuf-c-lib=${MASON_PROTOBUF_C}/lib \ + --with-postgresql=${MASON_LIBPQ}/bin/pg_config + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/osmium-tool/1.0.0/.travis.yml b/scripts/osmium-tool/1.0.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/osmium-tool/1.0.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/osmium-tool/1.0.0/script.sh b/scripts/osmium-tool/1.0.0/script.sh new file mode 100755 index 000000000..20933525b --- /dev/null +++ b/scripts/osmium-tool/1.0.0/script.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +MASON_NAME=osmium-tool +MASON_VERSION=1.0.0 +MASON_LIB_FILE=bin/osmium + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/osmcode/osmium-tool/tarball/v1.0.0 \ + a5a1822267e1832e27e805ff9bcfe9217a4f82ad + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/osmcode-osmium-tool-06bcd2c +} + +function mason_prepare_compile { + echo ${MASON_ROOT}/.build + cd ${MASON_ROOT} + OSMIUM_INCLUDE_DIR=${MASON_ROOT}/osmcode-libosmium-5e4af90/include + curl --retry 3 -f -# -L "https://github.com/osmcode/libosmium/tarball/v2.0.0" -o osmium.tar.gz + tar -xzf osmium.tar.gz + + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install boost 1.57.0 + ${MASON_DIR}/mason link boost 1.57.0 + ${MASON_DIR}/mason install boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason link boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason install protobuf 2.6.1 + ${MASON_DIR}/mason link protobuf 2.6.1 + ${MASON_DIR}/mason install zlib 1.2.8 + ${MASON_DIR}/mason link zlib 1.2.8 + ${MASON_DIR}/mason install expat 2.1.0 + ${MASON_DIR}/mason link expat 2.1.0 + ${MASON_DIR}/mason install osmpbf 1.3.3 + ${MASON_DIR}/mason link osmpbf 1.3.3 + ${MASON_DIR}/mason install bzip 1.0.6 + ${MASON_DIR}/mason link bzip 1.0.6 +} + +function mason_compile { + mkdir build + cd build + CMAKE_PREFIX_PATH=${MASON_ROOT}/.link \ + cmake \ + -DOSMIUM_INCLUDE_DIR=${OSMIUM_INCLUDE_DIR} \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + .. + make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/osmium-tool/1.3.0/.travis.yml b/scripts/osmium-tool/1.3.0/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/osmium-tool/1.3.0/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/osmium-tool/1.3.0/script.sh b/scripts/osmium-tool/1.3.0/script.sh new file mode 100755 index 000000000..9e773bb8e --- /dev/null +++ b/scripts/osmium-tool/1.3.0/script.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +MASON_NAME=osmium-tool +MASON_VERSION=1.3.0 +MASON_LIB_FILE=bin/osmium + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/osmcode/osmium-tool/tarball/v1.3.0 \ + b7be94a999061bb0dbfb04451cb2b2a8a09c1d23 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/osmcode-osmium-tool-24de9be +} + +function mason_prepare_compile { + echo ${MASON_ROOT}/.build + cd ${MASON_ROOT} + OSMIUM_INCLUDE_DIR=${MASON_ROOT}/osmcode-libosmium-0ff2780/include + curl --retry 3 -f -# -L "https://github.com/osmcode/libosmium/tarball/v2.5.4" -o osmium.tar.gz + tar -xzf osmium.tar.gz + + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install boost 1.57.0 + ${MASON_DIR}/mason link boost 1.57.0 + ${MASON_DIR}/mason install boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason link boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason install protobuf 2.6.1 + ${MASON_DIR}/mason link protobuf 2.6.1 + ${MASON_DIR}/mason install zlib 1.2.8 + ${MASON_DIR}/mason link zlib 1.2.8 + ${MASON_DIR}/mason install expat 2.1.0 + ${MASON_DIR}/mason link expat 2.1.0 + ${MASON_DIR}/mason install osmpbf 1.3.3 + ${MASON_DIR}/mason link osmpbf 1.3.3 + ${MASON_DIR}/mason install bzip 1.0.6 + ${MASON_DIR}/mason link bzip 1.0.6 +} + +function mason_compile { + mkdir build + cd build + CMAKE_PREFIX_PATH=${MASON_ROOT}/.link \ + cmake \ + -DOSMIUM_INCLUDE_DIR=${OSMIUM_INCLUDE_DIR} \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + .. + make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/osmium-tool/1.3.1/.travis.yml b/scripts/osmium-tool/1.3.1/.travis.yml new file mode 100644 index 000000000..ef9476a66 --- /dev/null +++ b/scripts/osmium-tool/1.3.1/.travis.yml @@ -0,0 +1,24 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode8 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/osmium-tool/1.3.1/script.sh b/scripts/osmium-tool/1.3.1/script.sh new file mode 100755 index 000000000..d631dc1f3 --- /dev/null +++ b/scripts/osmium-tool/1.3.1/script.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +MASON_NAME=osmium-tool +MASON_VERSION=1.3.1 +MASON_LIB_FILE=bin/osmium + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/osmcode/osmium-tool/tarball/v1.3.1 \ + 1718acc22f3d92d74967653d2194386d61746db3 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/osmcode-osmium-tool-52ee5b7 +} + +function mason_prepare_compile { + BOOST_VERSION=1.61.0 + ${MASON_DIR}/mason install cmake 3.5.2 + MASON_CMAKE=$(${MASON_DIR}/mason prefix cmake 3.5.2) + ${MASON_DIR}/mason install boost ${BOOST_VERSION} + ${MASON_DIR}/mason link boost ${BOOST_VERSION} + ${MASON_DIR}/mason install boost_libprogram_options ${BOOST_VERSION} + ${MASON_DIR}/mason link boost_libprogram_options ${BOOST_VERSION} + ${MASON_DIR}/mason install libosmium 2.8.0 + ${MASON_DIR}/mason link libosmium 2.8.0 + ${MASON_DIR}/mason install protozero 1.4.0 + ${MASON_DIR}/mason link protozero 1.4.0 + ${MASON_DIR}/mason install utfcpp 2.3.4 + ${MASON_DIR}/mason link utfcpp 2.3.4 + ${MASON_DIR}/mason install zlib 1.2.8 + ${MASON_DIR}/mason link zlib 1.2.8 + ${MASON_DIR}/mason install expat 2.1.0 + ${MASON_DIR}/mason link expat 2.1.0 + ${MASON_DIR}/mason install bzip2 1.0.6 + ${MASON_DIR}/mason link bzip2 1.0.6 + MASON_HOME=${MASON_ROOT}/.link/ + +} + +function mason_compile { + rm -rf ./build/ + mkdir ./build + cd ./build + echo $MASON_HOME + ${MASON_CMAKE}/bin/cmake ../ \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DBoost_NO_SYSTEM_PATHS=ON \ + -DBoost_USE_STATIC_LIBS=ON \ + -DOSMIUM_INCLUDE_DIR=${MASON_HOME}/include \ + -DCMAKE_INCLUDE_PATH=${MASON_HOME}/include \ + -DCMAKE_LIBRARY_PATH=${MASON_HOME}/lib + make install +} + +function mason_clean { + make clean +} + +function mason_cflags { + : +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/osmium-tool/latest/.travis.yml b/scripts/osmium-tool/latest/.travis.yml new file mode 100644 index 000000000..a283000bc --- /dev/null +++ b/scripts/osmium-tool/latest/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/osmium-tool/latest/script.sh b/scripts/osmium-tool/latest/script.sh new file mode 100644 index 000000000..c39c48f4d --- /dev/null +++ b/scripts/osmium-tool/latest/script.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +MASON_NAME=osmium-tool +MASON_VERSION=latest +MASON_LIB_FILE=bin/osmium + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/osmium-tool-latest + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + git clone --depth 1 https://github.com/osmcode/osmium-tool.git ${MASON_BUILD_PATH} + else + (cd ${MASON_BUILD_PATH} && git pull) + fi +} + +function mason_prepare_compile { + echo ${MASON_ROOT}/.build + cd ${MASON_ROOT} + OSMIUM_INCLUDE_DIR=${MASON_ROOT}/osmcode-libosmium-latest/include + curl --retry 3 -f -# -L "https://github.com/osmcode/libosmium/tarball/master" -o osmium.tar.gz + rm -rf osmcode-libosmium-* + tar -xzf osmium.tar.gz + mv osmcode-libosmium-* osmcode-libosmium-latest + + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install boost 1.57.0 + ${MASON_DIR}/mason link boost 1.57.0 + ${MASON_DIR}/mason install boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason link boost_libprogram_options 1.57.0 + ${MASON_DIR}/mason install protobuf 2.6.1 + ${MASON_DIR}/mason link protobuf 2.6.1 + ${MASON_DIR}/mason install zlib 1.2.8 + ${MASON_DIR}/mason link zlib 1.2.8 + ${MASON_DIR}/mason install expat 2.1.0 + ${MASON_DIR}/mason link expat 2.1.0 + ${MASON_DIR}/mason install osmpbf 1.3.3 + ${MASON_DIR}/mason link osmpbf 1.3.3 + ${MASON_DIR}/mason install bzip2 1.0.6 + ${MASON_DIR}/mason link bzip2 1.0.6 + ${MASON_DIR}/mason install geos 3.5.0 + ${MASON_DIR}/mason link geos 3.5.0 +} + +function mason_compile { + mkdir build + cd build + CMAKE_PREFIX_PATH=${MASON_ROOT}/.link \ + cmake \ + -DOSMIUM_INCLUDE_DIR=${OSMIUM_INCLUDE_DIR} \ + -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + .. + make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/osmpbf/1.3.3/.travis.yml b/scripts/osmpbf/1.3.3/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/osmpbf/1.3.3/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/osmpbf/1.3.3/script.sh b/scripts/osmpbf/1.3.3/script.sh new file mode 100755 index 000000000..22f133a07 --- /dev/null +++ b/scripts/osmpbf/1.3.3/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=osmpbf +MASON_VERSION=1.3.3 +MASON_LIB_FILE=lib/libosmpbf.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/scrosby/OSM-binary/tarball/v1.3.3 \ + ae165e355532e37f1ca60a36395abef959a12a81 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/scrosby-OSM-binary-72cd8e5 +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install protobuf 2.6.1 + ${MASON_DIR}/mason link protobuf 2.6.1 +} + +function mason_compile { + PROTOC="${MASON_ROOT}/.link/bin/protoc" \ + LDFLAGS="-L${MASON_ROOT}/.link/lib" \ + CXXFLAGS="-I${MASON_ROOT}/.link/include" \ + make -C src + + PREFIX="${MASON_PREFIX}" make -C src install +} + +function mason_clean { + make clean +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_lflags { + echo "-L${MASON_PREFIX}/lib" +} + + +mason_run "$@" diff --git a/scripts/osrm/0.4.1/.travis.yml b/scripts/osrm/0.4.1/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/osrm/0.4.1/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/osrm/0.4.1/script.sh b/scripts/osrm/0.4.1/script.sh new file mode 100755 index 000000000..2410c4ae3 --- /dev/null +++ b/scripts/osrm/0.4.1/script.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env bash + +MASON_NAME=osrm +MASON_VERSION=0.4.1 +MASON_LIB_FILE=lib/libOSRM.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/Project-OSRM/osrm-backend/archive/v${MASON_VERSION}.tar.gz \ + 71e553834fa571854294626d4f4d5000ae530ed6 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/osrm-backend-${MASON_VERSION} +} + +function dep() { + ${MASON_DIR}/mason install $1 $2 + ${MASON_DIR}/mason link $1 $2 +} + +function all_deps() { + dep cmake 3.2.2 & + dep lua 5.3.0 & + dep luabind dev & + dep boost 1.57.0 & + dep boost_libsystem 1.57.0 & + dep boost_libthread 1.57.0 & + dep boost_libfilesystem 1.57.0 & + dep boost_libprogram_options 1.57.0 & + dep boost_libregex 1.57.0 & + dep boost_libiostreams 1.57.0 & + dep boost_libtest 1.57.0 & + dep boost_libdate_time 1.57.0 & + dep expat 2.1.0 & + dep stxxl 1.4.1 & + dep osmpbf 1.3.3 & + dep protobuf 2.6.1 & + dep bzip 1.0.6 & + dep zlib system & + dep tbb 43_20150316 & + wait +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + all_deps + MASON_HOME=$(pwd)/mason_packages/.link + PATH=${MASON_HOME}/bin:$PATH + PKG_CONFIG_PATH=${MASON_HOME}/lib/pkgconfig + LINK_FLAGS="" + if [[ $(uname -s) == 'Linux' ]]; then + LINK_FLAGS="${LINK_FLAGS} "'-Wl,-z,origin -Wl,-rpath=\$ORIGIN' + fi +} + +function mason_compile { + mkdir build + cd build + cmake + cmake ../ -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DBoost_NO_SYSTEM_PATHS=ON \ + -DTBB_INSTALL_DIR=${MASON_HOME} \ + -DCMAKE_INCLUDE_PATH=${MASON_HOME}/include \ + -DCMAKE_LIBRARY_PATH=${MASON_HOME}/lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_EXE_LINKER_FLAGS="${LINK_FLAGS}" + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lOSRM" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/parallel/20160422/.travis.yml b/scripts/parallel/20160422/.travis.yml new file mode 100644 index 000000000..d24e375d5 --- /dev/null +++ b/scripts/parallel/20160422/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + - os: linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/parallel/20160422/script.sh b/scripts/parallel/20160422/script.sh new file mode 100755 index 000000000..f49c95218 --- /dev/null +++ b/scripts/parallel/20160422/script.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +MASON_NAME=parallel +MASON_VERSION=20160422 +MASON_LIB_FILE=bin/parallel + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://ftp.gnu.org/gnu/${MASON_NAME}/${MASON_NAME}-${MASON_VERSION}.tar.bz2 \ + 032c35aaecc65aa1298b33c48f0a4418041771e4 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} \ + --disable-dependency-tracking + + make -j${MASON_CONCURRENCY} + make install +} + + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/pixelmatch/0.10.0/.travis.yml b/scripts/pixelmatch/0.10.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/pixelmatch/0.10.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/pixelmatch/0.10.0/script.sh b/scripts/pixelmatch/0.10.0/script.sh new file mode 100755 index 000000000..5a2dc9f04 --- /dev/null +++ b/scripts/pixelmatch/0.10.0/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=pixelmatch +MASON_VERSION=0.10.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/pixelmatch-cpp/archive/v${MASON_VERSION}.tar.gz \ + cfcacf7e910c43ee0570bd069c42026095bf28ae + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/pixelmatch-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include + cp -rv include ${MASON_PREFIX} + cp -v README.md LICENSE.txt ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/pixelmatch/0.9.0/.travis.yml b/scripts/pixelmatch/0.9.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/pixelmatch/0.9.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/pixelmatch/0.9.0/script.sh b/scripts/pixelmatch/0.9.0/script.sh new file mode 100755 index 000000000..af019f7f7 --- /dev/null +++ b/scripts/pixelmatch/0.9.0/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=pixelmatch +MASON_VERSION=0.9.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/pixelmatch-cpp/archive/v${MASON_VERSION}.tar.gz \ + 3a571d8ecf5247feffc239975b44e11b33c387df + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/pixelmatch-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE.txt ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/pixman/0.32.6/.travis.yml b/scripts/pixman/0.32.6/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/pixman/0.32.6/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/pixman/0.32.6/script.sh b/scripts/pixman/0.32.6/script.sh new file mode 100755 index 000000000..4fc30b378 --- /dev/null +++ b/scripts/pixman/0.32.6/script.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +MASON_NAME=pixman +MASON_VERSION=0.32.6 +MASON_LIB_FILE=lib/libpixman-1.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://cairographics.org/releases/pixman-${MASON_VERSION}.tar.gz \ + ef6a79a704290fa28838d02faad3914fe9cbc895 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking \ + --disable-mmx \ + --disable-ssse3 \ + --disable-libpng \ + --disable-gtk + + # The -i and -k flags are to workaround osx bug in pixman tests: Undefined symbols for architecture x86_64: "_prng_state + make -j${MASON_CONCURRENCY} -i -k + make install -i -k +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + echo -L${MASON_PREFIX}/lib -ljpeg +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/postgis/2.2.2/.travis.yml b/scripts/postgis/2.2.2/.travis.yml new file mode 100644 index 000000000..93f3828cc --- /dev/null +++ b/scripts/postgis/2.2.2/.travis.yml @@ -0,0 +1,29 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + env: CXX=clang++-3.5 CC=clang-3.5 + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + packages: + - clang-3.5 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/postgis/2.2.2/script.sh b/scripts/postgis/2.2.2/script.sh new file mode 100755 index 000000000..28c1a4592 --- /dev/null +++ b/scripts/postgis/2.2.2/script.sh @@ -0,0 +1,140 @@ +#!/usr/bin/env bash + +MASON_NAME=postgis +MASON_VERSION=2.2.2 +MASON_LIB_FILE=bin/shp2pgsql + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/postgis/source/postgis-${MASON_VERSION}.tar.gz \ + e3a740fc6d9af5d567346f2729ee86af2b6da88c + + mason_extract_tar_gz + export MASON_BUILD_PATH=${MASON_ROOT}/.build/postgis-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install postgres 9.5.2 + MASON_POSTGRES=$(${MASON_DIR}/mason prefix postgres 9.5.2) + ${MASON_DIR}/mason install proj 4.9.2 + MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.9.2) + ${MASON_DIR}/mason install libxml2 2.9.3 + MASON_XML2=$(${MASON_DIR}/mason prefix libxml2 2.9.3) + ${MASON_DIR}/mason install geos 3.5.0 + MASON_GEOS=$(${MASON_DIR}/mason prefix geos 3.5.0) + if [[ $(uname -s) == 'Darwin' ]]; then + FIND="\/Users\/travis\/build\/mapbox\/mason" + else + FIND="\/home\/travis\/build\/mapbox\/mason" + fi + REPLACE="$(pwd)" + REPLACE=${REPLACE////\\/} + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PROJ}/lib/libproj.la + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_XML2}/lib/libxml2.la + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_XML2}/bin/xml2-config + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_GEOS}/lib/libgeos.la + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_GEOS}/lib/libgeos_c.la + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_GEOS}/bin/geos-config + + ${MASON_DIR}/mason install gdal 2.0.2 + MASON_GDAL=$(${MASON_DIR}/mason prefix gdal 2.0.2) + ln -sf ${MASON_GDAL}/include ${MASON_GDAL}/include/gdal + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_GDAL}/lib/libgdal.la + ${MASON_DIR}/mason install libtiff 4.0.6 + MASON_TIFF=$(${MASON_DIR}/mason prefix libtiff 4.0.6) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_TIFF}/lib/libtiff.la + ${MASON_DIR}/mason install jpeg_turbo 1.4.2 + MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.4.2) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_JPEG}/lib/libjpeg.la + ${MASON_DIR}/mason install libpng 1.6.21 + MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.21) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la + ${MASON_DIR}/mason install expat 2.1.1 + MASON_EXPAT=$(${MASON_DIR}/mason prefix expat 2.1.1) + perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_EXPAT}/lib/libexpat.la + ${MASON_DIR}/mason install zlib system + MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system) + #${MASON_DIR}/mason install iconv system + #MASON_ICONV=$(${MASON_DIR}/mason prefix iconv system) +} + +function mason_compile { + export LDFLAGS="${LDFLAGS} \ + -L${MASON_GDAL}/lib -lgdal \ + -L${MASON_GEOS}/lib -lgeos_c -lgeos\ + -L${MASON_ZLIB}/lib -lz \ + -L${MASON_TIFF}/lib -ltiff \ + -L${MASON_JPEG}/lib -ljpeg \ + -L${MASON_PROJ}/lib -lproj \ + -L${MASON_PNG}/lib -lpng \ + -L${MASON_EXPAT}/lib -lexpat \ + -L${MASON_PROJ}/lib -lproj \ + -L${MASON_XML2}/lib -lxml2" + export CFLAGS="${CFLAGS} -I$(pwd)/liblwgeom/ \ + -I$(pwd)/raster/ -I$(pwd)/raster/rt_core/ \ + -I${MASON_TIFF}/include \ + -I${MASON_JPEG}/include \ + -I${MASON_PROJ}/include \ + -I${MASON_PNG}/include \ + -I${MASON_EXPAT}/include \ + -I${MASON_GDAL}/include \ + -I${MASON_POSTGRES}/include/server \ + -I${MASON_GEOS}/include \ + -I${MASON_PROJ}/include \ + -I${MASON_XML2}/include/libxml2" + + if [[ $(uname -s) == 'Darwin' ]]; then + export LDFLAGS="${LDFLAGS} -Wl,-lc++ -Wl,${MASON_GDAL}/lib/libgdal.a -Wl,${MASON_POSTGRES}/lib/libpq.a -liconv" + else + export LDFLAGS="${LDFLAGS} ${MASON_GDAL}/lib/libgdal.a -lgeos_c -lgeos -lxml2 -lproj -lexpat -lpng -ltiff -ljpeg ${MASON_POSTGRES}/lib/libpq.a -pthread -ldl -lz -lstdc++ -lm" + fi + + + MASON_LIBPQ_PATH=${MASON_POSTGRES}/lib/libpq.a + MASON_LIBPQ_PATH2=${MASON_LIBPQ_PATH////\\/} + perl -i -p -e "s/\-lpq/${MASON_LIBPQ_PATH2} -pthread/g;" configure + perl -i -p -e "s/librtcore\.a/librtcore\.a \.\.\/\.\.\/liblwgeom\/\.libs\/liblwgeom\.a/g;" raster/loader/Makefile.in + + if [[ $(uname -s) == 'Linux' ]]; then + # help initGEOS configure check + perl -i -p -e "s/\-lgeos_c /\-lgeos_c \-lgeos \-lstdc++ \-lm /g;" configure + # help GDALAllRegister configure check + CMD="data=open('./configure','r').read();open('./configure','w')" + CMD="${CMD}.write(data.replace('\`\$GDAL_CONFIG --libs\`','\"-lgdal -lgeos_c -lgeos -lxml2 -lproj -lexpat -lpng -ltiff -ljpeg ${MASON_POSTGRES}/lib/libpq.a -pthread -ldl -lz -lstdc++ -lm\"'))" + python -c "${CMD}" + fi + + ./configure \ + --enable-static --disable-shared \ + --prefix=$(mktemp -d) \ + ${MASON_HOST_ARG} \ + --with-projdir=${MASON_PROJ} \ + --with-geosconfig=${MASON_GEOS}/bin/geos-config \ + --with-pgconfig=${MASON_POSTGRES}/bin/pg_config \ + --with-xml2config=${MASON_XML2}/bin/xml2-config \ + --with-gdalconfig=${MASON_GDAL}/bin/gdal-config \ + --without-json \ + --without-gui \ + --with-topology \ + --with-raster \ + --with-sfcgal=no \ + --without-sfcgal \ + --disable-nls || (cat config.log && exit 1) + # -j${MASON_CONCURRENCY} disabled due to https://trac.osgeo.org/postgis/ticket/3345 + make LDFLAGS="$LDFLAGS" CFLAGS="$CFLAGS" + make install LDFLAGS="$LDFLAGS" CFLAGS="$CFLAGS" + # the meat of postgis installs into postgres directory + # so we actually want to package postgres with the postgis stuff + # inside, so here we symlink it + mkdir -p $(dirname $MASON_PREFIX) + ln -sf ${MASON_POSTGRES} ${MASON_PREFIX} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/postgis/2.2.2/test.sh b/scripts/postgis/2.2.2/test.sh new file mode 100755 index 000000000..6a92e0697 --- /dev/null +++ b/scripts/postgis/2.2.2/test.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +set -ue + +if [[ ${PGDATA:-unset} != "unset" ]] || [[ ${PGHOST:-unset} != "unset" ]] || [[ ${PGTEMP_DIR:-unset} != "unset" ]]; then + echo "ERROR: this script deletes \${PGDATA}, \${PGHOST}, and \${PGTEMP_DIR}." + echo "So it will not run if you have these set in your environment" + exit 1 +fi + +export GDAL_PREFIX=$(../../../mason prefix gdal 2.0.2) +# make sure we can init, start, create db, and stop +export PGDATA=./local-postgres +# PGHOST must start with / so therefore must be absolute path +export PGHOST=$(pwd)/local-unix-socket +export PGTEMP_DIR=$(pwd)/local-tmp +export PGPORT=1111 + +# cleanup +function cleanup() { + if [[ -d ${PGDATA} ]]; then rm -r ${PGDATA}; fi + if [[ -d ${PGTEMP_DIR} ]]; then rm -r ${PGTEMP_DIR}; fi + if [[ -d ${PGHOST} ]]; then rm -r ${PGHOST}; fi + rm -f postgres.log + rm -f seattle_washington_water_coast* + rm -f seattle_washington.water.coast* +} + +function setup() { + mkdir ${PGTEMP_DIR} + mkdir ${PGHOST} +} + +function finish { + ./mason_packages/.link/bin/pg_ctl -w stop + cleanup +} + +function pause(){ + read -p "$*" +} + +trap finish EXIT + +cleanup +setup + +if [[ ! -d ./mason_packages/.link ]]; then + ./script.sh link +fi + +./mason_packages/.link/bin/initdb +export PATH=./mason_packages/.link/bin/:${PATH} +export GDAL_DATA=${GDAL_PREFIX}/share/gdal +postgres -k $PGHOST > postgres.log & +sleep 2 +cat postgres.log +createdb template_postgis +psql -l +psql template_postgis -c "CREATE TABLESPACE temp_disk LOCATION '${PGTEMP_DIR}';" +psql template_postgis -c "SET temp_tablespaces TO 'temp_disk';" +psql template_postgis -c "CREATE EXTENSION postgis;" +psql template_postgis -c "SELECT PostGIS_Full_Version();" +curl -OL "https://s3.amazonaws.com/metro-extracts.mapzen.com/seattle_washington.water.coastline.zip" +unzip -o seattle_washington.water.coastline.zip +createdb test-osm -T template_postgis +shp2pgsql -s 4326 seattle_washington_water_coast.shp coast | psql test-osm +psql test-osm -c "SELECT count(*) from coast;" \ No newline at end of file diff --git a/scripts/postgres/9.5.2/.travis.yml b/scripts/postgres/9.5.2/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/postgres/9.5.2/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/postgres/9.5.2/patch.diff b/scripts/postgres/9.5.2/patch.diff new file mode 100644 index 000000000..ae2f06a46 --- /dev/null +++ b/scripts/postgres/9.5.2/patch.diff @@ -0,0 +1,11 @@ +--- src/include/pg_config_manual.h 2013-10-07 20:17:38.000000000 -0700 ++++ src/include/pg_config_manual.h 2014-03-08 21:29:48.000000000 -0800 +@@ -144,7 +144,7 @@ + * here's where to twiddle it. You can also override this at runtime + * with the postmaster's -k switch. + */ +-#define DEFAULT_PGSOCKET_DIR "/tmp" ++#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" + + /* + * The random() function is expected to yield values between 0 and diff --git a/scripts/postgres/9.5.2/script.sh b/scripts/postgres/9.5.2/script.sh new file mode 100755 index 000000000..0796ca415 --- /dev/null +++ b/scripts/postgres/9.5.2/script.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +MASON_NAME=postgres +MASON_VERSION=9.5.2 +MASON_LIB_FILE=bin/psql + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://ftp.postgresql.org/pub/source/v${MASON_VERSION}/postgresql-${MASON_VERSION}.tar.bz2 \ + 9c7bd5c1c601075ff6d5ea7615f9461d5b1f4c88 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/postgresql-${MASON_VERSION} +} + +function mason_compile { + if [[ ${MASON_PLATFORM} == 'linux' ]]; then + mason_step "Loading patch" + patch src/include/pg_config_manual.h ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff + fi + + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-thread-safety \ + --enable-largefile \ + --with-python \ + --with-zlib \ + --without-bonjour \ + --without-openssl \ + --without-pam \ + --without-gssapi \ + --without-ossp-uuid \ + --without-readline \ + --without-ldap \ + --without-libxml \ + --without-libxslt \ + --without-selinux \ + --without-perl \ + --without-tcl \ + --disable-rpath \ + --disable-debug \ + --disable-profiling \ + --disable-coverage \ + --disable-dtrace \ + --disable-depend \ + --disable-cassert + + make -j${MASON_CONCURRENCY} -C src/interfaces/libpq/ install + rm -f src/interfaces/libpq{*.so*,*.dylib} + rm -f ${MASON_PREFIX}/lib/libpq{*.so*,*.dylib} + MASON_LIBPQ_PATH=${MASON_PREFIX}/lib/libpq.a + MASON_LIBPQ_PATH2=${MASON_LIBPQ_PATH////\\/} + perl -i -p -e "s/\-lpq/${MASON_LIBPQ_PATH2} -pthread/g;" src//Makefile.global.in + perl -i -p -e "s/\-lpq/${MASON_LIBPQ_PATH2} -pthread/g;" src//Makefile.global + make -j${MASON_CONCURRENCY} install + make -j${MASON_CONCURRENCY} -C contrib/hstore install + rm -f ${MASON_PREFIX}/lib/lib{*.so*,*.dylib} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/proj/4.8.0/.travis.yml b/scripts/proj/4.8.0/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/proj/4.8.0/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/proj/4.8.0/script.sh b/scripts/proj/4.8.0/script.sh new file mode 100755 index 000000000..0cc8a3fb8 --- /dev/null +++ b/scripts/proj/4.8.0/script.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +MASON_NAME=proj +MASON_VERSION=4.8.0 +MASON_LIB_FILE=lib/libproj.a +#MASON_PKGCONFIG_FILE=lib/pkgconfig/proj.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/proj/proj-${MASON_VERSION}.tar.gz \ + 531953338fd3167670cafb44ca59bd58eaa8712d + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + curl --retry 3 -f -# -L http://download.osgeo.org/proj/proj-datumgrid-1.5.zip -o proj-datumgrid-1.5.zip + cd nad + unzip -o ../proj-datumgrid-1.5.zip + cd ../ + ./configure --prefix=${MASON_PREFIX} \ + --without-mutex ${MASON_HOST_ARG} \ + --with-jni=no \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + echo "-lproj" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/proj/4.9.2/.travis.yml b/scripts/proj/4.9.2/.travis.yml new file mode 100644 index 000000000..07209ddb4 --- /dev/null +++ b/scripts/proj/4.9.2/.travis.yml @@ -0,0 +1,24 @@ +language: generic + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/proj/4.9.2/script.sh b/scripts/proj/4.9.2/script.sh new file mode 100755 index 000000000..b21c20073 --- /dev/null +++ b/scripts/proj/4.9.2/script.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +MASON_NAME=proj +MASON_VERSION=4.9.2 +MASON_LIB_FILE=lib/libproj.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://download.osgeo.org/proj/proj-${MASON_VERSION}.tar.gz \ + d9d35af05af0d43464c280d14e24bf3743494daf + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + curl --retry 3 -f -# -L http://download.osgeo.org/proj/proj-datumgrid-1.5.zip -o proj-datumgrid-1.5.zip + cd nad + unzip -o ../proj-datumgrid-1.5.zip + cd ../ + ./configure --prefix=${MASON_PREFIX} \ + --without-mutex ${MASON_HOST_ARG} \ + --with-jni=no \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make -j${MASON_CONCURRENCY} + make install +} + +function mason_ldflags { + echo "-lproj" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/protobuf/2.6.1/.travis.yml b/scripts/protobuf/2.6.1/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/protobuf/2.6.1/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/protobuf/2.6.1/script.sh b/scripts/protobuf/2.6.1/script.sh new file mode 100755 index 000000000..f63010785 --- /dev/null +++ b/scripts/protobuf/2.6.1/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=protobuf +MASON_VERSION=2.6.1 +MASON_LIB_FILE=lib/libprotobuf-lite.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/protobuf-lite.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.bz2 \ + 823368b46eee836243c20f0c358b15280b0f8cf9 + + mason_extract_tar_bz2 + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --disable-debug --without-zlib \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/protobuf/3.0.0/.travis.yml b/scripts/protobuf/3.0.0/.travis.yml new file mode 100644 index 000000000..30a758f4b --- /dev/null +++ b/scripts/protobuf/3.0.0/.travis.yml @@ -0,0 +1,24 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/protobuf/3.0.0/script.sh b/scripts/protobuf/3.0.0/script.sh new file mode 100755 index 000000000..e8eb8d92e --- /dev/null +++ b/scripts/protobuf/3.0.0/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=protobuf +MASON_VERSION=3.0.0 +MASON_LIB_FILE=lib/libprotobuf.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/protobuf.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/google/${MASON_NAME}/releases/download/v${MASON_VERSION}/${MASON_NAME}-cpp-${MASON_VERSION}.tar.gz \ + 88f03530236797ee1a51748cb9a1fe43cc952b7c + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --disable-debug --without-zlib \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_clean { + make clean +} + +mason_run "$@" + diff --git a/scripts/protobuf_c/1.1.0/.travis.yml b/scripts/protobuf_c/1.1.0/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/protobuf_c/1.1.0/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/protobuf_c/1.1.0/script.sh b/scripts/protobuf_c/1.1.0/script.sh new file mode 100755 index 000000000..83bf97f0b --- /dev/null +++ b/scripts/protobuf_c/1.1.0/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=protobuf_c +MASON_VERSION=1.1.0 +MASON_LIB_FILE=lib/libprotobuf-c.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/protobuf-c.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/protobuf-c/protobuf-c/releases/download/v1.1.0/protobuf-c-1.1.0.tar.gz \ + c7e30c4410e50a14f9eeffbc26dbc62ab4d3ebc5 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/protobuf-c-${MASON_VERSION} +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install protobuf 2.6.1 + MASON_PROTOBUF=$(${MASON_DIR}/mason prefix protobuf 2.6.1) + export PKG_CONFIG_PATH=${MASON_PROTOBUF}/lib/pkgconfig:${PKG_CONFIG_PATH} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --disable-debug --without-zlib \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/protozero/1.3.0/.travis.yml b/scripts/protozero/1.3.0/.travis.yml new file mode 100644 index 000000000..2a3f80b9b --- /dev/null +++ b/scripts/protozero/1.3.0/.travis.yml @@ -0,0 +1,22 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/protozero/1.3.0/script.sh b/scripts/protozero/1.3.0/script.sh new file mode 100644 index 000000000..8aa4fd608 --- /dev/null +++ b/scripts/protozero/1.3.0/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +MASON_NAME=protozero +MASON_VERSION=1.3.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/protozero/tarball/v1.3.0 \ + 6d0432ccb300fda98805ad429a1fac980d42510e + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapbox-protozero-ad3ca5b +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/protozero ${MASON_PREFIX}/include/protozero +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/protozero/1.4.0/.travis.yml b/scripts/protozero/1.4.0/.travis.yml new file mode 100644 index 000000000..9ad9cf319 --- /dev/null +++ b/scripts/protozero/1.4.0/.travis.yml @@ -0,0 +1,28 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/protozero/1.4.0/script.sh b/scripts/protozero/1.4.0/script.sh new file mode 100644 index 000000000..e65993e10 --- /dev/null +++ b/scripts/protozero/1.4.0/script.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +MASON_NAME=protozero +MASON_VERSION=1.4.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/protozero/tarball/v1.4.0 \ + 0f6eb6234ee5a258216b2f9a83e35a1f5e60ca03 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapbox-protozero-ca34d86 +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/protozero ${MASON_PREFIX}/include/protozero +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/protozero/1.4.2/.travis.yml b/scripts/protozero/1.4.2/.travis.yml new file mode 100644 index 000000000..b004f08e9 --- /dev/null +++ b/scripts/protozero/1.4.2/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/protozero/1.4.2/script.sh b/scripts/protozero/1.4.2/script.sh new file mode 100644 index 000000000..04ceb2a28 --- /dev/null +++ b/scripts/protozero/1.4.2/script.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +MASON_NAME=protozero +MASON_VERSION=1.4.2 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/protozero/archive/v${MASON_VERSION}.tar.gz \ + d4db66ece4fb40460efbceafecbc84a8987e7aaf + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/protozero-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/protozero ${MASON_PREFIX}/include/protozero +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + +mason_run "$@" diff --git a/scripts/ragel/6.9/.travis.yml b/scripts/ragel/6.9/.travis.yml new file mode 100644 index 000000000..d24e375d5 --- /dev/null +++ b/scripts/ragel/6.9/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + - os: linux + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/ragel/6.9/script.sh b/scripts/ragel/6.9/script.sh new file mode 100755 index 000000000..6e0c47e7e --- /dev/null +++ b/scripts/ragel/6.9/script.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +MASON_NAME=ragel +MASON_VERSION=6.9 +MASON_LIB_FILE=bin/ragel + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.colm.net/files/ragel/ragel-${MASON_VERSION}.tar.gz \ + adf45ba5bb04359e6a0f8d5a98bfc10e6388bf21 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + ./configure --prefix=${MASON_PREFIX} \ + --disable-dependency-tracking + + make -j${MASON_CONCURRENCY} + make install +} + + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/rapidjson/1.0.2/.travis.yml b/scripts/rapidjson/1.0.2/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/rapidjson/1.0.2/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/rapidjson/1.0.2/script.sh b/scripts/rapidjson/1.0.2/script.sh new file mode 100755 index 000000000..d75e0ebda --- /dev/null +++ b/scripts/rapidjson/1.0.2/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=rapidjson +MASON_VERSION=1.0.2 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/miloyip/rapidjson/archive/v1.0.2.tar.gz \ + dada19604224e5040914181b67b536e9cf24dcbe + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/rapidjson-1.0.2 +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + cp -rv include ${MASON_PREFIX} +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/rapidjson/1.1.0/.travis.yml b/scripts/rapidjson/1.1.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/rapidjson/1.1.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/rapidjson/1.1.0/script.sh b/scripts/rapidjson/1.1.0/script.sh new file mode 100755 index 000000000..009a6b646 --- /dev/null +++ b/scripts/rapidjson/1.1.0/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=rapidjson +MASON_VERSION=1.1.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/miloyip/rapidjson/archive/v1.1.0.tar.gz \ + eb129f3e940d4bc220a16cfb1b6625e79a09b2d4 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/rapidjson-1.1.0 +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + cp -rv include ${MASON_PREFIX} +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/rapidjson/2016-07-20-369de87/.travis.yml b/scripts/rapidjson/2016-07-20-369de87/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/rapidjson/2016-07-20-369de87/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/rapidjson/2016-07-20-369de87/script.sh b/scripts/rapidjson/2016-07-20-369de87/script.sh new file mode 100755 index 000000000..cf551a2f7 --- /dev/null +++ b/scripts/rapidjson/2016-07-20-369de87/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=rapidjson +MASON_VERSION=2016-07-20-369de87 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/miloyip/rapidjson/archive/369de87e5d7da05786731a712f25ab9b46c4b0ce.tar.gz \ + e2b9b08ee980ab82a4ced50a36d2bd12ac1a5dc4 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/rapidjson-369de87e5d7da05786731a712f25ab9b46c4b0ce +} + +function mason_compile { + mkdir -p ${MASON_PREFIX} + cp -rv include ${MASON_PREFIX} +} + +function mason_cflags { + echo -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : # We're only using the full path to the archive, which is output in static_libs +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/setup_cpp11_toolchain.sh b/scripts/setup_cpp11_toolchain.sh new file mode 100755 index 000000000..c74873093 --- /dev/null +++ b/scripts/setup_cpp11_toolchain.sh @@ -0,0 +1,75 @@ + +function usage() { + echo "Usage:" + echo "" + echo "source ./scripts/setup_cpp11_toolchain.sh" + echo "" + exit 1 +} + + +function main() { + + if [[ ${1:-unset} != "unset" ]]; then + if [[ $1 == '-h' ]] || [[ $1 == '--help' ]]; then + usage + fi + fi + + if [[ $(uname -s) == 'Linux' ]]; then + set -e + if [[ ! $(lsb_release --id) =~ "Ubuntu" ]]; then + echo "only Ubuntu precise is supported at this time and not '$(lsb_release --id)'" + exit 1 + fi + + local codename release + codename=$(lsb_release --codename | cut -d : -f 2 | xargs basename) + release=$(lsb_release --release | cut -d : -f 2 | xargs basename) + + export CPP11_TOOLCHAIN="$(pwd)/toolchain" + mkdir -p ${CPP11_TOOLCHAIN} + + function dpack() { + if [[ ! -f $2 ]]; then + url=$1/$(echo $2 | sed 's/+/%2B/g') + wget $url + dpkg -x $2 ${CPP11_TOOLCHAIN} + fi + } + + local PPA LLVM_DIST + PPA="https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+files" + # http://llvm.org/apt/precise/dists/llvm-toolchain-${release}-3.5/main/binary-amd64/Packages + # TODO: cache these for faster downloads + LLVM_DIST="http://llvm.org/apt/${codename}/pool/main/l/llvm-toolchain-3.5" + if [[ $codename == "precise" ]]; then + dpack ${LLVM_DIST} clang-3.5_3.5~svn217304-1~exp1_amd64.deb & + dpack ${LLVM_DIST} libllvm3.5_3.5~svn217304-1~exp1_amd64.deb & + dpack ${LLVM_DIST} libclang-common-3.5-dev_3.5~svn215019-1~exp1_amd64.deb & + dpack ${PPA} libstdc++6_4.8.1-2ubuntu1~${release}_amd64.deb & + dpack ${PPA} libstdc++-4.8-dev_4.8.1-2ubuntu1~${release}_amd64.deb & + dpack ${PPA} libgcc-4.8-dev_4.8.1-2ubuntu1~${release}_amd64.deb & + wait + elif [[ $codename == "trusty" ]]; then + dpack ${LLVM_DIST} clang-3.5_3.5~svn215019-1~exp1_amd64.deb & + dpack ${LLVM_DIST} libllvm3.5_3.5~svn215019-1~exp1_amd64.deb & + dpack ${LLVM_DIST} libclang-common-3.5-dev_3.5.1~svn225255-1~exp1_amd64.deb & + wait + else + echo "unsupported distro: $codename $release" + exit 1 + fi + export CPLUS_INCLUDE_PATH="${CPP11_TOOLCHAIN}/usr/include/c++/4.8:${CPP11_TOOLCHAIN}/usr/include/x86_64-linux-gnu/c++/4.8:${CPLUS_INCLUDE_PATH:-}" + export LD_LIBRARY_PATH="${CPP11_TOOLCHAIN}/usr/lib/x86_64-linux-gnu:${CPP11_TOOLCHAIN}/usr/lib/gcc/x86_64-linux-gnu/4.8/:${LD_LIBRARY_PATH:-}" + export LIBRARY_PATH="${LD_LIBRARY_PATH}:${LIBRARY_PATH:-}" + export PATH="${CPP11_TOOLCHAIN}/usr/bin":${PATH} + export CXX="${CPP11_TOOLCHAIN}/usr/bin/clang++-3.5" + export CC="${CPP11_TOOLCHAIN}/usr/bin/clang-3.5" + set +e + else + echo "Nothing to be done: this script only bootstraps a c++11 toolchain for linux" + fi +} + +main $@ \ No newline at end of file diff --git a/scripts/shelf-pack/1.0.0/.travis.yml b/scripts/shelf-pack/1.0.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/shelf-pack/1.0.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/shelf-pack/1.0.0/script.sh b/scripts/shelf-pack/1.0.0/script.sh new file mode 100755 index 000000000..8e25ed4a5 --- /dev/null +++ b/scripts/shelf-pack/1.0.0/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=shelf-pack +MASON_VERSION=1.0.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/shelf-pack-cpp/archive/v${MASON_VERSION}.tar.gz \ + b836bc2df9a12c66adccf124cf7f366d919776d6 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/shelf-pack-cpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v include/*.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE.md ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/snappy/32d6d7d/.travis.yml b/scripts/snappy/32d6d7d/.travis.yml new file mode 100644 index 000000000..0747a654f --- /dev/null +++ b/scripts/snappy/32d6d7d/.travis.yml @@ -0,0 +1,27 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode7.3 + compiler: clang + - os: linux + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - libstdc++-5-dev + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/snappy/32d6d7d/script.sh b/scripts/snappy/32d6d7d/script.sh new file mode 100644 index 000000000..bb3e1f942 --- /dev/null +++ b/scripts/snappy/32d6d7d/script.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +MASON_NAME=snappy +MASON_VERSION=32d6d7d +MASON_LIB_FILE=lib/libsnappy.a +MASON_PKGCONFIG_FILE=snappy.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/google/snappy/archive/32d6d7d8a2ef328a2ee1dd40f072e21f4983ebda.tar.gz \ + 2faac1dbc670bffc462cb87a370e6b76371d7764 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-32d6d7d8a2ef328a2ee1dd40f072e21f4983ebda +} + +function mason_prepare_compile { + ./autogen.sh +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/sparsehash/2.0.2/.travis.yml b/scripts/sparsehash/2.0.2/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/sparsehash/2.0.2/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/sparsehash/2.0.2/patch.diff b/scripts/sparsehash/2.0.2/patch.diff new file mode 100644 index 000000000..387b44a3b --- /dev/null +++ b/scripts/sparsehash/2.0.2/patch.diff @@ -0,0 +1,31 @@ +diff --git a/src/sparsehash/internal/sparsehashtable.h b/src/sparsehash/internal/sparsehashtable.h +index 7ee1391..f54ea51 100644 +--- a/src/sparsehash/internal/sparsehashtable.h ++++ b/src/sparsehash/internal/sparsehashtable.h +@@ -165,7 +165,7 @@ struct sparse_hashtable_iterator { + public: + typedef sparse_hashtable_iterator iterator; + typedef sparse_hashtable_const_iterator const_iterator; +- typedef typename sparsetable::nonempty_iterator ++ typedef typename sparsetable::nonempty_iterator + st_iterator; + + typedef std::forward_iterator_tag iterator_category; // very little defined! +@@ -217,7 +217,7 @@ struct sparse_hashtable_const_iterator { + public: + typedef sparse_hashtable_iterator iterator; + typedef sparse_hashtable_const_iterator const_iterator; +- typedef typename sparsetable::const_nonempty_iterator ++ typedef typename sparsetable::const_nonempty_iterator + st_iterator; + + typedef std::forward_iterator_tag iterator_category; // very little defined! +@@ -271,7 +271,7 @@ struct sparse_hashtable_destructive_iterator { + + public: + typedef sparse_hashtable_destructive_iterator iterator; +- typedef typename sparsetable::destructive_iterator ++ typedef typename sparsetable::destructive_iterator + st_iterator; + + typedef std::forward_iterator_tag iterator_category; // very little defined! diff --git a/scripts/sparsehash/2.0.2/script.sh b/scripts/sparsehash/2.0.2/script.sh new file mode 100755 index 000000000..2803ea046 --- /dev/null +++ b/scripts/sparsehash/2.0.2/script.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +MASON_NAME=sparsehash +MASON_VERSION=2.0.2 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://sparsehash.googlecode.com/files/sparsehash-2.0.2.tar.gz \ + 700205d99da682a3d70512cd28aeea2805d39aab + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p1 < ./patch.diff + ./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \ + --enable-static --disable-shared \ + --disable-dependency-tracking + make -j${MASON_CONCURRENCY} + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/sqlite/3.14.2/.travis.yml b/scripts/sqlite/3.14.2/.travis.yml new file mode 100644 index 000000000..bccc10e48 --- /dev/null +++ b/scripts/sqlite/3.14.2/.travis.yml @@ -0,0 +1,45 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + exclude: + - os: linux + include: + - os: osx + osx_image: xcode7 + - os: linux + sudo: false + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/sqlite/3.14.2/script.sh b/scripts/sqlite/3.14.2/script.sh new file mode 100755 index 000000000..0cafc328e --- /dev/null +++ b/scripts/sqlite/3.14.2/script.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +MASON_NAME=sqlite +MASON_VERSION=3.14.2 +MASON_LIB_FILE=lib/libsqlite3.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/sqlite3.pc + +SQLITE_FILE_VERSION=3140200 + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://www.sqlite.org/2016/sqlite-autoconf-${SQLITE_FILE_VERSION}.tar.gz \ + 3fa5871a56c939353e0afc1e701663f255d34c00 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/sqlite-autoconf-${SQLITE_FILE_VERSION} +} + +function mason_compile { + CFLAGS="-O3 ${CFLAGS}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lsqlite3 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/sqlite/3.8.10.2/.travis.yml b/scripts/sqlite/3.8.10.2/.travis.yml new file mode 100644 index 000000000..48bfd20c3 --- /dev/null +++ b/scripts/sqlite/3.8.10.2/.travis.yml @@ -0,0 +1,37 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/sqlite/3.8.10.2/script.sh b/scripts/sqlite/3.8.10.2/script.sh new file mode 100755 index 000000000..4d9bf6c47 --- /dev/null +++ b/scripts/sqlite/3.8.10.2/script.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +MASON_NAME=sqlite +MASON_VERSION=3.8.10.2 +MASON_LIB_FILE=lib/libsqlite3.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/sqlite3.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://www.sqlite.org/2015/sqlite-autoconf-3081002.tar.gz \ + 841053dd606523187b42aa2dd8d9356735d3d382 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/sqlite-autoconf-3081002 +} + +function mason_compile { + CFLAGS="-O3 ${CFLAGS}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking \ + --disable-dynamic-extensions + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lsqlite3 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/sqlite/3.8.8.1/.travis.yml b/scripts/sqlite/3.8.8.1/.travis.yml new file mode 100644 index 000000000..48bfd20c3 --- /dev/null +++ b/scripts/sqlite/3.8.8.1/.travis.yml @@ -0,0 +1,37 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/sqlite/3.8.8.1/script.sh b/scripts/sqlite/3.8.8.1/script.sh new file mode 100755 index 000000000..ad698d0d8 --- /dev/null +++ b/scripts/sqlite/3.8.8.1/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=sqlite +MASON_VERSION=3.8.8.1 +MASON_LIB_FILE=lib/libsqlite3.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/sqlite3.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://www.sqlite.org/2015/sqlite-autoconf-3080801.tar.gz \ + 24012945241c0b55774b8bad2679912e14703a24 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/sqlite-autoconf-3080801 +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lsqlite3 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/sqlite/3.8.8.3/.travis.yml b/scripts/sqlite/3.8.8.3/.travis.yml new file mode 100644 index 000000000..1e1e189d6 --- /dev/null +++ b/scripts/sqlite/3.8.8.3/.travis.yml @@ -0,0 +1,42 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/sqlite/3.8.8.3/script.sh b/scripts/sqlite/3.8.8.3/script.sh new file mode 100755 index 000000000..9bc34df24 --- /dev/null +++ b/scripts/sqlite/3.8.8.3/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=sqlite +MASON_VERSION=3.8.8.3 +MASON_LIB_FILE=lib/libsqlite3.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/sqlite3.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://sqlite.org/2015/sqlite-autoconf-3080803.tar.gz \ + 55d0c095e5bf76ed7b450265261b367228bbd0ba + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/sqlite-autoconf-3080803 +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lsqlite3 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/sqlite/3.9.1/.travis.yml b/scripts/sqlite/3.9.1/.travis.yml new file mode 100644 index 000000000..d77cb1230 --- /dev/null +++ b/scripts/sqlite/3.9.1/.travis.yml @@ -0,0 +1,38 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + osx_image: xcode7 + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/sqlite/3.9.1/script.sh b/scripts/sqlite/3.9.1/script.sh new file mode 100755 index 000000000..4068ac442 --- /dev/null +++ b/scripts/sqlite/3.9.1/script.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +MASON_NAME=sqlite +MASON_VERSION=3.9.1 +MASON_LIB_FILE=lib/libsqlite3.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/sqlite3.pc + +SQLITE_FILE_VERSION=3090100 + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://www.sqlite.org/2015/sqlite-autoconf-${SQLITE_FILE_VERSION}.tar.gz \ + 92d8a46908e793c9e387f3199699783fd5f6ebed + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/sqlite-autoconf-${SQLITE_FILE_VERSION} +} + +function mason_compile { + CFLAGS="-O3 ${CFLAGS}" ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lsqlite3 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/sqlite/system/script.sh b/scripts/sqlite/system/script.sh new file mode 100755 index 000000000..5f98310f1 --- /dev/null +++ b/scripts/sqlite/system/script.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +MASON_NAME=sqlite +MASON_VERSION=system +MASON_SYSTEM_PACKAGE=true + +. ${MASON_DIR}/mason.sh + + +if [[ ${MASON_PLATFORM} = 'android' ]]; then + mason_error "Unavailable on platform \"${MASON_PLATFORM}\"" + exit 1 +elif [[ ${MASON_PLATFORM} = 'ios' ]]; then + MASON_CFLAGS="" + MASON_LDFLAGS="-lsqlite3" +else + MASON_CFLAGS="-I${MASON_PREFIX}/include" + MASON_LDFLAGS="-L${MASON_PREFIX}/lib" + SQLITE_INCLUDE_PREFIX="`pkg-config sqlite3 --variable=includedir`" + SQLITE_LIBRARY="`pkg-config sqlite3 --variable=libdir`/libsqlite3.${MASON_DYNLIB_SUFFIX}" + MASON_CFLAGS="${MASON_CFLAGS} `pkg-config sqlite3 --cflags-only-other`" + MASON_LDFLAGS="${MASON_LDFLAGS} `pkg-config sqlite3 --libs-only-other --libs-only-l`" + + if [ ! -f "${SQLITE_INCLUDE_PREFIX}/sqlite3.h" ]; then + mason_error "Can't find header file ${SQLITE_INCLUDE_PREFIX}/sqlite3.h" + exit 1 + fi + + if [ ! -f "${SQLITE_LIBRARY}" ]; then + mason_error "Can't find library file ${SQLITE_LIBRARY}" + exit 1 + fi +fi + +function mason_system_version { + if [[ ${MASON_PLATFORM} = 'ios' ]]; then + FLAGS="-I${MASON_SDK_PATH}/usr/include -Wp,-w" + else + FLAGS=$(mason_cflags) + fi + + mkdir -p "${MASON_PREFIX}" + cd "${MASON_PREFIX}" + if [ ! -f version ]; then + echo "#include +#include +int main() { + printf(\"%s\", SQLITE_VERSION); + return 0; +} +" > version.c && cc version.c ${FLAGS} -o version + fi + ./version +} + +function mason_build { + if [[ ! -z ${SQLITE_INCLUDE_PREFIX} ]]; then + mkdir -p ${MASON_PREFIX}/include + ln -sf ${SQLITE_INCLUDE_PREFIX}/sqlite3.h ${MASON_PREFIX}/include/ + fi + if [[ ! -z ${SQLITE_LIBRARY} ]]; then + mkdir -p ${MASON_PREFIX}/lib + ln -sf ${SQLITE_LIBRARY} ${MASON_PREFIX}/lib/ + fi +} + +function mason_cflags { + echo ${MASON_CFLAGS} +} + +function mason_ldflags { + echo ${MASON_LDFLAGS} +} + +mason_run "$@" diff --git a/scripts/stxxl/1.4.1/.travis.yml b/scripts/stxxl/1.4.1/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/stxxl/1.4.1/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/stxxl/1.4.1/script.sh b/scripts/stxxl/1.4.1/script.sh new file mode 100755 index 000000000..de09192c5 --- /dev/null +++ b/scripts/stxxl/1.4.1/script.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +MASON_NAME=stxxl +MASON_VERSION=1.4.1 +MASON_LIB_FILE=lib/libstxxl.a + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/stxxl/stxxl/releases/download/1.4.1/stxxl-1.4.1.tar.gz \ + 68c0d402ec19e0d254b5b2b217a8c9c5d759a9ef + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION} +} + +function mason_compile { + mkdir build + cd build + cmake + cmake ../ -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DBUILD_STATIC_LIBS=ON \ + -DUSE_GNU_PARALLEL=OFF \ + -DCMAKE_BUILD_TYPE=Release + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lstxxl" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/stxxl_shared/1.4.1/.travis.yml b/scripts/stxxl_shared/1.4.1/.travis.yml new file mode 100644 index 000000000..04b469e4d --- /dev/null +++ b/scripts/stxxl_shared/1.4.1/.travis.yml @@ -0,0 +1,26 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} +- ./test.sh + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/stxxl_shared/1.4.1/script.sh b/scripts/stxxl_shared/1.4.1/script.sh new file mode 100755 index 000000000..8b73bcd58 --- /dev/null +++ b/scripts/stxxl_shared/1.4.1/script.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +MASON_NAME=stxxl_shared +MASON_VERSION=1.4.1 +MASON_LIB_FILE=lib/libstxxl.${MASON_DYNLIB_SUFFIX} + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/stxxl/stxxl/releases/download/1.4.1/stxxl-1.4.1.tar.gz \ + 68c0d402ec19e0d254b5b2b217a8c9c5d759a9ef + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/stxxl-${MASON_VERSION} +} + +function mason_compile { + mkdir build + cd build + cmake + cmake ../ -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \ + -DBUILD_STATIC_LIBS=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DUSE_GNU_PARALLEL=OFF \ + -DCMAKE_BUILD_TYPE=Release + make -j${MASON_CONCURRENCY} VERBOSE=1 + make install +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -lstxxl" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/stxxl_shared/1.4.1/test.sh b/scripts/stxxl_shared/1.4.1/test.sh new file mode 100755 index 000000000..4a29563dd --- /dev/null +++ b/scripts/stxxl_shared/1.4.1/test.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -e -u +set -o pipefail + +failure=0 + +if [[ ! -d mason_packages/.link/include/stxxl ]]; then + echo "could not find expected include/stxxl" + failure=1 +fi + +if [[ ! -L mason_packages/.link/include/stxxl ]]; then + echo "include/stxxl is expected to be a symlink" + failure=1 +fi + +if [[ $(uname -s) == 'Darwin' ]]; then + if [[ ! -f mason_packages/.link/lib/libstxxl.dylib ]]; then + echo "libstxxl.dylib expected to be present" + failure=1 + fi +elif [[ $(uname -s) == 'Linux' ]]; then + if [[ ! -f mason_packages/.link/lib/libstxxl.so ]]; then + echo "libstxxl.dylib expected to be present" + failure=1 + fi +fi + +exit $failure + diff --git a/scripts/supercluster/0.1.0/.travis.yml b/scripts/supercluster/0.1.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/supercluster/0.1.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/supercluster/0.1.0/script.sh b/scripts/supercluster/0.1.0/script.sh new file mode 100644 index 000000000..69f12e607 --- /dev/null +++ b/scripts/supercluster/0.1.0/script.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +MASON_NAME=supercluster +MASON_VERSION=0.1.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/supercluster.hpp/archive/v${MASON_VERSION}.tar.gz \ + 323f09e49b327312b3583fc1ae5ec7c48964aa1a + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/supercluster.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -v include/*.hpp ${MASON_PREFIX}/include + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/supercluster/0.1.1/.travis.yml b/scripts/supercluster/0.1.1/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/supercluster/0.1.1/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/supercluster/0.1.1/script.sh b/scripts/supercluster/0.1.1/script.sh new file mode 100644 index 000000000..1331ff4d6 --- /dev/null +++ b/scripts/supercluster/0.1.1/script.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +MASON_NAME=supercluster +MASON_VERSION=0.1.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/supercluster.hpp/archive/v${MASON_VERSION}.tar.gz \ + a9cdf909042455e93aed1efdc084fbb1f633e9a8 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/supercluster.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -v include/*.hpp ${MASON_PREFIX}/include + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/supercluster/0.2.0/.travis.yml b/scripts/supercluster/0.2.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/supercluster/0.2.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/supercluster/0.2.0/script.sh b/scripts/supercluster/0.2.0/script.sh new file mode 100644 index 000000000..2753884d7 --- /dev/null +++ b/scripts/supercluster/0.2.0/script.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +MASON_NAME=supercluster +MASON_VERSION=0.2.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/supercluster.hpp/archive/v${MASON_VERSION}.tar.gz \ + 48bda562627a3032ba73b8b1ff739dc525544d72 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/supercluster.hpp-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -v include/*.hpp ${MASON_PREFIX}/include + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/tbb/43_20150316/.travis.yml b/scripts/tbb/43_20150316/.travis.yml new file mode 100644 index 000000000..6b8b6fefe --- /dev/null +++ b/scripts/tbb/43_20150316/.travis.yml @@ -0,0 +1,23 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode8 + compiler: clang + - os: linux + compiler: clang + sudo: false + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/tbb/43_20150316/patch.diff b/scripts/tbb/43_20150316/patch.diff new file mode 100644 index 000000000..7113c386c --- /dev/null +++ b/scripts/tbb/43_20150316/patch.diff @@ -0,0 +1,30 @@ +diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc +index b4faddc..7668a57 100644 +--- a/build/linux.gcc.inc ++++ b/build/linux.gcc.inc +@@ -40,8 +40,8 @@ DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl + +-CPLUS = g++ +-CONLY = gcc ++CPLUS = $(CXX) ++CONLY = $(CC) + LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) + LIBS += -lpthread -lrt + LINK_FLAGS = -Wl,-rpath-link=. -rdynamic +diff --git a/build/macos.clang.inc b/build/macos.clang.inc +index ca28be7..355d418 100644 +--- a/build/macos.clang.inc ++++ b/build/macos.clang.inc +@@ -24,8 +24,8 @@ + # invalidate any other reasons why the executable file might be covered by + # the GNU General Public License. + +-CPLUS = clang++ +-CONLY = clang ++CPLUS = $(CXX) ++CONLY = $(CC) + COMPILE_ONLY = -c -MMD + PREPROC_ONLY = -E -x c++ + INCLUDE_KEY = -I diff --git a/scripts/tbb/43_20150316/script.sh b/scripts/tbb/43_20150316/script.sh new file mode 100755 index 000000000..b8cfec3dd --- /dev/null +++ b/scripts/tbb/43_20150316/script.sh @@ -0,0 +1,87 @@ +#!/usr/bin/env bash + +MASON_NAME=tbb +MASON_VERSION=43_20150316 +MASON_LIB_FILE=lib/libtbb.${MASON_DYNLIB_SUFFIX} + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb${MASON_VERSION}oss_src.tgz \ + 4dabc26bb82aa35b6ef6b30ea57fe6e89f55a485 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}${MASON_VERSION}oss +} + +function create_links() { + libname=$1 + if [ -f ${MASON_PREFIX}/lib/${libname}.so ]; then rm ${MASON_PREFIX}/lib/${libname}.so; fi + cp $(pwd)/build/BUILDPREFIX_release/${libname}.so.2 ${MASON_PREFIX}/lib/ + (cd ${MASON_PREFIX}/lib/ && ln -s ${libname}.so.2 ${libname}.so) +} + +function mason_compile { + mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..." + curl --retry 3 -s -f -# -L \ + https://raw.githubusercontent.com/mapbox/mason/${MASON_SLUG}/patch.diff \ + -O || (mason_error "Could not find patch for ${MASON_SLUG}" && exit 1) + patch -N -p1 < ./patch.diff + CXXFLAGS="${CXXFLAGS} -Wno-attributes" + # libtbb does not support -fvisibility=hidden + CXXFLAGS="${CXXFLAGS//-fvisibility=hidden}" + #patch -N -p1 < ${PATCHES}/tbb_compiler_override.diff || true + # note: static linking not allowed: http://www.threadingbuildingblocks.org/faq/11 + if [[ $(uname -s) == 'Darwin' ]]; then + make -j${MASON_CONCURRENCY} tbb_build_prefix=BUILDPREFIX arch=intel64 cpp0x=1 stdlib=libc++ compiler=clang tbb_build_dir=$(pwd)/build + else + LDFLAGS="${LDFLAGS} "'-Wl,-z,origin -Wl,-rpath=\$$ORIGIN' + make -j${MASON_CONCURRENCY} tbb_build_prefix=BUILDPREFIX cfg=release arch=intel64 cpp0x=1 tbb_build_dir=$(pwd)/build + fi + + # custom install + mkdir -p ${MASON_PREFIX}/lib/ + mkdir -p ${MASON_PREFIX}/include/ + mkdir -p ${MASON_PREFIX}/bin/ + + if [[ $(uname -s) == "Darwin" ]]; then + cp $(pwd)/build/BUILDPREFIX_release/lib*.* ${MASON_PREFIX}/lib/ + # add rpath so that apps building against this lib can embed location to this lib + # by passing '-rpath ${MASON_PREFIX}/lib/' + # https://wincent.com/wiki/@executable_path,_@load_path_and_@rpath + install_name_tool -id @rpath/libtbb.dylib ${MASON_PREFIX}/lib/libtbb.dylib + install_name_tool -id @rpath/libtbbmalloc.dylib ${MASON_PREFIX}/lib/libtbbmalloc.dylib + install_name_tool -id @rpath/libtbbmalloc_proxy.dylib ${MASON_PREFIX}/lib/libtbbmalloc_proxy.dylib + install_name_tool -change libtbbmalloc.dylib @rpath/libtbbmalloc.dylib ${MASON_PREFIX}/lib/libtbbmalloc_proxy.dylib + else + # the linux libraries are funky: the lib.so.2 is the real lib + # and the lib.so is an ascii text file, so we need to only copy + # the lib.so.2 and then recreate the lib.so as a relative symlink + # to the lib.so.2 + create_links libtbbmalloc_proxy + create_links libtbbmalloc + create_links libtbb + fi + cp -r $(pwd)/include/tbb ${MASON_PREFIX}/include/ + touch ${MASON_PREFIX}/bin/tbb +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_static_libs { + : +} + +function mason_ldflags { + echo "-L${MASON_PREFIX}/lib -ltbb" +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/tippecanoe/1.9.7/.travis.yml b/scripts/tippecanoe/1.9.7/.travis.yml new file mode 100644 index 000000000..a283000bc --- /dev/null +++ b/scripts/tippecanoe/1.9.7/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/tippecanoe/1.9.7/script.sh b/scripts/tippecanoe/1.9.7/script.sh new file mode 100755 index 000000000..ada9a35cf --- /dev/null +++ b/scripts/tippecanoe/1.9.7/script.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +MASON_NAME=tippecanoe +MASON_VERSION=1.9.7 +MASON_LIB_FILE=bin/tippecanoe + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/tippecanoe/tarball/1.9.7 \ + efc54e601e93f3b965c6d350f2fa73c81384b720 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/mapbox-tippecanoe-8cc844c +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install protobuf 2.6.1 + ${MASON_DIR}/mason link protobuf 2.6.1 + ${MASON_DIR}/mason install sqlite 3.9.1 + ${MASON_DIR}/mason link sqlite 3.9.1 +} + +function mason_compile { + PREFIX=${MASON_PREFIX} \ + PATH=${MASON_DIR}/mason_packages/.link/bin:${PATH} \ + CXXFLAGS=-I${MASON_DIR}/mason_packages/.link/include \ + LDFLAGS="-L${MASON_DIR}/mason_packages/.link/lib -lprotobuf-lite -ldl -lpthread" make + + PREFIX=${MASON_PREFIX} \ + PATH=${MASON_DIR}/mason_packages/.link/bin:${PATH} \ + CXXFLAGS=-I${MASON_DIR}/mason_packages/.link/include \ + LDFLAGS="-L${MASON_DIR}/mason_packages/.link/lib -lprotobuf-lite -ldl -lpthread" make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/tippecanoe/latest/.travis.yml b/scripts/tippecanoe/latest/.travis.yml new file mode 100644 index 000000000..a283000bc --- /dev/null +++ b/scripts/tippecanoe/latest/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/tippecanoe/latest/script.sh b/scripts/tippecanoe/latest/script.sh new file mode 100644 index 000000000..3bff9dc26 --- /dev/null +++ b/scripts/tippecanoe/latest/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=tippecanoe +MASON_VERSION=latest +MASON_LIB_FILE=bin/tippecanoe + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/tippecanoe-latest + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + git clone --depth 1 https://github.com/mapbox/tippecanoe.git ${MASON_BUILD_PATH} + else + (cd ${MASON_BUILD_PATH} && git pull) + fi +} + +function mason_prepare_compile { + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install protobuf 2.6.1 + ${MASON_DIR}/mason link protobuf 2.6.1 + ${MASON_DIR}/mason install sqlite 3.9.1 + ${MASON_DIR}/mason link sqlite 3.9.1 +} + +function mason_compile { + PREFIX=${MASON_PREFIX} \ + PATH=${MASON_DIR}/mason_packages/.link/bin:${PATH} \ + CXXFLAGS=-I${MASON_DIR}/mason_packages/.link/include \ + LDFLAGS="-L${MASON_DIR}/mason_packages/.link/lib -lprotobuf-lite -ldl -lpthread" make + + PREFIX=${MASON_PREFIX} \ + PATH=${MASON_DIR}/mason_packages/.link/bin:${PATH} \ + CXXFLAGS=-I${MASON_DIR}/mason_packages/.link/include \ + LDFLAGS="-L${MASON_DIR}/mason_packages/.link/lib -lprotobuf-lite -ldl -lpthread" make install +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/unique_resource/dev/.travis.yml b/scripts/unique_resource/dev/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/unique_resource/dev/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/unique_resource/dev/script.sh b/scripts/unique_resource/dev/script.sh new file mode 100644 index 000000000..715658672 --- /dev/null +++ b/scripts/unique_resource/dev/script.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +MASON_NAME=unique_resource +MASON_VERSION=dev +MASON_HEADER_ONLY=true + +GIT_HASH="cba309e92ec79a95be2aa5a324a688a06af8d40a" + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/okdshin/${MASON_NAME}/archive/${GIT_HASH}.tar.gz \ + 1423b932d80d39250fd0c5715b165bb0efa63883 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${GIT_HASH} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r unique_resource.hpp ${MASON_PREFIX}/include/ +} + +function mason_cflags { + echo "-I${MASON_PREFIX}/include" +} + +function mason_ldflags { + : +} + + +mason_run "$@" diff --git a/scripts/utfcpp/2.3.4/.travis.yml b/scripts/utfcpp/2.3.4/.travis.yml new file mode 100644 index 000000000..2a3f80b9b --- /dev/null +++ b/scripts/utfcpp/2.3.4/.travis.yml @@ -0,0 +1,22 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/utfcpp/2.3.4/script.sh b/scripts/utfcpp/2.3.4/script.sh new file mode 100644 index 000000000..8e4a40568 --- /dev/null +++ b/scripts/utfcpp/2.3.4/script.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +MASON_NAME=utfcpp +MASON_VERSION=2.3.4 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/nemtrif/utfcpp/tarball/v2.3.4 \ + 8df46127dfc5371efe7435fba947946e4081dc58 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/nemtrif-utfcpp-be66c3f +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r source/utf8 ${MASON_PREFIX}/include/utf8 + cp source/utf8.h ${MASON_PREFIX}/include/ +} + +mason_run "$@" diff --git a/scripts/valgrind/latest/.travis.yml b/scripts/valgrind/latest/.travis.yml new file mode 100644 index 000000000..7eea7cdcb --- /dev/null +++ b/scripts/valgrind/latest/.travis.yml @@ -0,0 +1,24 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: +- source ./scripts/setup_cpp11_toolchain.sh + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/valgrind/latest/script.sh b/scripts/valgrind/latest/script.sh new file mode 100755 index 000000000..af595792d --- /dev/null +++ b/scripts/valgrind/latest/script.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +MASON_NAME=valgrind +MASON_VERSION=latest +MASON_LIB_FILE=bin/valgrind + +MASON_IGNORE_OSX_SDK=true +. ${MASON_DIR}/mason.sh + +function mason_load_source { + export MASON_BUILD_PATH=${MASON_ROOT}/.build/valgrind-trunk + if [[ ! -d ${MASON_BUILD_PATH} ]]; then + svn co svn://svn.valgrind.org/valgrind/trunk ${MASON_BUILD_PATH} + else + (cd ${MASON_BUILD_PATH} && svn update) + fi +} + +function mason_compile { + if [ ${MASON_PLATFORM} = 'osx' ]; then + if [ $(xcode-select -p > /dev/null && echo $?) != 0 ]; then + sed -i 's@/usr/include/mach@'"$MASON_SDK_PATH"'&@' coregrind/Makefile.am + fi + EXTRA_ARGS="--enable-only64bit --build=amd64-darwin" + fi + ./autogen.sh + ./configure ${MASON_HOST_ARG} \ + --prefix=${MASON_PREFIX} \ + --disable-dependency-tracking \ + ${EXTRA_ARGS:-} + if [ ${MASON_PLATFORM} = 'osx' ]; then + make install -j${MASON_CONCURRENCY} + else + make install-strip -j${MASON_CONCURRENCY} + fi +} + +function mason_ldflags { + : +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/variant/1.0/.travis.yml b/scripts/variant/1.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/variant/1.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/variant/1.0/script.sh b/scripts/variant/1.0/script.sh new file mode 100755 index 000000000..24016f192 --- /dev/null +++ b/scripts/variant/1.0/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=variant +MASON_VERSION=1.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/variant/archive/v1.0.tar.gz \ + fe96e8d9d5fe0294bf4a7cc6946b98e49534d232 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/variant-1.0 +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v *.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/variant/1.1.0/.travis.yml b/scripts/variant/1.1.0/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/variant/1.1.0/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/variant/1.1.0/script.sh b/scripts/variant/1.1.0/script.sh new file mode 100755 index 000000000..4181e2ff7 --- /dev/null +++ b/scripts/variant/1.1.0/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=variant +MASON_VERSION=1.1.0 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/variant/archive/v1.1.0.tar.gz \ + cd61bc7ad50429875c7a5deb80611f97d87a8fe0 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/variant-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/mapbox + cp -v *.hpp ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/variant/1.1.1/.travis.yml b/scripts/variant/1.1.1/.travis.yml new file mode 100644 index 000000000..a9b33234e --- /dev/null +++ b/scripts/variant/1.1.1/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +sudo: false + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/variant/1.1.1/script.sh b/scripts/variant/1.1.1/script.sh new file mode 100755 index 000000000..9777f4a60 --- /dev/null +++ b/scripts/variant/1.1.1/script.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +MASON_NAME=variant +MASON_VERSION=1.1.1 +MASON_HEADER_ONLY=true + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://github.com/mapbox/variant/archive/v${MASON_VERSION}.tar.gz \ + 41389a2b58fae9d294ea44e1f407de268eeb9584 + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/variant-${MASON_VERSION} +} + +function mason_compile { + mkdir -p ${MASON_PREFIX}/include/ + cp -r include/mapbox ${MASON_PREFIX}/include/mapbox + cp -v README.md LICENSE ${MASON_PREFIX} +} + +function mason_cflags { + echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include +} + +function mason_ldflags { + : +} + +function mason_static_libs { + : +} + +mason_run "$@" diff --git a/scripts/webp/0.4.2/.travis.yml b/scripts/webp/0.4.2/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/webp/0.4.2/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/webp/0.4.2/script.sh b/scripts/webp/0.4.2/script.sh new file mode 100755 index 000000000..e38e09fd0 --- /dev/null +++ b/scripts/webp/0.4.2/script.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +MASON_NAME=webp +MASON_VERSION=0.4.2 +MASON_LIB_FILE=lib/libwebp.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libwebp.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.webmproject.org/releases/webp/libwebp-0.4.2.tar.gz \ + fdc496dcbcb03c9f26c2d9ce771545fa557a40c8 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libwebp-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_ldflags { + echo $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/webp/0.5.0/.travis.yml b/scripts/webp/0.5.0/.travis.yml new file mode 100644 index 000000000..b709d9910 --- /dev/null +++ b/scripts/webp/0.5.0/.travis.yml @@ -0,0 +1,27 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode6 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/webp/0.5.0/script.sh b/scripts/webp/0.5.0/script.sh new file mode 100755 index 000000000..868fc682a --- /dev/null +++ b/scripts/webp/0.5.0/script.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +MASON_NAME=webp +MASON_VERSION=0.5.0 +MASON_LIB_FILE=lib/libwebp.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libwebp.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.webmproject.org/releases/webp/libwebp-$MASON_VERSION.tar.gz \ + 9e5a4130ff09d28f0217eba972dcca5a57525f03 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libwebp-${MASON_VERSION} +} + +function mason_compile { + export CFLAGS="${CFLAGS:-} -Os" + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --with-pic \ + --enable-libwebpdecoder \ + --disable-cwebp \ + --disable-dwebp \ + --enable-swap-16bit-csp \ + --disable-gl \ + --disable-png \ + --disable-jpeg \ + --disable-tiff \ + --disable-gif \ + --disable-wic \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + ldflags=() + while [[ $1 ]] + do + case "$1" in + -lwebp) + shift + ;; + -L*) + shift + ;; + *) + ldflags+=("$1") + shift + ;; + esac + done + echo "${ldflags[@]}" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/webp/0.5.1/.travis.yml b/scripts/webp/0.5.1/.travis.yml new file mode 100644 index 000000000..b31a30cf0 --- /dev/null +++ b/scripts/webp/0.5.1/.travis.yml @@ -0,0 +1,29 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + osx_image: xcode7 + compiler: clang + - os: linux + compiler: clang + sudo: false + addons: + apt: + sources: [ 'ubuntu-toolchain-r-test' ] + packages: [ 'libstdc++-5-dev' ] + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/webp/0.5.1/script.sh b/scripts/webp/0.5.1/script.sh new file mode 100755 index 000000000..e4e7589ae --- /dev/null +++ b/scripts/webp/0.5.1/script.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +MASON_NAME=webp +MASON_VERSION=0.5.1 +MASON_LIB_FILE=lib/libwebp.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libwebp.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://downloads.webmproject.org/releases/webp/libwebp-$MASON_VERSION.tar.gz \ + 7c2350c6524e8419e6b541a9087607c91c957377 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libwebp-${MASON_VERSION} +} + +function mason_compile { + export CFLAGS="${CFLAGS:-} -Os" + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --disable-shared \ + --with-pic \ + --enable-libwebpdecoder \ + --disable-cwebp \ + --disable-dwebp \ + --enable-swap-16bit-csp \ + --disable-gl \ + --disable-png \ + --disable-jpeg \ + --disable-tiff \ + --disable-gif \ + --disable-wic \ + --disable-dependency-tracking + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + ldflags=() + while [[ $1 ]] + do + case "$1" in + -lwebp) + shift + ;; + -L*) + shift + ;; + *) + ldflags+=("$1") + shift + ;; + esac + done + echo "${ldflags[@]}" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/zip/3.0.0/.travis.yml b/scripts/zip/3.0.0/.travis.yml new file mode 100644 index 000000000..773f91977 --- /dev/null +++ b/scripts/zip/3.0.0/.travis.yml @@ -0,0 +1,23 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + - os: linux + compiler: clang + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/zip/3.0.0/script.sh b/scripts/zip/3.0.0/script.sh new file mode 100755 index 000000000..05c8c645d --- /dev/null +++ b/scripts/zip/3.0.0/script.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +MASON_NAME=zip +MASON_VERSION=3.0.0 +MASON_LIB_FILE=bin/zip + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://sourceforge.net/projects/infozip/files/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz/download \ + 57f60be499bef90ccf84fe47d522d32504609e9b + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/zip30 +} + +function mason_compile { + perl -i -p -e "s/prefix = \/usr\/local/prefix = ${MASON_PREFIX//\//\\/}/g;" unix/Makefile + make -f unix/Makefile install +} + +function mason_clean { + make -f unix/Makefile clean +} + +mason_run "$@" diff --git a/scripts/zlib/1.2.8/.travis.yml b/scripts/zlib/1.2.8/.travis.yml new file mode 100644 index 000000000..48bfd20c3 --- /dev/null +++ b/scripts/zlib/1.2.8/.travis.yml @@ -0,0 +1,37 @@ +language: cpp + +sudo: false + +compiler: clang + +matrix: + include: + - os: osx + - os: linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} + +after_success: +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/zlib/1.2.8/script.sh b/scripts/zlib/1.2.8/script.sh new file mode 100755 index 000000000..82cba56c5 --- /dev/null +++ b/scripts/zlib/1.2.8/script.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +MASON_NAME=zlib +MASON_VERSION=1.2.8 +MASON_LIB_FILE=lib/libz.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/zlib.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + http://zlib.net/zlib-1.2.8.tar.gz \ + ed88885bd4027806753656d64006ab86a29e967e + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/zlib-${MASON_VERSION} +} + +function mason_compile { + ./configure \ + --prefix=${MASON_PREFIX} \ + --static + + make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lz + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" diff --git a/scripts/zlib/system/.travis.yml b/scripts/zlib/system/.travis.yml new file mode 100644 index 000000000..c29ca1981 --- /dev/null +++ b/scripts/zlib/system/.travis.yml @@ -0,0 +1,44 @@ +language: cpp + +sudo: false + +matrix: + include: + - os: osx + compiler: clang + env: MASON_PLATFORM=osx + - os: osx + compiler: clang + env: MASON_PLATFORM=ios + - os: linux + compiler: clang + env: MASON_PLATFORM=linux + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + +env: + global: + - ANDROID_NDK_VERSION=10d + - secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI=" + - secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ=" + +before_install: + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason link ${MASON_NAME} ${MASON_VERSION} +- ./test.sh +- ./mason version ${MASON_NAME} ${MASON_VERSION} + +after_success: +#- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/zlib/system/script.sh b/scripts/zlib/system/script.sh new file mode 100755 index 000000000..ed850785f --- /dev/null +++ b/scripts/zlib/system/script.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash + +MASON_NAME=zlib +MASON_VERSION=system +MASON_SYSTEM_PACKAGE=true + +. ${MASON_DIR}/mason.sh + + +if [[ ${MASON_PLATFORM} = 'ios' ]]; then + MASON_CFLAGS="" + MASON_LDFLAGS="-lz" +else + MASON_CFLAGS="-I${MASON_PREFIX}/include" + MASON_LDFLAGS="-L${MASON_PREFIX}/lib" + + if [[ ${MASON_PLATFORM} = 'osx' || ${MASON_PLATFORM} = 'android' ]]; then + ZLIB_INCLUDE_PREFIX="${MASON_SDK_PATH}/usr/include" + if [[ -d "${MASON_SDK_PATH}/usr/lib64" ]]; then + ZLIB_LIBRARY="${MASON_SDK_PATH}/usr/lib64/libz.${MASON_DYNLIB_SUFFIX}" + else + ZLIB_LIBRARY="${MASON_SDK_PATH}/usr/lib/libz.${MASON_DYNLIB_SUFFIX}" + fi + MASON_LDFLAGS="${MASON_LDFLAGS} -lz" + else + ZLIB_INCLUDE_PREFIX="${MASON_SDK_PATH}`pkg-config zlib --variable=includedir`" + ZLIB_LIBRARY="${MASON_SDK_PATH}`pkg-config zlib --variable=libdir`/libz.${MASON_DYNLIB_SUFFIX}" + MASON_CFLAGS="${MASON_CFLAGS} `pkg-config zlib --cflags-only-other`" + MASON_LDFLAGS="${MASON_LDFLAGS} `pkg-config zlib --libs-only-other --libs-only-l`" + fi + + if [ ! -f "${ZLIB_INCLUDE_PREFIX}/zlib.h" -a ! -h "${ZLIB_INCLUDE_PREFIX}/zlib.h" ]; then + mason_error "Can't find header file ${ZLIB_INCLUDE_PREFIX}/zlib.h" + exit 1 + fi + + if [ ! -f "${ZLIB_LIBRARY}" -a ! -h "${ZLIB_LIBRARY}" ]; then + mason_error "Can't find library file ${ZLIB_LIBRARY}" + exit 1 + fi +fi + +function mason_system_version { + if [[ ${MASON_PLATFORM} = 'ios' ]]; then + FLAGS="-I${MASON_SDK_PATH}/usr/include" + else + FLAGS=$(mason_cflags) + fi + + mkdir -p "${MASON_PREFIX}" + cd "${MASON_PREFIX}" + if [ ! -f version ]; then + echo "#include +#include +int main() { + printf(\"%s\", ZLIB_VERSION); + return 0; +} +" > version.c && cc version.c ${FLAGS} -o version + fi + ./version +} + +function mason_build { + if [[ ${MASON_PLATFORM} != 'ios' ]]; then + mkdir -p ${MASON_PREFIX}/{include,lib} + ln -sf ${ZLIB_INCLUDE_PREFIX}/z*.h ${MASON_PREFIX}/include/ + ln -sf ${ZLIB_LIBRARY} ${MASON_PREFIX}/lib/ + fi + VERSION=$(mason_system_version) +} + +function mason_cflags { + echo ${MASON_CFLAGS} +} + +function mason_ldflags { + echo ${MASON_LDFLAGS} +} + +mason_run "$@" diff --git a/scripts/zlib/system/test.sh b/scripts/zlib/system/test.sh new file mode 100755 index 000000000..0f740aa41 --- /dev/null +++ b/scripts/zlib/system/test.sh @@ -0,0 +1,135 @@ +#!/usr/bin/env bash + +set -u + +CODE=0 + +function check_cflags() { + MASON_CFLAGS=$(./mason cflags ${MASON_NAME} ${MASON_VERSION}) + MASON_CFLAGS=${MASON_CFLAGS/-I/} + if [[ ! -d ${MASON_CFLAGS} ]]; then + echo "not ok: Path for cflags not found: ${MASON_CFLAGS}" + CODE=1 + else + echo "ok: path to cflags found: ${MASON_CFLAGS}" + fi +} + +function check_ldflags() { + MASON_LDFLAGS=$(./mason ldflags ${MASON_NAME} ${MASON_VERSION}) + for var in $MASON_LDFLAGS; do + if [[ "${var}" =~ "-L" ]]; then + vpath=${var/-L/} + if [[ ! -d ${vpath} ]]; then + echo "not ok: Path for ldflags not found: ${vpath}" + CODE=1 + else + echo "ok: path to ldflags found: ${vpath}" + fi + fi + done +} + +function read_link() { + # number of processors on the current system + case "$(uname -s)" in + 'Linux') readlink -f $1;; + 'Darwin') readlink $1;; + *) echo 1;; + esac +} + +# symlinks should be two deep +function check_file_links() { + if [[ ! -L ./mason_packages/.link/$1 ]]; then + echo "not ok: ./mason_packages/.link/$1 is not a symlink" + CODE=1 + else + resolved=$(read_link ./mason_packages/.link/$1) + echo "ok: $resolved is a symlink" + # resolve osx symlinks further + if [[ -L $resolved ]]; then + resolved=$(read_link $resolved) + fi + if [[ ! -f $resolved ]]; then + echo "not ok: $resolved is not a file" + CODE=1 + else + echo "ok: $resolved is a file" + expected_keyword="" + if [[ ${MASON_PLATFORM} == 'osx' ]]; then + expected_keyword="MacOSX.platform" + elif [[ ${MASON_PLATFORM} == 'linux' ]]; then + if [[ ${1} =~ "libz" ]]; then + expected_keyword="/lib/x86_64-linux-gnu/" + elif [[ ${1} =~ "include" ]]; then + expected_keyword="/usr/include/" + fi + elif [[ ${MASON_PLATFORM} == 'android' ]]; then + MASON_ANDROID_ABI=$(${MASON_DIR}/mason env MASON_ANDROID_ABI) + MASON_NDK_PACKAGE_VERSION=$(${MASON_DIR}/mason env MASON_NDK_PACKAGE_VERSION) + expected_keyword="android-ndk/${MASON_NDK_PACKAGE_VERSION}" + fi + if [[ "$resolved" =~ "${expected_keyword}" ]]; then + echo "ok: '${expected_keyword}' found in path $resolved" + else + echo "not ok: '${expected_keyword}' not found in path $resolved" + CODE=1 + fi + fi + fi +} + +function check_shared_lib_info() { + resolved=$(read_link ./mason_packages/.link/$1) + if [[ -f $resolved ]]; then + echo "ok: resolved to $resolved" + if [[ ${MASON_PLATFORM} == 'osx' ]]; then + file $resolved + otool -L $resolved + lipo -info $resolved + elif [[ ${MASON_PLATFORM} == 'linux' ]]; then + file $resolved + ldd $resolved + readelf -d $resolved + elif [[ ${MASON_PLATFORM} == 'android' ]]; then + FILE_DETAILS=$(file $resolved) + MASON_ANDROID_ARCH=$(${MASON_DIR}/mason env MASON_ANDROID_ARCH) + if [[ ${MASON_ANDROID_ARCH} =~ "64" ]]; then + if [[ ${FILE_DETAILS} =~ "64-bit" ]]; then + echo "ok: ${MASON_ANDROID_ARCH} 64-bit arch (for ${MASON_ANDROID_ABI}) expected and detected in $FILE_DETAILS" + else + echo "not ok: ${MASON_ANDROID_ARCH} 64-bit arch (for ${MASON_ANDROID_ABI}) expected and not detected in $FILE_DETAILS" + CODE=1 + fi + else + if [[ ${FILE_DETAILS} =~ "64-bit" ]]; then + echo "not ok: ${MASON_ANDROID_ARCH} 32 bit arch (for ${MASON_ANDROID_ABI}) expected and not detected in $FILE_DETAILS" + CODE=1 + fi + fi + BIN_PATH=$(${MASON_DIR}/mason env MASON_SDK_ROOT)/bin + MASON_ANDROID_TOOLCHAIN=$(${MASON_DIR}/mason env MASON_ANDROID_TOOLCHAIN) + ${BIN_PATH}/${MASON_ANDROID_TOOLCHAIN}-readelf -d $resolved + fi + + else + echo "not okay: could not resolve to file: $resolved" + CODE=1 + fi +} + +if [[ $MASON_PLATFORM != 'ios' ]]; then + check_cflags + check_ldflags + check_file_links "include/zlib.h" + check_file_links "include/zconf.h" + check_file_links "lib/libz.$(${MASON_DIR}/mason env MASON_DYNLIB_SUFFIX)" + if [[ ${CODE} == 0 ]]; then + check_shared_lib_info "lib/libz.$(${MASON_DIR}/mason env MASON_DYNLIB_SUFFIX)" + else + echo "Error already occured so skipping shared library test" + fi +fi + +exit ${CODE} diff --git a/test/all.sh b/test/all.sh new file mode 100755 index 000000000..46d858c11 --- /dev/null +++ b/test/all.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -eu +set -o pipefail + +$(dirname $0)/unit.sh +$(dirname $0)/c_install.sh +$(dirname $0)/c_build.sh +$(dirname $0)/c_build_android.sh +$(dirname $0)/c_install_symlink_includes.sh +$(dirname $0)/cpp11_header_install.sh +$(dirname $0)/cpp11_install.sh +$(dirname $0)/cpp11_build.sh \ No newline at end of file diff --git a/test/assert.sh b/test/assert.sh new file mode 100755 index 000000000..8a42862d2 --- /dev/null +++ b/test/assert.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +function assertEqual() { + if [ "$1" == "$2" ]; then + echo "ok - $1 ($3)" + else + echo "not ok - $1 != $2 ($3)" + CODE=1 + fi +} diff --git a/test/c_build.sh b/test/c_build.sh new file mode 100755 index 000000000..078a30d4e --- /dev/null +++ b/test/c_build.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -e -u +set -o pipefail + +./mason build sqlite 3.8.8.1 +./mason build libuv 0.10.28 +./mason build libuv 0.11.29 \ No newline at end of file diff --git a/test/c_build_android.sh b/test/c_build_android.sh new file mode 100755 index 000000000..ffa7ce663 --- /dev/null +++ b/test/c_build_android.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -e -u +set -o pipefail + +export MASON_PLATFORM=android +export MASON_ANDROID_ARCH=arm +./mason build freetype 2.5.5 \ No newline at end of file diff --git a/test/c_install.sh b/test/c_install.sh new file mode 100755 index 000000000..ab25ef172 --- /dev/null +++ b/test/c_install.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -e -u +set -o pipefail + +./mason install sqlite 3.8.8.1 +./mason install libuv 0.10.28 +./mason install libuv 0.11.29 diff --git a/test/c_install_symlink_includes.sh b/test/c_install_symlink_includes.sh new file mode 100755 index 000000000..cd0d35bea --- /dev/null +++ b/test/c_install_symlink_includes.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +set -e -u +set -o pipefail + +./mason install libpng 1.6.16 +./mason link libpng 1.6.16 + +failure=0 + +if [[ ! -d mason_packages/.link/include/libpng16 ]]; then + echo "could not find expected include/libpng16" + failure=1 +fi + +if [[ ! -L mason_packages/.link/include/libpng16/png.h ]]; then + echo "include/libpng16/png.h is expected to be a symlink" + failure=1 +fi + +if [[ ! -L mason_packages/.link/include/png.h ]]; then + echo "include/png.h is expected to be a symlink" + failure=1 +fi + +exit $failure + diff --git a/test/cpp11_build.sh b/test/cpp11_build.sh new file mode 100755 index 000000000..5705fe117 --- /dev/null +++ b/test/cpp11_build.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -e -u +set -o pipefail + +# ensure building a C++ lib works +./mason build stxxl 1.4.1 + +# ensure linking results in expected files +./mason link stxxl 1.4.1 + +failure=0 + +if [[ ! -f mason_packages/.link/lib/libstxxl.a ]]; then + echo "could not find expected lib/libstxxl.a" + failure=1 +fi + +if [[ ! -f mason_packages/.link/lib/pkgconfig/stxxl.pc ]]; then + echo "could not find expected lib/pkgconfig/stxxl.pc" + failure=1 +fi + +if [[ ! -d mason_packages/.link/include/stxxl ]]; then + echo "could not find expected include/stxxl" + failure=1 +fi + +if [[ ! -f mason_packages/.link/include/stxxl.h ]]; then + echo "could not find expected include/stxxl.h" + failure=1 +fi + +exit $failure \ No newline at end of file diff --git a/test/cpp11_header_install.sh b/test/cpp11_header_install.sh new file mode 100755 index 000000000..237e479e8 --- /dev/null +++ b/test/cpp11_header_install.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +set -e -u +set -o pipefail + +./mason install boost 1.57.0 +./mason link boost 1.57.0 + +failure=0 + +# boost and packages other we symlink the directory +if [[ ! -d mason_packages/.link/include/boost ]]; then + echo "could not find expected include/boost" + failure=1 +fi + +# install packages that share namespaces and directories +# and insure they get placed okay (and don't prevent each other +# from being symlinked) + +./mason install sparsehash 2.0.2 +./mason link sparsehash 2.0.2 +./mason install protobuf 2.6.1 +./mason link protobuf 2.6.1 +./mason install geometry 0.7.0 +./mason link geometry 0.7.0 +./mason install variant 1.1.0 +./mason link variant 1.1.0 + +if [[ ! -d mason_packages/.link/include/google/sparsehash ]]; then + echo "could not find expected include/google/sparsehash" + failure=1 +fi + + +if [[ ! -d mason_packages/.link/include/google/protobuf ]]; then + echo "could not find expected include/google/protobuf" + failure=1 +fi + + +if [[ ! -d mason_packages/.link/include/mapbox/geometry ]]; then + echo "could not find expected include/mapbox/geometry" + failure=1 +fi + +exit $failure + + diff --git a/test/cpp11_install.sh b/test/cpp11_install.sh new file mode 100755 index 000000000..db348b9b4 --- /dev/null +++ b/test/cpp11_install.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -e -u +set -o pipefail + +./mason install boost_libregex 1.57.0 +./mason link boost_libregex 1.57.0 + + +failure=0 + +if [[ ! -f mason_packages/.link/lib/libboost_regex.a ]]; then + echo "could not find expected lib/libboost_regex.a" + failure=1 +fi + +if [[ ! -L mason_packages/.link/lib/libboost_regex.a ]]; then + echo "lib/libboost_regex.a is not a symlink like expected" + failure=1 +fi + +exit $failure \ No newline at end of file diff --git a/test/unit.sh b/test/unit.sh new file mode 100755 index 000000000..85da5b82a --- /dev/null +++ b/test/unit.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +CODE=0 + +source $(dirname $0)/assert.sh + +VAL=$(./mason env MASON_DIR) +assertEqual "$?" "0" "able to run ./mason env MASON_DIR" +if [[ ${MASON_DIR:-unset} != "unset" ]]; then + assertEqual "$MASON_DIR" "$VAL" "got correct result of ./mason env MASON_DIR" +else + assertEqual "$(pwd)" "$VAL" "got correct result of ./mason env MASON_DIR" +fi + +VAL=$(./mason --version) +assertEqual "$?" "0" "able to run ./mason --version" +assertEqual "0.1.0" "$VAL" "got correct result of ./mason --version" + + +exit $CODE \ No newline at end of file diff --git a/utils/android.sh b/utils/android.sh new file mode 100755 index 000000000..a2d943770 --- /dev/null +++ b/utils/android.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +echo "set(CMAKE_SYSTEM_NAME Android)" +echo "set(CMAKE_SYSTEM_VERSION 1)" +echo "set(CMAKE_CXX_COMPILER \"`which $(${MASON_DIR}/mason env CXX)`\")" +echo "set(CMAKE_C_COMPILER \"`which $(${MASON_DIR}/mason env CC)`\")" +echo "set(ANDROID_JNIDIR \"`${MASON_DIR}/mason env JNIDIR`\")" +echo "set(ANDROID_ABI \"\${ANDROID_JNIDIR}\")" +echo "set(CMAKE_EXE_LINKER_FLAGS \"`${MASON_DIR}/mason env LDFLAGS` \${CMAKE_EXE_LINKER_FLAGS}\")" +echo "set(CMAKE_SHARED_LINKER_FLAGS \"`${MASON_DIR}/mason env LDFLAGS` \${CMAKE_SHARED_LINKER_FLAGS}\")" +echo "set(CMAKE_CXX_FLAGS \"`${MASON_DIR}/mason env CXXFLAGS` \${CMAKE_CXX_FLAGS}\")" +echo "set(CMAKE_C_FLAGS \"`${MASON_DIR}/mason env CPPFLAGS` \${CMAKE_C_FLAGS}\")" +echo "set(STRIP_COMMAND \"`which $(${MASON_DIR}/mason env STRIP)`\")" diff --git a/utils/ios.cmake b/utils/ios.cmake new file mode 100644 index 000000000..60dbac07c --- /dev/null +++ b/utils/ios.cmake @@ -0,0 +1,136 @@ +# From https://github.com/OtherLevels/ios-cmake +# This file is based off of the Platform/Darwin.cmake and Platform/UnixPaths.cmake +# files which are included with CMake 2.8.4 +# It has been altered for iOS development + +# Options: +# +# IOS_PLATFORM = OS (default) or SIMULATOR or SIMULATOR64 +# This decides if SDKS will be selected from the iPhoneOS.platform or iPhoneSimulator.platform folders +# OS - the default, used to build for iPhone and iPad physical devices, which have an arm arch. +# SIMULATOR - used to build for the Simulator platforms, which have an x86 arch. +# +# CMAKE_IOS_DEVELOPER_ROOT = automatic(default) or /path/to/platform/Developer folder +# By default this location is automatcially chosen based on the IOS_PLATFORM value above. +# If set manually, it will override the default location and force the user of a particular Developer Platform +# +# CMAKE_IOS_SDK_ROOT = automatic(default) or /path/to/platform/Developer/SDKs/SDK folder +# By default this location is automatcially chosen based on the CMAKE_IOS_DEVELOPER_ROOT value. +# In this case it will always be the most up-to-date SDK found in the CMAKE_IOS_DEVELOPER_ROOT path. +# If set manually, this will force the use of a specific SDK version + +# Macros: +# +# set_xcode_property (TARGET XCODE_PROPERTY XCODE_VALUE) +# A convenience macro for setting xcode specific properties on targets +# example: set_xcode_property (myioslib IPHONEOS_DEPLOYMENT_TARGET "3.1") +# +# find_host_package (PROGRAM ARGS) +# A macro used to find executable programs on the host system, not within the iOS environment. +# Thanks to the android-cmake project for providing the command + +# Standard settings +set (CMAKE_SYSTEM_NAME Darwin) +set (CMAKE_SYSTEM_VERSION 1) +set (UNIX True) +set (APPLE True) +set (IOS True) + +# Required as of cmake 2.8.10 +set (CMAKE_OSX_DEPLOYMENT_TARGET "" CACHE STRING "Force unset of the deployment target for iOS" FORCE) + +# Determine the cmake host system version so we know where to find the iOS SDKs +find_program (CMAKE_UNAME uname /bin /usr/bin /usr/local/bin) +if (CMAKE_UNAME) + exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION) + string (REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_HOST_SYSTEM_VERSION}") +endif (CMAKE_UNAME) + +# Force the compilers to gcc for iOS +include (CMakeForceCompiler) +set(XCODE_TOOLCHAIN /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain) +set(XCODE_BIN ${XCODE_TOOLCHAIN}/usr/bin) +set(CMAKE_C_COMPILER ${XCODE_BIN}/clang) +set(CMAKE_CXX_COMPILER ${XCODE_BIN}/clang++) +set(CMAKE_FIND_ROOT_PATH ${XCODE_TOOLCHAIN_ROOT}) +set(CMAKE_AR ar CACHE FILEPATH "" FORCE) + +# Skip the platform compiler checks for cross compiling +set (CMAKE_CXX_COMPILER_WORKS TRUE) +set (CMAKE_C_COMPILER_WORKS TRUE) + +# All iOS/Darwin specific settings - some may be redundant +set (CMAKE_SHARED_LIBRARY_PREFIX "lib") +set (CMAKE_SHARED_LIBRARY_SUFFIX ".dylib") +set (CMAKE_SHARED_MODULE_PREFIX "lib") +set (CMAKE_SHARED_MODULE_SUFFIX ".so") +set (CMAKE_MODULE_EXISTS 1) +set (CMAKE_DL_LIBS "") + +set (CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ") +set (CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ") +set (CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}") +set (CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}") + + +# This was required for Other C++ Flags to be set for enabling bitcode in a static lib. +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fembed-bitcode") + + +set (CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}") +set (CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}") + +set (CMAKE_PLATFORM_HAS_INSTALLNAME 1) +set (CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -headerpad_max_install_names") +set (CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -headerpad_max_install_names") +set (CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,") +set (CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,") +set (CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a") + + +# Point to the latest SDK. +set (CMAKE_OSX_SYSROOT "iphoneos" CACHE string "Sysroot used for iOS support") + + + +set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD)" CACHE string "Build architecture for iOS") + +# Set the find root to the iOS developer roots and to user defined paths +set (CMAKE_FIND_ROOT_PATH ${CMAKE_IOS_DEVELOPER_ROOT} ${CMAKE_IOS_SDK_ROOT} ${CMAKE_PREFIX_PATH} CACHE string "iOS find search path root") + +# default to searching for frameworks first +set (CMAKE_FIND_FRAMEWORK FIRST) + +# set up the default search directories for frameworks +set (CMAKE_SYSTEM_FRAMEWORK_PATH + ${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks + ${CMAKE_IOS_SDK_ROOT}/System/Library/PrivateFrameworks + ${CMAKE_IOS_SDK_ROOT}/Developer/Library/Frameworks +) + +# only search the iOS sdks, not the remainder of the host filesystem +set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) +set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + + +# This little macro lets you set any XCode specific property +macro (set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE) + set_property (TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE}) +endmacro (set_xcode_property) + + +# This macro lets you find executable programs on the host system +macro (find_host_package) + set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER) + set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) + set (IOS FALSE) + + find_package(${ARGN}) + + set (IOS TRUE) + set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) + set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endmacro (find_host_package) diff --git a/utils/toolchain.sh b/utils/toolchain.sh new file mode 100644 index 000000000..509d6164b --- /dev/null +++ b/utils/toolchain.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -eu +set -o pipefail + +CLANG_VERSION="3.9.0" +./mason install clang++ ${CLANG_VERSION} +export PATH=$(./mason prefix clang++ ${CLANG_VERSION})/bin:${PATH} +export CXX=clang++-3.9 +export CC=clang-3.9 + +set +eu \ No newline at end of file