{
	"app-id": "org.gnome.Evolution",
	"runtime": "org.gnome.Platform",
	"runtime-version": "40",
	"sdk": "org.gnome.Sdk",
	"command": "evolution",
	"rename-icon": "evolution",
	"copy-icon": true,
	"branch": "gnome-41",
	"desktop-file-name-suffix": " (3.42)",
	"build-options" : {
		"cflags": "-O2 -g -Wno-deprecated-declarations",
		"cxxflags": "-O2 -g -Wno-deprecated-declarations"
	},
	"cleanup": [
		"/include",
		"/lib/pkgconfig",
		"/share/pkgconfig",
		"/share/aclocal",
		"*.la",
		"*.a"
	],
	"finish-args": [
		"--share=ipc",
		"--share=network",
		"--socket=fallback-x11",
		"--socket=wayland",
		"--socket=pulseaudio",
		"--socket=pcsc",
		"--device=dri",
		"--filesystem=~/.gnupg:rw",
		"--filesystem=xdg-config/gnupg:rw",
		"--filesystem=~/.pki:rw",
		"--filesystem=xdg-config/pki:rw",
		"--filesystem=/run/.heim_org.h5l.kcm-socket",
		"--metadata=X-DConf=migrate-path=/org/gnome/evolution/",
		"--talk-name=org.freedesktop.Notifications",
		"--talk-name=org.freedesktop.secrets",
		"--talk-name=org.gnome.keyring.SystemPrompter",
		"--talk-name=org.gnome.OnlineAccounts"
	],
	"modules": [
		{
			"name": "intltool",
			"cleanup": [ "*" ],
			"sources": [
				{
					"type": "archive",
					"url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz",
					"sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd"
				}
			]
		},

		{
			"name": "libcanberra",
			"config-opts": [
				"--disable-gtk",
				"--disable-oss",
				"--enable-alsa",
				"--enable-gtk3",
				"--enable-null",
				"--without-systemdsystemunitdir",
				"--with-builtin=dso",
				"--disable-gtk-doc",
				"--disable-gtk-doc-html"
			],
			"cleanup": [
				"/bin",
				"/share/gtk-doc",
				"/share/gdm",
				"/share/gnome",
				"/share/vala"
			],
			"sources": [
				{
					"type": "git",
					"url": "git://git.0pointer.net/libcanberra.git",
					"branch": "master"
				}
			]
		},

		{
			"name": "libical",
			"cleanup": [
				"/lib/cmake",
				"/libexec/libical"
			],
			"buildsystem": "cmake-ninja",
			"config-opts": [
				"-DCMAKE_INSTALL_LIBDIR:PATH=/app/lib",
				"-DBUILD_SHARED_LIBS:BOOL=ON",
				"-DGOBJECT_INTROSPECTION:BOOL=OFF",
				"-DICAL_BUILD_DOCS:BOOL=OFF",
				"-DICAL_GLIB_VAPI:BOOL=OFF",
				"-DICAL_GLIB:BOOL=ON"
			],
			"sources": [
				{
					"type": "git",
					"url": "https://github.com/libical/libical.git",
					"branch": "3.0"
				}
			]
		},

		{
			"name": "liboauth",
			"config-opts": [ "--enable-nss" ],
			"cleanup": [ "/share/man" ],
			"sources": [
				{
					"type": "archive",
					"url": "https://downloads.sourceforge.net/project/liboauth/liboauth-1.0.3.tar.gz",
					"sha256": "0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f"
				}
			]
		},

		{
			"name": "gnome-online-accounts",
			"config-opts": [
				"--disable-Werror",
				"--disable-telepathy",
				"--disable-introspection",
				"--disable-documentation",
				"--disable-backend"
			],
			"cleanup": [
				"/bin",
				"/share/GConf",
				"/share/gir-1.0"
			],
			"sources": [
				{
					"type": "archive",
					"url": "https://download.gnome.org/sources/gnome-online-accounts/3.38/gnome-online-accounts-3.38.0.tar.xz",
					"sha256": "3760ea78729b3038dda0c416b57bc2cbaafcc619eec6c5109654d747fad2418c"
				}
			]
		},

		{
			"name": "libgdata",
			"buildsystem": "meson",
			"config-opts": [
				"-Dalways_build_tests=false",
				"-Dgoa=disabled",
				"-Dgtk_doc=false",
				"-Dintrospection=false",
				"-Dinstalled_tests=false",
				"-Dvapi=false"
			],
			"cleanup": [
				"/share/gtk-doc"
			],
			"sources": [
				{
					"type": "archive",
					"url": "https://download.gnome.org/sources/libgdata/0.17/libgdata-0.17.13.tar.xz",
					"sha256": "eab9ef792c3c2b9ece19d45aea15225aba8df2521bc12785b1b2d3318d8c472e"
				}
			]
		},

		{
			"name": "geocode-glib",
			"buildsystem": "meson",
			"config-opts": [
				"-Denable-installed-tests=false",
				"-Denable-introspection=false",
				"-Denable-gtk-doc=false"
			],
			"cleanup": [
				"/share/gtk-doc"
			],
			"sources": [
				{
					"type": "archive",
					"url": "https://download.gnome.org/sources/geocode-glib/3.26/geocode-glib-3.26.1.tar.xz",
					"sha256": "5baa6ab76a76c9fc567e4c32c3af2cd1d1784934c255bc5a62c512e6af6bde1c"
				}
			]
		},

		{
			"name": "libgweather",
			"buildsystem": "meson",
			"config-opts": [
				"-Dglade_catalog=false",
				"-Denable_vala=false"
			],
			"cleanup": [
				"/lib/girepository-1.0",
				"/share/gtk-doc",
				"/share/gir-1.0"
			],
			"sources": [
				{
					"type": "archive",
					"url": "https://download.gnome.org/sources/libgweather/3.36/libgweather-3.36.1.tar.xz",
					"sha256": "de2709f0ee233b20116d5fa9861d406071798c4aa37830ca25f5ef2c0083e450"
				}
			]
		},

		{
			"name": "openldap",
			"rm-configure": true,
			"cleanup": [
				"/bin",
				"/etc",
				"/share/man"
			],
			"config-opts": [
				"--disable-backends",
				"--disable-overlays",
				"--disable-slapd",
				"--disable-debug",
				"--enable-dynamic",
				"--without-threads",
				"--with-tls=gnutls"
			],
			"sources": [
				{
					"type": "archive",
					"url": "http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.56.tgz",
					"sha256": "25520e0363c93f3bcb89802a4aa3db33046206039436e0c7c9262db5a61115e0"
				},

				{
					"type": "script",
					"dest-filename": "autogen.sh",
					"commands": [
						"AUTOMAKE=\"/bin/true\" autoreconf -vfi"
					]
				}
			]
		},

		{
			"name": "gspell",
			"config-opts": [
				"--disable-gtk-doc",
				"--disable-introspection",
				"--disable-vala"
			],
			"cleanup": [
				"/bin",
				"/share/gtk-doc"
			],
			"sources": [
				{
					"type": "archive",
					"url": "https://download.gnome.org/sources/gspell/1.9/gspell-1.9.1.tar.xz",
					"sha256": "dcbb769dfdde8e3c0a8ed3102ce7e661abbf7ddf85df08b29915e92cd723abdd"
				}
			]
		},

		{
			"name": "pinentry",
			"config-opts": [
				"--enable-pinentry-gnome3",
				"--disable-ncurses",
				"--disable-fallback-curses",
				"--disable-pinentry-curses",
				"--disable-pinentry-emacs",
				"--disable-pinentry-gtk2",
				"--disable-pinentry-qt5",
				"--disable-pinentry-tty",
				"--disable-pinentry-tqt",
				"--disable-pinentry-fltk"
			],
			"cleanup": [ "/share/info" ],
			"sources": [
				{
					"type": "archive",
					"url": "https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-1.1.0.tar.bz2",
					"sha256": "68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570"
				}
			]
		},

		{
			"name": "bogofilter",
			"buildsystem": "simple",
			"build-commands": [
				"cd ./bogofilter/ && echo \"# Skip for Flatpak build\" > doc/Makefile.am && autoreconf -fi && ./configure --prefix=/app --disable-rpath --with-database=sqlite3 && make && make install"
			],
			"cleanup": [ "/etc" ],
			"sources": [
				{
					"type": "git",
					"url": "https://git.code.sf.net/p/bogofilter/git",
					"branch": "main"
				}
			]
		},

		{
			"name": "libmspack",
			"cleanup": [ "/bin" ],
			"sources": [
				{
					"type": "archive",
					"url": "https://www.cabextract.org.uk/libmspack/libmspack-0.10.1alpha.tar.gz",
					"sha256": "bac862dee6e0fc10d92c70212441d9f8ad9b0222edc9a708c3ead4adb1b24a8e"
				}
			]
		},

		{
			"name": "evolution-data-server",
			"buildsystem": "cmake-ninja",
			"cleanup": [
				"/etc/xdg",
				"/share/GConf"
			],
			"config-opts": [
				"-DDBUS_SERVICES_PREFIX=org.gnome.Evolution",
				"-DENABLE_FILE_LOCKING=fcntl",
				"-DENABLE_DOT_LOCKING=OFF",
				"-DENABLE_OAUTH2=ON",
				"-DENABLE_GTK=ON",
				"-DENABLE_GOA=ON",
				"-DENABLE_EXAMPLES=OFF",
				"-DENABLE_INTROSPECTION=OFF",
				"-DENABLE_VALA_BINDINGS=OFF",
				"-DENABLE_INSTALLED_TESTS=OFF",
				"-DENABLE_GTK_DOC=OFF",
				"-DWITH_LIBDB=OFF",
				"-DWITH_PRIVATE_DOCS=OFF",
				"-DWITH_PHONENUMBER=OFF",
				"-DWITH_SYSTEMDUSERUNITDIR=OFF"
			],
			"sources": [
				{
					"type": "git",
					"url": "https://gitlab.gnome.org/GNOME/evolution-data-server.git",
					"branch": "gnome-41"
				}
			],
			"post-install": [
				"cp NEWS /app/share/NEWS.eds"
			]
		},

		{
			"name": "evolution",
			"buildsystem": "cmake-ninja",
			"config-opts": [
				"-DENABLE_AUTOAR=OFF",
				"-DENABLE_CONTACT_MAPS=OFF",
				"-DENABLE_GNOME_DESKTOP=OFF",
				"-DENABLE_GTK_DOC=OFF",
				"-DENABLE_INSTALLED_TESTS=OFF",
				"-DENABLE_PST_IMPORT=OFF",
				"-DENABLE_TEXT_HIGHLIGHT=OFF",
				"-DENABLE_YTNEF=OFF",
				"-DWITH_BOGOFILTER=/app/bin/bogofilter",
				"-DWITH_GLADE_CATALOG=OFF",
				"-DWITH_HELP=OFF",
				"-DWITH_WMCLASS_OVERRIDE=evolution.bin"
			],
			"cleanup": [
				"/etc/xdg",
				"/share/GConf",
				"/share/man"
			],
			"sources": [
				{
					"type": "git",
					"url": "https://gitlab.gnome.org/GNOME/evolution.git",
					"branch": "gnome-41"
				},
				{
					"type": "shell",
					"commands": [
						"cp config.h.in config.h.in.orig",
						"cat config.h.in.orig | sed -e \"s|\\@VERSION_SUBSTRING\\@| \\(flatpak git$(git log --pretty=format:%h --max-count=1)\\)|\" >config.h.in",
						"cp data/org.gnome.Evolution.appdata.xml.in.in data/org.gnome.Evolution.appdata.xml.in.in.orig",
						"cat data/org.gnome.Evolution.appdata.xml.in.in.orig | sed -e \"s|\\@APPDATA_RELEASES\\@|APPDATA_RELEASES|\" >data/org.gnome.Evolution.appdata.xml.in.in"
					]
				}
			],
			"post-install": [
				"cp NEWS /app/share/NEWS.evo",
				"cp news-to-appdata.c /app/share/",
				"mv /app/share/metainfo/org.gnome.Evolution.appdata.xml /app/share/"
			]
		},
		{
			"name": "flatpak-evolution-wrapper",
			"buildsystem": "simple",
			"sources": [
				{
					"type": "script",
					"commands": [
						"if [ \"$1\" = \"--quit\" -o \"$1\" = \"--force-shutdown\" ]; then",
						"   /app/bin/evolution.bin \"$@\"",
						"else",
						"   export BOGOFILTER_DIR=\"${XDG_DATA_HOME}/bogofilter/\"",
						"   export GIO_USE_NETWORK_MONITOR=base",
						"   export WEBKIT_FORCE_SANDBOX=0",
						"   gsettings reset org.gnome.evolution-data-server network-monitor-gio-name",
						"",
						"   gpg-agent --homedir ~/.gnupg --daemon --pinentry-program=/app/bin/pinentry",
						"",
						"   LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @SOURCES_SERVICE@ | wc -l)",
						"   if [ \"${LINES}\" = \"0\" ]; then",
						"      /app/libexec/evolution-source-registry &",
						"      gdbus wait --session --timeout=1@TIMEOUTMULT@ @SOURCES_SERVICE@",
						"   fi",
						"",
						"   LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @ADDRESSBOOK_SERVICE@ | wc -l)",
						"   if [ \"${LINES}\" = \"0\" ]; then",
						"      /app/libexec/evolution-addressbook-factory -r &",
						"      gdbus wait --session --timeout=1@TIMEOUTMULT@ @ADDRESSBOOK_SERVICE@",
						"   fi",
						"",
						"   LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @CALENDAR_SERVICE@ | wc -l)",
						"   if [ \"${LINES}\" = \"0\" ]; then",
						"      /app/libexec/evolution-calendar-factory -r &",
						"      gdbus wait --session --timeout=1@TIMEOUTMULT@ @CALENDAR_SERVICE@",
						"   fi",
						"",
						"   /app/bin/evolution.bin \"$@\"",
						"",
						"   pkill -TERM gpg-agent",
						"fi"
					],
					"dest-filename": "flatpak-evolution-wrapper.sh.in"
				},
				{
					"type": "script",
					"commands": [
						"# see https://gitlab.gnome.org/GNOME/glib/issues/1737",
						"# previous versions used milliseconds instead of seconds as the timeout argument",
						"(`pkg-config --atleast-version 2.60.1 gio-2.0` || `pkg-config --atleast-version 2.61.0 gio-2.0`) && TIMEOUTMULT= || TIMEOUTMULT=000",
						"",
						"sed -e \"s|\\@SOURCES_SERVICE\\@|$(pkg-config --variable=sourcesdbusservicename evolution-data-server-1.2)|\" \\",
						"    -e \"s|\\@ADDRESSBOOK_SERVICE\\@|$(pkg-config --variable=addressbookdbusservicename evolution-data-server-1.2)|\" \\",
						"    -e \"s|\\@CALENDAR_SERVICE\\@|$(pkg-config --variable=calendardbusservicename evolution-data-server-1.2)|\" \\",
						"    -e \"s|\\@TIMEOUTMULT\\@|${TIMEOUTMULT}|\""
					],
					"dest-filename": "flatpak-evolution-fix-service-names.sh"
				}
			],
			"build-commands": [
				"./flatpak-evolution-fix-service-names.sh <flatpak-evolution-wrapper.sh.in >flatpak-evolution-wrapper.sh",
				"chmod a+x flatpak-evolution-wrapper.sh",
				"mv /app/bin/evolution /app/bin/evolution.bin",
				"cp flatpak-evolution-wrapper.sh /app/bin/evolution"
			]
		},
		{
			"name": "evolution-ews",
			"buildsystem": "cmake-ninja",
			"sources": [
				{
					"type": "git",
					"url": "https://gitlab.gnome.org/GNOME/evolution-ews.git",
					"branch": "gnome-41"
				}
			],
			"post-install": [
				"cp NEWS /app/share/NEWS.ews"
			]
		},
		{
			"name": "news-to-appdata",
			"buildsystem": "simple",
			"sources": [
				{
					"type": "script",
					"commands": [
						"gcc /app/share/news-to-appdata.c -g -O0 -o news-to-appdata `pkg-config --cflags --libs glib-2.0`",
						"TYPE=${1}",
						"VER=$(pkg-config --modversion evolution-shell-3.0)",
						"if [ \"${VER}\" = \"\" ]; then",
						"   echo \"Failed to get evolution version\" 1>&2",
						"   exit 1",
						"fi",
						"VER=${VER%.*}",
						"APPDATA_RELEASES=`./news-to-appdata \"\" ${TYPE} ${VER} /app/share/NEWS.evo ${VER} /app/share/NEWS.eds ${VER} /app/share/NEWS.ews`",
						"APPDATA=`cat /app/share/org.gnome.Evolution.appdata.xml`",
						"if [ \"${APPDATA_RELEASES}\" = \"\" ]; then",
						"    APPDATA_RELEASES=\"<release version=\\\"$(pkg-config --modversion evolution-shell-3.0)\\\" date=\\\"$(date +%Y-%m-%d)\\\" type=\\\"${TYPE}\\\"/>\"",
						"fi",
						"echo \"${APPDATA%APPDATA_RELEASES*}${APPDATA_RELEASES}${APPDATA#*APPDATA_RELEASES}\">/app/share/metainfo/org.gnome.Evolution.appdata.xml",
						"rm /app/share/NEWS.eds",
						"rm /app/share/NEWS.evo",
						"rm /app/share/NEWS.ews",
						"rm /app/share/news-to-appdata.c",
						"rm /app/share/org.gnome.Evolution.appdata.xml"
					],
					"dest-filename": "update-appdata.sh"
				}
			],
			"build-commands": [
				"./update-appdata.sh stable"
			]
		}
	]
}
