summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/ghostscript/package.py43
1 files changed, 37 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/ghostscript/package.py b/var/spack/repos/builtin/packages/ghostscript/package.py
index 2e884b4278..255abaa6bd 100644
--- a/var/spack/repos/builtin/packages/ghostscript/package.py
+++ b/var/spack/repos/builtin/packages/ghostscript/package.py
@@ -23,28 +23,59 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+import shutil
-class Ghostscript(Package):
+class Ghostscript(AutotoolsPackage):
"""An interpreter for the PostScript language and for PDF."""
homepage = "http://ghostscript.com/"
url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs921/ghostscript-9.21.tar.gz"
- version('9.21', '6f60d7fcb5eef6a8bec5abedf21c6a7008a8c0c7')
+ version('9.21', '5f213281761d2750fcf27476c404d17f')
version('9.18', '33a47567d7a591c00a253caddd12a88a')
- parallel = False
+ depends_on('pkg-config', type='build')
+ depends_on('freetype@2.4.2:')
+ depends_on('jpeg')
+ depends_on('lcms')
+ depends_on('libpng')
depends_on('libtiff')
+ depends_on('zlib')
def url_for_version(self, version):
baseurl = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs{0}/ghostscript-{1}.tar.gz"
return baseurl.format(version.joined, version.dotted)
- def install(self, spec, prefix):
- configure('--prefix={0}'.format(prefix),
- '--with-system-libtiff')
+ def patch(self):
+ """Ghostscript comes with all of its dependencies vendored.
+ In order to build with Spack versions of these dependencies,
+ we have to remove these vendored dependencies.
+
+ Note that this approach is also recommended by Linux from Scratch:
+ http://www.linuxfromscratch.org/blfs/view/svn/pst/gs.html
+ """
+ directories = ['freetype', 'jpeg', 'lcms2', 'libpng', 'zlib']
+ for directory in directories:
+ shutil.rmtree(directory)
+
+ filter_file('ZLIBDIR=src',
+ 'ZLIBDIR={0}'.format(self.spec['zlib'].prefix.include),
+ 'configure.ac', 'configure',
+ string=True)
+ def configure_args(self):
+ return [
+ '--disable-compile-inits',
+ '--enable-dynamic',
+ '--with-system-libtiff',
+ ]
+
+ def build(self, spec, prefix):
make()
+ make('so')
+
+ def install(self, spec, prefix):
make('install')
+ make('soinstall')