# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$

PortSystem            1.0
PortGroup             kde4 1.1

name                  digikam
version               3.1.0
revision              4
categories            kde kde4
license               GPL-2+
maintainers           hyper-world.de:jan openmaintainer \
                      gmail.com:caulier.gilles
platforms             darwin

description           Photo Management Program
long_description      Digital photo management program to import, organize, enhance, search and export your digital images.

homepage              http://www.digikam.org/
master_sites          kde:stable/digikam/

checksums             rmd160  511550a7ee37aac958a0d2e5afaa0a07aa1eab0e \
                      sha256  f70fc84f3a680a855642fcc4664710116406bbe4068b0ad4d2cfb4127684c2aa

use_bzip2             yes

# List of whole dependencies ###############################################

# Dependencies of digiKam and Kipi-plugins

depends_lib-append    port:kdelibs4 \
                      port:kdepimlibs4 \
                      port:qt4-mac \
                      port:tiff \
                      port:jpeg \
                      port:libpng \
                      port:opencv \
                      port:marble 

# Dependencies of kipi-plugins

depends_lib-append    port:expat\
                      port:gdk-pixbuf2 \
                      port:libgpod \
                      port:libxml2 \
                      port:libxslt \
                      port:qca \
                      port:qjson \
                      port:ImageMagick

# opencv is not universal

universal_variant     no

# Dependencies of digiKam

depends_lib-append    port:boost \
                      port:gettext \
                      path:lib/pkgconfig/glib-2.0.pc:glib2 \
                      port:lensfun \
                      port:libgphoto2 \
                      port:liblqr \
                      port:libusb \
                      port:jasper \
                      port:shared-desktop-ontologies

# RunTime dependencies

depends_run-append    port:oxygen-icons \
                      port:qt4-mac-sqlite3-plugin 
#                     port:hugin-app \
#                     port:enblend

# gcc-4.0 is also blacklisted for opencv
# clang stumbles over CV_XADD macro, see #37184

compiler.blacklist    gcc-4.0 clang

# Configurations rules to compile fine #####################################

configure.args-append -DCMAKE_C_FLAGS='-D__KDE_HAVE_GCC_VISIBILITY' \
                      -DCMAKE_CXX_FLAGS='-D__KDE_HAVE_GCC_VISIBILITY' \
                      -DCMAKE_SYSTEM_PREFIX_PATH=\"/opt/local\;/usr\" \
                      -DCMAKE_MODULE_PATH=\"/opt/local/share/cmake-2.8/Modules\;/opt/local/share/cmake/modules\" \
                      -DCMAKE_PREFIX_PATH=\"/opt/local/lib/cmake\" \
                      -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
                      -DOpenCV_DIR=${prefix}/lib/cmake \
                      -Wno-dev \
                      ../${distname}

# Optional compilation options #############################################

# Option to include debug symbols in compiled target

if {[variant_isset debug]} {
    configure.args-append -DCMAKE_BUILD_TYPE=debugfull
} else {
    configure.args-append -DCMAKE_BUILD_TYPE=releasewithdebug
}

# Option to compile handbook

if {[variant_isset docs]} {
    configure.args-append -DDIGIKAMSC_COMPILE_DOC=on
} else {
    configure.args-append -DDIGIKAMSC_COMPILE_DOC=off
}

# Option to compile GUI translations

variant translations description {Build digiKam GUI translations} {}

if {[variant_isset translations]} {
    configure.args-append -DDIGIKAMSC_COMPILE_PO=on
} else {
    configure.args-append -DDIGIKAMSC_COMPILE_PO=off
}

# Option to compile target using internal implementation of KdeGraphics shared libs maintained by digiKam team

variant use_private_libs description {Build digiKam with internal KDEGraphics libs} {}

if {[variant_isset use_private_libs]} {
    configure.args-append -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=on
} else {
    configure.args-append -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=off

    depends_lib-append port:libkdcraw \
                       port:libkexiv2 \
                       port:libkipi \
                       port:libksane
}

# Option to compile target with LCMS shared lib version 2 instead version 1

variant lcms2 description {Build digiKam with LCMS2 shared libs instead LCMS1} {}

if {[variant_isset lcms2]} {
    configure.args-append -DENABLE_LCMS2=on

    depends_lib-append port:lcms2
} else {
    configure.args-append -DENABLE_LCMS2=off

    depends_lib-append port:lcms
}

# Option to check MySql availability before to compile target

variant mysql_check description {Check MySql availability before to build digiKam} {}

if {[variant_isset mysql_check]} {
    configure.args-append -DENABLE_INTERNALMYSQL=on
    
    depends_lib-append    path:bin/mysql_config5:mysql5 \
} else {
    configure.args-append -DENABLE_INTERNALMYSQL=off
}
