flatpak: Allow dual installation of app bundles
Part of https://gitlab.gnome.org/GNOME/Initiatives/issues/1. Allows for the installation of development bundles alongside stable versions. Related to https://gitlab.gnome.org/GNOME/gnome-calendar/issues/285
This commit is contained in:
committed by
Georges Basile Stavracas Neto
parent
151c47a8b3
commit
0d6b2327e0
@@ -1,9 +1,13 @@
|
||||
info = 'org.gnome.Calendar.appdata.xml'
|
||||
|
||||
i18n.merge_file(
|
||||
info,
|
||||
input: 'org.gnome.Calendar.appdata.xml.in',
|
||||
output: info,
|
||||
appdata_conf = configuration_data()
|
||||
appdata_conf.set('appid', application_id)
|
||||
appdata = i18n.merge_file(
|
||||
'appdata',
|
||||
input: configure_file(
|
||||
input: files('org.gnome.Calendar.appdata.xml.in.in'),
|
||||
output: 'org.gnome.Calendar.appdata.xml.in',
|
||||
configuration: appdata_conf
|
||||
),
|
||||
output: '@0@.appdata.xml'.format(application_id),
|
||||
po_dir: po_dir,
|
||||
install: true,
|
||||
install_dir: join_paths(calendar_datadir, 'metainfo')
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2014 Igor Gnatenko <ignatenko@src.gnome.org> -->
|
||||
<component type="desktop">
|
||||
<id>org.gnome.Calendar.desktop</id>
|
||||
<id>@appid@</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0-or-later</project_license>
|
||||
<name>Calendar</name>
|
||||
+20
-3
@@ -1,4 +1,21 @@
|
||||
install_subdir(
|
||||
'hicolor',
|
||||
install_dir: join_paths(calendar_datadir, 'icons')
|
||||
symbolic_icondir = join_paths('hicolor', 'symbolic', 'apps')
|
||||
|
||||
install_data(
|
||||
join_paths(symbolic_icondir, 'org.gnome.Calendar-symbolic.svg'),
|
||||
install_dir: join_paths(
|
||||
calendar_datadir,
|
||||
join_paths('icons', symbolic_icondir)
|
||||
),
|
||||
rename: '@0@-symbolic.svg'.format(application_id)
|
||||
)
|
||||
|
||||
icondir = join_paths('hicolor', 'scalable', 'apps')
|
||||
|
||||
install_data(
|
||||
join_paths(icondir, 'org.gnome.Calendar.svg'),
|
||||
install_dir: join_paths(
|
||||
calendar_datadir,
|
||||
join_paths('icons', icondir)
|
||||
),
|
||||
rename: '@0@.svg'.format(application_id)
|
||||
)
|
||||
|
||||
+22
-14
@@ -18,22 +18,30 @@ enums_xml = gnome.mkenums(
|
||||
|
||||
# Desktop files
|
||||
# Note: This name is registered in gcal-weather-service.c.
|
||||
desktop = 'org.gnome.Calendar.desktop'
|
||||
|
||||
i18n.merge_file(
|
||||
desktop,
|
||||
type: 'desktop',
|
||||
input: desktop + '.in',
|
||||
output: desktop,
|
||||
po_dir: po_dir,
|
||||
install: true,
|
||||
desktop_conf = configuration_data()
|
||||
desktop_conf.set('icon', application_id)
|
||||
desktop = i18n.merge_file(
|
||||
type: 'desktop',
|
||||
input: configure_file(
|
||||
input: files('org.gnome.Calendar.desktop.in.in'),
|
||||
output: 'org.gnome.Calendar.desktop.in',
|
||||
configuration: desktop_conf
|
||||
),
|
||||
output: '@0@.desktop'.format(application_id),
|
||||
po_dir: po_dir,
|
||||
install: true,
|
||||
install_dir: join_paths(calendar_datadir, 'applications')
|
||||
)
|
||||
|
||||
# GNOME Shell search provider
|
||||
install_data(
|
||||
'org.gnome.Calendar.search-provider.ini',
|
||||
install_dir: join_paths(calendar_datadir, 'gnome-shell', 'search-providers')
|
||||
search_provider_conf = configuration_data()
|
||||
search_provider_conf.set('appid', application_id)
|
||||
search_provider_conf.set('profile', profile)
|
||||
configure_file(
|
||||
configuration: search_provider_conf,
|
||||
input: files('org.gnome.Calendar.search-provider.ini.in'),
|
||||
install_dir: join_paths(calendar_datadir, 'gnome-shell', 'search-providers'),
|
||||
output: '@0@.search-provider.ini'.format(application_id)
|
||||
)
|
||||
|
||||
# GSettings schema
|
||||
@@ -63,13 +71,13 @@ compiled_schemas = custom_target(
|
||||
|
||||
# DBus service files
|
||||
service_conf = configuration_data()
|
||||
service_conf.set('appid', application_id)
|
||||
service_conf.set('bindir', calendar_bindir)
|
||||
|
||||
service = 'org.gnome.Calendar.service'
|
||||
|
||||
configure_file(
|
||||
input: service + '.in',
|
||||
output: service,
|
||||
output: '@0@.service'.format(application_id),
|
||||
install: true,
|
||||
install_dir: join_paths(calendar_datadir, 'dbus-1', 'services'),
|
||||
configuration: service_conf
|
||||
|
||||
@@ -3,7 +3,7 @@ Name=Calendar
|
||||
Comment=Access and manage your calendars
|
||||
Exec=gnome-calendar
|
||||
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||
Icon=org.gnome.Calendar
|
||||
Icon=@icon@
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
@@ -1,6 +0,0 @@
|
||||
[Shell Search Provider]
|
||||
Icon=gnome-calendar
|
||||
DesktopId=org.gnome.Calendar.desktop
|
||||
BusName=org.gnome.Calendar
|
||||
ObjectPath=/org/gnome/Calendar/SearchProvider
|
||||
Version=2
|
||||
@@ -0,0 +1,6 @@
|
||||
[Shell Search Provider]
|
||||
Icon=gnome-calendar
|
||||
DesktopId=@appid@.desktop
|
||||
BusName=@appid@
|
||||
ObjectPath=/org/gnome/Calendar@profile@/SearchProvider
|
||||
Version=2
|
||||
@@ -1,3 +1,3 @@
|
||||
[D-BUS Service]
|
||||
Name=org.gnome.Calendar
|
||||
Name=@appid@
|
||||
Exec=@bindir@/gnome-calendar --gapplication-service
|
||||
|
||||
Reference in New Issue
Block a user