Files
haikuports/app-text/ghostscript_gpl/ghostscript_gpl-10.06.0.recipe
2025-12-09 15:33:43 +01:00

163 lines
3.9 KiB
Bash

SUMMARY="An interpreter for the PostScript language and for PDF"
DESCRIPTION="Ghostscript is a suite of software based on an interpreter for \
Adobe Systems' PostScript and Portable Document Format (PDF) page description \
languages. Its main purposes are the rasterization or rendering of such page \
description language files, for the display or printing of document pages, and \
the conversion between PostScript and PDF files."
HOMEPAGE="https://ghostscript.com/"
COPYRIGHT="2001-2025 Artifex Software, Inc."
LICENSE="AGPL-3.0"
REVISION="1"
SOURCE_URI="https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${portVersion//./}/ghostscript-$portVersion.tar.xz"
CHECKSUM_SHA256="64352648c2c081c8a9fb1a12dc1965e01ead7c57f58b72d1b54f6ef1cef3c561"
SOURCE_DIR="ghostscript-$portVersion"
PATCHES="ghostscript_gpl-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandBinDir=$prefix/bin
fi
libVersion="${portVersion%.*}"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
ghostscript_gpl$secondaryArchSuffix = $portVersion
cmd:dvipdf
cmd:eps2eps
cmd:gs
cmd:gsc
cmd:gsbj
cmd:gsdj
cmd:gsdj500
cmd:gslj
cmd:gslp
cmd:gsnd
cmd:gsx
cmd:lprsetup.sh
cmd:pdf2dsc
cmd:pdf2ps
cmd:pf2afm
cmd:pfbtopfa
cmd:pphs
cmd:printafm
cmd:ps2ascii
cmd:ps2epsi
cmd:ps2pdf
cmd:ps2pdf12
cmd:ps2pdf13
cmd:ps2pdf14
cmd:ps2pdfwr
cmd:ps2ps
cmd:ps2ps2
cmd:unix_lpr.sh
lib:libgs$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
poppler_data
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libidn$secondaryArchSuffix
lib:libjbig2dec$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libopenjp2$secondaryArchSuffix
lib:libpaper$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
lib:libtesseract$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
ghostscript_gpl${secondaryArchSuffix}_devel = $portVersion
devel:libgs$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
ghostscript_gpl$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libidn$secondaryArchSuffix
devel:libjbig2dec$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:liblcms2$secondaryArchSuffix
devel:libopenjp2$secondaryArchSuffix
devel:libpaper$secondaryArchSuffix >= 2
devel:libpng16$secondaryArchSuffix
devel:libtesseract$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:autoconf
cmd:awk
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:sed
"
defineDebugInfoPackage ghostscript_gpl$secondaryArchSuffix \
"$commandBinDir"/gs \
"$libDir"/libgs.so.${libVersion%%.*}
BUILD()
{
# Set up fonts paths
local FONTPATH
for path in \
$(findpaths B_FIND_PATH_FONTS_DIRECTORY otfonts) \
$(findpaths B_FIND_PATH_FONTS_DIRECTORY psfonts) \
$(findpaths B_FIND_PATH_FONTS_DIRECTORY ttfonts) \
$(findpaths B_FIND_PATH_FONTS_DIRECTORY X11)
do
FONTPATH="$FONTPATH${FONTPATH:+:}$path"
done
# Force configure to use system-libs
rm -rf {freetype,jbig2dec,jpeg,lcms2mt,libpng,openjpeg,tiff,zlib}
rm -rf {leptonica,tesseract}
autoconf
# Do configure
runConfigure --omit-dirs binDir ./configure \
--bindir=$commandBinDir \
--with-fontpath="$FONTPATH"
# Do make
make debug $jobArgs
make sodebug $jobArgs
}
INSTALL()
{
make install
make install-sodebug
prepareInstalledDevelLib libgs
packageEntries devel \
$developDir \
$docDir
}
TEST()
{
make check
}