view gub/specs/imagemagick.py @ 5477:ed376a2b448d

imagemagick: replace perl-extutils-makemaker dependency by plain perl. Apparently, this extension is now part of perl. Weird.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Wed, 19 Aug 2009 10:26:58 +0200
parents 8ade56ec9d28
children a04ae0bb4494
line wrap: on
line source

from gub import build
from gub import context
from gub import misc
from gub import tools

class ImageMagick__tools (tools.AutoBuild):
    source = 'http://ftp.surfnet.nl/pub/ImageMagick/ImageMagick-6.4.5-4.tar.gz'
#    source = 'http://ftp.surfnet.nl/pub/ImageMagick/ImageMagick-6.3.7-9.tar.gz'
    def _get_build_dependencies (self):
        return [
#            'system::g++',
            'automake',
            'bzip2',
            'fontconfig',
            'ghostscript',
            'libpng',
            'libjpeg',
            'libtiff',
            'libxml2',
            'libtool',
#            'perl-extutils-makemaker',
            'perl', # WTF, extutils-makemaker is now in perl-5.10.0?  Weird.
            'zlib',
            ]
    def configure_flags (self):
        return (tools.AutoBuild.configure_flags (self)
                + misc.join_lines ('''
--without-magick-plus-plus
--without-perl
'''))
    @context.subst_method
    def LDFLAGS (self):
        return '%(rpath)'
    def configure (self):
        # do *not* update libtool, GUB's 1.5.x is too old :-(
        build.AutoBuild.configure (self)
    def wrap_executables (self):
        # using rpath
        pass

class ImageMagick__tools__autoupdate (ImageMagick__tools):
    def _get_build_dependencies (self):
        return ['system::g++']
    def XXforce_autoupdate (self):
        # this does not work, ImageMagick adds cruft of its own in ./ltdl
        # and somehow *needs* ./ltdl (1.5.22 will make ./libltdl)
        return True
    def XXaclocal_path (self):
        return ['m4'] + tools.AutoBuild.aclocal_path (self)
    def autoupdate (self):
        self.system ('''
cd %(autodir)s && libtoolize --copy --force --automake --ltdl
cd %(autodir)s && autoheader -I m4 -I %(system_prefix)s/share/aclocal
cd %(autodir)s && aclocal -I m4 -I %(system_prefix)s/share/aclocal
cd %(autodir)s && autoconf -I m4 -I %(system_prefix)s/share/aclocal
cd %(autodir)s && automake --add-missing --copy --foreign
''')
    def configure (self):
        tools.AutoBuild.configure (self)
        self.file_sub ([('(( *)install_libdir="\$2")',
                         r'''\1
\2if test -z "$install_libdir"; then
\2    install_libdir=%(system_prefix)s/lib;
\2fi
''')],
                       '%(builddir)s/libtool')

# Hmm, see LilyPond
Imagemagick__tools = ImageMagick__tools