Allow ghostscript to build with Spack dependencies (#4065)

This commit is contained in:
Adam J. Stewart 2017-05-02 09:45:10 -05:00 committed by GitHub
parent 0f9059236c
commit 9a3acea759

View File

@ -23,28 +23,59 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
############################################################################## ##############################################################################
from spack import * from spack import *
import shutil
class Ghostscript(Package): class Ghostscript(AutotoolsPackage):
"""An interpreter for the PostScript language and for PDF.""" """An interpreter for the PostScript language and for PDF."""
homepage = "http://ghostscript.com/" homepage = "http://ghostscript.com/"
url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs921/ghostscript-9.21.tar.gz" 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') 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('libtiff')
depends_on('zlib')
def url_for_version(self, version): def url_for_version(self, version):
baseurl = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs{0}/ghostscript-{1}.tar.gz" baseurl = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs{0}/ghostscript-{1}.tar.gz"
return baseurl.format(version.joined, version.dotted) return baseurl.format(version.joined, version.dotted)
def install(self, spec, prefix): def patch(self):
configure('--prefix={0}'.format(prefix), """Ghostscript comes with all of its dependencies vendored.
'--with-system-libtiff') 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()
make('so')
def install(self, spec, prefix):
make('install') make('install')
make('soinstall')