From d934827bf44b7cfcf6711964418148fa60877668 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 25 Nov 2020 22:39:15 +0000 Subject: gentoo resync : 25.11.2020 --- gnome-base/gnome-shell/Manifest | 14 +- gnome-base/gnome-shell/files/3.28.3-defaults.patch | 28 -- .../files/3.34.4-custom_stylesheet_crash.patch | 524 --------------------- .../gnome-shell/files/3.34.5-CVE-2020-17489.patch | 47 -- .../gnome-shell/gnome-shell-3.34.5-r1.ebuild | 198 -------- gnome-base/gnome-shell/gnome-shell-3.34.5.ebuild | 196 -------- gnome-base/gnome-shell/gnome-shell-3.36.5.ebuild | 190 -------- gnome-base/gnome-shell/gnome-shell-3.36.7.ebuild | 190 ++++++++ gnome-base/gnome-shell/gnome-shell-3.38.1.ebuild | 186 ++++++++ 9 files changed, 381 insertions(+), 1192 deletions(-) delete mode 100644 gnome-base/gnome-shell/files/3.28.3-defaults.patch delete mode 100644 gnome-base/gnome-shell/files/3.34.4-custom_stylesheet_crash.patch delete mode 100644 gnome-base/gnome-shell/files/3.34.5-CVE-2020-17489.patch delete mode 100644 gnome-base/gnome-shell/gnome-shell-3.34.5-r1.ebuild delete mode 100644 gnome-base/gnome-shell/gnome-shell-3.34.5.ebuild delete mode 100644 gnome-base/gnome-shell/gnome-shell-3.36.5.ebuild create mode 100644 gnome-base/gnome-shell/gnome-shell-3.36.7.ebuild create mode 100644 gnome-base/gnome-shell/gnome-shell-3.38.1.ebuild (limited to 'gnome-base/gnome-shell') diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest index 3e2bee48f507..0237d6106b10 100644 --- a/gnome-base/gnome-shell/Manifest +++ b/gnome-base/gnome-shell/Manifest @@ -1,12 +1,8 @@ -AUX 3.28.3-defaults.patch 1385 BLAKE2B d7e0495aadec7fa042086b5219cc34906f9333a446484e63d90932551d09f469e66cc5da43040a2bf955ecdb3d2beca0e1dba435dd7c309bbc78a1b7aba7f43b SHA512 190a9a61b164373e1f2528b96eca0312a7884651ee44212f686e5752430197b2644b67550dc41ed10684cccd0e8a0d870cfdeddf8582d57de637f7dad11d0124 AUX 3.34-optional-bluetooth.patch 1971 BLAKE2B bac967362e46cbd8b76368377c607573e34489b41b70441488086953f56581c8c77b013f848c079bb189188b5ac62de935fc55dd03f2bce725547079b344a27e SHA512 f3c8479090656f5655766a6fd790729e5c16c1b09f61f7b41485bdeee53e6e2ada7ecf7e641b8c8a9cb520a5db8a1bb4f5d0d005226bc5c08c1c553541e3e049 -AUX 3.34.4-custom_stylesheet_crash.patch 17904 BLAKE2B cff95bf20f9b2e35daa885cbfb2e7490c968daefbcaac0a11287833d4cc23ca6c7e4e4ca52a523555da69e40ef0efd85cdeea8ad25f0943c887cabef22935bd4 SHA512 c0200c7759aa502b6d3ba4cbff789ab52d1510a0a0d7213c64e26e4773a58f1c7767b9fa2531a2c032943f08101b268453a462e7013d12cec96a32bfd3642c7e -AUX 3.34.5-CVE-2020-17489.patch 1717 BLAKE2B d92185c01f755b8aa1c54aa4c8ff57efa474a92ffe297b351f791266b1ad9f18bfddb17e19e241a0017149db5d5bb2da4b4472b853ca7e26ed34e1bda5c306af SHA512 ce9593eedae069156521e6836625d68abcfe30f65d993f7b0ec5a3f9accf8fef7aa74aa71ae289b5a1b10e7ac3de1bd28a8b61c2cf1038bdce304904da14eb65 AUX 3.36-defaults.patch 1463 BLAKE2B c529ac85d19699d0837f4060011b8b7dd03773af4425ea27f4b87841ee6a77f222ee242e34550ca3807dc7330e0c411576f3e4e8dbbaacf684b7ca706133cc81 SHA512 f6656b0baaf53d919ee8ad54550909aed9b86280de3f6ac3667d6a3506834476024cf42087860a4ee431d74dbcfa1c066e37d6d012450d76dbfd498fe0f1fb46 -DIST gnome-shell-3.34.5.tar.xz 1558672 BLAKE2B 7b786a35b6b79a4532d9bbb761ee0629cfb18b8c4c151f5958bb9169cae01ddb489a31c9d1a0cfef3ab6dd1f29c449600c1ad9bb11adbae284e86035bec15234 SHA512 ef6a70b0b3bb14fedb07c465742fe0d78c96ddd24352fd0babf871336ee404f9823cadea5bd522e388f5b714d33b219c8ff2badaed379b7135dd90de9fca9bc4 -DIST gnome-shell-3.36.5-patchset.tar.xz 5296 BLAKE2B 6b353bd7714e2439590b74d25c964f06c8792337b22504b17cf37f4113bb0712d642fa1ab4fab9e1944544b3c57d6624c1758c97ef3b2f2a5ba2596305d4831e SHA512 669f8c2d5fe73c8f99f60ec38ac4b4fbf43e2d3667c1710f4f6179d77848f3f9d4245e22c128f41c1e594b44ba317b2430edbefa67c6886054d39726cdddd165 -DIST gnome-shell-3.36.5.tar.xz 1776080 BLAKE2B 82a53777a9fa56c3bd1c6914c1aefe85256d3cd640e95c9804b37c711360e09e758f536e9caee79c88d1686ffb3bc672f215cc454237922942edcec93f6bafd3 SHA512 e8cbcd9ee9643083870415fa3ea8ed0f1b6f2a138054f92e23479514c57b22afc38e3e082a89051f2be4e91e2dea3a68951a06eb0589f507825da9137d92e545 -EBUILD gnome-shell-3.34.5-r1.ebuild 6901 BLAKE2B 6ef96d1c1b2f7a4e4bdd3957b0549a6d309313fb2b8de12cd4777e4ecb9ae0a701659d6394e66ac86f554aec536b7f48e9a60e1ce6477bdf99b26568a2c58a58 SHA512 caea4066b69dee39cdb37e5f5e626a41eaf97c5136c11cc72fadee4f2d538316f4225e109e726bae5e5d701820b56c61a114b7869b77166a4bd746ecd7c52a12 -EBUILD gnome-shell-3.34.5.ebuild 6768 BLAKE2B 72b4934d79160c38f7868b4afddd6490cc936a0dbe73af07fcecd9f7c1434d4b96afcc036d53ac2b4d746429c9bd910c9333a97a994f64f757a1760136928302 SHA512 3a2cb1659aabe6995d27646fb5c1d5576335a96cc9b62f00e488b39694c4470f3f16185e92c71ea105449f2af6667511fff3fabfeb7d3a7b2a370412872d7357 -EBUILD gnome-shell-3.36.5.ebuild 6661 BLAKE2B ee50a9b8b7a9464b80a3d86925555f9b6f02c49b29b6174c1afe98de4969188bcde606e2ee11fd2281142c1d290d66a7ef1d0f0d4550e44f1703279d4df7b44a SHA512 7ddcf72cc154e7096902490d06bc2f1c3dcae02b9ede0beb608a8c4e59cf69abd600b0709cee43243881f21d71b1971cb0c649714afd8be0b100848d35668569 +DIST gnome-shell-3.36.7-patchset.tar.xz 6364 BLAKE2B 80a2e2a03e4cc3b15db6af872a2330c0921a63bcd03db78a970190fee93c982296b381d08ac4bd1cb5dbe5b14d9732e447445f5dcc06d607826a9026395f10bb SHA512 6f9145fd00117e6b4170e7457c83a8c3bbbbfc6086ce3bcd07813b5a4f05e58f42e889cc90799d6988af05fce9791a792e4d8d60ffe58818563c852f9923930d +DIST gnome-shell-3.36.7.tar.xz 1777236 BLAKE2B 4dd3b98e8a2ffa711bffe0b3b78708c85c1979122ee71e7e0d7c55626a608ba4598071bf8659338c960ba4b0349e5b621b97f294a4961cf021b9047753136af5 SHA512 7275d1e2d2629abd2fbfae910a77c25485464e39f8317ba1b0e8e1ae3368e69af4eb85c2611e82ea04270bfd8185e24f13002df9b13335adbdff144847790656 +DIST gnome-shell-3.38.1.tar.xz 1812860 BLAKE2B d58dd9f5962d953f4bfa8aede62e24007185e0b4b82781c54cce87d8505657e01b0f76a9119b60634e6c723b7dd9320f5c56b984b59cc8fce61ad4a897291b44 SHA512 7ab580f892c4b4dac2fc8625343dfab1bf7a11e148dc01e6e805a5b1ac1d4cb17943b9a3058ec69fc086c270d76ef8073dca494991a5da1dcfa52b42dcc03f01 +EBUILD gnome-shell-3.36.7.ebuild 6667 BLAKE2B 5fbfd1bf5a20ad8a7262a4bdc8c8b797ac3e5d34652fa2e50ad875778eb84f1a0f5be7c23ce7ed57d3d1e293c439a0dfad7bd7840d23e58ae1c83be31e1c6736 SHA512 bf5b0add1c462998859e3f32e8bae687ec53f9cd1911110a1246bd39361d1f219c326ccb2cf12e12b56e8673311fd7e5895cfdceb8a800f3d114b8cfee5f79ac +EBUILD gnome-shell-3.38.1.ebuild 6303 BLAKE2B e248640eb2dbf2ed68dd569be20546334bd89353d87f364aa07d6b162fe02f939b7b51b23ed7a348b91dcab14e1050d2c9870d34e45a5b17a1a795d38233362a SHA512 1a03aa8066fd5acdc81d2dc649b6474bc4f731593d0dabae075530cee7ee12055d37570aa8450acfcb2f6cbfc8ed44fb266f6ee4f243468b45aa71ed0d03ab53 MISC metadata.xml 1050 BLAKE2B cf97e536a47f3b023e118a818bbc34af63500d2ea94bbc71201d2ce18aa6e473673cb28a47245de24b7bad9a174a6dda6b46c300518521c8ea0662e88e95627d SHA512 50c1d4c3eacb89b77bc49b4f236bba9d9041ef047392d5bda19e85b0c935709a095a388b1625a2c77c66145758e9b4ab77a202aa6cdd2b86f262c5b56e428b06 diff --git a/gnome-base/gnome-shell/files/3.28.3-defaults.patch b/gnome-base/gnome-shell/files/3.28.3-defaults.patch deleted file mode 100644 index a6f583144fcf..000000000000 --- a/gnome-base/gnome-shell/files/3.28.3-defaults.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 7a671f99b7ef2d5f38be67668aac762764b32a42 Mon Sep 17 00:00:00 2001 -From: Gilles Dartiguelongue -Date: Tue, 10 Dec 2013 23:33:51 +0100 -Subject: [PATCH 1/2] Alter list of default applications - -Signed-off-by: Gilles Dartiguelongue -[Updated to include desktop file renames to reverse DNS] -Signed-off-by: Mart Raudsepp ---- - data/org.gnome.shell.gschema.xml.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in -index c1e6b21..368c654 100644 ---- a/data/org.gnome.shell.gschema.xml.in -+++ b/data/org.gnome.shell.gschema.xml.in -@@ -31,7 +31,7 @@ - - - -- [ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] -+ [ 'chromium-browser-chromium.desktop', 'firefox.desktop', 'firefox-bin.desktop', 'org.gnome.Evolution.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'org.gnome.Shotwell', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] - List of desktop file IDs for favorite applications - - The applications corresponding to these identifiers --- -2.10.1 - diff --git a/gnome-base/gnome-shell/files/3.34.4-custom_stylesheet_crash.patch b/gnome-base/gnome-shell/files/3.34.4-custom_stylesheet_crash.patch deleted file mode 100644 index 186939b91477..000000000000 --- a/gnome-base/gnome-shell/files/3.34.4-custom_stylesheet_crash.patch +++ /dev/null @@ -1,524 +0,0 @@ -From 87afb02e50c7a636a508cf619beb68a46168e54b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Mon, 6 May 2019 18:28:40 -0500 -Subject: [PATCH 1/5] st-theme: Use CRStyleSheet app_data instead of hash map - -Use the CRStyleSheet field to save stylesheet details instead of using an extra -hash table. In this way we can access to the stylesheet file faster without -having to lookup it. Define a destroy function so that we can automatically -remove the data when the container hash table is destroyed. - -Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1265 - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 ---- - src/st/st-theme.c | 91 +++++++++++++++++++++++++++++++---------------- - 1 file changed, 60 insertions(+), 31 deletions(-) - -diff --git a/src/st/st-theme.c b/src/st/st-theme.c -index b567f7e5e3..208f536c5b 100644 ---- a/src/st/st-theme.c -+++ b/src/st/st-theme.c -@@ -66,11 +66,16 @@ struct _StTheme - GSList *custom_stylesheets; - - GHashTable *stylesheets_by_file; -- GHashTable *files_by_stylesheet; - - CRCascade *cascade; - }; - -+typedef struct _StyleSheetData -+{ -+ GFile *file; -+ gboolean extension_stylesheet; -+} StyleSheetData; -+ - enum - { - PROP_0, -@@ -106,12 +111,25 @@ file_equal0 (GFile *file1, - return g_file_equal (file1, file2); - } - -+static void -+stylesheet_destroy (CRStyleSheet *stylesheet) -+{ -+ if (stylesheet->app_data) -+ { -+ g_slice_free (StyleSheetData, stylesheet->app_data); -+ stylesheet->app_data = NULL; -+ } -+ -+ cr_stylesheet_unref (stylesheet); -+} -+ - static void - st_theme_init (StTheme *theme) - { -- theme->stylesheets_by_file = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, -- (GDestroyNotify)g_object_unref, (GDestroyNotify)cr_stylesheet_unref); -- theme->files_by_stylesheet = g_hash_table_new (g_direct_hash, g_direct_equal); -+ theme->stylesheets_by_file = -+ g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, -+ (GDestroyNotify) g_object_unref, -+ (GDestroyNotify) stylesheet_destroy); - } - - static void -@@ -205,9 +223,6 @@ parse_stylesheet (GFile *file, - return NULL; - } - -- /* Extension stylesheet */ -- stylesheet->app_data = GUINT_TO_POINTER (FALSE); -- - return stylesheet; - } - -@@ -234,19 +249,30 @@ parse_stylesheet_nofail (GFile *file) - return result; - } - --static void -+static gboolean - insert_stylesheet (StTheme *theme, - GFile *file, - CRStyleSheet *stylesheet) - { -+ StyleSheetData *stylesheet_data; -+ - if (stylesheet == NULL) -- return; -+ return FALSE; - -- g_object_ref (file); -- cr_stylesheet_ref (stylesheet); -+ if (g_hash_table_contains (theme->stylesheets_by_file, file)) -+ { -+ cr_stylesheet_unref (stylesheet); -+ return FALSE; -+ } - -- g_hash_table_insert (theme->stylesheets_by_file, file, stylesheet); -- g_hash_table_insert (theme->files_by_stylesheet, stylesheet, file); -+ stylesheet_data = g_slice_new0 (StyleSheetData); -+ stylesheet_data->file = file; -+ stylesheet->app_data = stylesheet_data; -+ -+ cr_stylesheet_ref (stylesheet); -+ g_hash_table_insert (theme->stylesheets_by_file, -+ g_object_ref (file), stylesheet); -+ return TRUE; - } - - gboolean -@@ -255,14 +281,15 @@ st_theme_load_stylesheet (StTheme *theme, - GError **error) - { - CRStyleSheet *stylesheet; -+ StyleSheetData *stylesheet_data; - - stylesheet = parse_stylesheet (file, error); -- if (!stylesheet) -+ if (!insert_stylesheet (theme, file, stylesheet)) - return FALSE; - -- stylesheet->app_data = GUINT_TO_POINTER (TRUE); -+ stylesheet_data = stylesheet->app_data; -+ stylesheet_data->extension_stylesheet = TRUE; - -- insert_stylesheet (theme, file, stylesheet); - cr_stylesheet_ref (stylesheet); - theme->custom_stylesheets = g_slist_prepend (theme->custom_stylesheets, stylesheet); - g_signal_emit (theme, signals[STYLESHEETS_CHANGED], 0); -@@ -283,9 +310,8 @@ st_theme_unload_stylesheet (StTheme *theme, - if (!g_slist_find (theme->custom_stylesheets, stylesheet)) - return; - -- theme->custom_stylesheets = g_slist_remove (theme->custom_stylesheets, stylesheet); - g_hash_table_remove (theme->stylesheets_by_file, file); -- g_hash_table_remove (theme->files_by_stylesheet, stylesheet); -+ theme->custom_stylesheets = g_slist_remove (theme->custom_stylesheets, stylesheet); - cr_stylesheet_unref (stylesheet); - g_signal_emit (theme, signals[STYLESHEETS_CHANGED], 0); - } -@@ -306,9 +332,10 @@ st_theme_get_custom_stylesheets (StTheme *theme) - for (iter = theme->custom_stylesheets; iter; iter = iter->next) - { - CRStyleSheet *stylesheet = iter->data; -- GFile *file = g_hash_table_lookup (theme->files_by_stylesheet, stylesheet); -+ StyleSheetData *stylesheet_data = stylesheet->app_data; - -- result = g_slist_prepend (result, g_object_ref (file)); -+ if (stylesheet_data && stylesheet_data->file) -+ result = g_slist_prepend (result, g_object_ref (stylesheet_data->file)); - } - - return result; -@@ -350,7 +377,6 @@ st_theme_finalize (GObject * object) - theme->custom_stylesheets = NULL; - - g_hash_table_destroy (theme->stylesheets_by_file); -- g_hash_table_destroy (theme->files_by_stylesheet); - - g_clear_object (&theme->application_stylesheet); - g_clear_object (&theme->theme_stylesheet); -@@ -877,18 +903,20 @@ add_matched_properties (StTheme *a_this, - - if (import_rule->url->stryng && import_rule->url->stryng->str) - { -+ CRStyleSheet *sheet; - file = _st_theme_resolve_url (a_this, - a_nodesheet, - import_rule->url->stryng->str); -- import_rule->sheet = parse_stylesheet (file, NULL); -- } -+ sheet = parse_stylesheet (file, NULL); - -- if (import_rule->sheet) -- { -- insert_stylesheet (a_this, file, import_rule->sheet); -- /* refcount of stylesheets starts off at zero, so we don't need to unref! */ -+ if (insert_stylesheet (a_this, file, sheet)) -+ import_rule->sheet = sheet; -+ -+ /* refcount of stylesheets starts off at zero, so we don't -+ * need to unref! */ - } -- else -+ -+ if (!import_rule->sheet) - { - /* Set a marker to avoid repeatedly trying to parse a non-existent or - * broken stylesheet -@@ -962,12 +990,12 @@ static inline int - get_origin (const CRDeclaration * decl) - { - enum CRStyleOrigin origin = decl->parent_statement->parent_sheet->origin; -- gboolean is_extension_sheet = GPOINTER_TO_UINT (decl->parent_statement->parent_sheet->app_data); -+ StyleSheetData *sheet_data = decl->parent_statement->parent_sheet->app_data; - - if (decl->important) - origin += ORIGIN_OFFSET_IMPORTANT; - -- if (is_extension_sheet) -+ if (sheet_data && sheet_data->extension_stylesheet) - origin += ORIGIN_OFFSET_EXTENSION; - - return origin; -@@ -1046,8 +1074,9 @@ _st_theme_resolve_url (StTheme *theme, - else if (base_stylesheet != NULL) - { - GFile *base_file = NULL, *parent; -+ StyleSheetData *stylesheet_data = base_stylesheet->app_data; - -- base_file = g_hash_table_lookup (theme->files_by_stylesheet, base_stylesheet); -+ base_file = stylesheet_data->file; - - /* This is an internal function, if we get here with - a bad @base_stylesheet we have a problem. */ --- -2.24.1 - - -From 0974a3290aa2951ada3c9f2adceb2c65c2321849 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Mon, 6 May 2019 18:33:36 -0500 -Subject: [PATCH 2/5] st-theme: Use newer functions to finalize objects - -Use g_slist_free_full on custom stylesheets list and clear the hashtable and -its pointer using g_clear_pointer and g_hash_table_destroy. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 ---- - src/st/st-theme.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/st/st-theme.c b/src/st/st-theme.c -index 208f536c5b..2d51420a20 100644 ---- a/src/st/st-theme.c -+++ b/src/st/st-theme.c -@@ -372,11 +372,11 @@ st_theme_finalize (GObject * object) - { - StTheme *theme = ST_THEME (object); - -- g_slist_foreach (theme->custom_stylesheets, (GFunc) cr_stylesheet_unref, NULL); -- g_slist_free (theme->custom_stylesheets); -- theme->custom_stylesheets = NULL; -+ g_clear_pointer (&theme->stylesheets_by_file, g_hash_table_destroy); - -- g_hash_table_destroy (theme->stylesheets_by_file); -+ g_slist_free_full (theme->custom_stylesheets, -+ (GDestroyNotify) cr_stylesheet_unref); -+ theme->custom_stylesheets = NULL; - - g_clear_object (&theme->application_stylesheet); - g_clear_object (&theme->theme_stylesheet); --- -2.24.1 - - -From 801fd1884af2011ec6981e4d7844aac6f8dbecf0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Tue, 7 May 2019 01:59:11 -0500 -Subject: [PATCH 3/5] st-theme: Remove custom stylesheets list - -Since we already mark the stylesheet laded by extensions in the data, we don't -need to use another list to go trough these as we can just iterate over the -hash table with a minimum overhead, as this will normally contain just one -default stylesheet and all the extension stylesheets anyways. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 ---- - src/st/st-theme.c | 37 +++++++++++++++++++------------------ - 1 file changed, 19 insertions(+), 18 deletions(-) - -diff --git a/src/st/st-theme.c b/src/st/st-theme.c -index 2d51420a20..9f6b2f6e35 100644 ---- a/src/st/st-theme.c -+++ b/src/st/st-theme.c -@@ -63,7 +63,6 @@ struct _StTheme - GFile *application_stylesheet; - GFile *default_stylesheet; - GFile *theme_stylesheet; -- GSList *custom_stylesheets; - - GHashTable *stylesheets_by_file; - -@@ -290,8 +289,6 @@ st_theme_load_stylesheet (StTheme *theme, - stylesheet_data = stylesheet->app_data; - stylesheet_data->extension_stylesheet = TRUE; - -- cr_stylesheet_ref (stylesheet); -- theme->custom_stylesheets = g_slist_prepend (theme->custom_stylesheets, stylesheet); - g_signal_emit (theme, signals[STYLESHEETS_CHANGED], 0); - - return TRUE; -@@ -302,17 +299,17 @@ st_theme_unload_stylesheet (StTheme *theme, - GFile *file) - { - CRStyleSheet *stylesheet; -+ StyleSheetData *stylesheet_data; - - stylesheet = g_hash_table_lookup (theme->stylesheets_by_file, file); -- if (!stylesheet) -+ if (!stylesheet || !stylesheet->app_data) - return; - -- if (!g_slist_find (theme->custom_stylesheets, stylesheet)) -+ stylesheet_data = stylesheet->app_data; -+ if (!stylesheet_data->extension_stylesheet) - return; - - g_hash_table_remove (theme->stylesheets_by_file, file); -- theme->custom_stylesheets = g_slist_remove (theme->custom_stylesheets, stylesheet); -- cr_stylesheet_unref (stylesheet); - g_signal_emit (theme, signals[STYLESHEETS_CHANGED], 0); - } - -@@ -327,14 +324,17 @@ GSList* - st_theme_get_custom_stylesheets (StTheme *theme) - { - GSList *result = NULL; -- GSList *iter; -+ GHashTableIter iter; -+ gpointer value; - -- for (iter = theme->custom_stylesheets; iter; iter = iter->next) -+ g_hash_table_iter_init (&iter, theme->stylesheets_by_file); -+ -+ while (g_hash_table_iter_next (&iter, NULL, &value)) - { -- CRStyleSheet *stylesheet = iter->data; -+ CRStyleSheet *stylesheet = value; - StyleSheetData *stylesheet_data = stylesheet->app_data; - -- if (stylesheet_data && stylesheet_data->file) -+ if (stylesheet_data && stylesheet_data->extension_stylesheet) - result = g_slist_prepend (result, g_object_ref (stylesheet_data->file)); - } - -@@ -374,10 +374,6 @@ st_theme_finalize (GObject * object) - - g_clear_pointer (&theme->stylesheets_by_file, g_hash_table_destroy); - -- g_slist_free_full (theme->custom_stylesheets, -- (GDestroyNotify) cr_stylesheet_unref); -- theme->custom_stylesheets = NULL; -- - g_clear_object (&theme->application_stylesheet); - g_clear_object (&theme->theme_stylesheet); - g_clear_object (&theme->default_stylesheet); -@@ -1030,7 +1026,7 @@ _st_theme_get_matched_properties (StTheme *theme, - enum CRStyleOrigin origin = 0; - CRStyleSheet *sheet = NULL; - GPtrArray *props = g_ptr_array_new (); -- GSList *iter; -+ GHashTableIter iter; - - g_return_val_if_fail (ST_IS_THEME (theme), NULL); - g_return_val_if_fail (ST_IS_THEME_NODE (node), NULL); -@@ -1044,8 +1040,13 @@ _st_theme_get_matched_properties (StTheme *theme, - add_matched_properties (theme, sheet, node, props); - } - -- for (iter = theme->custom_stylesheets; iter; iter = iter->next) -- add_matched_properties (theme, iter->data, node, props); -+ g_hash_table_iter_init (&iter, theme->stylesheets_by_file); -+ while (g_hash_table_iter_next (&iter, NULL, (gpointer) &sheet)) -+ { -+ if (sheet->app_data && -+ ((StyleSheetData *) sheet->app_data)->extension_stylesheet) -+ add_matched_properties (theme, sheet, node, props); -+ } - - /* We count on a stable sort here so that later declarations come - * after earlier declarations */ --- -2.24.1 - - -From 5b66ecb1019f3ba32aa05562a8b58ebd95702669 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Mon, 6 May 2019 18:56:49 -0500 -Subject: [PATCH 4/5] st-theme: Ref stylesheet using facility function - -Define stylesheet_ref as a wrapper of cr_stylesheet_ref that returns the -ref'ed instance so that we can use this on the caller function to make clear -what we're passing. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 ---- - src/st/st-theme.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/st/st-theme.c b/src/st/st-theme.c -index 9f6b2f6e35..30733b6fd5 100644 ---- a/src/st/st-theme.c -+++ b/src/st/st-theme.c -@@ -110,6 +110,13 @@ file_equal0 (GFile *file1, - return g_file_equal (file1, file2); - } - -+static inline CRStyleSheet * -+stylesheet_ref (CRStyleSheet *stylesheet) -+{ -+ cr_stylesheet_ref (stylesheet); -+ return stylesheet; -+} -+ - static void - stylesheet_destroy (CRStyleSheet *stylesheet) - { -@@ -268,9 +275,8 @@ insert_stylesheet (StTheme *theme, - stylesheet_data->file = file; - stylesheet->app_data = stylesheet_data; - -- cr_stylesheet_ref (stylesheet); - g_hash_table_insert (theme->stylesheets_by_file, -- g_object_ref (file), stylesheet); -+ g_object_ref (file), stylesheet_ref (stylesheet)); - return TRUE; - } - --- -2.24.1 - - -From bf5ea4dc4fbcf09c77a830ae9a227660e1c72d7d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Mon, 6 May 2019 18:40:13 -0500 -Subject: [PATCH 5/5] st-theme: Use glib auto free/ptr features - -Use g_autofree and g_autoptr for managing memory in a smarter way. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 ---- - src/st/st-theme.c | 21 ++++++--------------- - 1 file changed, 6 insertions(+), 15 deletions(-) - -diff --git a/src/st/st-theme.c b/src/st/st-theme.c -index 30733b6fd5..4c8730a4ce 100644 ---- a/src/st/st-theme.c -+++ b/src/st/st-theme.c -@@ -205,7 +205,7 @@ parse_stylesheet (GFile *file, - { - enum CRStatus status; - CRStyleSheet *stylesheet; -- char *contents; -+ g_autofree char *contents = NULL; - gsize length; - - if (file == NULL) -@@ -218,14 +218,11 @@ parse_stylesheet (GFile *file, - length, - CR_UTF_8, - &stylesheet); -- g_free (contents); -- - if (status != CR_OK) - { -- char *uri = g_file_get_uri (file); -+ g_autofree char *uri = g_file_get_uri (file); - g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, - "Error parsing stylesheet '%s'; errcode:%d", uri, status); -- g_free (uri); - return NULL; - } - -@@ -901,7 +898,7 @@ add_matched_properties (StTheme *a_this, - - if (import_rule->sheet == NULL) - { -- GFile *file = NULL; -+ g_autoptr (GFile) file = NULL; - - if (import_rule->url->stryng && import_rule->url->stryng->str) - { -@@ -925,9 +922,6 @@ add_matched_properties (StTheme *a_this, - */ - import_rule->sheet = (CRStyleSheet *) - 1; - } -- -- if (file) -- g_object_unref (file); - } - - if (import_rule->sheet != (CRStyleSheet *) - 1) -@@ -1070,20 +1064,19 @@ _st_theme_resolve_url (StTheme *theme, - CRStyleSheet *base_stylesheet, - const char *url) - { -- char *scheme; -+ g_autofree char *scheme = NULL; - GFile *resource; - - if ((scheme = g_uri_parse_scheme (url))) - { -- g_free (scheme); - resource = g_file_new_for_uri (url); - } - else if (base_stylesheet != NULL) - { -- GFile *base_file = NULL, *parent; - StyleSheetData *stylesheet_data = base_stylesheet->app_data; -+ GFile *base_file = stylesheet_data->file; -+ g_autoptr (GFile) parent = NULL; - -- base_file = stylesheet_data->file; - - /* This is an internal function, if we get here with - a bad @base_stylesheet we have a problem. */ -@@ -1091,8 +1084,6 @@ _st_theme_resolve_url (StTheme *theme, - - parent = g_file_get_parent (base_file); - resource = g_file_resolve_relative_path (parent, url); -- -- g_object_unref (parent); - } - else - { --- -2.24.1 - diff --git a/gnome-base/gnome-shell/files/3.34.5-CVE-2020-17489.patch b/gnome-base/gnome-shell/files/3.34.5-CVE-2020-17489.patch deleted file mode 100644 index c6ed147c5a25..000000000000 --- a/gnome-base/gnome-shell/files/3.34.5-CVE-2020-17489.patch +++ /dev/null @@ -1,47 +0,0 @@ -From e7f7da78d4d5a9abae780589810bd012300442e9 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Mon, 27 Jul 2020 10:58:49 -0400 -Subject: [PATCH] loginDialog: Reset auth prompt on vt switch before fade in - -At the moment, if a user switches to the login screen vt, -the login screen fades in whatever was on screen prior, and -then does a reset. - -It makes more sense to reset first, so we fade in what the -user is going to interact with instead of what they interacted -with before. - -Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2997 -(cherry picked from commit 13137aad9db52223e8b62cecbd3456f4a7f66f04) ---- - js/gdm/loginDialog.js | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js -index c3f90dc58..6b35ebb16 100644 ---- a/js/gdm/loginDialog.js -+++ b/js/gdm/loginDialog.js -@@ -920,16 +920,15 @@ var LoginDialog = GObject.registerClass({ - if (this.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING) - return; - -+ if (this._authPrompt.verificationStatus !== AuthPrompt.AuthPromptStatus.NOT_VERIFYING) -+ this._authPrompt.reset(); -+ - this._bindOpacity(); - this.ease({ - opacity: 255, - duration: _FADE_ANIMATION_TIME, - mode: Clutter.AnimationMode.EASE_OUT_QUAD, -- onComplete: () => { -- if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING) -- this._authPrompt.reset(); -- this._unbindOpacity(); -- } -+ onComplete: () => this._unbindOpacity() - }); - } - --- -2.20.1 - diff --git a/gnome-base/gnome-shell/gnome-shell-3.34.5-r1.ebuild b/gnome-base/gnome-shell/gnome-shell-3.34.5-r1.ebuild deleted file mode 100644 index 23bc33b40f0b..000000000000 --- a/gnome-base/gnome-shell/gnome-shell-3.34.5-r1.ebuild +++ /dev/null @@ -1,198 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit gnome.org gnome2-utils meson pax-utils python-single-r1 virtualx xdg - -DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" -HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" - -LICENSE="GPL-2+ LGPL-2+" -SLOT="0" -IUSE="+bluetooth +browser-extension elogind gtk-doc +ibus +networkmanager systemd telepathy" -REQUIRED_USE="${PYTHON_REQUIRED_USE} - ?? ( elogind systemd )" - -KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86" - -# libXfixes-5.0 needed for pointer barriers and #include -# FIXME: -# * gstreamer support is currently automagic -DEPEND=" - >=dev-libs/libcroco-0.6.8:0.6 - >=gnome-extra/evolution-data-server-3.33.1:= - >=app-crypt/gcr-3.7.5[introspection] - >=dev-libs/glib-2.57.2:2 - >=dev-libs/gobject-introspection-1.49.1:= - >=dev-libs/gjs-1.57.3 - >=x11-libs/gtk+-3.15.0:3[introspection] - >=x11-wm/mutter-3.34.0:0/5[introspection] - >=sys-auth/polkit-0.100[introspection] - >=gnome-base/gsettings-desktop-schemas-3.33.1 - >=x11-libs/startup-notification-0.11 - >=app-i18n/ibus-1.5.2 - >=gnome-base/gnome-desktop-3.32:3=[introspection] - bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) - >=media-libs/gstreamer-0.11.92:1.0 - media-libs/gst-plugins-base:1.0 - networkmanager? ( - >=net-misc/networkmanager-1.10.4:=[introspection] - net-libs/libnma[introspection] - >=app-crypt/libsecret-0.18 - dev-libs/dbus-glib ) - systemd? ( >=sys-apps/systemd-31 - >=gnome-base/gnome-desktop-3.34.2:3=[systemd] ) - elogind? ( >=sys-auth/elogind-237 ) - app-arch/gnome-autoar - dev-libs/json-glib - - >=app-accessibility/at-spi2-atk-2.5.3 - x11-libs/gdk-pixbuf:2[introspection] - dev-libs/libxml2:2 - x11-libs/libX11 - - >=media-sound/pulseaudio-2[glib] - >=dev-libs/atk-2[introspection] - dev-libs/libical:= - >=x11-libs/libXfixes-5.0 - - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] - ') - media-libs/mesa[X(+)] -" -# Runtime-only deps are probably incomplete and approximate. -# Introspection deps generated using: -# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq -# Each block: -# 1. Introspection stuff needed via imports.gi.* -# 2. gnome-session needed for shutdown/reboot/inhibitors/etc -# 3. Control shell settings -# 4. logind interface needed for suspending support -# 5. xdg-utils needed for xdg-open, used by extension tool -# 6. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+) -# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review -# 8. IBus is needed for nls integration -# 9. Optional telepathy chat integration -# 10. Cantarell font used in gnome-shell global CSS (if removing this for some reason, make sure it's pulled in somehow for non-meta users still too) -# 11. TODO: semi-optional webkit-gtk[introspection] for captive portal helper -RDEPEND="${DEPEND} - >=sys-apps/accountsservice-0.6.14[introspection] - app-accessibility/at-spi2-core:2[introspection] - app-misc/geoclue[introspection] - >=dev-libs/libgweather-3.26:2[introspection] - >=sys-power/upower-0.99:=[introspection] - x11-libs/pango[introspection] - gnome-base/librsvg:2[introspection] - - >=gnome-base/gnome-session-2.91.91 - >=gnome-base/gnome-settings-daemon-3.8.3 - - x11-misc/xdg-utils - - >=x11-themes/adwaita-icon-theme-3.26 - - networkmanager? ( - net-misc/mobile-broadband-provider-info - sys-libs/timezone-data ) - ibus? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk,introspection] ) - telepathy? ( - >=net-im/telepathy-logger-0.2.4[introspection] - >=net-libs/telepathy-glib-0.19[introspection] ) - media-fonts/cantarell -" -# avoid circular dependency, see bug #546134 -PDEPEND=" - >=gnome-base/gdm-3.5[introspection] - >=gnome-base/gnome-control-center-3.26[bluetooth(+)?,networkmanager(+)?] - browser-extension? ( gnome-extra/chrome-gnome-shell ) -" -BDEPEND=" - dev-lang/sassc - dev-libs/libxslt - app-text/asciidoc - >=dev-util/gdbus-codegen-2.45.3 - dev-util/glib-utils - gtk-doc? ( >=dev-util/gtk-doc-1.17 - app-text/docbook-xml-dtd:4.3 ) - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig -" - -PATCHES=( - # Try to fix crashes related to custom stylesheet; triggered often by package installs (probably desktop database update) - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/1265 - # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 - "${FILESDIR}"/3.34.4-custom_stylesheet_crash.patch - # Fix automagic gnome-bluetooth dep, bug #398145 - "${FILESDIR}"/3.34-optional-bluetooth.patch - # Change favorites defaults, bug #479918 - "${FILESDIR}"/3.28.3-defaults.patch - # https://bugs.gentoo.org/736802 https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2997 - "${FILESDIR}"/${PV}-CVE-2020-17489.patch -) - -src_prepare() { - xdg_src_prepare - # Hack in correct python shebang - sed -e "s:python\.path():'/usr/bin/env ${EPYTHON}':" -i src/meson.build || die -} - -src_configure() { - local emesonargs=( - $(meson_use bluetooth) - -Dextensions_tool=true - $(meson_use gtk-doc gtk_doc) - -Dman=true - $(meson_use networkmanager) - $(meson_use systemd) # this controls journald integration and desktop file user services related property only as of 3.34.4 - # (structured logging and having gnome-shell launched apps use its own identifier instead of gnome-session) - # suspend support is runtime optional via /run/systemd/seats presence and org.freedesktop.login1.Manager dbus interface; elogind should provide what's necessary - ) - meson_src_configure -} - -src_install() { - meson_src_install - - # Required for gnome-shell on hardened/PaX, bug #398941; FIXME: Is this still relevant? - pax-mark m "${ED}/usr/bin/gnome-shell"{,-extension-prefs} -} - -src_test() { - virtx meson_src_test -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update - - if ! has_version 'media-libs/gst-plugins-good:1.0' || \ - ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then - ewarn "To make use of GNOME Shell's built-in screen recording utility," - ewarn "you need to either install media-libs/gst-plugins-good:1.0" - ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" - ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." - fi - - if ! has_version "media-libs/mesa[llvm]"; then - elog "llvmpipe is used as fallback when no 3D acceleration" - elog "is available. You will need to enable llvm USE for" - elog "media-libs/mesa if you do not have hardware 3D setup." - fi - - # https://bugs.gentoo.org/show_bug.cgi?id=563084 - # TODO: Is this still the case after various fixed in 3.28 for detecting non-working KMS for wayland (to fall back to X)? - if has_version "x11-drivers/nvidia-drivers[-kms]"; then - ewarn "You will need to enable kms support in x11-drivers/nvidia-drivers," - ewarn "otherwise Gnome will fail to start" - fi -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-base/gnome-shell/gnome-shell-3.34.5.ebuild b/gnome-base/gnome-shell/gnome-shell-3.34.5.ebuild deleted file mode 100644 index d1c2b7848cff..000000000000 --- a/gnome-base/gnome-shell/gnome-shell-3.34.5.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit gnome.org gnome2-utils meson pax-utils python-single-r1 virtualx xdg - -DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" -HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" - -LICENSE="GPL-2+ LGPL-2+" -SLOT="0" -IUSE="+bluetooth +browser-extension elogind gtk-doc +ibus +networkmanager systemd telepathy" -REQUIRED_USE="${PYTHON_REQUIRED_USE} - ?? ( elogind systemd )" - -KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86" - -# libXfixes-5.0 needed for pointer barriers and #include -# FIXME: -# * gstreamer support is currently automagic -DEPEND=" - >=dev-libs/libcroco-0.6.8:0.6 - >=gnome-extra/evolution-data-server-3.33.1:= - >=app-crypt/gcr-3.7.5[introspection] - >=dev-libs/glib-2.57.2:2 - >=dev-libs/gobject-introspection-1.49.1:= - >=dev-libs/gjs-1.57.3 - >=x11-libs/gtk+-3.15.0:3[introspection] - >=x11-wm/mutter-3.34.0:0/5[introspection] - >=sys-auth/polkit-0.100[introspection] - >=gnome-base/gsettings-desktop-schemas-3.33.1 - >=x11-libs/startup-notification-0.11 - >=app-i18n/ibus-1.5.2 - >=gnome-base/gnome-desktop-3.32:3=[introspection] - bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) - >=media-libs/gstreamer-0.11.92:1.0 - media-libs/gst-plugins-base:1.0 - networkmanager? ( - >=net-misc/networkmanager-1.10.4:=[introspection] - net-libs/libnma[introspection] - >=app-crypt/libsecret-0.18 - dev-libs/dbus-glib ) - systemd? ( >=sys-apps/systemd-31 - >=gnome-base/gnome-desktop-3.34.2:3=[systemd] ) - elogind? ( >=sys-auth/elogind-237 ) - app-arch/gnome-autoar - dev-libs/json-glib - - >=app-accessibility/at-spi2-atk-2.5.3 - x11-libs/gdk-pixbuf:2[introspection] - dev-libs/libxml2:2 - x11-libs/libX11 - - >=media-sound/pulseaudio-2[glib] - >=dev-libs/atk-2[introspection] - dev-libs/libical:= - >=x11-libs/libXfixes-5.0 - - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] - ') - media-libs/mesa[X(+)] -" -# Runtime-only deps are probably incomplete and approximate. -# Introspection deps generated using: -# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq -# Each block: -# 1. Introspection stuff needed via imports.gi.* -# 2. gnome-session needed for shutdown/reboot/inhibitors/etc -# 3. Control shell settings -# 4. logind interface needed for suspending support -# 5. xdg-utils needed for xdg-open, used by extension tool -# 6. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+) -# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review -# 8. IBus is needed for nls integration -# 9. Optional telepathy chat integration -# 10. Cantarell font used in gnome-shell global CSS (if removing this for some reason, make sure it's pulled in somehow for non-meta users still too) -# 11. TODO: semi-optional webkit-gtk[introspection] for captive portal helper -RDEPEND="${DEPEND} - >=sys-apps/accountsservice-0.6.14[introspection] - app-accessibility/at-spi2-core:2[introspection] - app-misc/geoclue[introspection] - >=dev-libs/libgweather-3.26:2[introspection] - >=sys-power/upower-0.99:=[introspection] - x11-libs/pango[introspection] - gnome-base/librsvg:2[introspection] - - >=gnome-base/gnome-session-2.91.91 - >=gnome-base/gnome-settings-daemon-3.8.3 - - x11-misc/xdg-utils - - >=x11-themes/adwaita-icon-theme-3.26 - - networkmanager? ( - net-misc/mobile-broadband-provider-info - sys-libs/timezone-data ) - ibus? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk,introspection] ) - telepathy? ( - >=net-im/telepathy-logger-0.2.4[introspection] - >=net-libs/telepathy-glib-0.19[introspection] ) - media-fonts/cantarell -" -# avoid circular dependency, see bug #546134 -PDEPEND=" - >=gnome-base/gdm-3.5[introspection] - >=gnome-base/gnome-control-center-3.26[bluetooth(+)?,networkmanager(+)?] - browser-extension? ( gnome-extra/chrome-gnome-shell ) -" -BDEPEND=" - dev-lang/sassc - dev-libs/libxslt - app-text/asciidoc - >=dev-util/gdbus-codegen-2.45.3 - dev-util/glib-utils - gtk-doc? ( >=dev-util/gtk-doc-1.17 - app-text/docbook-xml-dtd:4.3 ) - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig -" - -PATCHES=( - # Try to fix crashes related to custom stylesheet; triggered often by package installs (probably desktop database update) - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/1265 - # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 - "${FILESDIR}"/3.34.4-custom_stylesheet_crash.patch - # Fix automagic gnome-bluetooth dep, bug #398145 - "${FILESDIR}"/3.34-optional-bluetooth.patch - # Change favorites defaults, bug #479918 - "${FILESDIR}"/3.28.3-defaults.patch -) - -src_prepare() { - xdg_src_prepare - # Hack in correct python shebang - sed -e "s:python\.path():'/usr/bin/env ${EPYTHON}':" -i src/meson.build || die -} - -src_configure() { - local emesonargs=( - $(meson_use bluetooth) - -Dextensions_tool=true - $(meson_use gtk-doc gtk_doc) - -Dman=true - $(meson_use networkmanager) - $(meson_use systemd) # this controls journald integration and desktop file user services related property only as of 3.34.4 - # (structured logging and having gnome-shell launched apps use its own identifier instead of gnome-session) - # suspend support is runtime optional via /run/systemd/seats presence and org.freedesktop.login1.Manager dbus interface; elogind should provide what's necessary - ) - meson_src_configure -} - -src_install() { - meson_src_install - - # Required for gnome-shell on hardened/PaX, bug #398941; FIXME: Is this still relevant? - pax-mark m "${ED}/usr/bin/gnome-shell"{,-extension-prefs} -} - -src_test() { - virtx meson_src_test -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update - - if ! has_version 'media-libs/gst-plugins-good:1.0' || \ - ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then - ewarn "To make use of GNOME Shell's built-in screen recording utility," - ewarn "you need to either install media-libs/gst-plugins-good:1.0" - ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" - ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." - fi - - if ! has_version "media-libs/mesa[llvm]"; then - elog "llvmpipe is used as fallback when no 3D acceleration" - elog "is available. You will need to enable llvm USE for" - elog "media-libs/mesa if you do not have hardware 3D setup." - fi - - # https://bugs.gentoo.org/show_bug.cgi?id=563084 - # TODO: Is this still the case after various fixed in 3.28 for detecting non-working KMS for wayland (to fall back to X)? - if has_version "x11-drivers/nvidia-drivers[-kms]"; then - ewarn "You will need to enable kms support in x11-drivers/nvidia-drivers," - ewarn "otherwise Gnome will fail to start" - fi -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-base/gnome-shell/gnome-shell-3.36.5.ebuild b/gnome-base/gnome-shell/gnome-shell-3.36.5.ebuild deleted file mode 100644 index 95c35c773e37..000000000000 --- a/gnome-base/gnome-shell/gnome-shell-3.36.5.ebuild +++ /dev/null @@ -1,190 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit gnome.org gnome2-utils meson python-single-r1 virtualx xdg - -DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" -HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" -SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz" - -LICENSE="GPL-2+ LGPL-2+" -SLOT="0" -IUSE="+bluetooth +browser-extension elogind gtk-doc +ibus +networkmanager systemd telepathy" -REQUIRED_USE="${PYTHON_REQUIRED_USE} - ?? ( elogind systemd )" - -KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86" - -# libXfixes-5.0 needed for pointer barriers and #include -# FIXME: -# * gstreamer support is currently automagic -DEPEND=" - >=gnome-extra/evolution-data-server-3.33.1:= - >=app-crypt/gcr-3.7.5[introspection] - >=dev-libs/glib-2.57.2:2 - >=dev-libs/gobject-introspection-1.49.1:= - >=dev-libs/gjs-1.63.2 - >=x11-libs/gtk+-3.15.0:3[introspection] - >=x11-wm/mutter-3.36.0:0/6[introspection] - >=sys-auth/polkit-0.100[introspection] - >=gnome-base/gsettings-desktop-schemas-3.33.1 - >=x11-libs/startup-notification-0.11 - >=app-i18n/ibus-1.5.2 - >=gnome-base/gnome-desktop-3.35.90:3=[introspection] - bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) - >=media-libs/gstreamer-0.11.92:1.0 - media-libs/gst-plugins-base:1.0 - networkmanager? ( - >=net-misc/networkmanager-1.10.4:=[introspection] - net-libs/libnma[introspection] - >=app-crypt/libsecret-0.18 - dev-libs/dbus-glib ) - systemd? ( >=sys-apps/systemd-31 - >=gnome-base/gnome-desktop-3.34.2:3=[systemd] ) - elogind? ( >=sys-auth/elogind-237 ) - app-arch/gnome-autoar - dev-libs/json-glib - - >=app-accessibility/at-spi2-atk-2.5.3 - x11-libs/gdk-pixbuf:2[introspection] - dev-libs/libxml2:2 - x11-libs/libX11 - - >=media-sound/pulseaudio-2[glib] - >=dev-libs/atk-2[introspection] - dev-libs/libical:= - >=x11-libs/libXfixes-5.0 - - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] - ') - media-libs/mesa[X(+)] -" -# Runtime-only deps are probably incomplete and approximate. -# Introspection deps generated using: -# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq -# Each block: -# 1. Introspection stuff needed via imports.gi.* -# 2. gnome-session needed for shutdown/reboot/inhibitors/etc -# 3. Control shell settings -# 4. logind interface needed for suspending support -# 5. xdg-utils needed for xdg-open, used by extension tool -# 6. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+) -# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review -# 8. IBus is needed for nls integration -# 9. Optional telepathy chat integration -# 10. Cantarell font used in gnome-shell global CSS (if removing this for some reason, make sure it's pulled in somehow for non-meta users still too) -# 11. TODO: semi-optional webkit-gtk[introspection] for captive portal helper -RDEPEND="${DEPEND} - >=sys-apps/accountsservice-0.6.14[introspection] - app-accessibility/at-spi2-core:2[introspection] - app-misc/geoclue[introspection] - >=dev-libs/libgweather-3.26:2[introspection] - >=sys-power/upower-0.99:=[introspection] - x11-libs/pango[introspection] - gnome-base/librsvg:2[introspection] - - >=gnome-base/gnome-session-2.91.91 - >=gnome-base/gnome-settings-daemon-3.8.3 - - x11-misc/xdg-utils - - >=x11-themes/adwaita-icon-theme-3.26 - - networkmanager? ( - net-misc/mobile-broadband-provider-info - sys-libs/timezone-data ) - ibus? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk,introspection] ) - telepathy? ( - >=net-im/telepathy-logger-0.2.4[introspection] - >=net-libs/telepathy-glib-0.19[introspection] ) - media-fonts/cantarell -" -# avoid circular dependency, see bug #546134 -PDEPEND=" - >=gnome-base/gdm-3.5[introspection] - >=gnome-base/gnome-control-center-3.26[bluetooth(+)?,networkmanager(+)?] - browser-extension? ( gnome-extra/chrome-gnome-shell ) -" -BDEPEND=" - dev-lang/sassc - dev-libs/libxslt - app-text/asciidoc - >=dev-util/gdbus-codegen-2.45.3 - dev-util/glib-utils - gtk-doc? ( >=dev-util/gtk-doc-1.17 - app-text/docbook-xml-dtd:4.3 ) - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig -" - -PATCHES=( - # origin/gnome-3-36@03062d0d9d9f + try to fix crashes related to custom stylesheet; triggered often by package installs (probably desktop database update), screen unlock, etc - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/1265 - # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 - "${WORKDIR}"/patches - # Fix automagic gnome-bluetooth dep, bug #398145 - "${FILESDIR}"/3.34-optional-bluetooth.patch - # Change favorites defaults, bug #479918 - "${FILESDIR}"/3.36-defaults.patch -) - -src_prepare() { - xdg_src_prepare - # Hack in correct python shebang - sed -e "s:python\.path():'/usr/bin/env ${EPYTHON}':" -i src/meson.build || die -} - -src_configure() { - local emesonargs=( - $(meson_use bluetooth) - -Dextensions_tool=true - -Dextensions_app=true - $(meson_use gtk-doc gtk_doc) - -Dman=true - $(meson_use networkmanager) - $(meson_use systemd) # this controls journald integration and desktop file user services related property only as of 3.34.4 - # (structured logging and having gnome-shell launched apps use its own identifier instead of gnome-session) - # suspend support is runtime optional via /run/systemd/seats presence and org.freedesktop.login1.Manager dbus interface; elogind should provide what's necessary - ) - meson_src_configure -} - -src_test() { - virtx meson_src_test -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update - - if ! has_version 'media-libs/gst-plugins-good:1.0' || \ - ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then - ewarn "To make use of GNOME Shell's built-in screen recording utility," - ewarn "you need to either install media-libs/gst-plugins-good:1.0" - ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" - ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." - fi - - if ! has_version "media-libs/mesa[llvm]"; then - elog "llvmpipe is used as fallback when no 3D acceleration" - elog "is available. You will need to enable llvm USE for" - elog "media-libs/mesa if you do not have hardware 3D setup." - fi - - # https://bugs.gentoo.org/show_bug.cgi?id=563084 - # TODO: Is this still the case after various fixed in 3.28 for detecting non-working KMS for wayland (to fall back to X)? - if has_version "x11-drivers/nvidia-drivers[-kms]"; then - ewarn "You will need to enable kms support in x11-drivers/nvidia-drivers," - ewarn "otherwise Gnome will fail to start" - fi -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-base/gnome-shell/gnome-shell-3.36.7.ebuild b/gnome-base/gnome-shell/gnome-shell-3.36.7.ebuild new file mode 100644 index 000000000000..b50d1082d087 --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-3.36.7.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit gnome.org gnome2-utils meson python-single-r1 virtualx xdg + +DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" +SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="+bluetooth +browser-extension elogind gtk-doc +ibus +networkmanager systemd telepathy" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ?? ( elogind systemd )" + +KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86" + +# libXfixes-5.0 needed for pointer barriers and #include +# FIXME: +# * gstreamer support is currently automagic +DEPEND=" + >=gnome-extra/evolution-data-server-3.33.1:= + >=app-crypt/gcr-3.7.5[introspection] + >=dev-libs/glib-2.57.2:2 + >=dev-libs/gobject-introspection-1.49.1:= + >=dev-libs/gjs-1.63.2 + >=x11-libs/gtk+-3.15.0:3[introspection] + >=x11-wm/mutter-3.36.0:0/6[introspection] + >=sys-auth/polkit-0.100[introspection] + >=gnome-base/gsettings-desktop-schemas-3.33.1 + >=x11-libs/startup-notification-0.11 + >=app-i18n/ibus-1.5.2 + >=gnome-base/gnome-desktop-3.35.90:3=[introspection] + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) + >=media-libs/gstreamer-0.11.92:1.0 + media-libs/gst-plugins-base:1.0 + networkmanager? ( + >=net-misc/networkmanager-1.10.4:=[introspection] + net-libs/libnma[introspection] + >=app-crypt/libsecret-0.18 + dev-libs/dbus-glib ) + systemd? ( >=sys-apps/systemd-31 + >=gnome-base/gnome-desktop-3.34.2:3=[systemd] ) + elogind? ( >=sys-auth/elogind-237 ) + app-arch/gnome-autoar + dev-libs/json-glib + + >=app-accessibility/at-spi2-atk-2.5.3 + x11-libs/gdk-pixbuf:2[introspection] + dev-libs/libxml2:2 + x11-libs/libX11 + + >=media-sound/pulseaudio-12.99.3[glib] + >=dev-libs/atk-2[introspection] + dev-libs/libical:= + >=x11-libs/libXfixes-5.0 + + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] + ') + media-libs/mesa[X(+)] +" +# Runtime-only deps are probably incomplete and approximate. +# Introspection deps generated using: +# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq +# Each block: +# 1. Introspection stuff needed via imports.gi.* +# 2. gnome-session needed for shutdown/reboot/inhibitors/etc +# 3. Control shell settings +# 4. logind interface needed for suspending support +# 5. xdg-utils needed for xdg-open, used by extension tool +# 6. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+) +# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review +# 8. IBus is needed for nls integration +# 9. Optional telepathy chat integration +# 10. Cantarell font used in gnome-shell global CSS (if removing this for some reason, make sure it's pulled in somehow for non-meta users still too) +# 11. TODO: semi-optional webkit-gtk[introspection] for captive portal helper +RDEPEND="${DEPEND} + >=sys-apps/accountsservice-0.6.14[introspection] + app-accessibility/at-spi2-core:2[introspection] + app-misc/geoclue[introspection] + >=dev-libs/libgweather-3.26:2[introspection] + >=sys-power/upower-0.99:=[introspection] + x11-libs/pango[introspection] + gnome-base/librsvg:2[introspection] + + >=gnome-base/gnome-session-2.91.91 + >=gnome-base/gnome-settings-daemon-3.8.3 + + x11-misc/xdg-utils + + >=x11-themes/adwaita-icon-theme-3.26 + + networkmanager? ( + net-misc/mobile-broadband-provider-info + sys-libs/timezone-data ) + ibus? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk,introspection] ) + telepathy? ( + >=net-im/telepathy-logger-0.2.4[introspection] + >=net-libs/telepathy-glib-0.19[introspection] ) + media-fonts/cantarell +" +# avoid circular dependency, see bug #546134 +PDEPEND=" + >=gnome-base/gdm-3.5[introspection] + >=gnome-base/gnome-control-center-3.26[bluetooth(+)?,networkmanager(+)?] + browser-extension? ( gnome-extra/chrome-gnome-shell ) +" +BDEPEND=" + dev-lang/sassc + dev-libs/libxslt + app-text/asciidoc + >=dev-util/gdbus-codegen-2.45.3 + dev-util/glib-utils + gtk-doc? ( >=dev-util/gtk-doc-1.17 + app-text/docbook-xml-dtd:4.3 ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + # origin/gnome-3-36@03062d0d9d9f + try to fix crashes related to custom stylesheet; triggered often by package installs (probably desktop database update), screen unlock, etc + # https://gitlab.gnome.org/GNOME/gnome-shell/issues/1265 + # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/536 + "${WORKDIR}"/patches + # Fix automagic gnome-bluetooth dep, bug #398145 + "${FILESDIR}"/3.34-optional-bluetooth.patch + # Change favorites defaults, bug #479918 + "${FILESDIR}"/3.36-defaults.patch +) + +src_prepare() { + xdg_src_prepare + # Hack in correct python shebang + sed -e "s:python\.path():'/usr/bin/env ${EPYTHON}':" -i src/meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_use bluetooth) + -Dextensions_tool=true + -Dextensions_app=true + $(meson_use gtk-doc gtk_doc) + -Dman=true + $(meson_use networkmanager) + $(meson_use systemd) # this controls journald integration and desktop file user services related property only as of 3.34.4 + # (structured logging and having gnome-shell launched apps use its own identifier instead of gnome-session) + # suspend support is runtime optional via /run/systemd/seats presence and org.freedesktop.login1.Manager dbus interface; elogind should provide what's necessary + ) + meson_src_configure +} + +src_test() { + virtx meson_src_test +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + if ! has_version 'media-libs/gst-plugins-good:1.0' || \ + ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then + ewarn "To make use of GNOME Shell's built-in screen recording utility," + ewarn "you need to either install media-libs/gst-plugins-good:1.0" + ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" + ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." + fi + + if ! has_version "media-libs/mesa[llvm]"; then + elog "llvmpipe is used as fallback when no 3D acceleration" + elog "is available. You will need to enable llvm USE for" + elog "media-libs/mesa if you do not have hardware 3D setup." + fi + + # https://bugs.gentoo.org/show_bug.cgi?id=563084 + # TODO: Is this still the case after various fixed in 3.28 for detecting non-working KMS for wayland (to fall back to X)? + if has_version "x11-drivers/nvidia-drivers[-kms]"; then + ewarn "You will need to enable kms support in x11-drivers/nvidia-drivers," + ewarn "otherwise Gnome will fail to start" + fi +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/gnome-base/gnome-shell/gnome-shell-3.38.1.ebuild b/gnome-base/gnome-shell/gnome-shell-3.38.1.ebuild new file mode 100644 index 000000000000..e512f2ed4767 --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-3.38.1.ebuild @@ -0,0 +1,186 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit gnome.org gnome2-utils meson python-single-r1 virtualx xdg + +DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="+bluetooth +browser-extension elogind gtk-doc +ibus +networkmanager systemd telepathy" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ?? ( elogind systemd )" + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +# libXfixes-5.0 needed for pointer barriers and #include +# FIXME: +# * gstreamer/pipewire support is currently automagic +DEPEND=" + >=gnome-extra/evolution-data-server-3.33.1:= + >=app-crypt/gcr-3.7.5[introspection] + >=dev-libs/glib-2.57.2:2 + >=dev-libs/gobject-introspection-1.49.1:= + >=dev-libs/gjs-1.65.1 + >=x11-libs/gtk+-3.15.0:3[introspection] + >=x11-wm/mutter-3.38.0:0/7[introspection] + >=sys-auth/polkit-0.100[introspection] + >=gnome-base/gsettings-desktop-schemas-3.33.1 + >=x11-libs/startup-notification-0.11 + >=app-i18n/ibus-1.5.2 + >=gnome-base/gnome-desktop-3.35.90:3=[introspection] + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) + >=media-libs/gstreamer-0.11.92:1.0 + media-libs/gst-plugins-base:1.0 + >=media-video/pipewire-0.3.0:0/0.3 + networkmanager? ( + >=net-misc/networkmanager-1.10.4:=[introspection] + net-libs/libnma[introspection] + >=app-crypt/libsecret-0.18 + dev-libs/dbus-glib ) + systemd? ( >=sys-apps/systemd-31 + >=gnome-base/gnome-desktop-3.34.2:3=[systemd] ) + elogind? ( >=sys-auth/elogind-237 ) + app-arch/gnome-autoar + dev-libs/json-glib + + >=app-accessibility/at-spi2-atk-2.5.3 + x11-libs/gdk-pixbuf:2[introspection] + dev-libs/libxml2:2 + x11-libs/libX11 + + >=media-sound/pulseaudio-2[glib] + >=dev-libs/atk-2[introspection] + dev-libs/libical:= + >=x11-libs/libXfixes-5.0 + + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}] + ') + media-libs/mesa[X(+)] +" +# Runtime-only deps are probably incomplete and approximate. +# Introspection deps generated using: +# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq +# Each block: +# 1. Introspection stuff needed via imports.gi.* +# 2. gnome-session needed for shutdown/reboot/inhibitors/etc +# 3. Control shell settings +# 4. logind interface needed for suspending support +# 5. xdg-utils needed for xdg-open, used by extension tool +# 6. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+) +# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review +# 8. IBus is needed for nls integration +# 9. Optional telepathy chat integration +# 10. Cantarell font used in gnome-shell global CSS (if removing this for some reason, make sure it's pulled in somehow for non-meta users still too) +# 11. TODO: semi-optional webkit-gtk[introspection] for captive portal helper +RDEPEND="${DEPEND} + >=sys-apps/accountsservice-0.6.14[introspection] + app-accessibility/at-spi2-core:2[introspection] + app-misc/geoclue[introspection] + >=dev-libs/libgweather-3.26:2[introspection] + >=sys-power/upower-0.99:=[introspection] + x11-libs/pango[introspection] + gnome-base/librsvg:2[introspection] + + >=gnome-base/gnome-session-2.91.91 + >=gnome-base/gnome-settings-daemon-3.8.3 + + x11-misc/xdg-utils + + >=x11-themes/adwaita-icon-theme-3.26 + + networkmanager? ( + net-misc/mobile-broadband-provider-info + sys-libs/timezone-data ) + ibus? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk,introspection] ) + telepathy? ( + >=net-im/telepathy-logger-0.2.4[introspection] + >=net-libs/telepathy-glib-0.19[introspection] ) + media-fonts/cantarell +" +# avoid circular dependency, see bug #546134 +PDEPEND=" + >=gnome-base/gdm-3.5[introspection] + >=gnome-base/gnome-control-center-3.26[bluetooth(+)?,networkmanager(+)?] + browser-extension? ( gnome-extra/chrome-gnome-shell ) +" +BDEPEND=" + dev-lang/sassc + dev-libs/libxslt + app-text/asciidoc + >=dev-util/gdbus-codegen-2.45.3 + dev-util/glib-utils + gtk-doc? ( >=dev-util/gtk-doc-1.17 + app-text/docbook-xml-dtd:4.3 ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + # Fix automagic gnome-bluetooth dep, bug #398145 + "${FILESDIR}"/3.34-optional-bluetooth.patch + # Change favorites defaults, bug #479918 + "${FILESDIR}"/3.36-defaults.patch +) + +src_prepare() { + xdg_src_prepare + # Hack in correct python shebang + sed -e "s:python\.path():'/usr/bin/env ${EPYTHON}':" -i src/meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_use bluetooth) + -Dextensions_tool=true + -Dextensions_app=true + $(meson_use gtk-doc gtk_doc) + -Dman=true + $(meson_use networkmanager) + $(meson_use systemd) # this controls journald integration and desktop file user services related property only as of 3.34.4 + # (structured logging and having gnome-shell launched apps use its own identifier instead of gnome-session) + # suspend support is runtime optional via /run/systemd/seats presence and org.freedesktop.login1.Manager dbus interface; elogind should provide what's necessary + ) + meson_src_configure +} + +src_test() { + virtx meson_src_test +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + if ! has_version 'media-libs/gst-plugins-good:1.0' || \ + ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then + ewarn "To make use of GNOME Shell's built-in screen recording utility," + ewarn "you need to either install media-libs/gst-plugins-good:1.0" + ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" + ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." + fi + + if ! has_version "media-libs/mesa[llvm]"; then + elog "llvmpipe is used as fallback when no 3D acceleration" + elog "is available. You will need to enable llvm USE for" + elog "media-libs/mesa if you do not have hardware 3D setup." + fi + + # https://bugs.gentoo.org/show_bug.cgi?id=563084 + # TODO: Is this still the case after various fixed in 3.28 for detecting non-working KMS for wayland (to fall back to X)? + if has_version "x11-drivers/nvidia-drivers[-kms]"; then + ewarn "You will need to enable kms support in x11-drivers/nvidia-drivers," + ewarn "otherwise Gnome will fail to start" + fi +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} -- cgit v1.2.3