diff --git a/pkg.info b/pkg.info index b224586..cf87086 100644 --- a/pkg.info +++ b/pkg.info @@ -1,13 +1,15 @@ name: gvfs description: Virtual filesystem implementation for GIO version: 1.58.0 -revision: 4 +revision: 5 url: https://gitlab.gnome.org/GNOME/gvfs license: LGPL2-only architecture: any type: source -depends: +make_depends: - avahi + - dbus + - docbook-xsl-nons - fuse3 - gcc-libs - gcr4 @@ -18,29 +20,104 @@ depends: - libcdio - libcdio-paranoia - libgcrypt - - libgudev - - libimobiledevice - - libsecret - - libsoup - - polkit - - procps-ng - - smbclient - - udisks -make_depends: - - dbus - - docbook-xsl-nons - libgdata - libgoa - libgphoto2 + - libgudev + - libimobiledevice - libmtp - libnfs + - libsecret + - libsoup - libxml2 - meson - msgraph - openssh + - polkit + - procps-ng - python3 + - smbclient + - udisks downloads: - url: https://download.gnome.org/sources/gvfs/${BPM_PKG_VERSION%.*}/gvfs-${BPM_PKG_VERSION}.tar.xz extract_to: ${BPM_SOURCE} extract_strip_components: 1 checksum: dd9be36873d0fcb309eb89a8d274770ce576287628a2cf111bd387e1c34f182f +split_packages: + - name: gvfs + depends: + - fuse3 + - gcc-libs + - gcr4 + - glib + - glibc + - gsettings-desktop-schemas + - libarchive + - libcdio + - libcdio-paranoia + - libgcrypt + - libgudev + - libsecret + - libsoup + - polkit + - procps-ng + - udisks + optional_depends: + - gvfs-afc:AFC support + - gvfs-dnssd:DNS-SD and WebDAV support + - gvfs-goa:Gnome online accounts support + - gvfs-google:Google Drive support + - gvfs-gphoto2:Gphoto2 support + - gvfs-mtp:MTP support + - gvfs-nfs:NFS support + - gvfs-onedrive:Microsoft OneDrive support + - gvfs-smb:SMB support + - name: gvfs-afc + description: AFC support for gvfs + depends: + - gvfs + - libimobiledevice + - libplist + - usbmuxd + - name: gvfs-dnssd + description: DNS-SD and WebDAV support for gvfs + depends: + - avahi + - gvfs + - libxml2 + - name: gvfs-goa + description: Gnome online accounts support for gvfs + depends: + - gvfs + - libgoa + - name: gvfs-google + description: Google Drive support for gvfs + depends: + - gvfs-goa + - libgdata + - name: gvfs-gphoto2 + description: Gphoto2 support for gvfs + depends: + - gvfs + - libgphoto2 + - name: gvfs-mtp + description: MTP support for gvfs + depends: + - gvfs + - libmtp + - libusb + - name: gvfs-nfs + description: NFS support for gvfs + depends: + - gvfs + - libnfs + - name: gvfs-onedrive + description: Microsoft OneDrive support for gvfs + depends: + - gvfs-goa + - msgraph + - name: gvfs-smb + description: SMB support for gvfs + depends: + - gvfs + - smbclient diff --git a/source.sh b/source.sh index b2aa461..e60b97d 100644 --- a/source.sh +++ b/source.sh @@ -9,16 +9,130 @@ build() { -Dsystemduserunitdir=no \ -Dtmpfilesdir=no \ -Dman=true \ - -Dbluray=false \ - -Dsmb=false + -Dbluray=false meson compile -C build } +_pick() { + local p="$1" f d; shift + for f; do + [ -d "$BPM_WORKDIR"/output_"$p" ] || { echo "Split package $p not found"; exit 1; } + d="$BPM_WORKDIR"/output_"$p"/"${f#$BPM_OUTPUT}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + # The package function is executed in the source directory # This function is used to move the compiled files into the output directory -package() { +package_gvfs() { meson install -C build --destdir="$BPM_OUTPUT" + cd "$BPM_OUTPUT" + + # Move gvfs-afc files into split package + _pick gvfs-afc \ + usr/libexec/gvfs{-afc-volume-monitor,d-afc} \ + usr/share/dbus-1/services/org.gtk.vfs.AfcVolumeMonitor.service \ + usr/share/gvfs/mounts/afc.mount \ + usr/share/gvfs/remote-volume-monitors/afc.monitor + + _pick gvfs-dnssd \ + usr/libexec/gvfsd-{dav,dnssd} \ + usr/share/GConf/gsettings/gvfs-dns-sd.convert \ + usr/share/glib-2.0/schemas/org.gnome.system.dns_sd.gschema.xml \ + usr/share/gvfs/mounts/{dav+sd,dav,dns-sd}.mount + + _pick gvfs-goa \ + usr/libexec/gvfs-goa-volume-monitor \ + usr/share/dbus-1/services/org.gtk.vfs.GoaVolumeMonitor.service \ + usr/share/gvfs/remote-volume-monitors/goa.monitor + + _pick gvfs-google \ + usr/libexec/gvfsd-google \ + usr/share/gvfs/mounts/google.mount + + _pick gvfs-gphoto2 \ + usr/libexec/gvfs{-gphoto2-volume-monitor,d-gphoto2} \ + usr/share/dbus-1/services/org.gtk.vfs.GPhoto2VolumeMonitor.service \ + usr/share/gvfs/mounts/gphoto2.mount \ + usr/share/gvfs/remote-volume-monitors/gphoto2.monitor + + _pick gvfs-mtp \ + usr/libexec/gvfs{-mtp-volume-monitor,d-mtp} \ + usr/share/dbus-1/services/org.gtk.vfs.MTPVolumeMonitor.service \ + usr/share/gvfs/mounts/mtp.mount \ + usr/share/gvfs/remote-volume-monitors/mtp.monitor + + _pick gvfs-nfs \ + usr/libexec/gvfsd-nfs \ + usr/share/gvfs/mounts/nfs.mount + + _pick gvfs-onedrive \ + usr/libexec/gvfsd-onedrive \ + usr/share/gvfs/mounts/onedrive.mount + + _pick gvfs-smb \ + usr/libexec/gvfsd-smb{,-browse} \ + usr/share/GConf/gsettings/gvfs-smb.convert \ + usr/share/glib-2.0/schemas/org.gnome.system.smb.gschema.xml \ + usr/share/gvfs/mounts/smb{,-browse}.mount + # Install package license install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/gvfs/COPYING } + +package_gvfs-afc() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-afc +} + +package_gvfs-dnssd() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-dnssd +} + +package_gvfs-goa() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-goa +} + +package_gvfs-google() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-google +} + +package_gvfs-gphoto2() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-gphoto2 +} + +package_gvfs-mtp() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-mtp +} + +package_gvfs-nfs() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-nfs +} + +package_gvfs-onedrive() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-onedrive +} + +package_gvfs-smb() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses + ln -s gvfs "$BPM_OUTPUT"/usr/share/licenses/gvfs-smb +}