# $Id: Portfile 50984 2009-05-14 21:08:43Z and.damore@macports.org $

PortSystem 1.0

name			highlight
version			2.4.8
categories		textproc devel
platforms		darwin
maintainers		groovie.org:pjenvey
description		converts source code to formatted text with syntax highlighting
long_description	${description}

homepage		http://www.andre-simon.de
master_sites		${homepage}/zip/
checksums		sha1 091689fde96c9f4e3de75ea1b7c1838e8d25708c
use_bzip2		yes

configure {
	reinplace "s|/usr/share/highlight/|${prefix}/share/${name}/|g" \
		${worksrcpath}/highlight/datadir.cpp
	reinplace "s|/etc/highlight/|${prefix}/etc/highlight/|g" \
		${worksrcpath}/highlight/datadir.cpp
}

# Avoid stripping the binary (-s flag) during linking as this corrupts the executable.
# Strip after building
platform darwin 8 { build.args LDFLAGS="" }

set conf_file "filetypes.conf"
set old_conf_files { "scriptre.conf" "extensions.conf" }
destroot {
	xinstall -m 755 ${worksrcpath}/highlight/highlight ${destroot}${prefix}/bin

	xinstall -m 755 -d ${destroot}${prefix}/etc/${name}
	xinstall -m 644 ${worksrcpath}/${conf_file} \
		${destroot}${prefix}/etc/${name}/${conf_file}.sample

	xinstall -m 755 -d ${destroot}${prefix}/share/${name}
	foreach dir { "langDefs" "themes" "indentSchemes" "helpmsg" } {
		file copy ${worksrcpath}/${dir} ${destroot}${prefix}/share/${name}
			system "chmod 644 ${destroot}${prefix}/share/${name}/${dir}/*"
	}

	xinstall -m 755 -d ${destroot}${prefix}/share/man/man1
	xinstall -m 644 ${worksrcpath}/man/highlight.1.gz \
		${destroot}${prefix}/share/man/man1

	xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
	foreach file { "AUTHORS" "README" "README_DE" "README_INDENT" "ChangeLog" \
		"COPYING" "INSTALL" } {
		xinstall -m 644 ${worksrcpath}/${file} \
			${destroot}${prefix}/share/doc/${name}
	}

	file copy ${worksrcpath}/examples ${destroot}${prefix}/share/doc/${name}
}

post-activate {
	# copy over the sample conf file if necessary
	if { ![file exists ${prefix}/etc/${name}/${conf_file}] } {
		file copy ${prefix}/etc/${name}/${conf_file}.sample \
			${prefix}/etc/${name}/${conf_file}
	}
	
	# warn the user of deprecated conf files
	set deprecated_conf_files {}
	foreach file $old_conf_files {
		if { [file exists ${prefix}/etc/${name}/${file}] } {
			file rename ${prefix}/etc/${name}/${file} \
				${prefix}/etc/${name}/${file}.dport_bak
			lappend deprecated_conf_files ${file}
		}
	}
	if { [llength $deprecated_conf_files] } {
		ui_msg "\nWarning: Old highlight conf files: ${deprecated_conf_files}"
		ui_msg "have been replaced by: ${conf_file}"
		ui_msg "as of highlight-2.4.5."
		ui_msg "\nThe following old conf files have been renamed (and should be"
		ui_msg "removed):\n"
		foreach file $deprecated_conf_files {
			ui_msg "${prefix}/etc/${name}/${file} ->"
			ui_msg "${prefix}/etc/${name}/${file}.dport_bak"
			ui_msg ""
		}
	}
}

