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-2018 Artifex Software, Inc."
LICENSE="AFPL"
REVISION="4"
SOURCE_URI="https://sourceforge.net/projects/ghostscript/files/AFPL%20Ghostscript/$portVersion/ghostscript-$portVersion.tar.gz"
CHECKSUM_SHA256="343aaf45cd52539a04ec2172259c8c39b87f613e1a493c74a275350a1ecc6b6a"
SOURCE_DIR="ghostscript-$portVersion"
PATCHES="ghostscript8-$portVersion.patchset"

ARCHITECTURES="!all ?x86"
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

PROVIDES="
	ghostscript8$secondaryArchSuffix = $portVersion
	cmd:bdftops
	cmd:dvipdf
	cmd:eps2eps
	cmd:fixmswrd.pl
	cmd:font2c
	cmd:gs
	cmd:gsbe
	cmd:gsbj
	cmd:gsc
	cmd:gsdj
	cmd:gsdj500
	cmd:gslj
	cmd:gslp
	cmd:gsnd
	cmd:lprsetup.sh
	cmd:pfbtopfa
	cmd:pdf2dsc
	cmd:pdf2ps
	cmd:pdfopt
	cmd:pf2afm
	cmd:printafm
	cmd:ps2ascii
	cmd:ps2epsi
	cmd:ps2pdf
	cmd:ps2pdf12
	cmd:ps2pdf13
	cmd:ps2pdf14
	cmd:ps2pdfwr
	cmd:ps2ps
	cmd:pv.sh
	cmd:unix_lpr.sh
	cmd:wftopfa
	lib:libgs$secondaryArchSuffix = 8.14 compat >= 8
	"

REQUIRES="
	haiku$secondaryArchSuffix
	poppler_data
	lib:libfontconfig$secondaryArchSuffix
	lib:libfreetype$secondaryArchSuffix
	lib:libidn$secondaryArchSuffix
	lib:libjbig2dec$secondaryArchSuffix
	lib:libjpeg$secondaryArchSuffix
	lib:liblcms2$secondaryArchSuffix
	lib:libpaper$secondaryArchSuffix
	lib:libtiff$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"

PROVIDES_devel="
	ghostscript8${secondaryArchSuffix}_devel = $portVersion
	devel:libgs$secondaryArchSuffix = 8.14 compat >= 8
	"

REQUIRES_devel="
	ghostscript8$secondaryArchSuffix == $portVersion base
"


BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libfontconfig$secondaryArchSuffix
	devel:libfreetype$secondaryArchSuffix
	devel:libidn$secondaryArchSuffix
	devel:libjbig2dec$secondaryArchSuffix
	devel:libjpeg$secondaryArchSuffix
	devel:liblcms2$secondaryArchSuffix
	devel:libpaper$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 ghostscript8$secondaryArchSuffix \
	"$commandBinDir"/gs \
	"$libDir"/libgs.so.8.14

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,lcms2,libpng,tiff,zlib}

	autoconf

	# Do configure
	runConfigure --omit-dirs binDir ./configure \
		--bindir=$commandBinDir --with-fontpath="$FONTPATH" EXTRALIBS=-lbe

	# Do make
	make
	make so
}

INSTALL()
{
	make install
	make soinstall

	prepareInstalledDevelLib libgs
	packageEntries devel $developDir
}

TEST()
{
	make check
}
