# $Id: Portfile 66092 2010-04-06 03:28:36Z jmr@macports.org $

PortSystem 1.0

name        docbook-xml-4.5
version     [strsed ${name} {s/docbook-xml-//}]
description Version ${version} of the DocBook XML DTDs
long_description \
    Version ${version} of the DocBook XML DTDs, which provide a structured,\
    semantic markup format for books and documentation, especially for\
    computer hardware and software.
categories  textproc
platforms   darwin
maintainers boeyms openmaintainer
distname    ${name}

homepage    http://www.docbook.org/xml/${version}/
master_sites    http://www.oasis-open.org/docbook/xml/${version}/
checksums   md5 03083e288e87a7e829e437358da7ef9e \
            sha1 b9124233b50668fb508773aa2b3ebc631d7c1620 \
            rmd160 723347ef17950c5c8e81a7c9d44812261dcadc5d
worksrcdir  ${distname}

depends_run port:xmlcatmgr

use_zip     yes

extract.mkdir   yes

if {[info exists supported_archs]} {
    supported_archs noarch
}
use_configure   no
build       {}

set install_dir    ${prefix}/share/xml/docbook/${version}

destroot {
    set destroot_dir    ${destroot}${install_dir}
    set destroot_files  [readdir ${worksrcpath}]
    xinstall -m 755 -d ${destroot_dir}
    foreach file ${destroot_files} {
        copy ${worksrcpath}/${file} ${destroot_dir}
    }
}

post-activate {
    # xmlcatmgr as installed by MacPorts defaults to using
    # ${prefix}/etc/xml/docbook (for XML) and ${prefix}/etc/xml/docbook (for
    # SGML) if no catalog is specified, but we'll specify the path just in case
    # users have another installation of xmlcatmgr and happen to have it before
    # ${prefix}/bin in their PATH.
    set catalog.xml ${prefix}/etc/xml/catalog

    # Make the directory if it doesn't exist
    if {![file exists ${prefix}/etc/xml]} {
        xinstall -m 755 -d ${prefix}/etc/xml
    }

    # Create the catalog file if it doesn't exist
    if {![file exists ${catalog.xml}]} {
        system "xmlcatmgr create -c ${catalog.xml}"
    }

    # Add the nextCatalog entry to the catalog if it doesn't exist
    if {[catch {exec xmlcatmgr lookup ${install_dir}/catalog.xml}]} {
        system "xmlcatmgr add nextCatalog ${install_dir}/catalog.xml"
    }

    # Once MacPorts does get a post-deactivate hook, this should change to
    # auto-detect whether or not the user's installed version has the hook, and
    # only print the message if it doesn't.
    ui_msg \
    "######################################################################"
    ui_msg "# As MacPorts does not currently have a post-deactivate hook,\
        \n# you will need to ensure that you manually remove the catalog\
        \n# entry for this port when you uninstall it.  To do so, run\
        \n# \"xmlcatmgr remove nextCatalog ${install_dir}/catalog.xml\"."
    ui_msg \
    "######################################################################"
}

# This will remove the catalog entry for this port once a post-deactivate hook
# has been implemented.
#post-deactivate {
#    system "xmlcatmgr remove nextCatalog ${install_dir}/catalog.xml"
#}

livecheck.type  none

