From 58f7a21c18b1948e17822d06ef1238c555dda374 Mon Sep 17 00:00:00 2001 From: Vishal Biswas Date: Sun, 15 Jan 2017 18:18:05 +0530 Subject: [PATCH] Add support for cmake 3.7 (#660) --- build-package.sh | 51 ++++++++++++++++++++++++++++++++++++--- disabled-packages/ledger/build.sh | 21 ---------------- packages/clang/build.sh | 31 ++++++------------------ packages/cmake/build.sh | 28 +++------------------ packages/googletest/build.sh | 20 +-------------- packages/jsoncpp/build.sh | 20 ++------------- packages/libmsgpack/build.sh | 21 +--------------- packages/librsync/build.sh | 28 +++++---------------- packages/libssh/build.sh | 23 +++--------------- packages/libx265/build.sh | 26 +++----------------- packages/neovim/build.sh | 26 +++----------------- packages/openal-soft/build.sh | 24 ++---------------- packages/openjpeg/build.sh | 18 +------------- packages/tasksh/build.sh | 19 --------------- packages/taskwarrior/build.sh | 22 ----------------- packages/timewarrior/build.sh | 23 ------------------ packages/weechat/build.sh | 30 +++-------------------- 17 files changed, 87 insertions(+), 344 deletions(-) diff --git a/build-package.sh b/build-package.sh index 4f5e1539..4c00bef8 100755 --- a/build-package.sh +++ b/build-package.sh @@ -247,7 +247,8 @@ termux_step_setup_variables() { # Set if a host build should be done in TERMUX_PKG_HOSTBUILD_DIR: TERMUX_PKG_HOSTBUILD="" TERMUX_PKG_MAINTAINER="Fredrik Fornwall @fornwall" - TERMUX_PKG_CLANG=no + TERMUX_PKG_CLANG=no # does nothing for cmake based packages. clang is chosen by cmake + TERMUX_PKG_FORCE_CMAKE=no # if the package has autotools as well as cmake, then set this to prefer cmake unset CFLAGS CPPFLAGS LDFLAGS CXXFLAGS } @@ -598,7 +599,7 @@ termux_step_pre_configure() { return } -termux_step_configure() { +termux_step_configure_autotools () { if [ ! -e "$TERMUX_PKG_SRCDIR/configure" ]; then return; fi DISABLE_STATIC="--disable-static" @@ -653,7 +654,51 @@ termux_step_configure() { --libexecdir=$TERMUX_PREFIX/libexec } -termux_step_post_configure() { +termux_step_configure_cmake () { + termux_setup_cmake + + if [ -n "$_SPECSFLAG" ]; then + CFLAGS=${CFLAGS#$_SPECSFLAG} + CXXFLAGS=${CXXFLAGS#$_SPECSFLAG} + LDFLAGS=${LDFLAGS#$_SPECSFLAG} + fi + + local TOOLCHAIN_ARGS="-DCMAKE_ANDROID_STANDALONE_TOOLCHAIN=$TERMUX_STANDALONE_TOOLCHAIN" + local BUILD_TYPE=MinSizeRel + test -n "$TERMUX_DEBUG" && BUILD_TYPE=Debug + + local CMAKE_PROC=$TERMUX_ARCH + test $CMAKE_PROC == "arm" && CMAKE_PROC='armv7-a' + + cmake -G 'Unix Makefiles' $TERMUX_PKG_SRCDIR \ + -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ + -DCMAKE_CROSSCOMPILING=True \ + -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_LINKER="$TERMUX_STANDALONE_TOOLCHAIN/bin/$LD $LDFLAGS" \ + -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ + -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ + -DCMAKE_MAKE_PROGRAM=`which make` \ + -DCMAKE_SYSTEM_PROCESSOR=$CMAKE_PROC \ + -DCMAKE_SYSTEM_NAME=Android \ + -DCMAKE_SYSTEM_VERSION=21 \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DCMAKE_USE_SYSTEM_LIBRARIES=True \ + -DBUILD_TESTING=OFF \ + $TERMUX_PKG_EXTRA_CONFIGURE_ARGS $TOOLCHAIN_ARGS +} + +termux_step_configure () { + if [ "$TERMUX_PKG_FORCE_CMAKE" == 'no' -a -f "$TERMUX_PKG_SRCDIR/configure" ]; then + termux_step_configure_autotools + elif [ -f "$TERMUX_PKG_SRCDIR/CMakeLists.txt" ]; then + termux_step_configure_cmake + fi +} + +termux_step_post_configure () { return } diff --git a/disabled-packages/ledger/build.sh b/disabled-packages/ledger/build.sh index 0d22b0d8..f35d7586 100644 --- a/disabled-packages/ledger/build.sh +++ b/disabled-packages/ledger/build.sh @@ -7,24 +7,3 @@ TERMUX_PKG_SRCURL=https://github.com/ledger/ledger/archive/v${TERMUX_PKG_VERSION TERMUX_PKG_FOLDERNAME="ledger-${TERMUX_PKG_VERSION}" # TERMUX_PKG_DEPENDS="..." -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" .. \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SKIP_INSTALL_RPATH=ON \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DCMAKE_USE_SYSTEM_LIBRARIES=True \ - -DBUILD_TESTING=OFF \ - $TERMUX_PKG_SRCDIR -} diff --git a/packages/clang/build.sh b/packages/clang/build.sh index 2ccf2016..ec9412be 100644 --- a/packages/clang/build.sh +++ b/packages/clang/build.sh @@ -10,6 +10,11 @@ TERMUX_PKG_DEPENDS="binutils, ncurses, ndk-sysroot, ndk-stl, libgcc" # Replace gcc since gcc is deprecated by google on android and is not maintained upstream. TERMUX_PKG_CONFLICTS=gcc TERMUX_PKG_REPLACES=gcc +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DCMAKE_INSTALL_ALWAYS=1 -DLLVM_ENABLE_PIC=ON -DLLVM_BUILD_TESTS=OFF" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_TESTS=OFF -DCLANG_TOOL_C_INDEX_TEST_BUILD=OFF" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DBUILD_SHARED_LIBS=ON -DLLVM_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/llvm-tblgen" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCLANG_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/clang-tblgen" +TERMUX_PKG_FORCE_CMAKE=yes termux_step_post_extract_package () { CLANG_SRC_TAR=cfe-${TERMUX_PKG_VERSION}.src.tar.xz @@ -37,7 +42,7 @@ termux_step_host_build () { make -j $TERMUX_MAKE_PROCESSES clang-tblgen llvm-tblgen } -termux_step_configure () { +termux_step_pre_configure () { cd $TERMUX_PKG_BUILDDIR LLVM_DEFAULT_TARGET_TRIPLE=$TERMUX_HOST_PLATFORM if [ $TERMUX_ARCH = "arm" ]; then @@ -55,28 +60,8 @@ termux_step_configure () { exit 1 fi # see CMakeLists.txt and tools/clang/CMakeLists.txt - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS -lgnustl_shared" \ - -DCMAKE_INSTALL_ALWAYS=1 \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Android \ - -DLLVM_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/llvm-tblgen \ - -DLLVM_DEFAULT_TARGET_TRIPLE=$LLVM_DEFAULT_TARGET_TRIPLE \ - -DLLVM_TARGET_ARCH=$LLVM_TARGET_ARCH \ - -DLLVM_TARGETS_TO_BUILD=$LLVM_TARGET_ARCH \ - -DLLVM_ENABLE_PIC=ON \ - -DLLVM_BUILD_TESTS=OFF \ - -DLLVM_INCLUDE_TESTS=OFF \ - -DCLANG_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/clang-tblgen \ - -DCLANG_INCLUDE_TESTS=OFF \ - -DCLANG_TOOL_C_INDEX_TEST_BUILD=OFF \ - -DC_INCLUDE_DIRS=$TERMUX_PREFIX/include \ - -DBUILD_SHARED_LIBS=ON + TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_DEFAULT_TARGET_TRIPLE=$LLVM_DEFAULT_TARGET_TRIPLE" + TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_TARGET_ARCH=$LLVM_TARGET_ARCH -DLLVM_TARGETS_TO_BUILD=$LLVM_TARGET_ARCH" } termux_step_post_make_install () { diff --git a/packages/cmake/build.sh b/packages/cmake/build.sh index 8a7935a9..c607377d 100644 --- a/packages/cmake/build.sh +++ b/packages/cmake/build.sh @@ -4,29 +4,7 @@ _MAJOR_VERSION=3.7 TERMUX_PKG_VERSION=${_MAJOR_VERSION}.1 TERMUX_PKG_SRCURL=https://www.cmake.org/files/v${_MAJOR_VERSION}/cmake-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="libarchive, libcurl, libexpat, jsoncpp, libuv" +TERMUX_PKG_FORCE_CMAKE=yes +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DZLIB_INCLUDE_DIR=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DZLIB_LIBRARY=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so -DKWSYS_LFS_WORKS=ON" -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" .. \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SKIP_INSTALL_RPATH=ON \ - -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_USE_SYSTEM_LIBRARIES=True \ - -DZLIB_INCLUDE_DIR=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include \ - -DZLIB_LIBRARY=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so \ - -DBUILD_TESTING=OFF \ - -DKWSYS_CHAR_IS_SIGNED=ON \ - -DKWSYS_LFS_WORKS=ON \ - $TERMUX_PKG_SRCDIR -} diff --git a/packages/googletest/build.sh b/packages/googletest/build.sh index 0bb09ae2..87492ca7 100644 --- a/packages/googletest/build.sh +++ b/packages/googletest/build.sh @@ -4,23 +4,5 @@ TERMUX_PKG_VERSION=1.8.0 TERMUX_PKG_SRCURL=https://github.com/google/googletest/archive/release-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_FOLDERNAME=googletest-release-$TERMUX_PKG_VERSION TERMUX_PKG_NO_DEVELSPLIT=yes +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DBUILD_SHARED_LIBS=ON" -termux_step_pre_configure() { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Android \ - -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG \ - -DBUILD_SHARED_LIBS=ON -} diff --git a/packages/jsoncpp/build.sh b/packages/jsoncpp/build.sh index 9741ce51..f093eb4e 100644 --- a/packages/jsoncpp/build.sh +++ b/packages/jsoncpp/build.sh @@ -3,26 +3,10 @@ TERMUX_PKG_DESCRIPTION="C++ library for interacting with JSON" TERMUX_PKG_VERSION=1.7.7 TERMUX_PKG_SRCURL=https://github.com/open-source-parsers/jsoncpp/archive/${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_FOLDERNAME=jsoncpp-${TERMUX_PKG_VERSION} +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF" -termux_step_configure () { +termux_step_pre_configure () { # The installation does not overwrite symlinks such as libjsoncpp.so.1, # so if rebuilding these are not detected as modified. Fix that: rm -f $TERMUX_PREFIX/lib/libjsoncpp.so* - - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Android \ - -DBUILD_SHARED_LIBS=ON \ - -DJSONCPP_WITH_TESTS=OFF } diff --git a/packages/libmsgpack/build.sh b/packages/libmsgpack/build.sh index 6e10c4de..a059812d 100644 --- a/packages/libmsgpack/build.sh +++ b/packages/libmsgpack/build.sh @@ -3,23 +3,4 @@ TERMUX_PKG_DESCRIPTION="MessagePack implementation for C and C++" TERMUX_PKG_VERSION=2.1.0 TERMUX_PKG_SRCURL=https://github.com/msgpack/msgpack-c/releases/download/cpp-${TERMUX_PKG_VERSION}/msgpack-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_BUILD_IN_SRC=yes - -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" .. \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Android \ - -DMSGPACK_BUILD_EXAMPLES=OFF \ - $TERMUX_PKG_SRCDIR -} +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DMSGPACK_BUILD_EXAMPLES=OFF" diff --git a/packages/librsync/build.sh b/packages/librsync/build.sh index 8f6cd96d..cf85050a 100644 --- a/packages/librsync/build.sh +++ b/packages/librsync/build.sh @@ -4,32 +4,16 @@ TERMUX_PKG_VERSION=2.0.0 TERMUX_PKG_SRCURL=https://github.com/librsync/librsync/archive/v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_FOLDERNAME=librsync-${TERMUX_PKG_VERSION} TERMUX_PKG_DEPENDS="libbz2" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DZLIB_INCLUDE_DIR=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DZLIB_LIBRARY=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DPERL_EXECUTABLE=`which perl`" -termux_step_configure () { +termux_step_pre_configure () { # Remove old files to ensure new timestamps on symlinks: rm -Rf $TERMUX_PREFIX/lib/librsync.* +} - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" .. \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DCMAKE_SYSTEM_PROCESSOR=Dummy \ - -DZLIB_INCLUDE_DIR=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include \ - -DZLIB_LIBRARY=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so \ - -DPERL_EXECUTABLE=`which perl` \ - $TERMUX_PKG_SRCDIR - +termux_step_post_configure () { mkdir -p $TERMUX_PREFIX/share/man/man{1,3} cp $TERMUX_PKG_SRCDIR/doc/rdiff.1 $TERMUX_PREFIX/share/man/man1 cp $TERMUX_PKG_SRCDIR/doc/librsync.3 $TERMUX_PREFIX/share/man/man3 diff --git a/packages/libssh/build.sh b/packages/libssh/build.sh index 6bd87481..38f6cc78 100644 --- a/packages/libssh/build.sh +++ b/packages/libssh/build.sh @@ -4,24 +4,7 @@ TERMUX_PKG_VERSION=0.7.3 TERMUX_PKG_SRCURL=https://red.libssh.org/attachments/download/195/libssh-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_SHA256=26ef46be555da21112c01e4b9f5e3abba9194485c8822ab55ba3d6496222af98 TERMUX_PKG_DEPENDS="openssl" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DZLIB_INCLUDE_DIR=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DZLIB_LIBRARY=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DTHREADS_PTHREAD_ARG=OFF" -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Android \ - -DZLIB_INCLUDE_DIR=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include \ - -DZLIB_LIBRARY=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so \ - -DTHREADS_PTHREAD_ARG=OFF -} diff --git a/packages/libx265/build.sh b/packages/libx265/build.sh index d4e8ef0e..8ac21a4f 100644 --- a/packages/libx265/build.sh +++ b/packages/libx265/build.sh @@ -5,29 +5,11 @@ TERMUX_PKG_SRCURL=http://ftp.videolan.org/pub/videolan/x265/x265_${TERMUX_PKG_VE TERMUX_PKG_SHA256=b872552535e41fbffa03ba7cbcd3479c42c4053868309292e78e147b7773ac4b TERMUX_PKG_FOLDERNAME=x265_$TERMUX_PKG_VERSION -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - - CMAKE_EXTRA_OPTS="" +termux_step_pre_configure () { if [ $TERMUX_ARCH = "i686" ]; then # Avoid text relocations. - CMAKE_EXTRA_OPTS="-DENABLE_ASSEMBLY=OFF" + TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DENABLE_ASSEMBLY=OFF" fi - - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR/source \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_SYSTEM_PROCESSOR=$TERMUX_ARCH \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Android \ - $CMAKE_EXTRA_OPTS + TERMUX_PKG_SRCDIR="$TERMUX_PKG_SRCDIR/source" } + diff --git a/packages/neovim/build.sh b/packages/neovim/build.sh index 2d69d566..2cadfd27 100644 --- a/packages/neovim/build.sh +++ b/packages/neovim/build.sh @@ -6,6 +6,8 @@ TERMUX_PKG_SRCURL=https://github.com/neovim/neovim/archive/${_COMMIT}.zip TERMUX_PKG_DEPENDS="libuv, libmsgpack, libandroid-support, libvterm, libtermkey, libutil" TERMUX_PKG_FOLDERNAME="neovim-$_COMMIT" TERMUX_PKG_HOSTBUILD=true +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DENABLE_JEMALLOC=OFF -DGPERF_PRG=$TERMUX_PKG_HOSTBUILD_DIR/deps/usr/bin/gperf" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLUA_PRG=$TERMUX_PKG_HOSTBUILD_DIR/deps/usr/bin/luajit" termux_step_host_build () { mkdir -p $TERMUX_PKG_HOSTBUILD_DIR/deps @@ -19,28 +21,8 @@ termux_step_host_build () { rm -Rf build/ } -termux_step_configure () { - touch $TERMUX_PKG_HOSTBUILD_DIR/deps/CMakeCache.txt - - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Android \ - -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG \ - -DENABLE_JEMALLOC=OFF \ - -DGPERF_PRG=$TERMUX_PKG_HOSTBUILD_DIR/deps/usr/bin/gperf \ - -DLUA_PRG=$TERMUX_PKG_HOSTBUILD_DIR/deps/usr/bin/luajit +termux_step_pre_configure () { + TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG" } termux_step_post_make_install () { diff --git a/packages/openal-soft/build.sh b/packages/openal-soft/build.sh index da9a2be3..8a4994a2 100644 --- a/packages/openal-soft/build.sh +++ b/packages/openal-soft/build.sh @@ -2,26 +2,6 @@ TERMUX_PKG_HOMEPAGE=http://kcat.strangesoft.net/openal.html TERMUX_PKG_DESCRIPTION="Software implementation of the OpenAL API" TERMUX_PKG_VERSION=1.17.2 TERMUX_PKG_SRCURL=http://kcat.strangesoft.net/openal-releases/openal-soft-${TERMUX_PKG_VERSION}.tar.bz2 +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DCMAKE_USE_SYSTEM_LIBRARIES=True -DALSOFT_UTILS=OFF" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DALSOFT_EXAMPLES=OFF -DALSOFT_TESTS=OFF" -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SKIP_INSTALL_RPATH=ON \ - -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_USE_SYSTEM_LIBRARIES=True \ - -DALSOFT_UTILS=OFF \ - -DALSOFT_EXAMPLES=OFF \ - -DALSOFT_TESTS=OFF -} diff --git a/packages/openjpeg/build.sh b/packages/openjpeg/build.sh index b3f6d1fa..84732c53 100644 --- a/packages/openjpeg/build.sh +++ b/packages/openjpeg/build.sh @@ -5,23 +5,7 @@ TERMUX_PKG_SRCURL=https://github.com/uclouvain/openjpeg/archive/v${TERMUX_PKG_VE TERMUX_PKG_FOLDERNAME=openjpeg-$TERMUX_PKG_VERSION TERMUX_PKG_RM_AFTER_INSTALL="lib/openjpeg-2.1/*.cmake" -termux_step_configure () { +termux_step_pre_configure () { # Force symlinks to be overwritten: rm -Rf $TERMUX_PREFIX/lib/libopenjp2.so* - - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" .. \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DC_INCLUDE_DIRS=$TERMUX_PREFIX/include \ - $TERMUX_PKG_SRCDIR } diff --git a/packages/tasksh/build.sh b/packages/tasksh/build.sh index 26ee495e..5e68cc1b 100644 --- a/packages/tasksh/build.sh +++ b/packages/tasksh/build.sh @@ -11,22 +11,3 @@ termux_step_pre_configure() { LDFLAGS+=" -landroid-glob" } -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SKIP_INSTALL_RPATH=ON \ - -DCMAKE_SYSTEM_NAME=Linux \ - $TERMUX_PKG_SRCDIR -} diff --git a/packages/taskwarrior/build.sh b/packages/taskwarrior/build.sh index 05facde4..0d8dc511 100644 --- a/packages/taskwarrior/build.sh +++ b/packages/taskwarrior/build.sh @@ -10,25 +10,3 @@ termux_step_pre_configure() { LDFLAGS+=" -landroid-glob" } -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SKIP_INSTALL_RPATH=ON \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DCMAKE_USE_SYSTEM_LIBRARIES=True \ - -DZLIB_INCLUDE_DIR=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include \ - -DZLIB_LIBRARY=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so \ - -DBUILD_TESTING=OFF -} diff --git a/packages/timewarrior/build.sh b/packages/timewarrior/build.sh index 1733cf01..1be77423 100644 --- a/packages/timewarrior/build.sh +++ b/packages/timewarrior/build.sh @@ -13,26 +13,3 @@ termux_step_pre_configure() { LDFLAGS+=" -landroid-glob" } -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" .. \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SKIP_INSTALL_RPATH=ON \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DCMAKE_USE_SYSTEM_LIBRARIES=True \ - -DZLIB_INCLUDE_DIR=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include \ - -DZLIB_LIBRARY=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so \ - -DBUILD_TESTING=OFF \ - $TERMUX_PKG_SRCDIR -} diff --git a/packages/weechat/build.sh b/packages/weechat/build.sh index 273411ac..0522361e 100755 --- a/packages/weechat/build.sh +++ b/packages/weechat/build.sh @@ -7,30 +7,8 @@ TERMUX_PKG_SHA256=73eca5212fadb7056f5f72d9dfc96453dea0342c963d1f1ca36c84def5653c TERMUX_PKG_DEPENDS="ncurses, libgcrypt, libcurl, libgnutls, libandroid-support" # weechat-curses is a symlink to weechat, so remove it: TERMUX_PKG_RM_AFTER_INSTALL="bin/weechat-curses share/icons" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DZLIB_LIBRARY:FILEPATH=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DZLIB_INCLUDE_DIR:PATH=$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCA_FILE=$TERMUX_PREFIX/etc/tls/cert.pem -DENABLE_LUA=ON -DENABLE_MAN=ON" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DENABLE_PYTHON3=ON -DENABLE_PERL=ON -DENABLE_TCL=OFF" -termux_step_configure () { - cd $TERMUX_PKG_BUILDDIR - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_CROSSCOMPILING=True \ - -DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX \ - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ - -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \ - -DCMAKE_MAKE_PROGRAM=`which make` \ - -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG \ - -DZLIB_LIBRARY:FILEPATH="$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/libz.so" \ - -DZLIB_INCLUDE_DIR:PATH="$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include" \ - -DCA_FILE="$TERMUX_PREFIX/etc/tls/cert.pem" \ - -DENABLE_LUA=ON \ - -DENABLE_MAN=ON \ - -DENABLE_PYTHON3=ON \ - -DENABLE_PERL=ON \ - -DENABLE_TCL=OFF -} -- 2.11.0