# Template file for 'gvfs'
pkgname=gvfs
version=1.22.3
revision=5
build_style=gnu-configure
configure_args="--disable-hal $(vopt_enable systemd)
 --with-bash-completion-dir=/usr/share/bash-completion/completions
 --with-samba-includes=${XBPS_CROSS_BASE}/usr/include
 --with-samba-libs=${XBPS_CROSS_BASE}/usr/lib
 --with-archive-includes=${XBPS_CROSS_BASE}/usr/include
 --with-archive-libs=${XBPS_CROSS_BASE}/usr/lib"
hostmakedepends="pkg-config intltool libxslt docbook-xsl glib-devel"
makedepends="
 libbluetooth-devel dbus-glib-devel libgudev-devel libexif-devel libbluray-devel
 fuse-devel libarchive-devel>=3.1.2 libcdio-paranoia-devel libsoup-gnome-devel>=2.44
 libgphoto2-devel>=2.5.7 libsecret-devel gtk+3-devel samba-devel libmtp-devel
 avahi-glib-libs-devel udisks2-devel libgcrypt-devel $(vopt_if systemd systemd-devel)
 libobexftp-devel libimobiledevice-devel>=1.2 libarchive-devel"
short_desc="Userspace virtual filesystem"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.gnome.org"
license="LGPL-2.1"
distfiles="${GNOME_SITE}/$pkgname/${version%.*}/$pkgname-$version.tar.xz"
checksum=c778342e09a84d8c69b1b7ce7f943f6f2444a995bb0c0754ef1746afa8935182

# Manually declare shlibs used by the subpkgs.
shlib_provides="libgvfscommon.so libgvfsdaemon.so"

# Package build options
build_options="systemd"
subpackages="gvfs-afc gvfs-afp gvfs-cdda gvfs-gphoto2 gvfs-mtp gvfs-obex gvfs-smb gvfs-devel"

if [ -z "$CROSS_BUILD" ]; then
	makedepends+=" gnome-online-accounts-devel>=3.12"
	subpackages+=" gvfs-goa"
fi

post_install() {
	ln -s gvfs-open ${DESTDIR}/usr/bin/gnome-open
}

gvfs-devel_package() {
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
	}
}
gvfs-afc_package() {
	short_desc+=" - Apple mobile device backend"
	depends="gvfs-${version}_${revision}"
	pkg_install() {
		vmove usr/libexec/gvfsd-afc
		vmove usr/libexec/gvfs-afc-volume-monitor
		vmove usr/share/dbus-1/services/org.gtk.Private.AfcVolumeMonitor.service
		vmove usr/share/gvfs/remote-volume-monitors/afc.monitor
	}
}
gvfs-afp_package() {
	short_desc+=" - Apple Filing Protocol (AFP) backend"
	depends="gvfs-${version}_${revision}"
	pkg_install() {
		vmove "usr/libexec/gvfsd-afp*"
		vmove "usr/share/gvfs/mounts/afp*"
	}
}
gvfs-cdda_package() {
	short_desc+=" - CD-ROM backend"
	depends="gvfs-${version}_${revision}"
	pkg_install() {
		vmove "usr/libexec/gvfsd-cd*"
		vmove "usr/share/gvfs/mounts/cd*"
	}
}
gvfs-goa_package() {
	short_desc+=" - Gnome Online Accounts (webservices) backend"
	depends="gvfs-${version}_${revision}"
	pkg_install() {
		vmove usr/libexec/gvfs-goa-volume-monitor
		vmove usr/share/dbus-1/services/org.gtk.Private.GoaVolumeMonitor.service
		vmove usr/share/gvfs/remote-volume-monitors/goa.monitor
	}
}
gvfs-gphoto2_package() {
	short_desc+=" - gphoto2 (PTP camera/MTP media player) backend"
	depends="gvfs-${version}_${revision}"
	pkg_install() {
		vmove usr/libexec/gvfs-gphoto2-volume-monitor
		vmove usr/libexec/gvfsd-gphoto2
		vmove usr/share/dbus-1/services/org.gtk.Private.GPhoto2VolumeMonitor.service
		vmove usr/share/gvfs/remote-volume-monitors/gphoto2.monitor
	}
}
gvfs-mtp_package() {
	short_desc+=" - MTP backend"
	depends="gvfs-${version}_${revision}"
	pkg_install() {
		vmove usr/libexec/gvfs-mtp-volume-monitor
		vmove usr/libexec/gvfsd-mtp
		vmove usr/share/dbus-1/services/org.gtk.Private.MTPVolumeMonitor.service
		vmove usr/share/gvfs/remote-volume-monitors/mtp.monitor
		vmove usr/share/gvfs/mounts/mtp.mount
	}
}
gvfs-obex_package() {
	short_desc+=" - OBEX backend"
	depends="obexftp gvfs-${version}_${revision}"
	pkg_install() {
		vmove "usr/libexec/gvfsd-obex*"
		vmove "usr/share/gvfs/mounts/obex*"
	}
}
gvfs-smb_package() {
	short_desc+=" - SMB/CIFS (Windows client) backend"
	depends="gvfs-${version}_${revision}"
	triggers="gsettings-schemas"
	pkg_install() {
		vmove usr/libexec/gvfsd-smb
		vmove usr/libexec/gvfsd-smb-browse
		vmove usr/share/GConf/gsettings/gvfs-smb.convert
		vmove usr/share/glib-2.0/schemas/org.gnome.system.smb.gschema.xml
		vmove usr/share/gvfs/mounts/smb-browse.mount
		vmove usr/share/gvfs/mounts/smb.mount
	}
}