mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 16:39:40 +01:00
The ghostscript-native will check libtiff automatically at configure time and libtiff needs libjpeg. If libtiff and libjpeg is just populated to staging native directories and the host doesn't install them, the libjpeg could not be linked, fail with: |libjpeg.so.8, needed by libtiff.so, not found |libtiff.so: undefined reference to `jpeg_set_defaults@LIBJPEG_8.0' |collect2: error: ld returned 1 exit status Disable libtiff support to fix this issue and modify configure to let disable system libtiff could work. We also explicity disable fontconfig, freetype, cups for ghostscript-native to avoid the similar issues. [YOCTO #3562] (From OE-Core rev: c00778dd0d9c3b62657057e92c868ad2257d72d3) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
125 lines
4.3 KiB
BlitzBasic
125 lines
4.3 KiB
BlitzBasic
SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
|
|
DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
|
|
a back-end to a program such as ghostview, it can display PostScript and PDF \
|
|
documents in an X11 environment. \
|
|
\
|
|
Furthermore, it can render PostScript and PDF files as graphics to be printed \
|
|
on non-PostScript printers. Supported printers include common \
|
|
dot-matrix, inkjet and laser models. \
|
|
\
|
|
Package gsfonts contains a set of standard fonts for Ghostscript. \
|
|
"
|
|
HOMEPAGE = "http://www.ghostscript.com"
|
|
SECTION = "console/utils"
|
|
|
|
LICENSE = "GPLv3"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=c5326026692dbed183f0558f926580f8"
|
|
|
|
PR = "r5"
|
|
|
|
DEPENDS = "ghostscript-native tiff jpeg fontconfig cups"
|
|
DEPENDS_class-native = ""
|
|
|
|
SRC_URI_BASE = "http://downloads.ghostscript.com/public/ghostscript-${PV}.tar.gz"
|
|
|
|
SRC_URI = "${SRC_URI_BASE} \
|
|
file://ghostscript-9.02-prevent_recompiling.patch \
|
|
file://ghostscript-9.02-genarch.patch \
|
|
file://objarch.h \
|
|
file://ghostscript-9.02-parallel-make.patch \
|
|
file://ghostscript-9.05-NOT-check-endian.patch \
|
|
"
|
|
|
|
SRC_URI_class-native = "${SRC_URI_BASE} \
|
|
file://0001-make-ghostscript-work-with-long-building-directory.patch \
|
|
file://ghostscript-native-fix-disable-system-libtiff.patch \
|
|
"
|
|
|
|
SRC_URI[md5sum] = "f7c6f0431ca8d44ee132a55d583212c1"
|
|
SRC_URI[sha256sum] = "593f77f7584704bdf9de41598a084a4208c3ad3b940a1de1faaf8f59a15cc207"
|
|
|
|
EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --without-jasper \
|
|
--with-fontpath=${datadir}/fonts --with-install-cups --without-libidn"
|
|
|
|
# Explicity disable libtiff, fontconfig,
|
|
# freetype, cups for ghostscript-native
|
|
EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \
|
|
--without-jbig2dec --without-jasper \
|
|
--with-fontpath=${datadir}/fonts \
|
|
--without-libidn --disable-fontconfig \
|
|
--disable-freetype --disable-cups"
|
|
|
|
# This has been fixed upstream but for now we need to subvert the check for time.h
|
|
# http://bugs.ghostscript.com/show_bug.cgi?id=692443
|
|
# http://bugs.ghostscript.com/show_bug.cgi?id=692426
|
|
CFLAGS += "-DHAVE_SYS_TIME_H=1"
|
|
BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1"
|
|
|
|
inherit autotools
|
|
|
|
do_configure_prepend () {
|
|
mkdir -p obj
|
|
mkdir -p soobj
|
|
if [ -e ${WORKDIR}/objarch.h ]; then
|
|
cp ${WORKDIR}/objarch.h obj/arch.h
|
|
fi
|
|
}
|
|
|
|
do_configure_append () {
|
|
# copy tools from the native ghostscript build
|
|
if [ "${PN}" != "ghostscript-native" ]; then
|
|
mkdir -p obj/aux soobj
|
|
for i in genarch genconf mkromfs echogs gendev genht; do
|
|
cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i
|
|
done
|
|
fi
|
|
|
|
# replace cups paths from sysroots/.../usr/bin/crossscripts/cups-config with target paths
|
|
# CUPSDATA is compiled into a utility, and CUPSSERVERBIN is used as an install path
|
|
CUPSSERVERBIN=${exec_prefix}/lib/cups # /usr/lib NOT libdir
|
|
CUPSDATA=${datadir}/cups
|
|
|
|
sed -e "s#^CUPSSERVERBIN=.*#CUPSSERVERBIN=${CUPSSERVERBIN}#" -i Makefile
|
|
sed -e "s#^CUPSDATA=.*#CUPSDATA=${CUPSDATA}#" -i Makefile
|
|
}
|
|
|
|
do_install_append () {
|
|
mkdir -p ${D}${datadir}/ghostscript/${PV}/
|
|
cp -r Resource ${D}${datadir}/ghostscript/${PV}/
|
|
cp -r iccprofiles ${D}${datadir}/ghostscript/${PV}/
|
|
|
|
chown -R root:lp ${D}${sysconfdir}/cups
|
|
}
|
|
|
|
do_compile_class-native () {
|
|
mkdir -p obj
|
|
for i in genarch genconf mkromfs echogs gendev genht; do
|
|
oe_runmake obj/aux/$i
|
|
done
|
|
}
|
|
|
|
do_install_class-native () {
|
|
install -d ${D}${bindir}/ghostscript-${PV}
|
|
for i in genarch genconf mkromfs echogs gendev genht; do
|
|
install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i
|
|
done
|
|
}
|
|
|
|
BBCLASSEXTEND = "native"
|
|
|
|
# Ghostscript install tool 'instcopy' tries to remove already created
|
|
# directories during install and parallel make causes problems.
|
|
PARALLEL_MAKEINST=""
|
|
|
|
PACKAGES =+ "${PN}-cups"
|
|
|
|
FILES_${PN}-dbg += "${exec_prefix}/lib/cups/filter/.debug"
|
|
|
|
FILES_${PN}-cups += "${exec_prefix}/lib/cups/filter/gstoraster \
|
|
${exec_prefix}/lib/cups/filter/gstopxl \
|
|
${datadir}/cups \
|
|
${sysconfdir}/cups \
|
|
"
|
|
|
|
RDEPENDS_${PN}-cups = "${PN}"
|