termux-packages/packages/libprotobuf/build.sh

25 lines
871 B
Bash
Raw Normal View History

TERMUX_PKG_HOMEPAGE=https://github.com/protocolbuffers/protobuf
TERMUX_PKG_DESCRIPTION="Protocol buffers C++ library"
2019-01-21 12:53:58 +00:00
TERMUX_PKG_LICENSE="BSD 3-Clause"
Copy LICENSE file for some licenses instead of using generic one (#5478) * termux-licenses: remove licenses that contain copyright information These licenses cannot be taken from the common termux-licenses package as the copyright information needs to be distributed with the package as well. 271 packages in the main repository needs to be rebuilt after this change. * termux_step_install_license: remove duplicated comment * Bump packages that has a license with copyright information We need to include this copyright information in the package so need to rebuild them now that termux_step_install_license has been modified. The affected licenses are: MIT, ISC, PythonPL, Openfont-1.1, ZLIB, Libpng, BSD, BSD 2-Clause, BSD 3-Clause. * zlib: extract license file from zlib.h * xorgproto: include all individual license files in package * libgcrypt: include LICENSE file in package It contains some copyright information so needs to be included in package * libcrypt: add a dummy BSD 2-Clause license According to homepage it is suppose to be BSD 2-Clause, but original project did not include a license file * libandroid-spawn: add LICENSE file to package * libandroid-glob: add license file to package * licenses: allow for comma separated TERMUX_PKG_LICENSE_FILE %ci:no-build * libicu: fix so that termux_step_install_license finds license file %ci:no-build * termux_step_install_license: check for license file as "License" %ci:no-build * libtiff: specify TERMUX_PKG_LICENSE_FILE %ci:no-build * asciidoctor: install license to standard location * krb5: specify license file * libdb: specify path to license file %ci:no-build * libprotobuf: specify path to license file * darkhttpd: extract license file from darkhttpd.c * w3m: ensure host libraries are not picked up * w3m: extract LICENSE file from dock/README * liblua{,52}: extract license files from doc/readme.html * termux_step_install_license: look for License.txt as well * dart: specify path to LICENSE file * nim: specify license file * runit: specify license file * termux_step_install_license: look for LICENSE.TXT as well * ossp-uuid: extract LICENSE from README * pigz: extract LICENSE from pigz.c * ttyrec: extract LICENSE from ttyrec.c %ci:no-build * bmon: specify license files Most of the source files are licensed under MIT, it is not clear (to me) which parts that are licensed under BSD 2-Clause. %ci:no-build * wordgrinder: specify license files * fdupes: add LICENSE * autossh: add LICENSE patch * cmake: specify LICENSE file * dos2unix: specify LICENSE file * gnuplot: specify LICENSE file * termux_step_install_license: look for variants of "copyright" also * picolisp: specify LICENSE file * lua-lpeg: extract license file * tidy: specify license file * gflags: specify LICENSE file * timewarrior: fix src url It seems to have been changed. * postgresql: specify license file * ttyrec: fix license patch header * fossil: specify license file * fmt: specify license file * i2pd: specify license file * leptonica: specify license file * imgflo: add license file patch * ired: add license file from ired github repo * libzen: specify license file * libmediainfo: specify license file * mediainfo: specify license file * tty-clock: add license patch * samefile: add license patch * quickjs: add license patch * docbook-xml: add LICENSE patch * docbook-xsl: specify LICENSE files * gnuplot: configure with --without-latex * timewarrior: add libshared to SRCURL as well The non-release archives does not contain gitsubmodules so we need to download it manually. * restic: switch back to using 0.9.6 archive * dart: revert revision bump dart's SDK does not fully support python3 yet, and trying to solve that is not entirely trivial. We save the dart bump (and upgrade to 2.8.4) for another day. %ci:no-build
2020-07-07 16:45:45 +00:00
# TERMUX_PKG_SRCDIR is overriden below so we need to specify license file
TERMUX_PKG_LICENSE_FILE="../LICENSE"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=2:3.19.3
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 ...
2022-07-23 14:33:33 +00:00
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
2019-06-19 21:27:00 +00:00
TERMUX_PKG_DEPENDS="libc++, zlib"
TERMUX_PKG_BREAKS="libprotobuf-dev"
TERMUX_PKG_REPLACES="libprotobuf-dev"
TERMUX_PKG_FORCE_CMAKE=true
2019-05-11 22:08:10 +00:00
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-Dprotobuf_BUILD_TESTS=OFF
-DBUILD_SHARED_LIBS=ON
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 ...
2022-07-23 14:33:33 +00:00
-DCMAKE_INSTALL_LIBDIR=lib
2019-05-11 22:08:10 +00:00
"
2019-05-11 22:08:10 +00:00
termux_step_pre_configure() {
TERMUX_PKG_SRCDIR+="/cmake/"
}