commit:     a0c757b987c124e1e3b6764488985105432282d4
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 25 15:58:37 2021 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Sep 25 15:58:57 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0c757b9

media-gfx/inkscape: various minor fixups

Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 media-gfx/inkscape/Manifest                        |   1 +
 .../inkscape/files/inkscape-1.1-sentinels.patch    | 727 ---------------------
 media-gfx/inkscape/inkscape-1.1.ebuild             |  18 +-
 media-gfx/inkscape/inkscape-9999.ebuild            |   6 +-
 4 files changed, 14 insertions(+), 738 deletions(-)

diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest
index 1810db36929..6e34122c13f 100644
--- a/media-gfx/inkscape/Manifest
+++ b/media-gfx/inkscape/Manifest
@@ -1,2 +1,3 @@
 DIST inkscape-1.0.2.tar.xz 32421620 BLAKE2B 
c3f9c37b15343ba0955a6d06810aef5fb9e035a240f99579301b8cd93858a62b5ed1a3ff528a9642ec74b8900305495236cf7f4c672864369a4e33dca3b34bd4
 SHA512 
f4fbc627c0f07db11194715c505b771a60af29a9a7f8be0232e4f7eb6b1c5814c3f160c2003d64ec62aeb92ef44174320a47aa6b6abc7a67cc27c996cba9522d
+DIST inkscape-1.1-musl.txz 10820 BLAKE2B 
3e7d346161d8c58436cae01227ce0eafc122276ba4b0483271cbb2e74447c7a89b2033bf709adb521abe2aebca79fffece183786071478b29aedbf3c742c4616
 SHA512 
8900863fb2d12cb6aea39b2e2ac8d32b512086aa3a26f3598d3117abd0b44f95b6001ea21ac02ce2368dd66dee0faefdef049c433f62380904770b7680680668
 DIST inkscape-1.1.tar.xz 34203156 BLAKE2B 
38896509dcdcf1ef18523c790855035ef16dfae75e27c2d69f782270f52a579557edcb790bef30f3210b9f797a619369d7d16dd23f098debdd8e5b6abf9b30aa
 SHA512 
54b75f8794d748ef59d5b719ea04e3debadc1a5cf3f62f14254502567973bbd634850edd0a3bc082be878dacf041e9bd10982c4846bf154f89aa5319eda4ee80

