freebsd-ports/graphics/inkscape/files/patch-src_path-prefix.cpp
Tobias C. Berner bc02049bf8 graphics/inkscape: update to 1.1
Inkscape 1.1 is the latest major Inkscape release that brings you many
fresh new features and new functionality.  Release highlights

    * A Welcome dialog, where the look of Inkscape can be selected, and
      some choices for the new document's size or file to open are
      available
    * A Command palette that opens when the ? key is pressed and that
      allows to search and use many functions without having to use a
      keyboard shortcut or going through the menus
    * It is now possible to copy, cut and paste parts of paths with the
      Node tool
    * The dialog docking system has been rewritten, which resolves many
      issues with Inkscape's docked dialogs and allows you to dock
      dialogs on either side of the screen
    * New Outline Overlay mode that displays object outlines while also
      showing their real colors
    * Preferences options are now easier to find by using the new search
      field
    * It is no longer necessary to remember to click on 'Export' in the
      PNG Export dialog, as the exporting will already happen after the
      click on 'Save' in the file selection dialog.
    * Export as JPG, TIFF, optimized PNG and WebP directly from Inkscape
    * When pasting a copied object, Inkscape now pastes it directly on
      top of the currently selected object by default
    * An extension for updating extensions and installing additional
      extensions, called the Extension Manager (currently in beta stage)

Full release notes:
	https://media.inkscape.org/media/doc/release_notes/1.1/Inkscape_1.1.html
2021-07-04 22:21:55 +02:00

31 lines
1 KiB
C++

--- src/path-prefix.cpp.orig 2021-05-17 19:25:49 UTC
+++ src/path-prefix.cpp
@@ -20,6 +20,12 @@
#include <mach-o/dyld.h> // for _NSGetExecutablePath
#endif
+#ifdef __FreeBSD__
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/sysctl.h>
+#endif
+
#include <cassert>
#include <glib.h>
#include <glibmm.h>
@@ -123,6 +129,15 @@ char const *get_program_name()
if (!program_name) {
g_warning("get_program_name() - g_file_read_link failed");
}
+#elif defined(__FreeBSD__)
+ int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
+ char buf[MAXPATHLEN];
+ size_t cb = sizeof(buf);
+ if (sysctl(mib, 4, buf, &cb, NULL, 0) == 0) {
+ program_name = realpath(buf, nullptr);
+ } else {
+ g_warning("get_program_name() - sysctl failed");
+ }
#else
#warning get_program_name() - no known way to obtain executable name on this platform
g_info("get_program_name() - no known way to obtain executable name on this platform");