From 571db28a3dc962a780c7051954db91d85a4eaff7 Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Sat, 23 Jul 2022 19:33:33 +0500 Subject: [PATCH] termux_step_configure_cmake: Revert CMAKE_INSTALL_LIBDIR old behaviour changed in 2af00064 Absolute paths are still allowed in `DCMAKE_INSTALL_LIBDIR` as per https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html Different packages have different way of handling `DCMAKE_INSTALL_LIBDIR`. The `libprotobuf` is appending an absolute path to `build` directory (#10068), while `libjpeg-turbo` is not appending a relative `lib` path to `DCMAKE_INSTALL_PREFIX` and instead appending to `build` directory and so all the lib files stay at `/home/builder/.termux-build/libjpeg-turbo/build/lib` and hence won't get added to the `deb`, which results in `openjdk-17` failing if `-i` is not passed to `build-package.sh`, since it can't find `libjpeg.so` with `-L${TERMUX_PREFIX}/lib` after compilation from source, unless `-L$TERMUX_TOPDIR/libjpeg-turbo/build/lib` is passed. Considering that most packages would likely be considering an absolute path passed in `DCMAKE_INSTALL_LIBDIR` to actually be absolute, the default behaviour should be reverted, specially considering it is what's been working, otherwise lot of packages would need testing, like from https://github.com/termux/termux-packages/commit/9155acd040. ``` checking for which libjpeg to use... system checking jpeglib.h usability... yes configure: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor! checking jpeglib.h presence... no checking for jpeglib.h... yes configure: WARNING: jpeglib.h: proceeding with the compiler's result configure: error: --with-libjpeg=system specified, but no libjpeg found checking for jpeg_CreateDecompress in -ljpeg... no configure exiting with result code 1 ``` ``` [0/1] Install the project... -- Install configuration: "Release" -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/libturbojpeg.so -- Installing: /data/data/com.termux/files/usr/bin/tjbench -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/libturbojpeg.a -- Installing: /data/data/com.termux/files/usr/include/turbojpeg.h -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/libjpeg.a -- Installing: /data/data/com.termux/files/usr/bin/rdjpgcom -- Installing: /data/data/com.termux/files/usr/bin/wrjpgcom -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/README.ijg -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/README.md -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/example.txt -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/tjexample.c -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/libjpeg.txt -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/structure.txt -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/usage.txt -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/wizard.txt -- Installing: /data/data/com.termux/files/usr/share/doc/libjpeg-turbo/LICENSE.md -- Installing: /data/data/com.termux/files/usr/share/man/man1/cjpeg.1 -- Installing: /data/data/com.termux/files/usr/share/man/man1/djpeg.1 -- Installing: /data/data/com.termux/files/usr/share/man/man1/jpegtran.1 -- Installing: /data/data/com.termux/files/usr/share/man/man1/rdjpgcom.1 -- Installing: /data/data/com.termux/files/usr/share/man/man1/wrjpgcom.1 -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/pkgconfig/libjpeg.pc -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/pkgconfig/libturbojpeg.pc -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/cmake/libjpeg-turbo/libjpeg-turboConfig.cmake -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/cmake/libjpeg-turbo/libjpeg-turboConfigVersion.cmake -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/cmake/libjpeg-turbo/libjpeg-turboTargets.cmake -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/cmake/libjpeg-turbo/libjpeg-turboTargets-release.cmake -- Installing: /data/data/com.termux/files/usr/include/jconfig.h -- Installing: /data/data/com.termux/files/usr/include/jerror.h -- Installing: /data/data/com.termux/files/usr/include/jmorecfg.h -- Installing: /data/data/com.termux/files/usr/include/jpeglib.h -- Installing: /home/builder/.termux-build/libjpeg-turbo/build/lib/libjpeg.so -- Installing: /data/data/com.termux/files/usr/bin/cjpeg -- Installing: /data/data/com.termux/files/usr/bin/djpeg -- Installing: /data/data/com.termux/files/usr/bin/jpegtran ... --- packages/libprotobuf/build.sh | 2 ++ scripts/build/configure/termux_step_configure_cmake.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/libprotobuf/build.sh b/packages/libprotobuf/build.sh index 84c3d23d3e..db989addee 100644 --- a/packages/libprotobuf/build.sh +++ b/packages/libprotobuf/build.sh @@ -5,6 +5,7 @@ TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_LICENSE_FILE="../LICENSE" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=2:3.19.3 +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/protocolbuffers/protobuf/archive/v${TERMUX_PKG_VERSION:2}.tar.gz TERMUX_PKG_SHA256=390191a0d7884b3e52bb812c440ad1497b9d484241f37bb8e2ccc8c2b72d6c36 TERMUX_PKG_AUTO_UPDATE=false @@ -15,6 +16,7 @@ TERMUX_PKG_FORCE_CMAKE=true TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -Dprotobuf_BUILD_TESTS=OFF -DBUILD_SHARED_LIBS=ON +-DCMAKE_INSTALL_LIBDIR=lib " termux_step_pre_configure() { diff --git a/scripts/build/configure/termux_step_configure_cmake.sh b/scripts/build/configure/termux_step_configure_cmake.sh index 03c56244e7..0e6f01d81a 100644 --- a/scripts/build/configure/termux_step_configure_cmake.sh +++ b/scripts/build/configure/termux_step_configure_cmake.sh @@ -40,7 +40,7 @@ termux_step_configure_cmake() { -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \ - -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_LIBDIR=$TERMUX_PREFIX/lib \ -DCMAKE_MAKE_PROGRAM=$MAKE_PROGRAM_PATH \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -DCMAKE_USE_SYSTEM_LIBRARIES=True \