Skip to content

Commit df86503

Browse files
committed
inkscape: build with std::filesystem
1 parent 8d7c2ad commit df86503

2 files changed

Lines changed: 90 additions & 1 deletion

File tree

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
--- a/CMakeScripts/DefineDependsandFlags.cmake
2+
+++ b/CMakeScripts/DefineDependsandFlags.cmake
3+
@@ -308,7 +308,6 @@ elseif(APPLE)
4+
find_package(Boost 1.19.0 REQUIRED COMPONENTS filesystem stacktrace_basic)
5+
list(APPEND INKSCAPE_CXX_FLAGS "-D_GNU_SOURCE")
6+
else()
7+
- find_package(Boost 1.19.0 REQUIRED COMPONENTS filesystem)
8+
# The package stacktrace_backtrace may not be available on all distros.
9+
find_package(Boost 1.19.0 COMPONENTS stacktrace_backtrace)
10+
if (BOOST_FOUND)
11+
--- a/src/CMakeLists.txt
12+
+++ b/src/CMakeLists.txt
13+
@@ -417,8 +417,6 @@ else()
14+
set_target_properties(inkscape_base PROPERTIES INSTALL_RPATH "@loader_path/..")
15+
endif()
16+
17+
-target_link_libraries(inkscape_base PUBLIC Boost::filesystem)
18+
-
19+
# Link the inkscape_base library against all external dependencies
20+
target_link_libraries(inkscape_base
21+
PRIVATE
22+
--- a/src/io/file-export-cmd.cpp
23+
+++ b/src/io/file-export-cmd.cpp
24+
@@ -51,13 +51,8 @@
25+
// Temporary dependency : once all compilers we want to support have support for
26+
// C++17 std::filesystem (with #include <filesystem> ) then we drop this dep
27+
// (Dev meeting, 2020-09-25)
28+
-#ifdef G_OS_WIN32
29+
#include <filesystem>
30+
namespace filesystem = std::filesystem;
31+
-#else
32+
-#include <boost/filesystem.hpp>
33+
-namespace filesystem = boost::filesystem;
34+
-#endif
35+
36+
InkFileExportCmd::InkFileExportCmd()
37+
: export_overwrite(false)
38+
--- a/src/ui/dialog/dialog-manager.cpp
39+
+++ b/src/ui/dialog/dialog-manager.cpp
40+
@@ -10,14 +10,8 @@
41+
#include <gdkmm/monitor.h>
42+
#include <gtkmm/window.h>
43+
44+
-#ifdef G_OS_WIN32
45+
#include <filesystem>
46+
namespace filesystem = std::filesystem;
47+
-#else
48+
-// Waiting for compiler on MacOS to catch up to C++x17
49+
-#include <boost/filesystem.hpp>
50+
-namespace filesystem = boost::filesystem;
51+
-#endif // G_OS_WIN32
52+
53+
#include "io/resource.h"
54+
#include "inkscape-application.h"
55+
--- a/src/ui/widget/canvas/framecheck.cpp
56+
+++ b/src/ui/widget/canvas/framecheck.cpp
57+
@@ -2,9 +2,9 @@
58+
#include <fstream>
59+
#include <iostream>
60+
#include <mutex>
61+
-#include <boost/filesystem.hpp> // Using boost::filesystem instead of std::filesystem due to broken C++17 on MacOS.
62+
#include "framecheck.h"
63+
-namespace fs = boost::filesystem;
64+
+#include <filesystem>
65+
+namespace fs = std::filesystem;
66+
67+
namespace Inkscape::FrameCheck {
68+
69+
--- a/src/util/font-discovery.cpp
70+
+++ b/src/util/font-discovery.cpp
71+
@@ -23,14 +23,8 @@
72+
#include <unordered_map>
73+
#include <vector>
74+
75+
-#ifdef G_OS_WIN32
76+
#include <filesystem>
77+
namespace filesystem = std::filesystem;
78+
-#else
79+
-// Waiting for compiler on MacOS to catch up to C++x17
80+
-#include <boost/filesystem.hpp>
81+
-namespace filesystem = boost::filesystem;
82+
-#endif // G_OS_WIN32
83+
84+
namespace Inkscape {
85+

srcpkgs/inkscape/template

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Template file for 'inkscape'
22
pkgname=inkscape
33
version=1.4.2
4-
revision=1
4+
revision=2
55
build_style=cmake
66
make_check_target="check"
77
hostmakedepends="automake gettext glib-devel intltool libgraphicsmagick-devel
@@ -32,6 +32,10 @@ else
3232
configure_args+=" -DBUILD_TESTING=OFF"
3333
fi
3434

35+
if [ "$XBPS_TARGET_LIBC" != musl ]; then
36+
makedepends+=" libbacktrace"
37+
fi
38+
3539
post_patch() {
3640
if [ "$XBPS_TARGET_LIBC" = musl ]; then
3741
# disable errors for missing sentinels in glib variadic functions,

0 commit comments

Comments
 (0)