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@;
|
||||
/* 1 if networkmanager is available, 0 otherwise */
|
||||
var HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@;
|
||||
/* 1 if soup3 support is enabled, 0 otherwise */
|
||||
var HAVE_SOUP2 = @HAVE_SOUP2@;
|
||||
/* gettext package */
|
||||
var GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@';
|
||||
/* locale dir */
|
||||
|
@ -5,6 +5,7 @@ jsconf.set('GETTEXT_PACKAGE', meson.project_name())
|
||||
jsconf.set('LIBMUTTER_API_VERSION', mutter_api_version)
|
||||
jsconf.set10('HAVE_BLUETOOTH', bt_dep.found())
|
||||
jsconf.set10('HAVE_NETWORKMANAGER', have_networkmanager)
|
||||
jsconf.set10('HAVE_SOUP2', have_soup2)
|
||||
jsconf.set('datadir', datadir)
|
||||
jsconf.set('libexecdir', libexecdir)
|
||||
|
||||
|
@ -12,6 +12,8 @@ imports.gi.versions.TelepathyGLib = '0.12';
|
||||
imports.gi.versions.TelepathyLogger = '0.2';
|
||||
|
||||
try {
|
||||
if (Config.HAVE_SOUP2)
|
||||
throw new Error('Soup3 support not enabled');
|
||||
const Soup_ = imports.gi.Soup;
|
||||
} catch (e) {
|
||||
imports.gi.versions.Soup = '2.4';
|
||||
|
@ -128,6 +128,8 @@ else
|
||||
have_systemd = false
|
||||
endif
|
||||
|
||||
have_soup2 = get_option('soup2')
|
||||
|
||||
if get_option('man')
|
||||
if fs.exists('man/gnome-shell.1')
|
||||
install_man('man/gnome-shell.1')
|
||||
|
@ -33,3 +33,9 @@ option('systemd',
|
||||
value: true,
|
||||
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