summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Kazantsev2023-10-10 17:28:23 +0500
committerfraggod@malediction2023-10-10 17:28:52 +0500
commit03b0f0dc476d564185c51d0177dfdb6dd3fd8010 (patch)
tree1a3b092edb8ac207bfba3404a325f4fb1c350809
parentfcd39b7033a754fe3e4c973016a22943c7ca31e9 (diff)
downloadaur-03b0f0dc476d564185c51d0177dfdb6dd3fd8010.tar.gz
Go back to using custom build steps
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD42
2 files changed, 25 insertions, 19 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d12012718018..9fee1958536e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 12589c2881e0..50926c02346e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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() {