Index: Makefile
===================================================================
--- Makefile (nonexistent)
+++ Makefile (revision 252)
@@ -0,0 +1,56 @@
+
+COMPONENT_TARGETS = $(HARDWARE_NOARCH)
+
+
+include ../../../../build-system/constants.mk
+
+
+url = $(DOWNLOAD_SERVER)/sources/packages/x/xdg-desktop-portal
+
+versions = 1.18.2
+pkgname = xdg-desktop-portal
+suffix = tar.xz
+
+tarballs = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s = $(addsuffix .sha1sum, $(tarballs))
+
+patches = $(CURDIR)/patches/xdg-desktop-portal-1.18.2-bwrap-cross.patch
+
+.NOTPARALLEL: $(patches)
+
+
+BUILD_TARGETS = $(tarballs) $(sha1s) $(patches)
+
+
+include ../../../../build-system/core.mk
+
+
+.PHONY: download_clean
+
+
+$(tarballs):
+ @echo -e "\n======= Downloading source tarballs =======" ; \
+ for tarball in $(tarballs) ; do \
+ echo "$(url)/$$tarball" | xargs -n 1 -P 100 wget $(WGET_OPTIONS) - & \
+ done ; wait
+
+$(sha1s): $(tarballs)
+ @for sha in $@ ; do \
+ echo -e "\n======= Downloading '$$sha' signature =======\n" ; \
+ echo "$(url)/$$sha" | xargs -n 1 -P 100 wget $(WGET_OPTIONS) - & wait %1 ; \
+ touch $$sha ; \
+ echo -e "\n======= Check the '$$sha' sha1sum =======\n" ; \
+ sha1sum --check $$sha ; ret="$$?" ; \
+ if [ "$$ret" == "1" ]; then \
+ echo -e "\n======= ERROR: Bad '$$sha' sha1sum =======\n" ; \
+ exit 1 ; \
+ fi ; \
+ done
+
+$(patches): $(sha1s)
+ @echo -e "\n======= Create Patches =======\n" ; \
+ ( cd create-1.18.2-bwrap-cross-patch ; ./create.patch.sh ) ; \
+ echo -e "\n"
+
+download_clean:
+ @rm -f $(tarballs) $(sha1s) $(patches)
Index: create-1.18.2-bwrap-cross-patch/create.patch.sh
===================================================================
--- create-1.18.2-bwrap-cross-patch/create.patch.sh (nonexistent)
+++ create-1.18.2-bwrap-cross-patch/create.patch.sh (revision 252)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=1.18.2
+
+tar --files-from=file.list -xJvf ../xdg-desktop-portal-$VERSION.tar.xz
+mv xdg-desktop-portal-$VERSION xdg-desktop-portal-$VERSION-orig
+
+cp -rf ./xdg-desktop-portal-$VERSION-new ./xdg-desktop-portal-$VERSION
+
+diff --unified -Nr xdg-desktop-portal-$VERSION-orig xdg-desktop-portal-$VERSION > xdg-desktop-portal-$VERSION-bwrap-cross.patch
+
+mv xdg-desktop-portal-$VERSION-bwrap-cross.patch ../patches
+
+rm -rf ./xdg-desktop-portal-$VERSION
+rm -rf ./xdg-desktop-portal-$VERSION-orig
Property changes on: create-1.18.2-bwrap-cross-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: create-1.18.2-bwrap-cross-patch/file.list
===================================================================
--- create-1.18.2-bwrap-cross-patch/file.list (nonexistent)
+++ create-1.18.2-bwrap-cross-patch/file.list (revision 252)
@@ -0,0 +1 @@
+xdg-desktop-portal-1.18.2/meson.build
Index: create-1.18.2-bwrap-cross-patch/xdg-desktop-portal-1.18.2-new/meson.build
===================================================================
--- create-1.18.2-bwrap-cross-patch/xdg-desktop-portal-1.18.2-new/meson.build (nonexistent)
+++ create-1.18.2-bwrap-cross-patch/xdg-desktop-portal-1.18.2-new/meson.build (revision 252)
@@ -0,0 +1,208 @@
+project(
+ 'xdg-desktop-portal',
+ 'c',
+ version: '1.18.2',
+ meson_version: '>= 0.58',
+ license: 'LGPL-2.0-or-later',
+ default_options: ['warning_level=2'])
+
+###### various directories we'll use later
+# foodir are built-in ones, foo_dir are our options
+
+prefix = get_option('prefix')
+datadir = prefix / get_option('datadir')
+libexecdir = prefix / get_option('libexecdir')
+sysconfdir = prefix / get_option('sysconfdir')
+localedir = prefix / get_option('localedir')
+dbus_service_dir = get_option('dbus-service-dir')
+if dbus_service_dir == ''
+ dbus_service_dir = prefix / datadir / 'dbus-1' / 'services'
+endif
+
+flatpak_intf_dir = get_option('flatpak-interfaces-dir')
+if flatpak_intf_dir == ''
+ flatpak_dep = dependency('flatpak', version: '>= 1.5.0', required: get_option('flatpak-interfaces'))
+ if flatpak_dep.found()
+ flatpak_intf_dir = flatpak_dep.get_variable(pkgconfig: 'interfaces_dir')
+ endif
+endif
+
+systemd_userunit_dir = get_option('systemd-user-unit-dir')
+if systemd_userunit_dir == ''
+ # This is deliberately not ${libdir}: systemd units always go in
+ # .../lib, never .../lib64 or .../lib/x86_64-linux-gnu
+ systemd_userunit_dir = prefix / 'lib' / 'systemd' / 'user'
+endif
+
+dataroot_dir = get_option('datarootdir')
+if dataroot_dir == ''
+ dataroot_dir = datadir
+endif
+
+installed_tests_dir = prefix / libexecdir / 'installed-tests' / meson.project_name()
+installed_tests_data_dir = prefix / datadir / 'installed-tests' / meson.project_name()
+docs_dir = datadir / 'doc' / meson.project_name()
+
+summary({
+ 'DBus service dir': dbus_service_dir,
+ 'Flatpak interfaces dir': flatpak_intf_dir,
+ 'systemd user unit dir': systemd_userunit_dir,
+ 'Installed tests dir': installed_tests_dir,
+ },
+ section: 'Directories',
+)
+
+###### various include directories we'll use later
+# These are set here so meson handles the relative paths correctly,
+# makes life easier for us
+
+common_includes = include_directories('.') # config.h
+src_includes = include_directories('src')
+
+###### plugins, dependencies, compiler setup
+
+i18n = import('i18n')
+gnome = import('gnome')
+pkgconfig = import('pkgconfig')
+
+cc = meson.get_compiler('c')
+cflags = [
+ '-Wno-unused-parameter',
+ '-Wno-sign-compare',
+ '-Wno-missing-field-initializers',
+]
+add_project_arguments(cc.get_supported_arguments(cflags), language : 'c')
+
+config_h = configuration_data()
+config_h.set('_GNU_SOURCE', 1)
+config_h.set_quoted('G_LOG_DOMAIN', 'xdg-desktop-portal')
+config_h.set_quoted('DATADIR', datadir)
+config_h.set_quoted('LIBEXECDIR', libexecdir)
+config_h.set_quoted('LOCALEDIR', localedir)
+config_h.set_quoted('SYSCONFDIR', sysconfdir)
+config_h.set_quoted('GETTEXT_PACKAGE', 'xdg-desktop-portal')
+config_h.set_quoted('PACKAGE_STRING', 'xdg-desktop-portal @0@'.format(meson.project_version()))
+if cc.has_function('renameat2')
+ config_h.set('HAVE_RENAMEAT2', 1)
+endif
+
+check_headers = [
+ ['sys/vfs.h', 'HAVE_SYS_VFS_H'],
+ ['sys/mount.h', 'HAVE_SYS_MOUNT_H'],
+ ['sys/statfs.h', 'HAVE_SYS_STATFS_H'],
+ ['sys/xattr.h', 'HAVE_SYS_XATTR_H'],
+ ['sys/extattr.h', 'HAVE_SYS_EXTATTR_H'],
+]
+
+foreach h : check_headers
+ config_h.set(h.get(1), cc.has_header(h.get(0)))
+endforeach
+
+glib_dep = dependency('glib-2.0', version: '>= 2.66')
+gio_dep = dependency('gio-2.0')
+gio_unix_dep = dependency('gio-unix-2.0')
+json_glib_dep = dependency('json-glib-1.0')
+fuse3_dep = dependency('fuse3', version: '>= 3.10.0')
+gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0')
+geoclue_dep = dependency('libgeoclue-2.0',
+ version: '>= 2.5.2',
+ required: get_option('geoclue'))
+libportal_dep = dependency('libportal',
+ required: get_option('libportal'))
+pipewire_dep = dependency('libpipewire-0.3', version: '>= 0.2.90')
+libsystemd_dep = dependency('libsystemd', required: get_option('systemd'))
+
+
+use_bwrap = get_option('sandboxed-image-validation')
+bwrap = find_program('bwrap', required: false)
+
+if not use_bwrap
+ warning('''
+ Sandboxed image validation with Bubblewrap is DISABLED.
+ If your system can run Bubblewrap, it's **hightly** recommended that you enable this
+ option. Bitmap validation and processing is a common attack vector.
+ By proceeding with sandboxed image validation disabled, you acknowledge that you
+ are lowering your system's security, and are subject to known or unknown exploits.
+ ''')
+endif
+
+have_libportal = libportal_dep.found()
+if have_libportal
+ config_h.set('HAVE_LIBPORTAL', 1)
+endif
+
+have_geoclue = geoclue_dep.found()
+if have_geoclue
+ config_h.set('HAVE_GEOCLUE', 1)
+endif
+
+have_libsystemd = libsystemd_dep.found()
+if have_libsystemd
+ config_h.set('HAVE_LIBSYSTEMD', 1)
+endif
+
+add_project_arguments(['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_66'], language: 'c')
+
+build_docbook = false
+xmlto = find_program('xmlto', required: get_option('docbook-docs'))
+if xmlto.found()
+ fs = import('fs')
+ # we're going to copy this file in to our build tree
+ if fs.is_file(flatpak_intf_dir / 'org.freedesktop.portal.Flatpak.xml')
+ build_docbook = true
+ elif get_option('docbook-docs').enabled()
+ error('Flatpak development files are required to build DocBook docs')
+ endif
+endif
+
+rst2man = find_program('rst2man', 'rst2man.py', required: get_option('man-pages'))
+
+enable_installed_tests = get_option('installed-tests')
+
+###### systemd units, dbus service files, pkgconfig
+
+base_config = configuration_data()
+base_config.set('prefix', prefix)
+base_config.set('datadir', datadir)
+base_config.set('datarootdir', dataroot_dir)
+base_config.set('libexecdir', libexecdir)
+base_config.set('VERSION', meson.project_version())
+base_config.set('extraargs', '')
+
+pkgconfig = import('pkgconfig')
+pkgconfig.generate(
+ name: 'xdg-desktop-portal',
+ description: 'Desktop integration portal',
+ dataonly: true,
+ variables: {
+ 'prefix': get_option('prefix'),
+ 'datarootdir': dataroot_dir,
+ 'datadir': '${prefix}/@0@'.format(get_option('datadir')),
+ 'interfaces_dir': '${datadir}/dbus-1/interfaces/',
+ },
+)
+
+subdir('data')
+subdir('src')
+subdir('document-portal')
+subdir('tests')
+subdir('po')
+subdir('doc')
+
+###### generate config.h
+configure_file(output: 'config.h', configuration: config_h)
+
+summary({
+ 'Enable docbook documentation': build_docbook,
+ 'Enable libsystemd support': have_libsystemd,
+ 'Enable geoclue support': have_geoclue,
+ 'Enable libportal support': have_libportal,
+ 'Enable installed tests:': enable_installed_tests,
+ 'Enable python test suite': enable_pytest,
+ 'Build man pages': rst2man.found(),
+ 'Build flatpak interfaces': flatpak_intf_dir != '',
+ 'Sandboxed image validation': use_bwrap,
+ },
+ section: 'Optional builds',
+ bool_yn: true,
+)
Index: patches/README
===================================================================
--- patches/README (nonexistent)
+++ patches/README (revision 252)
@@ -0,0 +1,6 @@
+
+/* begin *
+
+ TODO: Leave some comment here.
+
+ * end */
Index: patches
===================================================================
--- patches (nonexistent)
+++ patches (revision 252)
Property changes on: patches
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: .
===================================================================
--- . (nonexistent)
+++ . (revision 252)
Property changes on: .
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~