# Template file for 'transmission'
pkgname=transmission
version=2.92
revision=8
build_style=gnu-configure
configure_args="--enable-nls --enable-cli --enable-daemon --enable-utp --without-systemd-daemon"
hostmakedepends="pkg-config intltool"
makedepends="zlib-devel libressl-devel dbus-glib-devel libcurl-devel libevent-devel gtk+3-devel"
short_desc="A fast, easy, and free BitTorrent client"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.transmissionbt.com/"
license="MIT, GPL-2"
distfiles="https://github.com/transmission/transmission-releases/raw/master/${pkgname}-${version}.tar.xz"
checksum=3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f

# Create transmission system user/group
system_accounts="transmission"
transmission_homedir="/var/lib/transmission"
make_dirs="/var/lib/transmission 0755 transmission transmission"
subpackages="transmission-gtk"

if [ -z "$CROSS_BUILD" ]; then
	makedepends+=" qt5-devel qt5-tools-devel"
	subpackages+=" transmission-qt"
fi

post_configure() {
	# Add missing includes which happen as side-effects with glibc
	sed -i libtransmission/transmission.h \
		 -e "/#include <inttypes.h>.*/i #include <sys/types.h> /* ssize_t */" \
		 -e "/#include <inttypes.h>.*/i #include <stdio.h> /* off_t */"
}
do_build() {
	make CXXFLAGS="${CXXFLAGS} -std=c++11" LDFLAGS="${LDFLAGS}" ${makejobs}
	if [ -z "$CROSS_BUILD" ]; then
		# Build the Qt frontend
		cd qt
		qmake QMAKE_CXXFLAGS="${CXXFLAGS}" QMAKE_LFLAGS="${LDFLAGS}" qtr.pro
		lrelease translations/*.ts
		make ${makejobs} CXXFLAGS="${CXXFLAGS} -fPIC -std=c++11" LDFLAGS="${LDFLAGS}"
	fi
}
do_install() {
	# Install CLI tools, daemon and web client
	for dir in cli daemon utils web; do
		make -C ${dir} DESTDIR=${DESTDIR} install
	done

	# Install GTK+ frontend
	make -C gtk DESTDIR=${DESTDIR} install
	make -C po DESTDIR=${DESTDIR} install

	if [ -z "$CROSS_BUILD" ]; then
		# Install Qt frontend
		make -C qt INSTALL_ROOT=${DESTDIR}/usr install
		vmkdir usr/share/qt4/translations
		vcopy qt/translations/*.qm usr/share/qt4/translations
	fi
}

post_install() {
	rm -f ${DESTDIR}/usr/share/${pkgname}/web/LICENSE
	vsv transmission-daemon
	vlicense COPYING
}

transmission-qt_package() {
	depends="${sourcepkg}>=${version}_${revision} desktop-file-utils"
	short_desc+=" - Qt frontend"
	pkg_install() {
		vmove usr/bin/transmission-qt
		vmove usr/share/man/man1/transmission-qt.1
		vmove usr/share/qt4/translations
		sed -i '/Icon=/s/transmission/&-qt/' ${wrksrc}/qt/transmission-qt.desktop
		vinstall ${wrksrc}/qt/icons/transmission.png 644 usr/share/pixmaps transmission-qt.png
		vinstall ${wrksrc}/qt/transmission-qt.desktop 644 usr/share/applications
	}
}
transmission-gtk_package() {
	depends="${sourcepkg}>=${version}_${revision} hicolor-icon-theme desktop-file-utils"
	short_desc+=" - GTK+ frontend"
	pkg_install() {
		vmove usr/bin/transmission-gtk
		vmove usr/share/man/man1/transmission-gtk.1
		vmove usr/share/icons/hicolor
		vmove usr/share/applications
		vmove usr/share/pixmaps
		# This install path seems to be used with musl libc
		if [ -d ${DESTDIR}/usr/lib/locale ]; then
			mv ${DESTDIR}/usr/lib/locale ${DESTDIR}/usr/share
		fi
		vmove usr/share/locale
	}
}
