diff options
author | Mike Kazantsev | 2023-10-10 17:28:23 +0500 |
---|---|---|
committer | fraggod@malediction | 2023-10-10 17:28:52 +0500 |
commit | 03b0f0dc476d564185c51d0177dfdb6dd3fd8010 (patch) | |
tree | 1a3b092edb8ac207bfba3404a325f4fb1c350809 | |
parent | fcd39b7033a754fe3e4c973016a22943c7ca31e9 (diff) | |
download | aur-03b0f0dc476d564185c51d0177dfdb6dd3fd8010.tar.gz |
Go back to using custom build steps
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD | 42 |
2 files changed, 25 insertions, 19 deletions
@@ -1,7 +1,7 @@ pkgbase = telegram-tdlib-purple-minimal-git pkgdesc = libpurple/pidgin Telegram plugin implemented using official tdlib client library, packaged for bitlbee, without voip and image-processing dependencies pkgver = 0.8.1.r518.1cc2a5d - pkgrel = 1 + pkgrel = 2 url = https://github.com/BenWiederhake/tdlib-purple arch = x86_64 arch = aarch64 @@ -2,7 +2,7 @@ pkgname=telegram-tdlib-purple-minimal-git pkgver=0.8.1.r518.1cc2a5d -pkgrel=1 +pkgrel=2 pkgdesc='libpurple/pidgin Telegram plugin implemented using official tdlib client library, packaged for bitlbee, without voip and image-processing dependencies' arch=(x86_64 aarch64) url='https://github.com/BenWiederhake/tdlib-purple' @@ -21,27 +21,33 @@ pkgver() { printf "%s.r%s.%s" "$ver" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } -prepare() { +build() { cd $pkgname + # build_and_install.sh is the proper way to build this, with the right tdlib version/commit - # But cloning td repo from scratch every time gets old fast, so replaced with proper $srcdir clone here - script=build_and_install.sh td_checkout="$(realpath "$srcdir")"/td - sed -i \ - -e 's|^\( *\)git clone https://github.com/tdlib/td.git *$|\1'"ln -s '$td_checkout' td|" \ - -e 's|^\( *\)sudo make install *$|\1true|' "$script" - grep -q "'$td_checkout'" "$script" && grep -qv '^ *sudo ' "$script" || { - echo >&2 "ERROR: failed to patch git-clone/sudo in build_and_install.sh script"; exit 1; } + # But it needs a bunch of tweaks for this build, so not used here, only grepped for that commit + td_commit=( $(grep -Po '(?<=git checkout )\S+' build_and_install.sh ||:) ) + [[ ${#td_commit[@]} -eq 1 ]] || { + echo >&2 "ERROR: failed to grep compatible libtd commit in build_and_install.sh script"; exit 1; } + td_commit=${td_commit[0]} td_dir="$(realpath "$srcdir")"/td - # Extra parameters for a minimal build - sed -i 's|^\( *cmake .* -DNoVoip=True\)\( ..\) *$|\1 -DNoWebp=True -DNoLottie=True\2|' "$script" - grep -q 'cmake .* -DNoWebp=True -DNoLottie=True ..' "$script" || { - echo >&2 "ERROR: failed to patch cmake opts in build_and_install.sh script"; exit 1; } -} + # Build specific tdlib version - can be long, use "makepkg -e" to avoid rebuilding from scratch + pushd "$td_dir" + [[ $(git rev-parse "$td_commit") = $(git rev-parse HEAD) ]] || git reset --hard "$td_commit" + mkdir -p build && pushd build + cmake -DCMAKE_BUILD_TYPE=Release .. + make + make install DESTDIR=destdir + popd + popd -build() { - cd $pkgname - rm -rf build "$srcdir"/td/build # script will fail on repeated runs otherwise - ./build_and_install.sh + # Build and statically link tdlib-libpurple against tdlib above + mkdir -p build && pushd build + cmake \ + -DTd_DIR="$td_dir"/build/destdir/usr/local/lib/cmake/Td/ \ + -DNoVoip=True -DNoWebp=True -DNoLottie=True .. + make + popd } package() { |