Inkscape: rework recipe

* add icons for applications
* move shared to $dataDir
* fix system iconset detection
This commit is contained in:
Gerasim Troeglazov
2022-01-28 12:09:52 +10:00
parent d0bcb44611
commit 42e118ed45
4 changed files with 199 additions and 26 deletions

View File

@@ -0,0 +1,33 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Inkscape",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E63696604020006023394F93D1F7CBD1F7C3394F94AF8B549B1ED00B7B7B7FF"
$"16165B05FF050104016703020EBF6EB434BF6EB434BF31B434BEC4B47B3EB44E"
$"35B7B2B490BE21B7F7BAEAB458BE57B430BEFAB434BEA7B42CBF4EB47BBFDEB4"
$"48BFA2B7E2C3E0BEAFCBE5BB48C7E3BEE1CC20BF70CC42BF28CC42BFB8CC42C0"
$"31CBE5BFFFCC20C397C7E3CA65BFDEC6FEC3E0CA97BFA2CAAFBEFACAB3BF4ECA"
$"ABBEA7CA4FBE21CA87BE57C6E8BAEAC01BB47BC382B7B2BFEBB44DBF6EB434BF"
$"ADB434BF6EB434BF6EB434BF6EB434BF6EB434020FBF6BB633BF6BB633BF34B6"
$"33BED3B672BEFEB64ABD4EB7E2BA42BAC4BBC8B953B9B9BB45B884BC62B909BB"
$"E4B877BC6EB85EBC86B86ABC7AB74CBD4EBAC9BD87BA61BD9DBBCCBD44BC03BB"
$"89BB3CBB9CBD06BB70BE13BDC7BCECBDB7BF59BDD9C29ABB87C0EBBB78C3D5BB"
$"92C5CBBD64C492BD90C626BD58C68ABC9CC725BD2FC5E4BBFEC497BAC4C53DBB"
$"61C311B953C006B672C18BB7E2BFDBB649BF6BB633BFA3B633BF6BB633BF6BB6"
$"33BF6BB633BF6BB6330A04405E5F5447482B4F040A030102000A020100123FDE"
$"210000000000003FC07C420852379CAB01178522040A000100023FDE21000000"
$"0000003FC07C420852379CAB0A010101023FDE210000000000003FC07C420852"
$"379CAB"
};

View File

@@ -0,0 +1,32 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Inkview",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E63696604020006023394F93D1F7CBD1F7C3394F94AF8B549B1ED00E2E2E2FF"
$"0581C105FF050104016703020EBF6EB434BF6EB434BF31B434BEC4B47B3EB44E"
$"35B7B2B490BE21B7F7BAEAB458BE57B430BEFAB434BEA7B42CBF4EB47BBFDEB4"
$"48BFA2B7E2C3E0BEAFCBE5BB48C7E3BEE1CC20BF70CC42BF28CC42BFB8CC42C0"
$"31CBE5BFFFCC20C397C7E3CA65BFDEC6FEC3E0CA97BFA2CAAFBEFACAB3BF4ECA"
$"ABBEA7CA4FBE21CA87BE57C6E8BAEAC01BB47BC382B7B2BFEBB44DBF6EB434BF"
$"ADB434BF6EB434BF6EB434BF6EB434BF6EB434020FBF6BB633BF6BB633BF34B6"
$"33BED3B672BEFEB64ABD4EB7E2BA42BAC4BBC8B953B9B9BB45B884BC62B909BB"
$"E42C392C39B7D4BCEAB6B5BDBDBAC9BD87BA61BD9DBBCCBD443A32BC95BA3F3D"
$"343D3BBD66BDB1BFD4BDD347354135C3C5BB684F3AC4DCBD53C615BD4FC68ABC"
$"9C553CC5E4BBFEC497BAC4C53DBB61C311B953C006B672C18BB7E2BFDBB649BF"
$"6BB633BFA3B633BF6BB633BF6BB633BF6BB633BF6BB6330A04405E5F5447482B"
$"4F040A030102000A020100123FDE210000000000003FC07C420852379CAB0117"
$"8522040A000100023FDE210000000000003FC07C420852379CAB0A010101023F"
$"DE210000000000003FC07C420852379CAB"
};

View File

