Browse Source

Enable ghostscript (#1135)

* Fix ghostscript for aarch64.

* ghostscript: fix arm header

* ghostscript: clean build script

* ghostscript: disable i686 and x86_64 for now and enable package!

* Add required build dependencies for ghostscript to setup scripts

* ghostscript: add libexpat as dependency

* ghostscript: add (untested) generated headers for x86_64 and i686
android-5
Henrik Grimler 7 years ago
committed by Fredrik Fornwall
parent
commit
91a5322f5e
  1. 37
      disabled-packages/ghostscript/build.sh
  2. 40
      packages/ghostscript/arch-aarch64.h
  3. 3
      packages/ghostscript/arch-arm.h
  4. 40
      packages/ghostscript/arch-i686.h
  5. 40
      packages/ghostscript/arch-x86_64.h
  6. 17
      packages/ghostscript/build.sh
  7. 0
      packages/ghostscript/configure.patch
  8. 0
      packages/ghostscript/gserrors.h.patch
  9. 2
      scripts/setup-archlinux.sh
  10. 2
      scripts/setup-ubuntu.sh

37
disabled-packages/ghostscript/build.sh

@ -1,37 +0,0 @@
TERMUX_PKG_HOMEPAGE=http://www.ghostscript.com/
TERMUX_PKG_DESCRIPTION="Interpreter for the PostScript language and for PDF"
TERMUX_PKG_VERSION=9.21
TERMUX_PKG_SRCURL=https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${TERMUX_PKG_VERSION//.}/ghostpdl-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=82abf56e96e27cf4d1b17c0671f9ab3c5222454131588a49d06c97a332988e8d
TERMUX_PKG_DEPENDS="libandroid-support, libtiff, libjpeg-turbo, libpng"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-system-libtiff \
--enable-little-endian \
--without-x \
--with-arch_h=$TERMUX_PKG_BUILDER_DIR/arch-${TERMUX_ARCH}.h \
CCAUX=gcc \
--build=$TERMUX_BUILD_TUPLE \
--without-pcl"
#building with PCL gives:
# /home/builder/.termux-build/ghostscript/src/pcl/pl/pl.mak:108: recipe for target 'obj/plver.h' failed
# make: *** [obj/plver.h] Segmentation fault (core dumped)
# make: *** Deleting file 'obj/plver.h'
#See also: https://bugs.ghostscript.com/show_bug.cgi?id=695979
termux_step_post_extract_package () {
rm -rdf $TERMUX_PKG_SRCDIR/jpeg
rm -rdf $TERMUX_PKG_SRCDIR/libpng
rm -rdf $TERMUX_PKG_SRCDIR/expat $TERMUX_PKG_SRCDIR/jasper $TERMUX_PKG_SRCDIR/freetype $TERMUX_PKG_SRCDIR/lcms $TERMUX_PKG_SRCDIR/tiff
if [ -f $PREFIX/include/libandroid-support/time.h ]; then
mv $PREFIX/include/libandroid-support/time.h $PREFIX/include/libandroid-support/time.h_
fi
# Patch needed to libandroid's time.h? ghostscript/src/base/stat_.h includes stat_.h which includes time.h which creates a loop.
# See http://stackoverflow.com/questions/14947691/c-system-file-bits-stat-h-suddenly-breaks-with-error-field-st-atim-has-inc
}
termux_step_post_make_install () {
if [ -f $PREFIX/include/libandroid-support/time.h_ ]; then
mv $PREFIX/include/libandroid-support/time.h_ $PREFIX/include/libandroid-support/time.h
fi
}

40
packages/ghostscript/arch-aarch64.h

@ -0,0 +1,40 @@
/* Parameters derived from machine and compiler architecture. */
/* This file is generated mechanically by genarch.c. */
/* ---------------- Scalar alignments ---------------- */
#define ARCH_ALIGN_SHORT_MOD 2
#define ARCH_ALIGN_INT_MOD 4
#define ARCH_ALIGN_LONG_MOD 8
#define ARCH_ALIGN_PTR_MOD 8
#define ARCH_ALIGN_FLOAT_MOD 4
#define ARCH_ALIGN_DOUBLE_MOD 8
/* ---------------- Scalar sizes ---------------- */
#define ARCH_LOG2_SIZEOF_CHAR 0
#define ARCH_LOG2_SIZEOF_SHORT 1
#define ARCH_LOG2_SIZEOF_INT 2
#define ARCH_LOG2_SIZEOF_LONG 3
#define ARCH_LOG2_SIZEOF_LONG_LONG 3
#define ARCH_SIZEOF_GX_COLOR_INDEX 8
#define ARCH_SIZEOF_PTR 8
#define ARCH_SIZEOF_FLOAT 4
#define ARCH_SIZEOF_DOUBLE 8
#define ARCH_FLOAT_MANTISSA_BITS 24
#define ARCH_DOUBLE_MANTISSA_BITS 53
/* ---------------- Unsigned max values ---------------- */
#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
/* ---------------- Miscellaneous ---------------- */
#define ARCH_IS_BIG_ENDIAN 0
#define ARCH_PTRS_ARE_SIGNED 0
#define ARCH_FLOATS_ARE_IEEE 1
#define ARCH_ARITH_RSHIFT 2
#define ARCH_DIV_NEG_POS_TRUNCATES 1

3
disabled-packages/ghostscript/arch-arm.h → packages/ghostscript/arch-arm.h

@ -33,9 +33,8 @@
/* ---------------- Miscellaneous ---------------- */
#define ARCH_IS_BIG_ENDIAN 1
#define ARCH_IS_BIG_ENDIAN 0
#define ARCH_PTRS_ARE_SIGNED 0
#define ARCH_FLOATS_ARE_IEEE 1
#define ARCH_ARITH_RSHIFT 2
#define ARCH_DIV_NEG_POS_TRUNCATES 1

40
packages/ghostscript/arch-i686.h

@ -0,0 +1,40 @@
/* Parameters derived from machine and compiler architecture. */
/* This file is generated mechanically by genarch.c. */
/* ---------------- Scalar alignments ---------------- */
#define ARCH_ALIGN_SHORT_MOD 2
#define ARCH_ALIGN_INT_MOD 4
#define ARCH_ALIGN_LONG_MOD 4
#define ARCH_ALIGN_PTR_MOD 4
#define ARCH_ALIGN_FLOAT_MOD 4
#define ARCH_ALIGN_DOUBLE_MOD 4
/* ---------------- Scalar sizes ---------------- */
#define ARCH_LOG2_SIZEOF_CHAR 0
#define ARCH_LOG2_SIZEOF_SHORT 1
#define ARCH_LOG2_SIZEOF_INT 2
#define ARCH_LOG2_SIZEOF_LONG 2
#define ARCH_LOG2_SIZEOF_LONG_LONG 3
#define ARCH_SIZEOF_GX_COLOR_INDEX 8
#define ARCH_SIZEOF_PTR 4
#define ARCH_SIZEOF_FLOAT 4
#define ARCH_SIZEOF_DOUBLE 8
#define ARCH_FLOAT_MANTISSA_BITS 24
#define ARCH_DOUBLE_MANTISSA_BITS 53
/* ---------------- Unsigned max values ---------------- */
#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
/* ---------------- Miscellaneous ---------------- */
#define ARCH_IS_BIG_ENDIAN 0
#define ARCH_PTRS_ARE_SIGNED 0
#define ARCH_FLOATS_ARE_IEEE 1
#define ARCH_ARITH_RSHIFT 2
#define ARCH_DIV_NEG_POS_TRUNCATES 1

40
packages/ghostscript/arch-x86_64.h

@ -0,0 +1,40 @@
/* Parameters derived from machine and compiler architecture. */
/* This file is generated mechanically by genarch.c. */
/* ---------------- Scalar alignments ---------------- */
#define ARCH_ALIGN_SHORT_MOD 2
#define ARCH_ALIGN_INT_MOD 4
#define ARCH_ALIGN_LONG_MOD 8
#define ARCH_ALIGN_PTR_MOD 8
#define ARCH_ALIGN_FLOAT_MOD 4
#define ARCH_ALIGN_DOUBLE_MOD 8
/* ---------------- Scalar sizes ---------------- */
#define ARCH_LOG2_SIZEOF_CHAR 0
#define ARCH_LOG2_SIZEOF_SHORT 1
#define ARCH_LOG2_SIZEOF_INT 2
#define ARCH_LOG2_SIZEOF_LONG 3
#define ARCH_LOG2_SIZEOF_LONG_LONG 3
#define ARCH_SIZEOF_GX_COLOR_INDEX 8
#define ARCH_SIZEOF_PTR 8
#define ARCH_SIZEOF_FLOAT 4
#define ARCH_SIZEOF_DOUBLE 8
#define ARCH_FLOAT_MANTISSA_BITS 24
#define ARCH_DOUBLE_MANTISSA_BITS 53
/* ---------------- Unsigned max values ---------------- */
#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
/* ---------------- Miscellaneous ---------------- */
#define ARCH_IS_BIG_ENDIAN 0
#define ARCH_PTRS_ARE_SIGNED 0
#define ARCH_FLOATS_ARE_IEEE 1
#define ARCH_ARITH_RSHIFT 2
#define ARCH_DIV_NEG_POS_TRUNCATES 1

17
packages/ghostscript/build.sh

@ -0,0 +1,17 @@
TERMUX_PKG_HOMEPAGE=http://www.ghostscript.com/
TERMUX_PKG_DESCRIPTION="Interpreter for the PostScript language and for PDF"
TERMUX_PKG_VERSION=9.21
TERMUX_PKG_SRCURL=https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${TERMUX_PKG_VERSION//.}/ghostpdl-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=82abf56e96e27cf4d1b17c0671f9ab3c5222454131588a49d06c97a332988e8d
TERMUX_PKG_DEPENDS="libandroid-support, libtiff, libjpeg-turbo, libpng, libexpat"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-system-libtiff \
--enable-little-endian \
--without-x \
--with-arch_h=$TERMUX_PKG_BUILDER_DIR/arch-${TERMUX_ARCH}.h \
CCAUX=gcc \
--build=$TERMUX_BUILD_TUPLE \
--without-pcl"
termux_step_post_extract_package () {
rm -rdf $TERMUX_PKG_SRCDIR/{jpeg,libpng,expat,jasper,freetype,lcms,tiff}
}

0
disabled-packages/ghostscript/configure.patch → packages/ghostscript/configure.patch

0
disabled-packages/ghostscript/gserrors.h.patch → packages/ghostscript/gserrors.h.patch

2
scripts/setup-archlinux.sh

@ -30,6 +30,8 @@ PACKAGES+=" scons"
PACKAGES+=" texinfo"
PACKAGES+=" xmlto"
#PACKAGES+=" xutils-dev" # Provides 'makedepend' which the openssl build uses.
PACKAGES+=" expat" # Needed by ghostscript
PACKAGES+=" libjpeg-turbo" # Needed by ghostscript
sudo pacman -Syq --noconfirm $PACKAGES

2
scripts/setup-ubuntu.sh

@ -34,6 +34,8 @@ PACKAGES+=" scons"
PACKAGES+=" texinfo"
PACKAGES+=" xmlto"
PACKAGES+=" xutils-dev" # Provides 'makedepend' which the openssl build uses.
PACKAGES+=" libexpat1-dev" # Needed by ghostscript
PACKAGES+=" libjpeg-dev" # Needed by ghostscript
DEBIAN_FRONTEND=noninteractive sudo apt-get install -yq $PACKAGES

Loading…
Cancel
Save