Gentoo Archives: gentoo-commits

From: "Andreas K. Hüttel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/inkscape/files/, media-gfx/inkscape/
Date: Sat, 25 Sep 2021 15:59:14
Message-Id: 1632585537.a0c757b987c124e1e3b6764488985105432282d4.dilfridge@gentoo
1 commit: a0c757b987c124e1e3b6764488985105432282d4
2 Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 25 15:58:37 2021 +0000
4 Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 25 15:58:57 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0c757b9
7
8 media-gfx/inkscape: various minor fixups
9
10 Package-Manager: Portage-3.0.23, Repoman-3.0.3
11 Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
12
13 media-gfx/inkscape/Manifest | 1 +
14 .../inkscape/files/inkscape-1.1-sentinels.patch | 727 ---------------------
15 media-gfx/inkscape/inkscape-1.1.ebuild | 18 +-
16 media-gfx/inkscape/inkscape-9999.ebuild | 6 +-
17 4 files changed, 14 insertions(+), 738 deletions(-)
18
19 diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest
20 index 1810db36929..6e34122c13f 100644
21 --- a/media-gfx/inkscape/Manifest
22 +++ b/media-gfx/inkscape/Manifest
23 @@ -1,2 +1,3 @@
24 DIST inkscape-1.0.2.tar.xz 32421620 BLAKE2B c3f9c37b15343ba0955a6d06810aef5fb9e035a240f99579301b8cd93858a62b5ed1a3ff528a9642ec74b8900305495236cf7f4c672864369a4e33dca3b34bd4 SHA512 f4fbc627c0f07db11194715c505b771a60af29a9a7f8be0232e4f7eb6b1c5814c3f160c2003d64ec62aeb92ef44174320a47aa6b6abc7a67cc27c996cba9522d
25 +DIST inkscape-1.1-musl.txz 10820 BLAKE2B 3e7d346161d8c58436cae01227ce0eafc122276ba4b0483271cbb2e74447c7a89b2033bf709adb521abe2aebca79fffece183786071478b29aedbf3c742c4616 SHA512 8900863fb2d12cb6aea39b2e2ac8d32b512086aa3a26f3598d3117abd0b44f95b6001ea21ac02ce2368dd66dee0faefdef049c433f62380904770b7680680668
26 DIST inkscape-1.1.tar.xz 34203156 BLAKE2B 38896509dcdcf1ef18523c790855035ef16dfae75e27c2d69f782270f52a579557edcb790bef30f3210b9f797a619369d7d16dd23f098debdd8e5b6abf9b30aa SHA512 54b75f8794d748ef59d5b719ea04e3debadc1a5cf3f62f14254502567973bbd634850edd0a3bc082be878dacf041e9bd10982c4846bf154f89aa5319eda4ee80
27
28 diff --git a/media-gfx/inkscape/files/inkscape-1.1-sentinels.patch b/media-gfx/inkscape/files/inkscape-1.1-sentinels.patch
29 deleted file mode 100644
30 index b4768d44f27..00000000000
31 --- a/media-gfx/inkscape/files/inkscape-1.1-sentinels.patch
32 +++ /dev/null
33 @@ -1,727 +0,0 @@
34 -From 3abc0aac5ffed8a130086e93b1fdba596f505a1c Mon Sep 17 00:00:00 2001
35 -From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@×××××.cz>
36 -Date: Fri, 2 Jul 2021 12:10:48 +0200
37 -Subject: [PATCH] Fix sentinel errors for builds against musl libc
38 -MIME-Version: 1.0
39 -Content-Type: text/plain; charset=UTF-8
40 -Content-Transfer-Encoding: 8bit
41 -
42 -This change fixes failing builds on systems with musl libc, where one
43 -can experience lots of errors similar to following one:
44 -
45 -```
46 -FAILED: src/libnrtype/CMakeFiles/nrtype_LIB.dir/font-lister.cpp.o
47 -/usr/bin/c++ ... -c ../src/libnrtype/font-lister.cpp
48 -../src/libnrtype/font-lister.cpp: In function ‘void font_lister_cell_data_func2(GtkCellLayout*, GtkCellRenderer*, GtkTreeModel*, GtkTreeIter*, gpointer)’:
49 -../src/libnrtype/font-lister.cpp:1236:64: error: missing sentinel in function call [-Werror=format=]
50 - 1236 | g_object_set(G_OBJECT(cell), "markup", markup.c_str(), NULL);
51 - | ^
52 -```
53 -
54 -Those errors are triggered by the compiler, because musl does not use
55 -GCC's or Clang's __null extension for NULL definition, because it seems
56 -non-conforming to the standard's requirements [1]. However, it is
57 -possible to trigger this error with -Wstrict-null-sentinel GCC flag on
58 -systems with glibc.
59 -
60 -[1]: https://git.musl-libc.org/cgit/musl/commit/?id=c8a9c22173f485c8c053709e1dfa0a617cb6be1a
61 -
62 ----
63 -
64 -The patch is taken from upstream 1.1.x branch.
65 -
66 -Upstream-issue: https://gitlab.com/inkscape/inkscape/-/issues/1880
67 -Upstream-MR: https://gitlab.com/inkscape/inkscape/-/merge_requests/3378
68 -Backported-from: https://gitlab.com/inkscape/inkscape/-/merge_requests/3378/diffs?commit_id=8d8d7adb07649fa64f9879b56187708ab7166149
69 -
70 -
71 -
72 -diff --git a/src/display/nr-filter-image.cpp b/src/display/nr-filter-image.cpp
73 -index bfc2b6bb1f..5311d8cbce 100644
74 ---- a/src/display/nr-filter-image.cpp
75 -+++ b/src/display/nr-filter-image.cpp
76 -@@ -158,7 +158,7 @@ void FilterImage::render_cairo(FilterSlot &slot)
77 - if ( !g_file_test( fullname, G_FILE_TEST_EXISTS ) ) {
78 - // Try to load from relative position combined with document base
79 - if( document ) {
80 -- fullname = g_build_filename( document->getDocumentBase(), feImageHref, NULL );
81 -+ fullname = g_build_filename( document->getDocumentBase(), feImageHref, nullptr );
82 - }
83 - }
84 - if ( !g_file_test( fullname, G_FILE_TEST_EXISTS ) ) {
85 -diff --git a/src/extension/dbus/document-interface.cpp b/src/extension/dbus/document-interface.cpp
86 -index 5021734722..f490b5b6d5 100644
87 ---- a/src/extension/dbus/document-interface.cpp
88 -+++ b/src/extension/dbus/document-interface.cpp
89 -@@ -474,7 +474,7 @@ document_interface_spiral (DocumentInterface *doc_interface, int cx, int cy,
90 - sp_repr_set_int(newNode, "sodipodi:expansion", 1);
91 - gchar * retval = finish_create_shape (doc_interface, error, newNode, (gchar *)"create spiral");
92 - //Makes sure there is no fill for spirals by default.
93 -- gchar* newString = g_strconcat(newNode->attribute("style"), ";fill:none", NULL);
94 -+ gchar* newString = g_strconcat(newNode->attribute("style"), ";fill:none", nullptr);
95 - newNode->setAttribute("style", newString);
96 - g_free(newString);
97 - return retval;
98 -diff --git a/src/extension/dependency.cpp b/src/extension/dependency.cpp
99 -index f94634bbc3..09928c64f7 100644
100 ---- a/src/extension/dependency.cpp
101 -+++ b/src/extension/dependency.cpp
102 -@@ -186,7 +186,7 @@ bool Dependency::check ()
103 - break;
104 - }
105 - /* Look for deprecated locations next */
106 -- auto deprloc = g_build_filename("inkex", "deprecated-simple", location.c_str(), NULL);
107 -+ auto deprloc = g_build_filename("inkex", "deprecated-simple", location.c_str(), nullptr);
108 - std::string tempdepr =
109 - Inkscape::IO::Resource::get_filename_string(Inkscape::IO::Resource::EXTENSIONS, deprloc, false, true);
110 - g_free(deprloc);
111 -diff --git a/src/inkscape.cpp b/src/inkscape.cpp
112 -index 29b7e08c25..07794fd8b9 100644
113 ---- a/src/inkscape.cpp
114 -+++ b/src/inkscape.cpp
115 -@@ -434,15 +434,15 @@ void Application::add_gtk_css(bool only_providers)
116 - gboolean gtkApplicationPreferDarkTheme;
117 - GtkSettings *settings = gtk_settings_get_default();
118 - if (settings && !only_providers) {
119 -- g_object_get(settings, "gtk-icon-theme-name", &gtkIconThemeName, NULL);
120 -- g_object_get(settings, "gtk-theme-name", &gtkThemeName, NULL);
121 -- g_object_get(settings, "gtk-application-prefer-dark-theme", &gtkApplicationPreferDarkTheme, NULL);
122 -+ g_object_get(settings, "gtk-icon-theme-name", &gtkIconThemeName, nullptr);
123 -+ g_object_get(settings, "gtk-theme-name", &gtkThemeName, nullptr);
124 -+ g_object_get(settings, "gtk-application-prefer-dark-theme", &gtkApplicationPreferDarkTheme, nullptr);
125 - prefs->setBool("/theme/defaultPreferDarkTheme", gtkApplicationPreferDarkTheme);
126 - prefs->setString("/theme/defaultGtkTheme", Glib::ustring(gtkThemeName));
127 - prefs->setString("/theme/defaultIconTheme", Glib::ustring(gtkIconThemeName));
128 - Glib::ustring gtkthemename = prefs->getString("/theme/gtkTheme");
129 - if (gtkthemename != "") {
130 -- g_object_set(settings, "gtk-theme-name", gtkthemename.c_str(), NULL);
131 -+ g_object_set(settings, "gtk-theme-name", gtkthemename.c_str(), nullptr);
132 - } else {
133 - Glib::RefPtr<Gdk::Display> display = Gdk::Display::get_default();
134 - Glib::RefPtr<Gdk::Screen> screen = display->get_default_screen();
135 -@@ -451,13 +451,13 @@ void Application::add_gtk_css(bool only_providers)
136 - prefs->setBool("/theme/symbolicIcons", iconinfo.is_symbolic());
137 - }
138 - bool preferdarktheme = prefs->getBool("/theme/preferDarkTheme", false);
139 -- g_object_set(settings, "gtk-application-prefer-dark-theme", preferdarktheme, NULL);
140 -+ g_object_set(settings, "gtk-application-prefer-dark-theme", preferdarktheme, nullptr);
141 - themeiconname = prefs->getString("/theme/iconTheme");
142 - // legacy cleanup
143 - if (themeiconname == prefs->getString("/theme/defaultIconTheme")) {
144 - prefs->setString("/theme/iconTheme", "");
145 - } else if (themeiconname != "") {
146 -- g_object_set(settings, "gtk-icon-theme-name", themeiconname.c_str(), NULL);
147 -+ g_object_set(settings, "gtk-icon-theme-name", themeiconname.c_str(), nullptr);
148 - }
149 - }
150 -
151 -@@ -684,7 +684,7 @@ Application::crash_handler (int /*signum*/)
152 - FILE *file = nullptr;
153 - for(auto & location : locations) {
154 - if (!location) continue; // It seems to be okay, but just in case
155 -- gchar * filename = g_build_filename(location, c, NULL);
156 -+ gchar * filename = g_build_filename(location, c, nullptr);
157 - Inkscape::IO::dump_fopen_call(filename, "E");
158 - file = Inkscape::IO::fopen_utf8name(filename, "w");
159 - if (file) {
160 -diff --git a/src/io/resource.cpp b/src/io/resource.cpp
161 -index fec933f1a9..c75c4ed6cf 100644
162 ---- a/src/io/resource.cpp
163 -+++ b/src/io/resource.cpp
164 -@@ -445,14 +445,14 @@ char const *profile_path()
165 - }
166 -
167 - if (prefdir) {
168 -- const char *prefdir_profile = g_build_filename(prefdir, INKSCAPE_PROFILE_DIR, NULL);
169 -+ const char *prefdir_profile = g_build_filename(prefdir, INKSCAPE_PROFILE_DIR, nullptr);
170 - g_free((void *)prefdir);
171 - prefdir = prefdir_profile;
172 - }
173 - }
174 - #endif
175 - if (!prefdir) {
176 -- prefdir = g_build_filename(g_get_user_config_dir(), INKSCAPE_PROFILE_DIR, NULL);
177 -+ prefdir = g_build_filename(g_get_user_config_dir(), INKSCAPE_PROFILE_DIR, nullptr);
178 - // In case the XDG user config dir of the moment does not yet exist...
179 - int mode = S_IRWXU;
180 - #ifdef S_IRGRP
181 -@@ -471,7 +471,7 @@ char const *profile_path()
182 - gchar const *userDirs[] = { "keys", "templates", "icons", "extensions", "ui",
183 - "symbols", "paint", "themes", "palettes", nullptr };
184 - for (gchar const** name = userDirs; *name; ++name) {
185 -- gchar *dir = g_build_filename(prefdir, *name, NULL);
186 -+ gchar *dir = g_build_filename(prefdir, *name, nullptr);
187 - g_mkdir_with_parents(dir, mode);
188 - g_free(dir);
189 - }
190 -@@ -495,7 +495,7 @@ char *homedir_path(const char *filename)
191 - static const gchar *homedir = nullptr;
192 - homedir = g_get_home_dir();
193 -
194 -- return g_build_filename(homedir, filename, NULL);
195 -+ return g_build_filename(homedir, filename, nullptr);
196 - }
197 -
198 - }
199 -diff --git a/src/libnrtype/font-lister.cpp b/src/libnrtype/font-lister.cpp
200 -index 6177e7479d..75ff172c05 100644
201 ---- a/src/libnrtype/font-lister.cpp
202 -+++ b/src/libnrtype/font-lister.cpp
203 -@@ -1233,7 +1233,7 @@ void font_lister_cell_data_func2(GtkCellLayout * /*cell_layout*/,
204 - g_free(sample_escaped);
205 - }
206 -
207 -- g_object_set(G_OBJECT(cell), "markup", markup.c_str(), NULL);
208 -+ g_object_set(G_OBJECT(cell), "markup", markup.c_str(), nullptr);
209 - g_free(family);
210 - g_free(family_escaped);
211 - }
212 -diff --git a/src/object/color-profile.cpp b/src/object/color-profile.cpp
213 -index da103e90d1..a2464194dc 100644
214 ---- a/src/object/color-profile.cpp
215 -+++ b/src/object/color-profile.cpp
216 -@@ -700,7 +700,7 @@ std::set<ColorProfile::FilePlusHome> ColorProfile::getBaseProfileDirs() {
217 - std::set<ColorProfile::FilePlusHome> sources;
218 -
219 - // first try user's local dir
220 -- gchar* path = g_build_filename(g_get_user_data_dir(), "color", "icc", NULL);
221 -+ gchar* path = g_build_filename(g_get_user_data_dir(), "color", "icc", nullptr);
222 - sources.insert(FilePlusHome(path, true));
223 - g_free(path);
224 -
225 -@@ -708,11 +708,11 @@ std::set<ColorProfile::FilePlusHome> ColorProfile::getBaseProfileDirs() {
226 - // (see https://github.com/hughsie/colord/blob/fe10f76536bb27614ced04e0ff944dc6fb4625c0/lib/colord/cd-icc-store.c#L590)
227 -
228 - // user store
229 -- path = g_build_filename(g_get_user_data_dir(), "icc", NULL);
230 -+ path = g_build_filename(g_get_user_data_dir(), "icc", nullptr);
231 - sources.insert(FilePlusHome(path, true));
232 - g_free(path);
233 -
234 -- path = g_build_filename(g_get_home_dir(), ".color", "icc", NULL);
235 -+ path = g_build_filename(g_get_home_dir(), ".color", "icc", nullptr);
236 - sources.insert(FilePlusHome(path, true));
237 - g_free(path);
238 -
239 -@@ -722,7 +722,7 @@ std::set<ColorProfile::FilePlusHome> ColorProfile::getBaseProfileDirs() {
240 -
241 - const gchar* const * dataDirs = g_get_system_data_dirs();
242 - for ( int i = 0; dataDirs[i]; i++ ) {
243 -- gchar* path = g_build_filename(dataDirs[i], "color", "icc", NULL);
244 -+ gchar* path = g_build_filename(dataDirs[i], "color", "icc", nullptr);
245 - sources.insert(FilePlusHome(path, false));
246 - g_free(path);
247 - }
248 -@@ -732,7 +732,7 @@ std::set<ColorProfile::FilePlusHome> ColorProfile::getBaseProfileDirs() {
249 - sources.insert(FilePlusHome("/System/Library/ColorSync/Profiles", false));
250 - sources.insert(FilePlusHome("/Library/ColorSync/Profiles", false));
251 -
252 -- gchar *path = g_build_filename(g_get_home_dir(), "Library", "ColorSync", "Profiles", NULL);
253 -+ gchar *path = g_build_filename(g_get_home_dir(), "Library", "ColorSync", "Profiles", nullptr);
254 - sources.insert(FilePlusHome(path, true));
255 - g_free(path);
256 - }
257 -diff --git a/src/object/sp-guide.cpp b/src/object/sp-guide.cpp
258 -index 01e7596801..678c2b20bc 100644
259 ---- a/src/object/sp-guide.cpp
260 -+++ b/src/object/sp-guide.cpp
261 -@@ -538,7 +538,7 @@ char* SPGuide::description(bool const verbose) const
262 -
263 - if (verbose) {
264 - gchar *oldDescr = descr;
265 -- descr = g_strconcat(oldDescr, shortcuts, NULL);
266 -+ descr = g_strconcat(oldDescr, shortcuts, nullptr);
267 - g_free(oldDescr);
268 - }
269 -
270 -diff --git a/src/object/sp-image.cpp b/src/object/sp-image.cpp
271 -index 3c3fc5dd8a..459ecd4243 100644
272 ---- a/src/object/sp-image.cpp
273 -+++ b/src/object/sp-image.cpp
274 -@@ -756,7 +756,7 @@ void sp_embed_image(Inkscape::XML::Node *image_node, Inkscape::Pixbuf *pb)
275 - if (data == nullptr) {
276 - // if there is no supported MIME data, embed as PNG
277 - data_mimetype = "image/png";
278 -- gdk_pixbuf_save_to_buffer(pb->getPixbufRaw(), reinterpret_cast<gchar**>(&data), &len, "png", nullptr, NULL);
279 -+ gdk_pixbuf_save_to_buffer(pb->getPixbufRaw(), reinterpret_cast<gchar**>(&data), &len, "png", nullptr, nullptr);
280 - free_data = true;
281 - }
282 -
283 -diff --git a/src/rdf.cpp b/src/rdf.cpp
284 -index 563776a19b..3aeb0afa9d 100644
285 ---- a/src/rdf.cpp
286 -+++ b/src/rdf.cpp
287 -@@ -543,7 +543,7 @@ const gchar *RDFImpl::getReprText( Inkscape::XML::Node const * repr, struct rdf_
288 - const gchar * str = temp->firstChild()->content();
289 - if (bag) {
290 - holder = bag;
291 -- bag = g_strconcat(holder, ", ", str, NULL);
292 -+ bag = g_strconcat(holder, ", ", str, nullptr);
293 - g_free(holder);
294 - }
295 - else {
296 -diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
297 -index 5596030a64..38c5d59063 100644
298 ---- a/src/selection-chemistry.cpp
299 -+++ b/src/selection-chemistry.cpp
300 -@@ -3663,7 +3663,7 @@ void ObjectSet::createBitmapCopy()
301 - if (directory == nullptr) {
302 - directory = Inkscape::IO::Resource::homedir_path(nullptr);
303 - }
304 -- gchar *filepath = g_build_filename(directory, basename, NULL);
305 -+ gchar *filepath = g_build_filename(directory, basename, nullptr);
306 - g_free(directory);
307 -
308 - //g_print("%s\n", filepath);
309 -diff --git a/src/ui/clipboard.cpp b/src/ui/clipboard.cpp
310 -index 0cddf4586c..426ec52e81 100644
311 ---- a/src/ui/clipboard.cpp
312 -+++ b/src/ui/clipboard.cpp
313 -@@ -1221,7 +1221,7 @@ bool ClipboardManagerImpl::_pasteImage(SPDocument *doc)
314 - prefs->setBool("/dialogs/import/ask", false);
315 - png->set_gui(false);
316 -
317 -- gchar *filename = g_build_filename( g_get_user_cache_dir(), "inkscape-clipboard-import", NULL );
318 -+ gchar *filename = g_build_filename( g_get_user_cache_dir(), "inkscape-clipboard-import", nullptr );
319 - img->save(filename, "png");
320 - file_import(doc, filename, png);
321 - g_free(filename);
322 -@@ -1320,7 +1320,7 @@ std::unique_ptr<SPDocument> ClipboardManagerImpl::_retrieveClipboard(Glib::ustri
323 -
324 - // FIXME: Temporary hack until we add memory input.
325 - // Save the clipboard contents to some file, then read it
326 -- gchar *filename = g_build_filename( g_get_user_cache_dir(), "inkscape-clipboard-import", NULL );
327 -+ gchar *filename = g_build_filename( g_get_user_cache_dir(), "inkscape-clipboard-import", nullptr );
328 -
329 - bool file_saved = false;
330 - Glib::ustring target = best_target;
331 -@@ -1413,7 +1413,7 @@ void ClipboardManagerImpl::_onGet(Gtk::SelectionData &sel, guint /*info*/)
332 -
333 - // FIXME: Temporary hack until we add support for memory output.
334 - // Save to a temporary file, read it back and then set the clipboard contents
335 -- gchar *filename = g_build_filename( g_get_user_cache_dir(), "inkscape-clipboard-export", NULL );
336 -+ gchar *filename = g_build_filename( g_get_user_cache_dir(), "inkscape-clipboard-export", nullptr );
337 - gchar *data = nullptr;
338 - gsize len;
339 -
340 -@@ -1675,7 +1675,7 @@ void ClipboardManagerImpl::_setClipboardTargets()
341 - if ( out != outlist.end() ) {
342 - // FIXME: Temporary hack until we add support for memory output.
343 - // Save to a temporary file, read it back and then set the clipboard contents
344 -- gchar *filename = g_build_filename( g_get_user_cache_dir(), "inkscape-clipboard-export.emf", NULL );
345 -+ gchar *filename = g_build_filename( g_get_user_cache_dir(), "inkscape-clipboard-export.emf", nullptr );
346 -
347 - try {
348 - (*out)->save(_clipboardSPDoc.get(), filename);
349 -diff --git a/src/ui/dialog/clonetiler.cpp b/src/ui/dialog/clonetiler.cpp
350 -index 7802c37449..cd8af7f4a8 100644
351 ---- a/src/ui/dialog/clonetiler.cpp
352 -+++ b/src/ui/dialog/clonetiler.cpp
353 -@@ -159,7 +159,7 @@ CloneTiler::CloneTiler()
354 - auto cell_list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(combo->gobj()));
355 - gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo->gobj()),
356 - GTK_CELL_RENDERER(cell_list->data),
357 -- "markup", 0, NULL);
358 -+ "markup", 0, nullptr);
359 -
360 - for (const auto & sg : sym_groups) {
361 - // Add the description of the symgroup to a new row
362 -diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp
363 -index 7496284cec..7f83143992 100644
364 ---- a/src/ui/dialog/export.cpp
365 -+++ b/src/ui/dialog/export.cpp
366 -@@ -490,7 +490,7 @@ void Export::set_default_filename () {
367 - extension_point = g_strrstr(uri_copy, old_extension);
368 - extension_point[0] = '\0';
369 -
370 -- final_name = g_strconcat(uri_copy, ".png", NULL);
371 -+ final_name = g_strconcat(uri_copy, ".png", nullptr);
372 - filename_entry.set_text(final_name);
373 - filename_entry.set_position(strlen(final_name));
374 -
375 -@@ -498,7 +498,7 @@ void Export::set_default_filename () {
376 - g_free(uri_copy);
377 - }
378 - } else {
379 -- gchar *name = g_strconcat(uri, ".png", NULL);
380 -+ gchar *name = g_strconcat(uri, ".png", nullptr);
381 - filename_entry.set_text(name);
382 - filename_entry.set_position(strlen(name));
383 -
384 -diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
385 -index 940ef1b834..520e6091d1 100644
386 ---- a/src/ui/dialog/inkscape-preferences.cpp
387 -+++ b/src/ui/dialog/inkscape-preferences.cpp
388 -@@ -1623,7 +1623,7 @@ void InkscapePreferences::initPageUI()
389 - _page_theme.add_line(false, _("Change GTK theme:"), _gtk_theme, "", "", false);
390 - _gtk_theme.signal_changed().connect(sigc::mem_fun(*this, &InkscapePreferences::themeChange));
391 - }
392 -- _sys_user_themes_dir_copy.init(g_build_filename(g_get_user_data_dir(), "themes", NULL), _("Open themes folder"));
393 -+ _sys_user_themes_dir_copy.init(g_build_filename(g_get_user_data_dir(), "themes", nullptr), _("Open themes folder"));
394 - _page_theme.add_line(true, _("User themes:"), _sys_user_themes_dir_copy, "", _("Location of the user’s themes"), true, Gtk::manage(new Gtk::Box()));
395 - //_contrast_theme.init("/theme/contrast", 1, 10, 1, 2, 10, 1);
396 - Gtk::Widget *space = new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL);
397 -@@ -3351,7 +3351,7 @@ void InkscapePreferences::initPageSystem()
398 - _("Open fonts folder"));
399 - _page_system.add_line(true, _("User fonts:"), _sys_user_fonts_dir, "", _("Location of the user’s fonts"), true);
400 -
401 -- _sys_user_themes_dir.init(g_build_filename(g_get_user_data_dir(), "themes", NULL), _("Open themes folder"));
402 -+ _sys_user_themes_dir.init(g_build_filename(g_get_user_data_dir(), "themes", nullptr), _("Open themes folder"));
403 - _page_system.add_line(true, _("User themes:"), _sys_user_themes_dir, "", _("Location of the user’s themes"), true);
404 -
405 - _sys_user_icons_dir.init((char const *)IO::Resource::get_path(IO::Resource::USER, IO::Resource::ICONS, ""),
406 -diff --git a/src/ui/drag-and-drop.cpp b/src/ui/drag-and-drop.cpp
407 -index 880906c34b..c99bd0f4f5 100644
408 ---- a/src/ui/drag-and-drop.cpp
409 -+++ b/src/ui/drag-and-drop.cpp
410 -@@ -357,7 +357,7 @@ ink_drag_data_received(GtkWidget *widget,
411 - ext->set_param_optiongroup("link", "embed");
412 - ext->set_gui(false);
413 -
414 -- gchar *filename = g_build_filename( g_get_tmp_dir(), "inkscape-dnd-import", NULL );
415 -+ gchar *filename = g_build_filename( g_get_tmp_dir(), "inkscape-dnd-import", nullptr );
416 - g_file_set_contents(filename,
417 - reinterpret_cast<gchar const *>(gtk_selection_data_get_data (data)),
418 - gtk_selection_data_get_length (data),
419 -diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp
420 -index 089327c7ac..8ae64382d6 100644
421 ---- a/src/ui/interface.cpp
422 -+++ b/src/ui/interface.cpp
423 -@@ -203,7 +203,7 @@ sp_ui_overwrite_file(gchar const *filename)
424 - gtk_dialog_add_buttons( GTK_DIALOG(dialog),
425 - _("_Cancel"), GTK_RESPONSE_NO,
426 - _("Replace"), GTK_RESPONSE_YES,
427 -- NULL );
428 -+ nullptr );
429 - gtk_dialog_set_default_response( GTK_DIALOG(dialog), GTK_RESPONSE_YES );
430 -
431 - if ( gtk_dialog_run( GTK_DIALOG(dialog) ) == GTK_RESPONSE_YES ) {
432 -diff --git a/src/ui/themes.cpp b/src/ui/themes.cpp
433 -index f874c4c1a8..ff1eca4a9f 100644
434 ---- a/src/ui/themes.cpp
435 -+++ b/src/ui/themes.cpp
436 -@@ -30,15 +30,15 @@
437 - static void inkscape_fill_gtk(const gchar *path, gtkThemeList &themes)
438 - {
439 - const gchar *dir_entry;
440 -- GDir *dir = g_dir_open(path, 0, NULL);
441 -+ GDir *dir = g_dir_open(path, 0, nullptr);
442 - if (!dir)
443 - return;
444 - while ((dir_entry = g_dir_read_name(dir))) {
445 -- gchar *filename = g_build_filename(path, dir_entry, "gtk-3.0", "gtk.css", NULL);
446 -+ gchar *filename = g_build_filename(path, dir_entry, "gtk-3.0", "gtk.css", nullptr);
447 - bool has_prefer_dark = false;
448 -
449 - Glib::ustring theme = dir_entry;
450 -- gchar *filenamedark = g_build_filename(path, dir_entry, "gtk-3.0", "gtk-dark.css", NULL);
451 -+ gchar *filenamedark = g_build_filename(path, dir_entry, "gtk-3.0", "gtk-dark.css", nullptr);
452 - if (g_file_test(filenamedark, G_FILE_TEST_IS_REGULAR))
453 - has_prefer_dark = true;
454 - if (themes.find(theme) != themes.end() && !has_prefer_dark) {
455 -@@ -67,7 +67,7 @@ std::map<Glib::ustring, bool> get_available_themes()
456 - const gchar *const *dirs;
457 -
458 - /* Builtin themes */
459 -- builtin_themes = g_resources_enumerate_children("/org/gtk/libgtk/theme", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
460 -+ builtin_themes = g_resources_enumerate_children("/org/gtk/libgtk/theme", G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr);
461 - for (i = 0; builtin_themes[i] != NULL; i++) {
462 - if (g_str_has_suffix(builtin_themes[i], "/")) {
463 - theme = builtin_themes[i];
464 -@@ -75,7 +75,7 @@ std::map<Glib::ustring, bool> get_available_themes()
465 - Glib::ustring theme_path = "/org/gtk/libgtk/theme";
466 - theme_path += "/" + theme;
467 - gchar **builtin_themes_files =
468 -- g_resources_enumerate_children(theme_path.c_str(), G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
469 -+ g_resources_enumerate_children(theme_path.c_str(), G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr);
470 - bool has_prefer_dark = false;
471 - if (builtin_themes_files != NULL) {
472 - for (j = 0; builtin_themes_files[j] != NULL; j++) {
473 -@@ -92,17 +92,17 @@ std::map<Glib::ustring, bool> get_available_themes()
474 -
475 - g_strfreev(builtin_themes);
476 -
477 -- path = g_build_filename(g_get_user_data_dir(), "themes", NULL);
478 -+ path = g_build_filename(g_get_user_data_dir(), "themes", nullptr);
479 - inkscape_fill_gtk(path, themes);
480 - g_free(path);
481 -
482 -- path = g_build_filename(g_get_home_dir(), ".themes", NULL);
483 -+ path = g_build_filename(g_get_home_dir(), ".themes", nullptr);
484 - inkscape_fill_gtk(path, themes);
485 - g_free(path);
486 -
487 - dirs = g_get_system_data_dirs();
488 - for (i = 0; dirs[i]; i++) {
489 -- path = g_build_filename(dirs[i], "themes", NULL);
490 -+ path = g_build_filename(dirs[i], "themes", nullptr);
491 - inkscape_fill_gtk(path, themes);
492 - g_free(path);
493 - }
494 -diff --git a/src/ui/tool/control-point.cpp b/src/ui/tool/control-point.cpp
495 -index c29b09d93f..13f2e60c6e 100644
496 ---- a/src/ui/tool/control-point.cpp
497 -+++ b/src/ui/tool/control-point.cpp
498 -@@ -185,7 +185,7 @@ void ControlPoint::_setControlType(Inkscape::CanvasItemCtrlType type)
499 -
500 - void ControlPoint::_setAnchor(SPAnchorType anchor)
501 - {
502 --// g_object_set(_canvas_item_ctrl, "anchor", anchor, NULL);
503 -+// g_object_set(_canvas_item_ctrl, "anchor", anchor, nullptr);
504 - }
505 -
506 - void ControlPoint::_setPixbuf(Glib::RefPtr<Gdk::Pixbuf> p)
507 -diff --git a/src/ui/toolbar/arc-toolbar.cpp b/src/ui/toolbar/arc-toolbar.cpp
508 -index b663d905f4..986b28b3f8 100644
509 ---- a/src/ui/toolbar/arc-toolbar.cpp
510 -+++ b/src/ui/toolbar/arc-toolbar.cpp
511 -@@ -309,7 +309,7 @@ ArcToolbar::startend_value_changed(Glib::RefPtr<Gtk::Adjustment>& adj,
512 - // in turn, prevent listener from responding
513 - _freeze = true;
514 -
515 -- gchar* namespaced_name = g_strconcat("sodipodi:", value_name, NULL);
516 -+ gchar* namespaced_name = g_strconcat("sodipodi:", value_name, nullptr);
517 -
518 - bool modmade = false;
519 - auto itemlist= _desktop->getSelection()->items();
520 -diff --git a/src/ui/toolbar/spiral-toolbar.cpp b/src/ui/toolbar/spiral-toolbar.cpp
521 -index 05ce654242..bae2f8c064 100644
522 ---- a/src/ui/toolbar/spiral-toolbar.cpp
523 -+++ b/src/ui/toolbar/spiral-toolbar.cpp
524 -@@ -175,7 +175,7 @@ SpiralToolbar::value_changed(Glib::RefPtr<Gtk::Adjustment> &adj,
525 - // in turn, prevent listener from responding
526 - _freeze = true;
527 -
528 -- gchar* namespaced_name = g_strconcat("sodipodi:", value_name.data(), NULL);
529 -+ gchar* namespaced_name = g_strconcat("sodipodi:", value_name.data(), nullptr);
530 -
531 - bool modmade = false;
532 - auto itemlist= _desktop->getSelection()->items();
533 -diff --git a/src/ui/tools/gradient-tool.cpp b/src/ui/tools/gradient-tool.cpp
534 -index e83d2b4613..6aecf92ce4 100644
535 ---- a/src/ui/tools/gradient-tool.cpp
536 -+++ b/src/ui/tools/gradient-tool.cpp
537 -@@ -116,7 +116,7 @@ void GradientTool::selection_changed(Inkscape::Selection*) {
538 - _("%s selected"),
539 - //TRANSLATORS: Mind the space in front. This is part of a compound message
540 - ngettext(" out of %d gradient handle"," out of %d gradient handles",n_tot),
541 -- ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL);
542 -+ ngettext(" on %d selected object"," on %d selected objects",n_obj),nullptr);
543 - message_context->setF(Inkscape::NORMAL_MESSAGE,
544 - message,_(gr_handle_descr[drag->singleSelectedDraggerSingleDraggableType()]), n_tot, n_obj);
545 - } else {
546 -@@ -125,14 +125,14 @@ void GradientTool::selection_changed(Inkscape::Selection*) {
547 - ngettext("One handle merging %d stop (drag with <b>Shift</b> to separate) selected",
548 - "One handle merging %d stops (drag with <b>Shift</b> to separate) selected",drag->singleSelectedDraggerNumDraggables()),
549 - ngettext(" out of %d gradient handle"," out of %d gradient handles",n_tot),
550 -- ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL);
551 -+ ngettext(" on %d selected object"," on %d selected objects",n_obj),nullptr);
552 - message_context->setF(Inkscape::NORMAL_MESSAGE,message,drag->singleSelectedDraggerNumDraggables(), n_tot, n_obj);
553 - }
554 - } else if (n_sel > 1) {
555 - //TRANSLATORS: The plural refers to number of selected gradient handles. This is part of a compound message (part two indicates selected object count)
556 - gchar * message = g_strconcat(ngettext("<b>%d</b> gradient handle selected out of %d","<b>%d</b> gradient handles selected out of %d",n_sel),
557 - //TRANSLATORS: Mind the space in front. (Refers to gradient handles selected). This is part of a compound message
558 -- ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL);
559 -+ ngettext(" on %d selected object"," on %d selected objects",n_obj),nullptr);
560 - message_context->setF(Inkscape::NORMAL_MESSAGE,message, n_sel, n_tot, n_obj);
561 - } else if (n_sel == 0) {
562 - message_context->setF(Inkscape::NORMAL_MESSAGE,
563 -diff --git a/src/ui/tools/mesh-tool.cpp b/src/ui/tools/mesh-tool.cpp
564 -index 07bf68bd12..fbde77f36f 100644
565 ---- a/src/ui/tools/mesh-tool.cpp
566 -+++ b/src/ui/tools/mesh-tool.cpp
567 -@@ -131,7 +131,7 @@ void MeshTool::selection_changed(Inkscape::Selection* /*sel*/) {
568 - _("%s selected"),
569 - //TRANSLATORS: Mind the space in front. This is part of a compound message
570 - ngettext(" out of %d mesh handle"," out of %d mesh handles",n_tot),
571 -- ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL);
572 -+ ngettext(" on %d selected object"," on %d selected objects",n_obj),nullptr);
573 - this->message_context->setF(Inkscape::NORMAL_MESSAGE,
574 - message,_(ms_handle_descr[drag->singleSelectedDraggerSingleDraggableType()]), n_tot, n_obj);
575 - } else {
576 -@@ -142,7 +142,7 @@ void MeshTool::selection_changed(Inkscape::Selection* /*sel*/) {
577 - "One handle merging %d stops (drag with <b>Shift</b> to separate) selected",
578 - drag->singleSelectedDraggerNumDraggables()),
579 - ngettext(" out of %d mesh handle"," out of %d mesh handles",n_tot),
580 -- ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL);
581 -+ ngettext(" on %d selected object"," on %d selected objects",n_obj),nullptr);
582 - this->message_context->setF(Inkscape::NORMAL_MESSAGE,message,drag->singleSelectedDraggerNumDraggables(), n_tot, n_obj);
583 - }
584 - } else if (n_sel > 1) {
585 -@@ -150,7 +150,7 @@ void MeshTool::selection_changed(Inkscape::Selection* /*sel*/) {
586 - gchar * message =
587 - g_strconcat(ngettext("<b>%d</b> mesh handle selected out of %d","<b>%d</b> mesh handles selected out of %d",n_sel),
588 - //TRANSLATORS: Mind the space in front. (Refers to gradient handles selected). This is part of a compound message
589 -- ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL);
590 -+ ngettext(" on %d selected object"," on %d selected objects",n_obj),nullptr);
591 - this->message_context->setF(Inkscape::NORMAL_MESSAGE,message, n_sel, n_tot, n_obj);
592 - } else if (n_sel == 0) {
593 - this->message_context->setF(Inkscape::NORMAL_MESSAGE,
594 -diff --git a/src/ui/tools/text-tool.cpp b/src/ui/tools/text-tool.cpp
595 -index 4d0d7f5885..8f7aba97b1 100644
596 ---- a/src/ui/tools/text-tool.cpp
597 -+++ b/src/ui/tools/text-tool.cpp
598 -@@ -100,8 +100,8 @@ TextTool::~TextTool() {
599 - void TextTool::setup() {
600 - GtkSettings* settings = gtk_settings_get_default();
601 - gint timeout = 0;
602 -- g_object_get( settings, "gtk-cursor-blink-time", &timeout, NULL );
603 --
604 -+ g_object_get( settings, "gtk-cursor-blink-time", &timeout, nullptr );
605 -+
606 - if (timeout < 0) {
607 - timeout = 200;
608 - } else {
609 -diff --git a/src/ui/widget/color-icc-selector.cpp b/src/ui/widget/color-icc-selector.cpp
610 -index 99c6b57af0..cf3b4b4b9b 100644
611 ---- a/src/ui/widget/color-icc-selector.cpp
612 -+++ b/src/ui/widget/color-icc-selector.cpp
613 -@@ -369,7 +369,7 @@ void ColorICCSelector::init()
614 -
615 - GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
616 - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(_impl->_profileSel), renderer, TRUE);
617 -- gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_impl->_profileSel), renderer, "text", 0, NULL);
618 -+ gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_impl->_profileSel), renderer, "text", 0, nullptr);
619 -
620 - GtkTreeIter iter;
621 - gtk_list_store_append(store, &iter);
622 -diff --git a/src/ui/widget/combo-box-entry-tool-item.cpp b/src/ui/widget/combo-box-entry-tool-item.cpp
623 -index 60f87d938b..9bce9ce91b 100644
624 ---- a/src/ui/widget/combo-box-entry-tool-item.cpp
625 -+++ b/src/ui/widget/combo-box-entry-tool-item.cpp
626 -@@ -74,8 +74,8 @@ ComboBoxEntryToolItem::ComboBoxEntryToolItem(Glib::ustring name,
627 - set_name(name);
628 -
629 - gchar *action_name = g_strdup( get_name().c_str() );
630 -- gchar *combobox_name = g_strjoin( nullptr, action_name, "_combobox", NULL );
631 -- gchar *entry_name = g_strjoin( nullptr, action_name, "_entry", NULL );
632 -+ gchar *combobox_name = g_strjoin( nullptr, action_name, "_combobox", nullptr );
633 -+ gchar *entry_name = g_strjoin( nullptr, action_name, "_entry", nullptr );
634 - g_free( action_name );
635 -
636 - GtkWidget* comboBoxEntry = gtk_combo_box_new_with_model_and_entry (_model);
637 -diff --git a/src/ui/widget/marker-combo-box.cpp b/src/ui/widget/marker-combo-box.cpp
638 -index 6ecc77be14..82199c547d 100644
639 ---- a/src/ui/widget/marker-combo-box.cpp
640 -+++ b/src/ui/widget/marker-combo-box.cpp
641 -@@ -201,7 +201,7 @@ const gchar * MarkerComboBox::get_active_marker_uri()
642 - gchar *markurn;
643 - if (stockid)
644 - {
645 -- markurn = g_strconcat("urn:inkscape:marker:",markid,NULL);
646 -+ markurn = g_strconcat("urn:inkscape:marker:",markid,nullptr);
647 - }
648 - else
649 - {
650 -@@ -211,7 +211,7 @@ const gchar * MarkerComboBox::get_active_marker_uri()
651 - g_free(markurn);
652 - if (mark) {
653 - Inkscape::XML::Node *repr = mark->getRepr();
654 -- marker = g_strconcat("url(#", repr->attribute("id"), ")", NULL);
655 -+ marker = g_strconcat("url(#", repr->attribute("id"), ")", nullptr);
656 - }
657 - } else {
658 - marker = g_strdup(markid);
659 -@@ -366,7 +366,7 @@ void MarkerComboBox::add_markers (std::vector<SPMarker *> const& marker_list, SP
660 - void
661 - MarkerComboBox::update_marker_image(gchar const *mname)
662 - {
663 -- gchar *cache_name = g_strconcat(combo_id, mname, NULL);
664 -+ gchar *cache_name = g_strconcat(combo_id, mname, nullptr);
665 - Glib::ustring key = svg_preview_cache.cache_key(doc->getDocumentURI(), cache_name, 24);
666 - g_free (cache_name);
667 - svg_preview_cache.remove_preview_from_cache(key);
668 -@@ -403,7 +403,7 @@ MarkerComboBox::create_marker_image(unsigned psize, gchar const *mname,
669 - }
670 -
671 - /* Get from cache right away */
672 -- gchar *cache_name = g_strconcat(combo_id, mname, NULL);
673 -+ gchar *cache_name = g_strconcat(combo_id, mname, nullptr);
674 - Glib::ustring key = svg_preview_cache.cache_key(source->getDocumentURI(), cache_name, psize);
675 - g_free (cache_name);
676 - GdkPixbuf *pixbuf = svg_preview_cache.get_preview_from_cache(key); // no ref created
677 -diff --git a/src/ui/widget/paint-selector.cpp b/src/ui/widget/paint-selector.cpp
678 -index 26a5a56032..d196654f2b 100644
679 ---- a/src/ui/widget/paint-selector.cpp
680 -+++ b/src/ui/widget/paint-selector.cpp
681 -@@ -878,7 +878,7 @@ void PaintSelector::set_mode_mesh(PaintSelector::Mode mode)
682 - GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
683 - gtk_cell_renderer_set_padding(renderer, 2, 0);
684 - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), renderer, TRUE);
685 -- gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo), renderer, "text", COMBO_COL_LABEL, NULL);
686 -+ gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo), renderer, "text", COMBO_COL_LABEL, nullptr);
687 -
688 - ink_mesh_menu(combo);
689 - g_signal_connect(G_OBJECT(combo), "changed", G_CALLBACK(PaintSelector::mesh_change), this);
690 -@@ -947,7 +947,7 @@ SPMeshGradient *PaintSelector::getMeshGradient()
691 -
692 - gchar *mesh_name;
693 - if (stockid) {
694 -- mesh_name = g_strconcat("urn:inkscape:mesh:", meshid, NULL);
695 -+ mesh_name = g_strconcat("urn:inkscape:mesh:", meshid, nullptr);
696 - } else {
697 - mesh_name = g_strdup(meshid);
698 - }
699 -@@ -1202,7 +1202,7 @@ void PaintSelector::set_mode_pattern(PaintSelector::Mode mode)
700 - GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
701 - gtk_cell_renderer_set_padding(renderer, 2, 0);
702 - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(_patternmenu), renderer, TRUE);
703 -- gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_patternmenu), renderer, "text", COMBO_COL_LABEL, NULL);
704 -+ gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_patternmenu), renderer, "text", COMBO_COL_LABEL, nullptr);
705 -
706 - ink_pattern_menu(_patternmenu);
707 - g_signal_connect(G_OBJECT(_patternmenu), "changed", G_CALLBACK(PaintSelector::pattern_change), this);
708 -@@ -1298,7 +1298,7 @@ SPPattern *PaintSelector::getPattern()
709 - gchar *paturn;
710 -
711 - if (stockid) {
712 -- paturn = g_strconcat("urn:inkscape:pattern:", patid, NULL);
713 -+ paturn = g_strconcat("urn:inkscape:pattern:", patid, nullptr);
714 - } else {
715 - paturn = g_strdup(patid);
716 - }
717 -diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp
718 -index 5a018301de..7a5607b57c 100644
719 ---- a/src/widgets/desktop-widget.cpp
720 -+++ b/src/widgets/desktop-widget.cpp
721 -@@ -612,8 +612,8 @@ void SPDesktopWidget::on_realize()
722 - GtkSettings *settings = gtk_settings_get_default();
723 - Gtk::Container *window = get_toplevel();
724 - if (settings && window) {
725 -- g_object_get(settings, "gtk-theme-name", &gtkThemeName, NULL);
726 -- g_object_get(settings, "gtk-application-prefer-dark-theme", &gtkApplicationPreferDarkTheme, NULL);
727 -+ g_object_get(settings, "gtk-theme-name", &gtkThemeName, nullptr);
728 -+ g_object_get(settings, "gtk-application-prefer-dark-theme", &gtkApplicationPreferDarkTheme, nullptr);
729 - bool dark = isCurrentThemeDark(dynamic_cast<Gtk::Container *>(window));
730 - if (dark) {
731 - prefs->setBool("/theme/darkTheme", true);
732 -diff --git a/src/widgets/sp-xmlview-tree.cpp b/src/widgets/sp-xmlview-tree.cpp
733 -index b07ce2475e..67b0e9094b 100644
734 ---- a/src/widgets/sp-xmlview-tree.cpp
735 -+++ b/src/widgets/sp-xmlview-tree.cpp
736 -@@ -164,7 +164,7 @@ GtkWidget *sp_xmlview_tree_new(Inkscape::XML::Node * repr, void * /*factory*/, v
737 - gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW(tree), search_equal_func, nullptr, nullptr);
738 -
739 - GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
740 -- GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes ("", renderer, "text", STORE_TEXT_COL, NULL);
741 -+ GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes ("", renderer, "text", STORE_TEXT_COL, nullptr);
742 - gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);
743 - gtk_cell_renderer_set_padding (renderer, 2, 0);
744 - gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
745 -diff --git a/src/xml/repr-io.cpp b/src/xml/repr-io.cpp
746 -index f3cbdcb8f3..d891f07e09 100644
747 ---- a/src/xml/repr-io.cpp
748 -+++ b/src/xml/repr-io.cpp
749 -@@ -449,7 +449,7 @@ void promote_to_namespace(Node *repr, const gchar *prefix) {
750 - if ( repr->type() == Inkscape::XML::NodeType::ELEMENT_NODE ) {
751 - GQuark code = repr->code();
752 - if (!qname_prefix(code).id()) {
753 -- gchar *svg_name = g_strconcat(prefix, ":", g_quark_to_string(code), NULL);
754 -+ gchar *svg_name = g_strconcat(prefix, ":", g_quark_to_string(code), nullptr);
755 - repr->setCodeUnsafe(g_quark_from_string(svg_name));
756 - g_free(svg_name);
757 - }
758 ---
759 -2.31.1
760 -
761
762 diff --git a/media-gfx/inkscape/inkscape-1.1.ebuild b/media-gfx/inkscape/inkscape-1.1.ebuild
763 index 642643d65ca..e62f8efdec2 100644
764 --- a/media-gfx/inkscape/inkscape-1.1.ebuild
765 +++ b/media-gfx/inkscape/inkscape-1.1.ebuild
766 @@ -10,12 +10,15 @@ inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1
767
768 DESCRIPTION="SVG based generic vector-drawing program"
769 HOMEPAGE="https://inkscape.org/"
770 -SRC_URI="https://media.inkscape.org/dl/resources/file/${P}.tar.xz"
771 +SRC_URI="
772 + https://media.inkscape.org/dl/resources/file/${P}.tar.xz
773 + https://dev.gentoo.org/~dilfridge/distfiles/inkscape-1.1-musl.txz
774 +"
775
776 LICENSE="GPL-2 LGPL-2.1"
777 SLOT="0"
778 KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
779 -IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg lcms
780 +IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg
781 openmp postscript readline spell static-libs svg2 visio wpg"
782
783 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
784 @@ -43,6 +46,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
785 media-gfx/potrace
786 media-libs/fontconfig
787 media-libs/freetype:2
788 + media-libs/lcms:2
789 media-libs/libpng:0=
790 net-libs/libsoup:2.4
791 sci-libs/gsl:=
792 @@ -66,7 +70,6 @@ COMMON_DEPEND="${PYTHON_DEPS}
793 )
794 jemalloc? ( dev-libs/jemalloc )
795 jpeg? ( virtual/jpeg:0 )
796 - lcms? ( media-libs/lcms:2 )
797 readline? ( sys-libs/readline:= )
798 spell? ( app-text/gspell )
799 visio? (
800 @@ -98,10 +101,6 @@ RESTRICT="test"
801
802 S="${WORKDIR}/${P}_2021-05-24_c4e8f9ed74"
803
804 -PATCHES=(
805 - "${FILESDIR}/${P}-sentinels.patch" # 1.1 is the last affected version, it is already fixed in upstream
806 -)
807 -
808 pkg_pretend() {
809 if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
810 tc-has-openmp || die "Please switch to an openmp compatible compiler"
811 @@ -109,6 +108,9 @@ pkg_pretend() {
812 }
813
814 src_prepare() {
815 + # Backport from master
816 + eapply "${WORKDIR}/inkscape-1.1-musl/"*.patch
817 +
818 cmake_src_prepare
819 sed -i "/install.*COPYING/d" CMakeScripts/ConfigCPack.cmake || die
820 }
821 @@ -131,7 +133,7 @@ src_configure() {
822 -DWITH_GNU_READLINE=$(usex readline)
823 -DWITH_GSPELL=$(usex spell)
824 -DWITH_JEMALLOC=$(usex jemalloc)
825 - -DENABLE_LCMS=$(usex lcms)
826 + -DENABLE_LCMS=ON
827 -DWITH_OPENMP=$(usex openmp)
828 -DBUILD_SHARED_LIBS=$(usex !static-libs)
829 -DWITH_SVG2=$(usex svg2)
830
831 diff --git a/media-gfx/inkscape/inkscape-9999.ebuild b/media-gfx/inkscape/inkscape-9999.ebuild
832 index dc4abef7db6..05de5cb6c18 100644
833 --- a/media-gfx/inkscape/inkscape-9999.ebuild
834 +++ b/media-gfx/inkscape/inkscape-9999.ebuild
835 @@ -15,7 +15,7 @@ EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git"
836 LICENSE="GPL-2 LGPL-2.1"
837 SLOT="0"
838 KEYWORDS=""
839 -IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg lcms
840 +IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg
841 openmp postscript readline spell static-libs svg2 test visio wpg"
842
843 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
844 @@ -43,6 +43,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
845 media-gfx/potrace
846 media-libs/fontconfig
847 media-libs/freetype:2
848 + media-libs/lcms:2
849 media-libs/libpng:0=
850 net-libs/libsoup:2.4
851 sci-libs/gsl:=
852 @@ -66,7 +67,6 @@ COMMON_DEPEND="${PYTHON_DEPS}
853 )
854 jemalloc? ( dev-libs/jemalloc )
855 jpeg? ( virtual/jpeg:0 )
856 - lcms? ( media-libs/lcms:2 )
857 readline? ( sys-libs/readline:= )
858 spell? ( app-text/gspell )
859 visio? (
860 @@ -128,7 +128,7 @@ src_configure() {
861 -DWITH_GNU_READLINE=$(usex readline)
862 -DWITH_GSPELL=$(usex spell)
863 -DWITH_JEMALLOC=$(usex jemalloc)
864 - -DENABLE_LCMS=$(usex lcms)
865 + -DENABLE_LCMS=ON
866 -DWITH_OPENMP=$(usex openmp)
867 -DBUILD_SHARED_LIBS=$(usex !static-libs)
868 -DWITH_SVG2=$(usex svg2)