@@ -9,50 +9,96 @@ which is supported by many other applications including web browsers."
HOMEPAGE="https://inkscape.org/"
COPYRIGHT="2021 Inkscape Developers"
LICENSE="GNU GPL v2"
REVISION="1"
REVISION="2"
SOURCE_URI="https://inkscape.org/gallery/item/29255/inkscape-$portVersion.tar.xz"
CHECKSUM_SHA256="aeca0b9d33b5b1cfa9aa70433bdee6a8c3d020ffafc2e6f0c9a60eed7a7978af"
SOURCE_DIR="inkscape-1.1.1_2021-09-20_3bf5ae0d25"
PATCHES="inkscape-$portVersion.patchset"
ADDITIONAL_FILES="
inkscape.rdef.in
inkview.rdef.in
"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
inkscape$secondaryArchSuffix = $portVersion
app:inkscape$secondaryArchSuffix = $portVersion
lib:lib2geom$secondaryArchSuffix = $portVersion
app:Inkscape = $portVersion
app:Inkview = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
boehm_gc$secondaryArchSuffix
lib:libgtkmm_3.0$secondaryArchSuffix
lib:libatkmm_1.6$secondaryArchSuffix
lib:libboost_filesystem$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libcairomm_1.0$secondaryArchSuffix
lib:libcdr_0.1$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
lib:libsoup_2.4$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libglibmm_2.4$secondaryArchSuffix
lib:libgiomm_2.4$secondaryArchSuffix
lib:libgdk_3$secondaryArchSuffix
lib:libgdk_pixbuf_2.0$secondaryArchSuffix
lib:libgomp$secondaryArchSuffix
lib:libGraphicsMagick++$secondaryArchSuffix
lib:libgsl$secondaryArchSuffix
lib:libgtk_3$secondaryArchSuffix
lib:libgtkmm_3.0$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
lib:libpangomm_1.4$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:librevenge_0.0$secondaryArchSuffix
lib:librevenge_stream_0.0$secondaryArchSuffix
lib:librsvg_2$secondaryArchSuffix
lib:libsigc_2.0$secondaryArchSuffix
lib:libsoup_2.4$secondaryArchSuffix
lib:libdouble_conversion$secondaryArchSuffix
lib:libpotrace$secondaryArchSuffix
lib:libvisio_0.1$secondaryArchSuffix
lib:libwpd_0.10$secondaryArchSuffix
lib:libwpg_0.3$secondaryArchSuffix
lib:libX11$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxslt$secondaryArchSuffix
# so gdk-pixbuf can load SVG icons
librsvg$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
boehm_gc${secondaryArchSuffix}_devel
devel:libgtkmm_3.0$secondaryArchSuffix
devel:libboost_filesystem$secondaryArchSuffix
devel:liblcms2$secondaryArchSuffix
devel:libcdr_0.1$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libpango_1.0$secondaryArchSuffix
devel:libsoup_2.4$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libglibmm_2.4$secondaryArchSuffix
devel:libGraphicsMagick$secondaryArchSuffix
devel:libGraphicsMagickWand$secondaryArchSuffix
devel:libgsl$secondaryArchSuffix
devel:libgtkmm_3.0$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:liblcms2$secondaryArchSuffix
devel:libpango_1.0$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:librevenge_0.0$secondaryArchSuffix
devel:libsoup_2.4$secondaryArchSuffix
devel:libdouble_conversion$secondaryArchSuffix
devel:libpotrace$secondaryArchSuffix
devel:libvisio_0.1$secondaryArchSuffix
devel:libwpd_0.10$secondaryArchSuffix
devel:libwpg_0.3$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libxslt$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
@@ -64,8 +110,11 @@ BUILD_PREREQUIRES="
BUILD()
{
LDFLAGS="-Wl,--as-needed" \
cmake . -GNinja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir/Inkscape
cmake . $cmakeDirArgs -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DSHARE_INSTALL=$dataDir \
-DINKSCAPE_DATADIR=$dataDir \
-DPACKAGE_LOCALE_DIR=$dataDir/locale
# otherwise it runs out of memory, unfortunately
ninja -j1
@@ -75,12 +124,37 @@ INSTALL()
{
ninja install
mv $appsDir/Inkscape/bin/inkscape $appsDir/Inkscape/Inkscape
mv $appsDir/Inkscape/bin/inkview $appsDir/Inkscape/inkview
mv $appsDir/Inkscape/lib/inkscape/* $appsDir/Inkscape/lib/
rm -rf $appsDir/Inkscape/lib/inkscape
rm -rf $appsDir/Inkscape/lib/cmake
rm -rf $appsDir/Inkscape/include
mkdir -p $appsDir
mv $binDir/inkscape $appsDir/Inkscape
mv $binDir/inkview $appsDir/Inkview
addAppDeskbarSymlink $appsDir/Inkscape/Inkscape
rm -rf $binDir $developDir $libDir/{cmake,pkgconfig}
local APP_SIGNATURE="application/x-vnd.inkscape-inkscape"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/inkscape.rdef.in > inkscape.rdef
local APP_SIGNATURE="application/x-vnd.inkscape-inkview"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/inkview.rdef.in > inkview.rdef
addResourcesToBinaries inkscape.rdef $appsDir/Inkscape
addAppDeskbarSymlink $appsDir/Inkscape
addResourcesToBinaries inkview.rdef $appsDir/Inkview
addAppDeskbarSymlink $appsDir/Inkview
}

View File

@@ -1,4 +1,4 @@
From 4f9abbf12f8d63f0b5e03e4195fa441d1456257b Mon Sep 17 00:00:00 2001
From e052477f15c3e413b6c4c56968da0b7d21e657e1 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.
@@ -27,7 +27,7 @@ index 4d77e4d..c1e33a5 100644
2.30.2
From 1a8a3ec107603368cf0c40a986f36d90e9d972e0 Mon Sep 17 00:00:00 2001
From 28b1c87d4b61f2bf721415361686b59413b30c12 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.
@@ -52,7 +52,7 @@ index 869510d..05f446d 100644
2.30.2
From fd79229a6a9875630ac595bc60b29b205ac309c6 Mon Sep 17 00:00:00 2001
From 128dc87b37403f22c6f4437d32f5aee7ee2f2ca8 Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
Date: Mon, 24 Jan 2022 21:57:22 -0500
Subject: Another no-Poppler fix.
@@ -93,7 +93,7 @@ index e02a575..d460ac1 100644
2.30.2
From c86c492577876a99210437167adff470b7b05902 Mon Sep 17 00:00:00 2001
From fa5d76c4a094d2b8f85fd95c6fd685fbd0f9d1cb 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.
@@ -134,3 +134,37 @@ index 1d61748..a8e8da1 100644
--
2.30.2
From a4c73b83baa32c3eaa0a9b6f213ac09a56118b56 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.30.2