diff --git a/media-gfx/inkscape/files/inkscape-1.1-sentinels.patch 
b/media-gfx/inkscape/files/inkscape-1.1-sentinels.patch
deleted file mode 100644
index b4768d44f27..00000000000
--- a/media-gfx/inkscape/files/inkscape-1.1-sentinels.patch
+++ /dev/null
@@ -1,727 +0,0 @@
-From 3abc0aac5ffed8a130086e93b1fdba596f505a1c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <[email protected]>
-Date: Fri, 2 Jul 2021 12:10:48 +0200
-Subject: [PATCH] Fix sentinel errors for builds against musl libc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This change fixes failing builds on systems with musl libc, where one
-can experience lots of errors similar to following one:
-
-```
-FAILED: src/libnrtype/CMakeFiles/nrtype_LIB.dir/font-lister.cpp.o
-/usr/bin/c++ ... -c ../src/libnrtype/font-lister.cpp
-../src/libnrtype/font-lister.cpp: In function ‘void 
font_lister_cell_data_func2(GtkCellLayout*, GtkCellRenderer*, GtkTreeModel*, 
GtkTreeIter*, gpointer)’:
-../src/libnrtype/font-lister.cpp:1236:64: error: missing sentinel in function 
call [-Werror=format=]
- 1236 |     g_object_set(G_OBJECT(cell), "markup", markup.c_str(), NULL);
-      |                                                                ^
-```
-
-Those errors are triggered by the compiler, because musl does not use
-GCC's or Clang's __null extension for NULL definition, because it seems
-non-conforming to the standard's requirements [1]. However, it is
-possible to trigger this error with -Wstrict-null-sentinel GCC flag on
-systems with glibc.
-
-[1]: 
https://git.musl-libc.org/cgit/musl/commit/?id=c8a9c22173f485c8c053709e1dfa0a617cb6be1a
-
----
-
-The patch is taken from upstream 1.1.x branch.
-
-Upstream-issue: https://gitlab.com/inkscape/inkscape/-/issues/1880
-Upstream-MR: https://gitlab.com/inkscape/inkscape/-/merge_requests/3378
-Backported-from: 
https://gitlab.com/inkscape/inkscape/-/merge_requests/3378/diffs?commit_id=8d8d7adb07649fa64f9879b56187708ab7166149
-
-
-
-diff --git a/src/display/nr-filter-image.cpp b/src/display/nr-filter-image.cpp
-index bfc2b6bb1f..5311d8cbce 100644
---- a/src/display/nr-filter-image.cpp
-+++ b/src/display/nr-filter-image.cpp
-@@ -158,7 +158,7 @@ void FilterImage::render_cairo(FilterSlot &slot)
-         if ( !g_file_test( fullname, G_FILE_TEST_EXISTS ) ) {
-             // Try to load from relative position combined with document base
-             if( document ) {
--                fullname = g_build_filename( document->getDocumentBase(), 
feImageHref, NULL );
-+                fullname = g_build_filename( document->getDocumentBase(), 
feImageHref, nullptr );
-             }
-         }
-         if ( !g_file_test( fullname, G_FILE_TEST_EXISTS ) ) {
-diff --git a/src/extension/dbus/document-interface.cpp 
b/src/extension/dbus/document-interface.cpp
-index 5021734722..f490b5b6d5 100644
---- a/src/extension/dbus/document-interface.cpp
-+++ b/src/extension/dbus/document-interface.cpp
-@@ -474,7 +474,7 @@ document_interface_spiral (DocumentInterface 
*doc_interface, int cx, int cy,
-     sp_repr_set_int(newNode, "sodipodi:expansion", 1);
-     gchar * retval = finish_create_shape (doc_interface, error, newNode, 
(gchar *)"create spiral");
-     //Makes sure there is no fill for spirals by default.
--    gchar* newString = g_strconcat(newNode->attribute("style"), ";fill:none", 
NULL);
-+    gchar* newString = g_strconcat(newNode->attribute("style"), ";fill:none", 
nullptr);
-     newNode->setAttribute("style", newString);
-     g_free(newString);
-     return retval;
-diff --git a/src/extension/dependency.cpp b/src/extension/dependency.cpp
-index f94634bbc3..09928c64f7 100644
---- a/src/extension/dependency.cpp
-+++ b/src/extension/dependency.cpp
-@@ -186,7 +186,7 @@ bool Dependency::check ()
-                         break;
-                     }
-                     /* Look for deprecated locations next */
--                    auto deprloc = g_build_filename("inkex", 
"deprecated-simple", location.c_str(), NULL);
-+                    auto deprloc = g_build_filename("inkex", 
"deprecated-simple", location.c_str(), nullptr);
-                     std::string tempdepr =
-                         
Inkscape::IO::Resource::get_filename_string(Inkscape::IO::Resource::EXTENSIONS, 
deprloc, false, true);
-                     g_free(deprloc);
-diff --git a/src/inkscape.cpp b/src/inkscape.cpp
-index 29b7e08c25..07794fd8b9 100644
---- a/src/inkscape.cpp
-+++ b/src/inkscape.cpp
-@@ -434,15 +434,15 @@ void Application::add_gtk_css(bool only_providers)
-     gboolean gtkApplicationPreferDarkTheme;
-     GtkSettings *settings = gtk_settings_get_default();
-     if (settings && !only_providers) {
--        g_object_get(settings, "gtk-icon-theme-name", &gtkIconThemeName, 
NULL);
--        g_object_get(settings, "gtk-theme-name", &gtkThemeName, NULL);
--        g_object_get(settings, "gtk-application-prefer-dark-theme", 
&gtkApplicationPreferDarkTheme, NULL);
-+        g_object_get(settings, "gtk-icon-theme-name", &gtkIconThemeName, 
nullptr);
-+        g_object_get(settings, "gtk-theme-name", &gtkThemeName, nullptr);
-+        g_object_get(settings, "gtk-application-prefer-dark-theme", 
&gtkApplicationPreferDarkTheme, nullptr);
-         prefs->setBool("/theme/defaultPreferDarkTheme", 
gtkApplicationPreferDarkTheme);
-         prefs->setString("/theme/defaultGtkTheme", 
Glib::ustring(gtkThemeName));
-         prefs->setString("/theme/defaultIconTheme", 
Glib::ustring(gtkIconThemeName));
-         Glib::ustring gtkthemename = prefs->getString("/theme/gtkTheme");
-         if (gtkthemename != "") {
--            g_object_set(settings, "gtk-theme-name", gtkthemename.c_str(), 
NULL);
-+            g_object_set(settings, "gtk-theme-name", gtkthemename.c_str(), 
nullptr);
-         } else {
-             Glib::RefPtr<Gdk::Display> display = Gdk::Display::get_default();
-             Glib::RefPtr<Gdk::Screen>  screen = display->get_default_screen();
-@@ -451,13 +451,13 @@ void Application::add_gtk_css(bool only_providers)
-             prefs->setBool("/theme/symbolicIcons", iconinfo.is_symbolic());
-         }
-         bool preferdarktheme = prefs->getBool("/theme/preferDarkTheme", 
false);
--        g_object_set(settings, "gtk-application-prefer-dark-theme", 
preferdarktheme, NULL);
-+        g_object_set(settings, "gtk-application-prefer-dark-theme", 
preferdarktheme, nullptr);
-         themeiconname = prefs->getString("/theme/iconTheme");
-         // legacy cleanup
-         if (themeiconname == prefs->getString("/theme/defaultIconTheme")) {
-             prefs->setString("/theme/iconTheme", "");
-         } else if (themeiconname != "") {
--            g_object_set(settings, "gtk-icon-theme-name", 
themeiconname.c_str(), NULL);
-+            g_object_set(settings, "gtk-icon-theme-name", 
themeiconname.c_str(), nullptr);
-         }
-     }
- 
-@@ -684,7 +684,7 @@ Application::crash_handler (int /*signum*/)
-             FILE *file = nullptr;
-             for(auto & location : locations) {
-                 if (!location) continue; // It seems to be okay, but just in 
case
--                gchar * filename = g_build_filename(location, c, NULL);
-+                gchar * filename = g_build_filename(location, c, nullptr);
-                 Inkscape::IO::dump_fopen_call(filename, "E");
-                 file = Inkscape::IO::fopen_utf8name(filename, "w");
-                 if (file) {
-diff --git a/src/io/resource.cpp b/src/io/resource.cpp
-index fec933f1a9..c75c4ed6cf 100644
---- a/src/io/resource.cpp
-+++ b/src/io/resource.cpp
-@@ -445,14 +445,14 @@ char const *profile_path()
-             }
- 
-             if (prefdir) {
--                const char *prefdir_profile = g_build_filename(prefdir, 
INKSCAPE_PROFILE_DIR, NULL);
-+                const char *prefdir_profile = g_build_filename(prefdir, 
INKSCAPE_PROFILE_DIR, nullptr);
-                 g_free((void *)prefdir);
-                 prefdir = prefdir_profile;
-             }
-         }
- #endif
-         if (!prefdir) {
--            prefdir = g_build_filename(g_get_user_config_dir(), 
INKSCAPE_PROFILE_DIR, NULL);
-+            prefdir = g_build_filename(g_get_user_config_dir(), 
INKSCAPE_PROFILE_DIR, nullptr);
-             // In case the XDG user config dir of the moment does not yet 
exist...
-             int mode = S_IRWXU;
- #ifdef S_IRGRP
-@@ -471,7 +471,7 @@ char const *profile_path()
-                 gchar const *userDirs[] = { "keys", "templates", "icons", 
"extensions", "ui",
-                                             "symbols", "paint", "themes", 
"palettes", nullptr };
-                 for (gchar const** name = userDirs; *name; ++name) {
--                    gchar *dir = g_build_filename(prefdir, *name, NULL);
-+                    gchar *dir = g_build_filename(prefdir, *name, nullptr);
-                     g_mkdir_with_parents(dir, mode);
-                     g_free(dir);
-                 }
-@@ -495,7 +495,7 @@ char *homedir_path(const char *filename)
-     static const gchar *homedir = nullptr;
-     homedir = g_get_home_dir();
- 
--    return g_build_filename(homedir, filename, NULL);
-+    return g_build_filename(homedir, filename, nullptr);
- }
- 
- }
-diff --git a/src/libnrtype/font-lister.cpp b/src/libnrtype/font-lister.cpp
-index 6177e7479d..75ff172c05 100644
---- a/src/libnrtype/font-lister.cpp
-+++ b/src/libnrtype/font-lister.cpp
-@@ -1233,7 +1233,7 @@ void font_lister_cell_data_func2(GtkCellLayout * 
/*cell_layout*/,
-         g_free(sample_escaped);
-     }
- 
--    g_object_set(G_OBJECT(cell), "markup", markup.c_str(), NULL);
-+    g_object_set(G_OBJECT(cell), "markup", markup.c_str(), nullptr);
-     g_free(family);
-     g_free(family_escaped);
- }
-diff --git a/src/object/color-profile.cpp b/src/object/color-profile.cpp
-index da103e90d1..a2464194dc 100644
---- a/src/object/color-profile.cpp
-+++ b/src/object/color-profile.cpp
-@@ -700,7 +700,7 @@ std::set<ColorProfile::FilePlusHome> 
ColorProfile::getBaseProfileDirs() {
-     std::set<ColorProfile::FilePlusHome> sources;
- 
-     // first try user's local dir
--    gchar* path = g_build_filename(g_get_user_data_dir(), "color", "icc", 
NULL);
-+    gchar* path = g_build_filename(g_get_user_data_dir(), "color", "icc", 
nullptr);
-     sources.insert(FilePlusHome(path, true));
-     g_free(path);
- 
-@@ -708,11 +708,11 @@ std::set<ColorProfile::FilePlusHome> 
ColorProfile::getBaseProfileDirs() {
-     // (see 
https://github.com/hughsie/colord/blob/fe10f76536bb27614ced04e0ff944dc6fb4625c0/lib/colord/cd-icc-store.c#L590)
- 
-     // user store
--    path = g_build_filename(g_get_user_data_dir(), "icc", NULL);
-+    path = g_build_filename(g_get_user_data_dir(), "icc", nullptr);
-     sources.insert(FilePlusHome(path, true));
-     g_free(path);
- 
--    path = g_build_filename(g_get_home_dir(), ".color", "icc", NULL);
-+    path = g_build_filename(g_get_home_dir(), ".color", "icc", nullptr);
-     sources.insert(FilePlusHome(path, true));
-     g_free(path);
- 
-@@ -722,7 +722,7 @@ std::set<ColorProfile::FilePlusHome> 
ColorProfile::getBaseProfileDirs() {
- 
-     const gchar* const * dataDirs = g_get_system_data_dirs();
-     for ( int i = 0; dataDirs[i]; i++ ) {
--        gchar* path = g_build_filename(dataDirs[i], "color", "icc", NULL);
-+        gchar* path = g_build_filename(dataDirs[i], "color", "icc", nullptr);
-         sources.insert(FilePlusHome(path, false));
-         g_free(path);
-     }
-@@ -732,7 +732,7 @@ std::set<ColorProfile::FilePlusHome> 
ColorProfile::getBaseProfileDirs() {
-         sources.insert(FilePlusHome("/System/Library/ColorSync/Profiles", 
false));
-         sources.insert(FilePlusHome("/Library/ColorSync/Profiles", false));
- 
--        gchar *path = g_build_filename(g_get_home_dir(), "Library", 
"ColorSync", "Profiles", NULL);
-+        gchar *path = g_build_filename(g_get_home_dir(), "Library", 
"ColorSync", "Profiles", nullptr);
-         sources.insert(FilePlusHome(path, true));
-         g_free(path);
-     }
-diff --git a/src/object/sp-guide.cpp b/src/object/sp-guide.cpp
-index 01e7596801..678c2b20bc 100644
---- a/src/object/sp-guide.cpp
-+++ b/src/object/sp-guide.cpp
-@@ -538,7 +538,7 @@ char* SPGuide::description(bool const verbose) const
-         
-         if (verbose) {
-             gchar *oldDescr = descr;
--            descr = g_strconcat(oldDescr, shortcuts, NULL);
-+            descr = g_strconcat(oldDescr, shortcuts, nullptr);
-             g_free(oldDescr);
-         }
- 
-diff --git a/src/object/sp-image.cpp b/src/object/sp-image.cpp
-index 3c3fc5dd8a..459ecd4243 100644
---- a/src/object/sp-image.cpp
-+++ b/src/object/sp-image.cpp
-@@ -756,7 +756,7 @@ void sp_embed_image(Inkscape::XML::Node *image_node, 
Inkscape::Pixbuf *pb)
-     if (data == nullptr) {
-         // if there is no supported MIME data, embed as PNG
-         data_mimetype = "image/png";
--        gdk_pixbuf_save_to_buffer(pb->getPixbufRaw(), 
reinterpret_cast<gchar**>(&data), &len, "png", nullptr, NULL);
-+        gdk_pixbuf_save_to_buffer(pb->getPixbufRaw(), 
reinterpret_cast<gchar**>(&data), &len, "png", nullptr, nullptr);
-         free_data = true;
-     }
- 
-diff --git a/src/rdf.cpp b/src/rdf.cpp
-index 563776a19b..3aeb0afa9d 100644
---- a/src/rdf.cpp
-+++ b/src/rdf.cpp
-@@ -543,7 +543,7 @@ const gchar *RDFImpl::getReprText( Inkscape::XML::Node 
const * repr, struct rdf_
-                     const gchar * str = temp->firstChild()->content();
-                     if (bag) {
-                         holder = bag;
--                        bag = g_strconcat(holder, ", ", str, NULL);
-+                        bag = g_strconcat(holder, ", ", str, nullptr);
-                         g_free(holder);
-                     }
-                     else {
-diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
-index 5596030a64..38c5d59063 100644
---- a/src/selection-chemistry.cpp
-+++ b/src/selection-chemistry.cpp
-@@ -3663,7 +3663,7 @@ void ObjectSet::createBitmapCopy()
-     if (directory == nullptr) {
-         directory = Inkscape::IO::Resource::homedir_path(nullptr);
-     }
--    gchar *filepath = g_build_filename(directory, basename, NULL);
-+    gchar *filepath = g_build_filename(directory, basename, nullptr);
-     g_free(directory);
- 
-     //g_print("%s\n", filepath);
-diff --git a/src/ui/clipboard.cpp b/src/ui/clipboard.cpp
-index 0cddf4586c..426ec52e81 100644
---- a/src/ui/clipboard.cpp
-+++ b/src/ui/clipboard.cpp
-@@ -1221,7 +1221,7 @@ bool ClipboardManagerImpl::_pasteImage(SPDocument *doc)
-     prefs->setBool("/dialogs/import/ask", false);
-     png->set_gui(false);
- 
--    gchar *filename = g_build_filename( g_get_user_cache_dir(), 
"inkscape-clipboard-import", NULL );
-+    gchar *filename = g_build_filename( g_get_user_cache_dir(), 
"inkscape-clipboard-import", nullptr );
-     img->save(filename, "png");
-     file_import(doc, filename, png);
-     g_free(filename);
-@@ -1320,7 +1320,7 @@ std::unique_ptr<SPDocument> 
ClipboardManagerImpl::_retrieveClipboard(Glib::ustri
- 
-     // FIXME: Temporary hack until we add memory input.
-     // Save the clipboard contents to some file, then read it
--    gchar *filename = g_build_filename( g_get_user_cache_dir(), 
"inkscape-clipboard-import", NULL );
-+    gchar *filename = g_build_filename( g_get_user_cache_dir(), 
"inkscape-clipboard-import", nullptr );
- 
-     bool file_saved = false;
-     Glib::ustring target = best_target;
-@@ -1413,7 +1413,7 @@ void ClipboardManagerImpl::_onGet(Gtk::SelectionData 
&sel, guint /*info*/)
- 
-     // FIXME: Temporary hack until we add support for memory output.
-     // Save to a temporary file, read it back and then set the clipboard 
contents
--    gchar *filename = g_build_filename( g_get_user_cache_dir(), 
"inkscape-clipboard-export", NULL );
-+    gchar *filename = g_build_filename( g_get_user_cache_dir(), 
"inkscape-clipboard-export", nullptr );
-     gchar *data = nullptr;
-     gsize len;
- 
-@@ -1675,7 +1675,7 @@ void ClipboardManagerImpl::_setClipboardTargets()
-             if ( out != outlist.end() ) {
-                 // FIXME: Temporary hack until we add support for memory 
output.
-                 // Save to a temporary file, read it back and then set the 
clipboard contents
--                gchar *filename = g_build_filename( g_get_user_cache_dir(), 
"inkscape-clipboard-export.emf", NULL );
-+                gchar *filename = g_build_filename( g_get_user_cache_dir(), 
"inkscape-clipboard-export.emf", nullptr );
- 
-                 try {
-                     (*out)->save(_clipboardSPDoc.get(), filename);
-diff --git a/src/ui/dialog/clonetiler.cpp b/src/ui/dialog/clonetiler.cpp
-index 7802c37449..cd8af7f4a8 100644
---- a/src/ui/dialog/clonetiler.cpp
-+++ b/src/ui/dialog/clonetiler.cpp
-@@ -159,7 +159,7 @@ CloneTiler::CloneTiler()
-             auto cell_list = 
gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(combo->gobj()));
-             gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo->gobj()),
-                                            GTK_CELL_RENDERER(cell_list->data),
--                                           "markup", 0, NULL);
-+                                           "markup", 0, nullptr);
- 
-             for (const auto & sg : sym_groups) {
-                 // Add the description of the symgroup to a new row
-diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp
-index 7496284cec..7f83143992 100644
---- a/src/ui/dialog/export.cpp
-+++ b/src/ui/dialog/export.cpp
-@@ -490,7 +490,7 @@ void Export::set_default_filename () {
-                 extension_point = g_strrstr(uri_copy, old_extension);
-                 extension_point[0] = '\0';
- 
--                final_name = g_strconcat(uri_copy, ".png", NULL);
-+                final_name = g_strconcat(uri_copy, ".png", nullptr);
-                 filename_entry.set_text(final_name);
-                 filename_entry.set_position(strlen(final_name));
- 
-@@ -498,7 +498,7 @@ void Export::set_default_filename () {
-                 g_free(uri_copy);
-             }
-         } else {
--            gchar *name = g_strconcat(uri, ".png", NULL);
-+            gchar *name = g_strconcat(uri, ".png", nullptr);
-             filename_entry.set_text(name);
-             filename_entry.set_position(strlen(name));
- 
-diff --git a/src/ui/dialog/inkscape-preferences.cpp 
b/src/ui/dialog/inkscape-preferences.cpp
-index 940ef1b834..520e6091d1 100644
---- a/src/ui/dialog/inkscape-preferences.cpp
-+++ b/src/ui/dialog/inkscape-preferences.cpp
-@@ -1623,7 +1623,7 @@ void InkscapePreferences::initPageUI()
-         _page_theme.add_line(false, _("Change GTK theme:"), _gtk_theme, "", 
"", false);
-         _gtk_theme.signal_changed().connect(sigc::mem_fun(*this, 
&InkscapePreferences::themeChange));
-     }
--    _sys_user_themes_dir_copy.init(g_build_filename(g_get_user_data_dir(), 
"themes", NULL), _("Open themes folder"));
-+    _sys_user_themes_dir_copy.init(g_build_filename(g_get_user_data_dir(), 
"themes", nullptr), _("Open themes folder"));
-     _page_theme.add_line(true, _("User themes:"), _sys_user_themes_dir_copy, 
"", _("Location of the user’s themes"), true, Gtk::manage(new Gtk::Box()));
-     //_contrast_theme.init("/theme/contrast", 1, 10, 1, 2, 10, 1);
-     Gtk::Widget *space = new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL);
-@@ -3351,7 +3351,7 @@ void InkscapePreferences::initPageSystem()
-                              _("Open fonts folder"));
-     _page_system.add_line(true, _("User fonts:"), _sys_user_fonts_dir, "", 
_("Location of the user’s fonts"), true);
- 
--    _sys_user_themes_dir.init(g_build_filename(g_get_user_data_dir(), 
"themes", NULL), _("Open themes folder"));
-+    _sys_user_themes_dir.init(g_build_filename(g_get_user_data_dir(), 
"themes", nullptr), _("Open themes folder"));
-     _page_system.add_line(true, _("User themes:"), _sys_user_themes_dir, "", 
_("Location of the user’s themes"), true);
- 
-     _sys_user_icons_dir.init((char const 
*)IO::Resource::get_path(IO::Resource::USER, IO::Resource::ICONS, ""),
-diff --git a/src/ui/drag-and-drop.cpp b/src/ui/drag-and-drop.cpp
-index 880906c34b..c99bd0f4f5 100644
---- a/src/ui/drag-and-drop.cpp
-+++ b/src/ui/drag-and-drop.cpp
-@@ -357,7 +357,7 @@ ink_drag_data_received(GtkWidget *widget,
-             ext->set_param_optiongroup("link", "embed");
-             ext->set_gui(false);
- 
--            gchar *filename = g_build_filename( g_get_tmp_dir(), 
"inkscape-dnd-import", NULL );
-+            gchar *filename = g_build_filename( g_get_tmp_dir(), 
"inkscape-dnd-import", nullptr );
-             g_file_set_contents(filename,
-                 reinterpret_cast<gchar const *>(gtk_selection_data_get_data 
(data)),
-                 gtk_selection_data_get_length (data),
-diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp
-index 089327c7ac..8ae64382d6 100644
---- a/src/ui/interface.cpp
-+++ b/src/ui/interface.cpp
-@@ -203,7 +203,7 @@ sp_ui_overwrite_file(gchar const *filename)
-         gtk_dialog_add_buttons( GTK_DIALOG(dialog),
-                                 _("_Cancel"), GTK_RESPONSE_NO,
-                                 _("Replace"), GTK_RESPONSE_YES,
--                                NULL );
-+                                nullptr );
-         gtk_dialog_set_default_response( GTK_DIALOG(dialog), GTK_RESPONSE_YES 
);
- 
-         if ( gtk_dialog_run( GTK_DIALOG(dialog) ) == GTK_RESPONSE_YES ) {
-diff --git a/src/ui/themes.cpp b/src/ui/themes.cpp
-index f874c4c1a8..ff1eca4a9f 100644
---- a/src/ui/themes.cpp
-+++ b/src/ui/themes.cpp
-@@ -30,15 +30,15 @@
- static void inkscape_fill_gtk(const gchar *path, gtkThemeList &themes)
- {
-     const gchar *dir_entry;
--    GDir *dir = g_dir_open(path, 0, NULL);
-+    GDir *dir = g_dir_open(path, 0, nullptr);
-     if (!dir)
-         return;
-     while ((dir_entry = g_dir_read_name(dir))) {
--        gchar *filename = g_build_filename(path, dir_entry, "gtk-3.0", 
"gtk.css", NULL);
-+        gchar *filename = g_build_filename(path, dir_entry, "gtk-3.0", 
"gtk.css", nullptr);
-         bool has_prefer_dark = false;
-   
-         Glib::ustring theme = dir_entry;
--        gchar *filenamedark = g_build_filename(path, dir_entry, "gtk-3.0", 
"gtk-dark.css", NULL);
-+        gchar *filenamedark = g_build_filename(path, dir_entry, "gtk-3.0", 
"gtk-dark.css", nullptr);
-         if (g_file_test(filenamedark, G_FILE_TEST_IS_REGULAR))
-             has_prefer_dark = true;
-         if (themes.find(theme) != themes.end() && !has_prefer_dark) {
-@@ -67,7 +67,7 @@ std::map<Glib::ustring, bool> get_available_themes()
-     const gchar *const *dirs;
-   
-     /* Builtin themes */
--    builtin_themes = g_resources_enumerate_children("/org/gtk/libgtk/theme", 
G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
-+    builtin_themes = g_resources_enumerate_children("/org/gtk/libgtk/theme", 
G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr);
-     for (i = 0; builtin_themes[i] != NULL; i++) {
-         if (g_str_has_suffix(builtin_themes[i], "/")) {
-             theme = builtin_themes[i];
-@@ -75,7 +75,7 @@ std::map<Glib::ustring, bool> get_available_themes()
-             Glib::ustring theme_path = "/org/gtk/libgtk/theme";
-             theme_path += "/" + theme;
-             gchar **builtin_themes_files =
--                g_resources_enumerate_children(theme_path.c_str(), 
G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
-+                g_resources_enumerate_children(theme_path.c_str(), 
G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr);
-             bool has_prefer_dark = false;
-             if (builtin_themes_files != NULL) {
-                 for (j = 0; builtin_themes_files[j] != NULL; j++) {
-@@ -92,17 +92,17 @@ std::map<Glib::ustring, bool> get_available_themes()
- 
-     g_strfreev(builtin_themes);
- 
--    path = g_build_filename(g_get_user_data_dir(), "themes", NULL);
-+    path = g_build_filename(g_get_user_data_dir(), "themes", nullptr);
-     inkscape_fill_gtk(path, themes);
-     g_free(path);
-   
--    path = g_build_filename(g_get_home_dir(), ".themes", NULL);
-+    path = g_build_filename(g_get_home_dir(), ".themes", nullptr);
-     inkscape_fill_gtk(path, themes);
-     g_free(path);
-   
-     dirs = g_get_system_data_dirs();
-     for (i = 0; dirs[i]; i++) {
--        path = g_build_filename(dirs[i], "themes", NULL);
-+        path = g_build_filename(dirs[i], "themes", nullptr);
-         inkscape_fill_gtk(path, themes);
-         g_free(path);
-     }
-diff --git a/src/ui/tool/control-point.cpp b/src/ui/tool/control-point.cpp
-index c29b09d93f..13f2e60c6e 100644
---- a/src/ui/tool/control-point.cpp
-+++ b/src/ui/tool/control-point.cpp
-@@ -185,7 +185,7 @@ void 
ControlPoint::_setControlType(Inkscape::CanvasItemCtrlType type)
- 
- void ControlPoint::_setAnchor(SPAnchorType anchor)
- {
--//     g_object_set(_canvas_item_ctrl, "anchor", anchor, NULL);
-+//     g_object_set(_canvas_item_ctrl, "anchor", anchor, nullptr);
- }
- 
- void ControlPoint::_setPixbuf(Glib::RefPtr<Gdk::Pixbuf> p)
-diff --git a/src/ui/toolbar/arc-toolbar.cpp b/src/ui/toolbar/arc-toolbar.cpp
-index b663d905f4..986b28b3f8 100644
---- a/src/ui/toolbar/arc-toolbar.cpp
-+++ b/src/ui/toolbar/arc-toolbar.cpp
-@@ -309,7 +309,7 @@ 
ArcToolbar::startend_value_changed(Glib::RefPtr<Gtk::Adjustment>&  adj,
-     // in turn, prevent listener from responding
-     _freeze = true;
- 
--    gchar* namespaced_name = g_strconcat("sodipodi:", value_name, NULL);
-+    gchar* namespaced_name = g_strconcat("sodipodi:", value_name, nullptr);
- 
-     bool modmade = false;
-     auto itemlist= _desktop->getSelection()->items();
-diff --git a/src/ui/toolbar/spiral-toolbar.cpp 
b/src/ui/toolbar/spiral-toolbar.cpp
-index 05ce654242..bae2f8c064 100644
---- a/src/ui/toolbar/spiral-toolbar.cpp
-+++ b/src/ui/toolbar/spiral-toolbar.cpp
-@@ -175,7 +175,7 @@ SpiralToolbar::value_changed(Glib::RefPtr<Gtk::Adjustment> 
&adj,
-     // in turn, prevent listener from responding
-     _freeze = true;
- 
--    gchar* namespaced_name = g_strconcat("sodipodi:", value_name.data(), 
NULL);
-+    gchar* namespaced_name = g_strconcat("sodipodi:", value_name.data(), 
nullptr);
- 
-     bool modmade = false;
-     auto itemlist= _desktop->getSelection()->items();
-diff --git a/src/ui/tools/gradient-tool.cpp b/src/ui/tools/gradient-tool.cpp
-index e83d2b4613..6aecf92ce4 100644
---- a/src/ui/tools/gradient-tool.cpp
-+++ b/src/ui/tools/gradient-tool.cpp
-@@ -116,7 +116,7 @@ void GradientTool::selection_changed(Inkscape::Selection*) 
{
-                 _("%s selected"),
-                 //TRANSLATORS: Mind the space in front. This is part of a 
compound message
-                 ngettext(" out of %d gradient handle"," out of %d gradient 
handles",n_tot),
--                ngettext(" on %d selected object"," on %d selected 
objects",n_obj),NULL);
-+                ngettext(" on %d selected object"," on %d selected 
objects",n_obj),nullptr);
-             message_context->setF(Inkscape::NORMAL_MESSAGE,
-                                   
message,_(gr_handle_descr[drag->singleSelectedDraggerSingleDraggableType()]), 
n_tot, n_obj);
-         } else {
-@@ -125,14 +125,14 @@ void 
GradientTool::selection_changed(Inkscape::Selection*) {
-                 ngettext("One handle merging %d stop (drag with <b>Shift</b> 
to separate) selected",
-                          "One handle merging %d stops (drag with <b>Shift</b> 
to separate) selected",drag->singleSelectedDraggerNumDraggables()),
-                 ngettext(" out of %d gradient handle"," out of %d gradient 
handles",n_tot),
--                ngettext(" on %d selected object"," on %d selected 
objects",n_obj),NULL);
-+                ngettext(" on %d selected object"," on %d selected 
objects",n_obj),nullptr);
-             
message_context->setF(Inkscape::NORMAL_MESSAGE,message,drag->singleSelectedDraggerNumDraggables(),
 n_tot, n_obj);
-         }
-     } else if (n_sel > 1) {
-         //TRANSLATORS: The plural refers to number of selected gradient 
handles. This is part of a compound message (part two indicates selected object 
count)
-         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),
-                                       //TRANSLATORS: Mind the space in front. 
(Refers to gradient handles selected). This is part of a compound message
--                                      ngettext(" on %d selected object"," on 
%d selected objects",n_obj),NULL);
-+                                      ngettext(" on %d selected object"," on 
%d selected objects",n_obj),nullptr);
-         message_context->setF(Inkscape::NORMAL_MESSAGE,message, n_sel, n_tot, 
n_obj);
-     } else if (n_sel == 0) {
-         message_context->setF(Inkscape::NORMAL_MESSAGE,
-diff --git a/src/ui/tools/mesh-tool.cpp b/src/ui/tools/mesh-tool.cpp
-index 07bf68bd12..fbde77f36f 100644
---- a/src/ui/tools/mesh-tool.cpp
-+++ b/src/ui/tools/mesh-tool.cpp
-@@ -131,7 +131,7 @@ void MeshTool::selection_changed(Inkscape::Selection* 
/*sel*/) {
-                 _("%s selected"),
-                 //TRANSLATORS: Mind the space in front. This is part of a 
compound message
-                 ngettext(" out of %d mesh handle"," out of %d mesh 
handles",n_tot),
--                ngettext(" on %d selected object"," on %d selected 
objects",n_obj),NULL);
-+                ngettext(" on %d selected object"," on %d selected 
objects",n_obj),nullptr);
-             this->message_context->setF(Inkscape::NORMAL_MESSAGE,
-                                        
message,_(ms_handle_descr[drag->singleSelectedDraggerSingleDraggableType()]), 
n_tot, n_obj);
-         } else {
-@@ -142,7 +142,7 @@ void MeshTool::selection_changed(Inkscape::Selection* 
/*sel*/) {
-                              "One handle merging %d stops (drag with 
<b>Shift</b> to separate) selected",
-                              drag->singleSelectedDraggerNumDraggables()),
-                     ngettext(" out of %d mesh handle"," out of %d mesh 
handles",n_tot),
--                    ngettext(" on %d selected object"," on %d selected 
objects",n_obj),NULL);
-+                    ngettext(" on %d selected object"," on %d selected 
objects",n_obj),nullptr);
-             
this->message_context->setF(Inkscape::NORMAL_MESSAGE,message,drag->singleSelectedDraggerNumDraggables(),
 n_tot, n_obj);
-         }
-     } else if (n_sel > 1) {
-@@ -150,7 +150,7 @@ void MeshTool::selection_changed(Inkscape::Selection* 
/*sel*/) {
-         gchar * message =
-             g_strconcat(ngettext("<b>%d</b> mesh handle selected out of 
%d","<b>%d</b> mesh handles selected out of %d",n_sel),
-                         //TRANSLATORS: Mind the space in front. (Refers to 
gradient handles selected). This is part of a compound message
--                        ngettext(" on %d selected object"," on %d selected 
objects",n_obj),NULL);
-+                        ngettext(" on %d selected object"," on %d selected 
objects",n_obj),nullptr);
-         this->message_context->setF(Inkscape::NORMAL_MESSAGE,message, n_sel, 
n_tot, n_obj);
-     } else if (n_sel == 0) {
-         this->message_context->setF(Inkscape::NORMAL_MESSAGE,
-diff --git a/src/ui/tools/text-tool.cpp b/src/ui/tools/text-tool.cpp
-index 4d0d7f5885..8f7aba97b1 100644
---- a/src/ui/tools/text-tool.cpp
-+++ b/src/ui/tools/text-tool.cpp
-@@ -100,8 +100,8 @@ TextTool::~TextTool() {
- void TextTool::setup() {
-     GtkSettings* settings = gtk_settings_get_default();
-     gint timeout = 0;
--    g_object_get( settings, "gtk-cursor-blink-time", &timeout, NULL );
--    
-+    g_object_get( settings, "gtk-cursor-blink-time", &timeout, nullptr );
-+
-     if (timeout < 0) {
-         timeout = 200;
-     } else {
-diff --git a/src/ui/widget/color-icc-selector.cpp 
b/src/ui/widget/color-icc-selector.cpp
-index 99c6b57af0..cf3b4b4b9b 100644
---- a/src/ui/widget/color-icc-selector.cpp
-+++ b/src/ui/widget/color-icc-selector.cpp
-@@ -369,7 +369,7 @@ void ColorICCSelector::init()
- 
-     GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
-     gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(_impl->_profileSel), renderer, 
TRUE);
--    gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_impl->_profileSel), 
renderer, "text", 0, NULL);
-+    gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_impl->_profileSel), 
renderer, "text", 0, nullptr);
- 
-     GtkTreeIter iter;
-     gtk_list_store_append(store, &iter);
-diff --git a/src/ui/widget/combo-box-entry-tool-item.cpp 
b/src/ui/widget/combo-box-entry-tool-item.cpp
-index 60f87d938b..9bce9ce91b 100644
---- a/src/ui/widget/combo-box-entry-tool-item.cpp
-+++ b/src/ui/widget/combo-box-entry-tool-item.cpp
-@@ -74,8 +74,8 @@ ComboBoxEntryToolItem::ComboBoxEntryToolItem(Glib::ustring 
name,
-     set_name(name);
- 
-     gchar *action_name = g_strdup( get_name().c_str() );
--    gchar *combobox_name = g_strjoin( nullptr, action_name, "_combobox", NULL 
);
--    gchar *entry_name =    g_strjoin( nullptr, action_name, "_entry", NULL );
-+    gchar *combobox_name = g_strjoin( nullptr, action_name, "_combobox", 
nullptr );
-+    gchar *entry_name =    g_strjoin( nullptr, action_name, "_entry", nullptr 
);
-     g_free( action_name );
- 
-     GtkWidget* comboBoxEntry = gtk_combo_box_new_with_model_and_entry 
(_model);
-diff --git a/src/ui/widget/marker-combo-box.cpp 
b/src/ui/widget/marker-combo-box.cpp
-index 6ecc77be14..82199c547d 100644
---- a/src/ui/widget/marker-combo-box.cpp
-+++ b/src/ui/widget/marker-combo-box.cpp
-@@ -201,7 +201,7 @@ const gchar * MarkerComboBox::get_active_marker_uri()
-         gchar *markurn;
-         if (stockid)
-         {
--            markurn = g_strconcat("urn:inkscape:marker:",markid,NULL);
-+            markurn = g_strconcat("urn:inkscape:marker:",markid,nullptr);
-         }
-         else
-         {
-@@ -211,7 +211,7 @@ const gchar * MarkerComboBox::get_active_marker_uri()
-         g_free(markurn);
-         if (mark) {
-             Inkscape::XML::Node *repr = mark->getRepr();
--            marker = g_strconcat("url(#", repr->attribute("id"), ")", NULL);
-+            marker = g_strconcat("url(#", repr->attribute("id"), ")", 
nullptr);
-         }
-     } else {
-         marker = g_strdup(markid);
-@@ -366,7 +366,7 @@ void MarkerComboBox::add_markers (std::vector<SPMarker *> 
const& marker_list, SP
- void
- MarkerComboBox::update_marker_image(gchar const *mname)
- {
--    gchar *cache_name = g_strconcat(combo_id, mname, NULL);
-+    gchar *cache_name = g_strconcat(combo_id, mname, nullptr);
-     Glib::ustring key = svg_preview_cache.cache_key(doc->getDocumentURI(), 
cache_name, 24);
-     g_free (cache_name);
-     svg_preview_cache.remove_preview_from_cache(key);
-@@ -403,7 +403,7 @@ MarkerComboBox::create_marker_image(unsigned psize, gchar 
const *mname,
-     }
- 
-     /* Get from cache right away */
--    gchar *cache_name = g_strconcat(combo_id, mname, NULL);
-+    gchar *cache_name = g_strconcat(combo_id, mname, nullptr);
-     Glib::ustring key = svg_preview_cache.cache_key(source->getDocumentURI(), 
cache_name, psize);
-     g_free (cache_name);
-     GdkPixbuf *pixbuf = svg_preview_cache.get_preview_from_cache(key); // no 
ref created
-diff --git a/src/ui/widget/paint-selector.cpp 
b/src/ui/widget/paint-selector.cpp
-index 26a5a56032..d196654f2b 100644
---- a/src/ui/widget/paint-selector.cpp
-+++ b/src/ui/widget/paint-selector.cpp
-@@ -878,7 +878,7 @@ void PaintSelector::set_mode_mesh(PaintSelector::Mode mode)
-             GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
-             gtk_cell_renderer_set_padding(renderer, 2, 0);
-             gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), renderer, 
TRUE);
--            gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo), renderer, 
"text", COMBO_COL_LABEL, NULL);
-+            gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo), renderer, 
"text", COMBO_COL_LABEL, nullptr);
- 
-             ink_mesh_menu(combo);
-             g_signal_connect(G_OBJECT(combo), "changed", 
G_CALLBACK(PaintSelector::mesh_change), this);
-@@ -947,7 +947,7 @@ SPMeshGradient *PaintSelector::getMeshGradient()
- 
-         gchar *mesh_name;
-         if (stockid) {
--            mesh_name = g_strconcat("urn:inkscape:mesh:", meshid, NULL);
-+            mesh_name = g_strconcat("urn:inkscape:mesh:", meshid, nullptr);
-         } else {
-             mesh_name = g_strdup(meshid);
-         }
-@@ -1202,7 +1202,7 @@ void PaintSelector::set_mode_pattern(PaintSelector::Mode 
mode)
-             GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
-             gtk_cell_renderer_set_padding(renderer, 2, 0);
-             gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(_patternmenu), 
renderer, TRUE);
--            gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_patternmenu), 
renderer, "text", COMBO_COL_LABEL, NULL);
-+            gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_patternmenu), 
renderer, "text", COMBO_COL_LABEL, nullptr);
- 
-             ink_pattern_menu(_patternmenu);
-             g_signal_connect(G_OBJECT(_patternmenu), "changed", 
G_CALLBACK(PaintSelector::pattern_change), this);
-@@ -1298,7 +1298,7 @@ SPPattern *PaintSelector::getPattern()
-         gchar *paturn;
- 
-         if (stockid) {
--            paturn = g_strconcat("urn:inkscape:pattern:", patid, NULL);
-+            paturn = g_strconcat("urn:inkscape:pattern:", patid, nullptr);
-         } else {
-             paturn = g_strdup(patid);
-         }
-diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp
-index 5a018301de..7a5607b57c 100644
---- a/src/widgets/desktop-widget.cpp
-+++ b/src/widgets/desktop-widget.cpp
-@@ -612,8 +612,8 @@ void SPDesktopWidget::on_realize()
-     GtkSettings *settings = gtk_settings_get_default();
-     Gtk::Container *window = get_toplevel();
-     if (settings && window) {
--        g_object_get(settings, "gtk-theme-name", &gtkThemeName, NULL);
--        g_object_get(settings, "gtk-application-prefer-dark-theme", 
&gtkApplicationPreferDarkTheme, NULL);
-+        g_object_get(settings, "gtk-theme-name", &gtkThemeName, nullptr);
-+        g_object_get(settings, "gtk-application-prefer-dark-theme", 
&gtkApplicationPreferDarkTheme, nullptr);
-         bool dark = isCurrentThemeDark(dynamic_cast<Gtk::Container 
*>(window));
-         if (dark) {
-             prefs->setBool("/theme/darkTheme", true);
-diff --git a/src/widgets/sp-xmlview-tree.cpp b/src/widgets/sp-xmlview-tree.cpp
-index b07ce2475e..67b0e9094b 100644
---- a/src/widgets/sp-xmlview-tree.cpp
-+++ b/src/widgets/sp-xmlview-tree.cpp
-@@ -164,7 +164,7 @@ GtkWidget *sp_xmlview_tree_new(Inkscape::XML::Node * repr, 
void * /*factory*/, v
-     gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW(tree), 
search_equal_func, nullptr, nullptr);
- 
-     GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
--    GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes ("", 
renderer, "text", STORE_TEXT_COL, NULL);
-+    GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes ("", 
renderer, "text", STORE_TEXT_COL, nullptr);
-     gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);
-     gtk_cell_renderer_set_padding (renderer, 2, 0);
-     gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
-diff --git a/src/xml/repr-io.cpp b/src/xml/repr-io.cpp
-index f3cbdcb8f3..d891f07e09 100644
---- a/src/xml/repr-io.cpp
-+++ b/src/xml/repr-io.cpp
-@@ -449,7 +449,7 @@ void promote_to_namespace(Node *repr, const gchar *prefix) 
{
-     if ( repr->type() == Inkscape::XML::NodeType::ELEMENT_NODE ) {
-         GQuark code = repr->code();
-         if (!qname_prefix(code).id()) {
--            gchar *svg_name = g_strconcat(prefix, ":", 
g_quark_to_string(code), NULL);
-+            gchar *svg_name = g_strconcat(prefix, ":", 
g_quark_to_string(code), nullptr);
-             repr->setCodeUnsafe(g_quark_from_string(svg_name));
-             g_free(svg_name);
-         }
--- 
-2.31.1
-

diff --git a/media-gfx/inkscape/inkscape-1.1.ebuild 
b/media-gfx/inkscape/inkscape-1.1.ebuild
index 642643d65ca..e62f8efdec2 100644
--- a/media-gfx/inkscape/inkscape-1.1.ebuild
+++ b/media-gfx/inkscape/inkscape-1.1.ebuild
@@ -10,12 +10,15 @@ inherit cmake flag-o-matic xdg toolchain-funcs 
python-single-r1
 
 DESCRIPTION="SVG based generic vector-drawing program"
 HOMEPAGE="https://inkscape.org/";
-SRC_URI="https://media.inkscape.org/dl/resources/file/${P}.tar.xz";
+SRC_URI="
+       https://media.inkscape.org/dl/resources/file/${P}.tar.xz
+       https://dev.gentoo.org/~dilfridge/distfiles/inkscape-1.1-musl.txz
+"
 
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="0"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg lcms
+IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg
 openmp postscript readline spell static-libs svg2 visio wpg"
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@@ -43,6 +46,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
        media-gfx/potrace
        media-libs/fontconfig
        media-libs/freetype:2
+       media-libs/lcms:2
        media-libs/libpng:0=
        net-libs/libsoup:2.4
        sci-libs/gsl:=
@@ -66,7 +70,6 @@ COMMON_DEPEND="${PYTHON_DEPS}
        )
        jemalloc? ( dev-libs/jemalloc )
        jpeg? ( virtual/jpeg:0 )
-       lcms? ( media-libs/lcms:2 )
        readline? ( sys-libs/readline:= )
        spell? ( app-text/gspell )
        visio? (
@@ -98,10 +101,6 @@ RESTRICT="test"
 
 S="${WORKDIR}/${P}_2021-05-24_c4e8f9ed74"
 
-PATCHES=(
-       "${FILESDIR}/${P}-sentinels.patch" # 1.1 is the last affected version, 
it is already fixed in upstream
-)
-
 pkg_pretend() {
        if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
                tc-has-openmp || die "Please switch to an openmp compatible 
compiler"
@@ -109,6 +108,9 @@ pkg_pretend() {
 }
 
 src_prepare() {
+       # Backport from master
+       eapply "${WORKDIR}/inkscape-1.1-musl/"*.patch
+
        cmake_src_prepare
        sed -i "/install.*COPYING/d" CMakeScripts/ConfigCPack.cmake || die
 }
@@ -131,7 +133,7 @@ src_configure() {
                -DWITH_GNU_READLINE=$(usex readline)
                -DWITH_GSPELL=$(usex spell)
                -DWITH_JEMALLOC=$(usex jemalloc)
-               -DENABLE_LCMS=$(usex lcms)
+               -DENABLE_LCMS=ON
                -DWITH_OPENMP=$(usex openmp)
                -DBUILD_SHARED_LIBS=$(usex !static-libs)
                -DWITH_SVG2=$(usex svg2)

diff --git a/media-gfx/inkscape/inkscape-9999.ebuild 
b/media-gfx/inkscape/inkscape-9999.ebuild
index dc4abef7db6..05de5cb6c18 100644
--- a/media-gfx/inkscape/inkscape-9999.ebuild
+++ b/media-gfx/inkscape/inkscape-9999.ebuild
@@ -15,7 +15,7 @@ EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git";
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="0"
 KEYWORDS=""
-IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg lcms
+IUSE="cdr dbus dia exif graphicsmagick imagemagick inkjar jemalloc jpeg
 openmp postscript readline spell static-libs svg2 test visio wpg"
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@@ -43,6 +43,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
        media-gfx/potrace
        media-libs/fontconfig
        media-libs/freetype:2
+       media-libs/lcms:2
        media-libs/libpng:0=
        net-libs/libsoup:2.4
        sci-libs/gsl:=
@@ -66,7 +67,6 @@ COMMON_DEPEND="${PYTHON_DEPS}
        )
        jemalloc? ( dev-libs/jemalloc )
        jpeg? ( virtual/jpeg:0 )
-       lcms? ( media-libs/lcms:2 )
        readline? ( sys-libs/readline:= )
        spell? ( app-text/gspell )
        visio? (
@@ -128,7 +128,7 @@ src_configure() {
                -DWITH_GNU_READLINE=$(usex readline)
                -DWITH_GSPELL=$(usex spell)
                -DWITH_JEMALLOC=$(usex jemalloc)
-               -DENABLE_LCMS=$(usex lcms)
+               -DENABLE_LCMS=ON
                -DWITH_OPENMP=$(usex openmp)
                -DBUILD_SHARED_LIBS=$(usex !static-libs)
                -DWITH_SVG2=$(usex svg2)

Reply via email to