# $Id: Portfile 55990 2009-08-22 21:48:52Z ryandesign@macports.org $

PortSystem              1.0

name                    ImageMagick
version                 6.5.5-0
set reasonable_version  [lindex [split ${version} -] 0]
homepage                http://www.imagemagick.org/
categories              graphics devel
maintainers             ryandesign
use_bzip2               yes
platforms               darwin
use_parallel_build      yes

description \
    Tools and libraries to manipulate images in many formats

long_description \
    ImageMagick is a robust collection of tools and libraries to \
    create, edit and compose bitmap images in a wide variety of \
    formats. You can crop, resize, rotate, sharpen, color reduce or \
    add effects or text or straight or curved lines to an image or \
    image sequence and save your completed work in the same or \
    differing image format. You can even create images from scratch. \
    Image processing operations are available from the command line as \
    well as through C, Ch, C++, Java, Perl, PHP, Python, Ruby and Tcl/Tk \
    programming interfaces. Over 90 image formats are supported, \
    including GIF, JPEG, JPEG 2000, PNG, PDF, PhotoCD and TIFF.

master_sites \
    http://image_magick.veidrodis.com/image_magick/ \
    http://imagemagick.linux-mirror.org/download/ \
    ftp://ftp.imagemagick.net/pub/${name}/ \
    ftp://ftp.fifi.org/pub/ImageMagick/
#    sourceforge:imagemagick
#    http://ftp.surfnet.nl/pub/ImageMagick/ \
#    ftp://ftp.nluug.nl/pub/${name}/ \

checksums \
    md5     7b57f93240263f1bd00ce7d173b3f5f0 \
    sha1    312d2c1f9383609a8ebeba90b21c20a9c5be4fd9 \
    rmd160  4e8ac47d92dbaf304c710a2fc0e1f7607563f07c

depends_lib \
    port:xorg-libXext \
    port:xorg-libXt \
    port:bzip2 \
    port:jpeg \
    port:libpng \
    port:tiff \
    port:zlib \
    port:freetype \
    port:fontconfig \
    port:libiconv \
    port:expat \
    port:libxml2

depends_build \
    port:pkgconfig

configure.args \
    --enable-shared \
    --enable-static \
    --disable-ltdl-install \
    --without-openexr \
    --disable-hdri \
    --with-dps \
    --with-bzlib \
    --with-fontconfig \
    --with-jpeg \
    --with-png \
    --with-tiff \
    --with-zlib \
    --with-modules \
    --with-xml \
    --with-x \
    --without-perl \
    --without-fpx \
    --without-gslib \
    --without-jbig \
    --without-jp2 \
    --without-lcms \
    --without-wmf \
    --without-gvc \
    --without-rsvg \
    --without-lqr

test.run                yes
test.target             check
test.env                DYLD_LIBRARY_PATH=${worksrcpath}/magick/.libs

post-destroot {
    if {[variant_isset universal]} {
        if {${configure.universal_cppflags} != ""} {
            reinplace "s|${configure.universal_cppflags}||" \
                ${destroot}${prefix}/bin/Magick++-config \
                ${destroot}${prefix}/bin/Magick-config \
                ${destroot}${prefix}/bin/MagickCore-config \
                ${destroot}${prefix}/bin/MagickWand-config \
                ${destroot}${prefix}/bin/Wand-config
        }
        reinplace "s|${configure.universal_ldflags}||" \
            ${destroot}${prefix}/bin/Magick++-config \
            ${destroot}${prefix}/bin/Magick-config \
            ${destroot}${prefix}/bin/MagickCore-config \
            ${destroot}${prefix}/bin/MagickWand-config \
            ${destroot}${prefix}/bin/Wand-config
   }
}

variant rsvg description {Support SVG using librsvg} {
    depends_lib-append \
        port:librsvg
    configure.args-delete \
        --without-rsvg
    configure.args-append \
        --with-rsvg
}

variant perl description {Install PerlMagick} {
    depends_lib-append \
        path:bin/perl:perl5
    configure.args-delete \
        --without-perl
    configure.args-append \
        --with-perl=${prefix}/bin/perl
    post-destroot {
        foreach packlist [exec find ${destroot} -name .packlist] {
            ui_info "Fixing packlist ${packlist}"
            reinplace "s|${destroot}||" ${packlist}
        }
        foreach badfile [exec find ${destroot} -name perllocal.pod] {
            ui_info "Removing ${badfile}"
            file delete ${badfile}
        }
    }
}

variant gs description {Include Ghostscript library support} {
    depends_lib-append \
        port:ghostscript
    configure.args-delete \
        --without-gslib
    configure.args-append \
        --with-gslib
}

variant lcms description {Support the Little Color Management System} {
    depends_lib-append \
        port:lcms
    configure.args-delete \
        --without-lcms
    configure.args-append \
        --with-lcms
}

variant lqr description {Support Liquid Rescale (experimental)} {
    depends_lib-append \
        port:liblqr
    configure.args-delete \
        --without-lqr
    configure.args-append \
        --with-lqr
}

variant wmf description {Support the Windows Metafile Format} {
    depends_lib-append \
        port:libwmf
    configure.args-delete \
        --without-wmf
    configure.args-append \
        --with-wmf
}

variant mpeg description {Support MPEG-1 and MPEG-2 video} {
    depends_lib-append \
        port:mpeg2vidcodec
}

variant jbig description {Support JBIG} {
    depends_lib-append \
        port:jbigkit
    configure.args-delete \
        --without-jbig
    configure.args-append \
        --with-jbig
}

variant jpeg2 description {Support JPEG-2000 using JasPer} {
    depends_lib-append \
        port:jasper
    configure.args-delete \
        --without-jp2
    configure.args-append \
        --with-jp2
}

variant graphviz description {Support Graphviz} {
    depends_lib-append \
        path:bin/dot:graphviz
    configure.args-delete \
        --without-gvc
    configure.args-append \
        --with-gvc
}

variant hdri description {Support High Dynamic Range Imaging using OpenEXR} {
    depends_lib-append \
        port:openexr
    configure.args-delete \
        --without-openexr \
        --disable-hdri
    configure.args-append \
        --with-openexr \
        --enable-hdri
}

variant q8 conflicts q16 q32 description {Use 8 bits per pixel quantum} {
    configure.args-append --with-quantum-depth=8
}

variant q16 conflicts q8 q32 description {Use 16 bits per pixel quantum (default)} {
    configure.args-append --with-quantum-depth=16
}

variant q32 conflicts q8 q16 description {Use 32 bits per pixel quantum} {
    configure.args-append --with-quantum-depth=32
}

if {![variant_isset q8] && ![variant_isset q32]} {
    default_variants +q16
}

variant no_x11 {
    depends_lib-delete \
        port:xorg-libXext \
        port:xorg-libXt
    configure.args-delete \
        --with-x
    configure.args-append \
        --without-x
}

variant no_plus_plus description {Do not install Magick++} {
    configure.args-append \
        --without-magick-plus-plus
}

livecheck.version       ${reasonable_version}
livecheck.check         regex
livecheck.url           http://ftp.surfnet.nl/pub/ImageMagick/
livecheck.regex         ${name}-(\\d+(?:\\.\\d+)*)(?:-\\d+)?
