mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 19:48:53 +02:00
Inkscape: bump version, enable poppler
This commit is contained in:
@@ -9,10 +9,10 @@ which is supported by many other applications including web browsers."
|
||||
HOMEPAGE="https://inkscape.org/"
|
||||
COPYRIGHT="2022 Inkscape Developers"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="4"
|
||||
SOURCE_URI="https://inkscape.org/gallery/item/34673/inkscape-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="46ce7da0eba7ca4badc1db70e9cbb67e0adf9bb342687dc6e08b5ca21b8d4c1b"
|
||||
SOURCE_DIR="inkscape-${portVersion}_2022-07-14_9c6d41e410"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://inkscape.org/gallery/item/37360/inkscape-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="a0c7fd0d03c0a21535e648ef301dcf80dd7cfc1f3545e51065fbf1ba3ee8a5c4"
|
||||
SOURCE_DIR="inkscape-${portVersion}_2022-12-01_b0a8486541"
|
||||
PATCHES="inkscape-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="
|
||||
inkscape.rdef.in
|
||||
@@ -56,6 +56,8 @@ REQUIRES="
|
||||
lib:libpango_1.0$secondaryArchSuffix
|
||||
lib:libpangomm_1.4$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libpoppler$secondaryArchSuffix
|
||||
lib:libpoppler_glib$secondaryArchSuffix
|
||||
lib:librevenge_0.0$secondaryArchSuffix
|
||||
lib:librevenge_stream_0.0$secondaryArchSuffix
|
||||
lib:librsvg_2$secondaryArchSuffix
|
||||
@@ -88,6 +90,7 @@ BUILD_REQUIRES="
|
||||
devel:liblcms2$secondaryArchSuffix
|
||||
devel:libpango_1.0$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libpoppler$secondaryArchSuffix >= 117
|
||||
devel:librevenge_0.0$secondaryArchSuffix
|
||||
devel:libsoup_2.4$secondaryArchSuffix
|
||||
devel:libdouble_conversion$secondaryArchSuffix
|
||||
@@ -1,175 +0,0 @@
|
||||
From 6d85ccb6890dd3c732d24af48a6658b69813d3ee Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Mon, 24 Jan 2022 17:27:43 -0500
|
||||
Subject: Fix build without Poppler.
|
||||
|
||||
|
||||
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
|
||||
index b42c0aa..59da925 100644
|
||||
--- a/CMakeScripts/DefineDependsandFlags.cmake
|
||||
+++ b/CMakeScripts/DefineDependsandFlags.cmake
|
||||
@@ -189,9 +189,11 @@ else()
|
||||
set(ENABLE_POPPLER_CAIRO OFF)
|
||||
endif()
|
||||
|
||||
-list(APPEND INKSCAPE_INCS_SYS ${POPPLER_INCLUDE_DIRS})
|
||||
-list(APPEND INKSCAPE_LIBS ${POPPLER_LIBRARIES})
|
||||
-add_definitions(${POPPLER_DEFINITIONS})
|
||||
+if(ENABLE_POPPLER_CAIRO)
|
||||
+ list(APPEND INKSCAPE_INCS_SYS ${POPPLER_INCLUDE_DIRS})
|
||||
+ list(APPEND INKSCAPE_LIBS ${POPPLER_LIBRARIES})
|
||||
+ add_definitions(${POPPLER_DEFINITIONS})
|
||||
+endif()
|
||||
|
||||
if(WITH_LIBWPG)
|
||||
pkg_check_modules(LIBWPG libwpg-0.3 librevenge-0.0 librevenge-stream-0.0)
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 1f98b8cddf38321d681609db23023c6e5d46947d Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Mon, 24 Jan 2022 20:07:10 -0500
|
||||
Subject: tracedialog: Fix build under Haiku.
|
||||
|
||||
|
||||
diff --git a/src/ui/dialog/tracedialog.cpp b/src/ui/dialog/tracedialog.cpp
|
||||
index 114e341..29a6b8b 100644
|
||||
--- a/src/ui/dialog/tracedialog.cpp
|
||||
+++ b/src/ui/dialog/tracedialog.cpp
|
||||
@@ -32,6 +32,10 @@
|
||||
#include "trace/potrace/inkscape-potrace.h"
|
||||
#include "ui/util.h"
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#undef B_OK
|
||||
+#endif
|
||||
+
|
||||
// This maps the column ids in the glade file to useful enums
|
||||
static const std::map<std::string, Inkscape::Trace::Potrace::TraceType> trace_types = {
|
||||
{"SS_BC", Inkscape::Trace::Potrace::TRACE_BRIGHTNESS},
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 6113773bf22e1ae206134d46ae1db99224e2bc68 Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Wed, 26 Jan 2022 12:17:06 -0500
|
||||
Subject: Add mechanism to get the program path under Haiku.
|
||||
|
||||
|
||||
diff --git a/src/path-prefix.cpp b/src/path-prefix.cpp
|
||||
index 1d61748..a8e8da1 100644
|
||||
--- a/src/path-prefix.cpp
|
||||
+++ b/src/path-prefix.cpp
|
||||
@@ -31,6 +31,10 @@
|
||||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <kernel/image.h>
|
||||
+#endif
|
||||
+
|
||||
#include <cassert>
|
||||
#include <glib.h>
|
||||
#include <glibmm.h>
|
||||
@@ -152,6 +156,16 @@ char const *get_program_name()
|
||||
} else {
|
||||
g_warning("get_program_name() - sysctl failed");
|
||||
}
|
||||
+#elif defined(__HAIKU__)
|
||||
+ int32 cookie = 0;
|
||||
+ image_info info;
|
||||
+ while (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) == B_OK) {
|
||||
+ if (info.type != B_APP_IMAGE)
|
||||
+ continue;
|
||||
+
|
||||
+ program_name = realpath(info.name, nullptr);
|
||||
+ break;
|
||||
+ }
|
||||
#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");
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 045d782d52ba864e5b3a352ee2d414b98360fcc9 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 28 Jan 2022 08:26:36 +1000
|
||||
Subject: Use glib for datadir
|
||||
|
||||
|
||||
diff --git a/src/inkscape-main.cpp b/src/inkscape-main.cpp
|
||||
index 7ac16f8..a7445b2 100644
|
||||
--- a/src/inkscape-main.cpp
|
||||
+++ b/src/inkscape-main.cpp
|
||||
@@ -16,6 +16,10 @@
|
||||
#include <boost/algorithm/string/join.hpp>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <boost/algorithm/string/join.hpp>
|
||||
+#endif
|
||||
+
|
||||
#include "inkscape-application.h"
|
||||
#include "path-prefix.h"
|
||||
|
||||
@@ -70,7 +74,7 @@ static void set_themes_env()
|
||||
|
||||
if (xdg_data_dirs.empty()) {
|
||||
// initialize with reasonable defaults (should match what glib would do if the variable were unset!)
|
||||
-#ifdef _WIN32
|
||||
+#if defined(_WIN32) || defined(__HAIKU__)
|
||||
// g_get_system_data_dirs is actually not cached on Windows,
|
||||
// so we can just call it directly and modify XDG_DATA_DIRS later
|
||||
auto data_dirs = Glib::get_system_data_dirs();
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From e606b4b0fe30a3b5c89dc89574edcec1bbc719e1 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 18 Nov 2022 22:06:30 +1000
|
||||
Subject: Dirty hack for XDG variables
|
||||
|
||||
|
||||
diff --git a/src/inkscape-main.cpp b/src/inkscape-main.cpp
|
||||
index a7445b2..6b76cbe 100644
|
||||
--- a/src/inkscape-main.cpp
|
||||
+++ b/src/inkscape-main.cpp
|
||||
@@ -248,6 +248,12 @@ int main(int argc, char *argv[])
|
||||
set_macos_app_bundle_env(program_dir);
|
||||
}
|
||||
}
|
||||
+#elif defined __HAIKU__
|
||||
+ g_setenv ("XDG_CONFIG_DIRS", "/boot/system/settings", FALSE);
|
||||
+ g_setenv ("XDG_DATA_HOME", "/boot/home/config/non-packaged/data", FALSE);
|
||||
+ g_setenv ("XDG_CONFIG_HOME", "/boot/home/config/settings", FALSE);
|
||||
+ g_setenv ("XDG_CACHE_HOME", "/boot/home/config/cache", FALSE);
|
||||
+ g_setenv ("XDG_DATA_DIRS", "/boot/system/non-packaged/data:/boot/system/data", FALSE);
|
||||
#elif defined _WIN32
|
||||
// temporarily switch console encoding to UTF8 while Inkscape runs
|
||||
// as everything else is a mess and it seems to work just fine
|
||||
diff --git a/src/inkview-main.cpp b/src/inkview-main.cpp
|
||||
index 5d60945..61a9ae4 100644
|
||||
--- a/src/inkview-main.cpp
|
||||
+++ b/src/inkview-main.cpp
|
||||
@@ -32,6 +32,14 @@ int main(int argc, char *argv[])
|
||||
_setmode(_fileno(stdout), _O_BINARY); // binary mode seems required for this to work properly
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ g_setenv ("XDG_CONFIG_DIRS", "/boot/system/settings", FALSE);
|
||||
+ g_setenv ("XDG_DATA_HOME", "/boot/home/config/non-packaged/data", FALSE);
|
||||
+ g_setenv ("XDG_CONFIG_HOME", "/boot/home/config/settings", FALSE);
|
||||
+ g_setenv ("XDG_CACHE_HOME", "/boot/home/config/cache", FALSE);
|
||||
+ g_setenv ("XDG_DATA_DIRS", "/boot/system/non-packaged/data:/boot/system/data", FALSE);
|
||||
+#endif
|
||||
+
|
||||
auto application = InkviewApplication::create();
|
||||
int ret = application->run(argc, argv);
|
||||
|
||||
--
|
||||
2.37.3
|
||||
|
||||
100
media-gfx/inkscape/patches/inkscape-1.2.2.patchset
Normal file
100
media-gfx/inkscape/patches/inkscape-1.2.2.patchset
Normal file
@@ -0,0 +1,100 @@
|
||||
From fdc2d8a6febc35aeb2485b9f73606930cf47d716 Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Mon, 24 Jan 2022 20:07:10 -0500
|
||||
Subject: tracedialog: Fix build under Haiku.
|
||||
|
||||
|
||||
diff --git a/src/ui/dialog/tracedialog.cpp b/src/ui/dialog/tracedialog.cpp
|
||||
index 114e341..29a6b8b 100644
|
||||
--- a/src/ui/dialog/tracedialog.cpp
|
||||
+++ b/src/ui/dialog/tracedialog.cpp
|
||||
@@ -32,6 +32,10 @@
|
||||
#include "trace/potrace/inkscape-potrace.h"
|
||||
#include "ui/util.h"
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#undef B_OK
|
||||
+#endif
|
||||
+
|
||||
// This maps the column ids in the glade file to useful enums
|
||||
static const std::map<std::string, Inkscape::Trace::Potrace::TraceType> trace_types = {
|
||||
{"SS_BC", Inkscape::Trace::Potrace::TRACE_BRIGHTNESS},
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 6be65721e566605f84172a08b671ac71e53d7132 Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Wed, 26 Jan 2022 12:17:06 -0500
|
||||
Subject: Add mechanism to get the program path under Haiku.
|
||||
|
||||
|
||||
diff --git a/src/path-prefix.cpp b/src/path-prefix.cpp
|
||||
index 1d61748..a8e8da1 100644
|
||||
--- a/src/path-prefix.cpp
|
||||
+++ b/src/path-prefix.cpp
|
||||
@@ -31,6 +31,10 @@
|
||||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <kernel/image.h>
|
||||
+#endif
|
||||
+
|
||||
#include <cassert>
|
||||
#include <glib.h>
|
||||
#include <glibmm.h>
|
||||
@@ -152,6 +156,16 @@ char const *get_program_name()
|
||||
} else {
|
||||
g_warning("get_program_name() - sysctl failed");
|
||||
}
|
||||
+#elif defined(__HAIKU__)
|
||||
+ int32 cookie = 0;
|
||||
+ image_info info;
|
||||
+ while (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) == B_OK) {
|
||||
+ if (info.type != B_APP_IMAGE)
|
||||
+ continue;
|
||||
+
|
||||
+ program_name = realpath(info.name, nullptr);
|
||||
+ break;
|
||||
+ }
|
||||
#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");
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 1794c22439d09a2937db58145a1e73787648ca25 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 28 Jan 2022 08:26:36 +1000
|
||||
Subject: Use glib for datadir
|
||||
|
||||
|
||||
diff --git a/src/inkscape-main.cpp b/src/inkscape-main.cpp
|
||||
index 4b67220..0bbabdc 100644
|
||||
--- a/src/inkscape-main.cpp
|
||||
+++ b/src/inkscape-main.cpp
|
||||
@@ -16,6 +16,10 @@
|
||||
#include <boost/algorithm/string/join.hpp>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <boost/algorithm/string/join.hpp>
|
||||
+#endif
|
||||
+
|
||||
#include "inkscape-application.h"
|
||||
#include "path-prefix.h"
|
||||
#include "streq.h"
|
||||
@@ -71,7 +75,7 @@ static void set_themes_env()
|
||||
|
||||
if (xdg_data_dirs.empty()) {
|
||||
// initialize with reasonable defaults (should match what glib would do if the variable were unset!)
|
||||
-#ifdef _WIN32
|
||||
+#if defined(_WIN32) || defined(__HAIKU__)
|
||||
// g_get_system_data_dirs is actually not cached on Windows,
|
||||
// so we can just call it directly and modify XDG_DATA_DIRS later
|
||||
auto data_dirs = Glib::get_system_data_dirs();
|
||||
--
|
||||
2.37.3
|
||||
|
||||
Reference in New Issue
Block a user