| #!/usr/bin/env bash |
| |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| set -ex |
| |
| source $TRAVIS_BUILD_DIR/ci/travis_env_common.sh |
| |
| if [ $TRAVIS_OS_NAME = "osx" ]; then |
| brew update && brew bundle --file=$TRAVIS_BUILD_DIR/c_glib/Brewfile |
| else # Linux |
| sudo apt-get install -y -q gtk-doc-tools autoconf-archive libgirepository1.0-dev |
| fi |
| |
| if [ $TRAVIS_OS_NAME = "osx" ]; then |
| export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opt/libffi/lib/pkgconfig |
| export XML_CATALOG_FILES=/usr/local/etc/xml/catalog |
| fi |
| |
| if [ $BUILD_SYSTEM = "meson" ]; then |
| source $TRAVIS_BUILD_DIR/ci/travis_install_conda.sh |
| pip install meson ninja |
| fi |
| |
| gem install test-unit gobject-introspection |
| |
| if [ $TRAVIS_OS_NAME = "osx" ]; then |
| sudo env PKG_CONFIG_PATH=$PKG_CONFIG_PATH luarocks install lgi |
| elif [ $BUILD_SYSTEM = "autotools" ]; then |
| if [ $BUILD_TORCH_EXAMPLE = "yes" ]; then |
| git clone \ |
| --quiet \ |
| --depth 1 \ |
| --recursive \ |
| https://github.com/torch/distro.git ~/torch |
| pushd ~/torch |
| ./install-deps > /dev/null |
| echo "yes" | ./install.sh > /dev/null |
| . ~/torch/install/bin/torch-activate |
| popd |
| luarocks install lgi |
| else |
| sudo apt install -y -qq luarocks |
| sudo luarocks install lgi |
| fi |
| fi |
| |
| if [ $BUILD_SYSTEM = "autotools" ]; then |
| go get github.com/linuxdeepin/go-gir-generator || : |
| pushd $GOPATH/src/github.com/linuxdeepin/go-gir-generator |
| |
| # For old GObject Introspection. |
| # We can remove this when we use more later Ubuntu. |
| mv lib.in/glib-2.0/config.json{,.orig} |
| sed \ |
| -e 's/\("unref_to_array"\)/"get_data", \1/g' \ |
| lib.in/glib-2.0/config.json.orig > lib.in/glib-2.0/config.json |
| |
| # Workaround. TODO: We should send a patch to go-gir-generator. |
| rm lib.in/gio-2.0/gdk_workaround.go |
| mv lib.in/gio-2.0/config.json{,.orig} |
| sed \ |
| -e 's/\("Settings",\)/\/\/ \1/g' \ |
| -e 's/\("SettingsBackend",\)/\/\/ \1/g' \ |
| lib.in/gio-2.0/config.json.orig > lib.in/gio-2.0/config.json |
| |
| mv Makefile{,.orig} |
| sed -e 's/ gudev-1.0//' Makefile.orig > Makefile |
| mkdir -p out/src/gir/gudev-1.0 |
| make build copyfile |
| mkdir -p $GOPATH/bin/ |
| cp -a out/gir-generator $GOPATH/bin/ |
| cp -a out/src/gir/ $GOPATH/src/gir/ |
| popd |
| fi |
| |
| pushd $ARROW_C_GLIB_DIR |
| |
| export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$ARROW_CPP_INSTALL/lib/pkgconfig |
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ARROW_CPP_INSTALL/lib |
| |
| if [ $BUILD_SYSTEM = "autotools" ]; then |
| ./autogen.sh |
| |
| CONFIGURE_OPTIONS="--prefix=$ARROW_C_GLIB_INSTALL" |
| CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS --enable-gtk-doc" |
| CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS CFLAGS=-DARROW_NO_DEPRECATED_API" |
| CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS CXXFLAGS=-DARROW_NO_DEPRECATED_API" |
| |
| ./configure $CONFIGURE_OPTIONS |
| make -j4 |
| make install |
| else |
| MESON_OPTIONS="--prefix=$ARROW_C_GLIB_INSTALL" |
| MESON_OPTIONS="$MESON_OPTIONS -Denable_gtk_doc=true" |
| mkdir -p build |
| env \ |
| CFLAGS="-DARROW_NO_DEPRECATED_API" \ |
| CXXFLAGS="-DARROW_NO_DEPRECATED_API" \ |
| meson build $MESON_OPTIONS |
| pushd build |
| ninja |
| ninja install |
| popd |
| fi |
| |
| popd |