Files
haikuports/media-gfx/inkscape/inkscape-1.4.3.recipe
2026-03-27 13:50:36 +01:00

171 lines
5.7 KiB
Bash

SUMMARY="A free & open source vector graphics editor"
DESCRIPTION="Inkscape is a Free and open source vector graphics editor. It offers a rich set \
of features and is widely used for both artistic and technical illustrations \
such as cartoons, clip art, logos, typography, diagramming and flowcharting. \
It uses vector graphics to allow for sharp printouts and renderings at \
unlimited resolution and is not bound to a fixed number of pixels like raster \
graphics. Inkscape uses the standardized SVG file format as its main format, \
which is supported by many other applications including web browsers."
HOMEPAGE="https://inkscape.org/"
COPYRIGHT="2025 Inkscape Developers"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://inkscape.org/gallery/item/58914/inkscape-$portVersion.tar.xz"
CHECKSUM_SHA256="2e25f8b78150749ae52cf0cad7e409c907761a5e5a01ce567297289de0118df8"
SOURCE_DIR="inkscape-${portVersion}_2025-12-25_0d15f75042"
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 = $portVersion
app:Inkview = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
boehm_gc$secondaryArchSuffix
lib:lib2geom$secondaryArchSuffix
lib:libatkmm_1.6$secondaryArchSuffix
lib:libboost_filesystem$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libcairomm_1.0$secondaryArchSuffix
lib:libcdr_0.1$secondaryArchSuffix
lib:libdouble_conversion$secondaryArchSuffix
lib:libfontconfig$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:libjpeg$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
lib:libpangomm_1.4$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libpoppler$secondaryArchSuffix
lib:libpoppler_glib$secondaryArchSuffix
lib:libpotrace$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:libvisio_0.1$secondaryArchSuffix
lib:libwpd_0.10$secondaryArchSuffix
lib:libwpg_0.3$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxslt$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
boehm_gc${secondaryArchSuffix}_devel
devel:lib2geom$secondaryArchSuffix
devel:libboost_filesystem$secondaryArchSuffix >= 1.90.0
devel:libcdr_0.1$secondaryArchSuffix
devel:libdouble_conversion$secondaryArchSuffix
devel:libfontconfig$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:libpoppler$secondaryArchSuffix >= 155
devel:libpoppler_glib$secondaryArchSuffix >= 8.31
devel:libpotrace$secondaryArchSuffix
devel:librevenge_0.0$secondaryArchSuffix
devel:libsoup_2.4$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
cmd:g++$secondaryArchSuffix
cmd:msgfmt$secondaryArchSuffix
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
LDFLAGS="-Wl,--as-needed" \
cmake . -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir/Inkscape \
-DCMAKE_INSTALL_BINDIR=$appsDir/Inkscape \
-DCMAKE_INSTALL_LIBDIR=$appsDir/Inkscape/lib \
-DSHARE_INSTALL=$dataDir \
-DINKSCAPE_DATADIR=$dataDir \
-DPACKAGE_LOCALE_DIR=$dataDir/locale \
-DWITH_INTERNAL_2GEOM=OFF \
-DWITH_X11=OFF \
-Wno-dev
ninja -v
}
INSTALL()
{
ninja install
mv $appsDir/Inkscape/inkscape $appsDir/Inkscape/Inkscape
mv $appsDir/Inkscape/inkview $appsDir/Inkscape/Inkview
rm -rf $appsDir/Inkscape/{include,share} $appsDir/Inkscape/lib/{cmake,pkgconfig}
rm -rf $dataDir/{applications,icons,metainfo}
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/Inkscape
addAppDeskbarSymlink $appsDir/Inkscape/Inkscape
addResourcesToBinaries inkview.rdef $appsDir/Inkscape/Inkview
addAppDeskbarSymlink $appsDir/Inkscape/Inkview
}