build: Add soup2 option
!1940 added support for soup 3, including a fallback to soup 2.4 where the newer version isn't available. Unfortunately it missed that libgweather has a hidden soup dependency, and now gnome-shell fails to start if a weather location has been set up and soup 3 is available. We don't have a good way to detect that case, so hide the soup 3 support behind a build option. Distributors are expected to switch it at the same time as libgweather. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1966>
This commit is contained in:
parent
66ba806838
commit
1d607cf18f
@ -8,6 +8,8 @@ var PACKAGE_VERSION = '@PACKAGE_VERSION@';
|
|||||||
var HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
|
var HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
|
||||||
/* 1 if networkmanager is available, 0 otherwise */
|
/* 1 if networkmanager is available, 0 otherwise */
|
||||||
var HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@;
|
var HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@;
|
||||||
|
/* 1 if soup3 support is enabled, 0 otherwise */
|
||||||
|
var HAVE_SOUP2 = @HAVE_SOUP2@;
|
||||||
/* gettext package */
|
/* gettext package */
|
||||||
var GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@';
|
var GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@';
|
||||||
/* locale dir */
|
/* locale dir */
|
||||||
|
@ -5,6 +5,7 @@ jsconf.set('GETTEXT_PACKAGE', meson.project_name())
|
|||||||
jsconf.set('LIBMUTTER_API_VERSION', mutter_api_version)
|
jsconf.set('LIBMUTTER_API_VERSION', mutter_api_version)
|
||||||
jsconf.set10('HAVE_BLUETOOTH', bt_dep.found())
|
jsconf.set10('HAVE_BLUETOOTH', bt_dep.found())
|
||||||
jsconf.set10('HAVE_NETWORKMANAGER', have_networkmanager)
|
jsconf.set10('HAVE_NETWORKMANAGER', have_networkmanager)
|
||||||
|
jsconf.set10('HAVE_SOUP2', have_soup2)
|
||||||
jsconf.set('datadir', datadir)
|
jsconf.set('datadir', datadir)
|
||||||
jsconf.set('libexecdir', libexecdir)
|
jsconf.set('libexecdir', libexecdir)
|
||||||
|
|
||||||
|
@ -12,6 +12,8 @@ imports.gi.versions.TelepathyGLib = '0.12';
|
|||||||
imports.gi.versions.TelepathyLogger = '0.2';
|
imports.gi.versions.TelepathyLogger = '0.2';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
if (Config.HAVE_SOUP2)
|
||||||
|
throw new Error('Soup3 support not enabled');
|
||||||
const Soup_ = imports.gi.Soup;
|
const Soup_ = imports.gi.Soup;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
imports.gi.versions.Soup = '2.4';
|
imports.gi.versions.Soup = '2.4';
|
||||||
|
@ -128,6 +128,8 @@ else
|
|||||||
have_systemd = false
|
have_systemd = false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
have_soup2 = get_option('soup2')
|
||||||
|
|
||||||
if get_option('man')
|
if get_option('man')
|
||||||
if fs.exists('man/gnome-shell.1')
|
if fs.exists('man/gnome-shell.1')
|
||||||
install_man('man/gnome-shell.1')
|
install_man('man/gnome-shell.1')
|
||||||
|
@ -33,3 +33,9 @@ option('systemd',
|
|||||||
value: true,
|
value: true,
|
||||||
description: 'Enable systemd integration'
|
description: 'Enable systemd integration'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
option('soup2',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Use Soup 2.4 instead of Soup 3. Must be in sync with libgweather'
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user