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

PortSystem      1.0
PortGroup       gnu_info 1.0

name            gsed
set my_name     sed
version         4.9
revision        1
categories      textproc
platforms       darwin
license         GPL-3+
installs_libs   no
maintainers     {mps @Schamschula} openmaintainer
description     GNU version of the stream editor, sed

long_description \
    Sed (streams editor) isn't really a true text editor or text \
    processor. Instead, it is used to filter text, i.e., it takes text \
    input and performs some operation (or set of operations) on it and \
    outputs the modified text. Sed is typically used for extracting part \
    of a file using pattern matching or substituting multiple occurrences \
    of a string within a file.

homepage        https://www.gnu.org/software/${my_name}/
master_sites    gnu:${my_name}
distname        ${my_name}-${version}
use_xz          yes

checksums       rmd160  44c7ecae4847709122823aee04637de525823b47 \
                sha256  6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181 \
                size    1397092

depends_build   port:gettext

depends_lib     port:gettext-runtime \
                port:libiconv

configure.args  --infodir=${prefix}/share/info \
                --mandir=${prefix}/share/man \
                --program-prefix=g

use_parallel_build  yes

# patch for old gccs not accepting pragmas inside functions
if {[string match *gcc* ${configure.compiler}]} {
    patchfiles-append       patch-gsed-remove-pragmas.diff
}

post-destroot {
    foreach i [glob -tails -directory ${destroot}${prefix}/share/info *.info*] {
        move ${destroot}${prefix}/share/info/${i} ${destroot}${prefix}/share/info/g${i}
    }

    set docdir ${prefix}/share/doc/${name}
    xinstall -d ${destroot}${docdir}
    xinstall -m 0644 -W ${worksrcpath} AUTHORS BUGS COPYING ChangeLog NEWS README THANKS \
        ${destroot}${docdir}

    xinstall -m 755 -d ${destroot}${prefix}/libexec/gnubin
    foreach binary [glob -tails -directory ${destroot}${prefix}/bin g*] {
        ln -s ${prefix}/bin/${binary} ${destroot}${prefix}/libexec/gnubin/[string range $binary 1 end]
    }
    xinstall -m 755 -d ${destroot}${prefix}/libexec/gnubin/man/man1
    foreach manpage [glob -tails -directory ${destroot}${prefix}/share/man/man1 g*] {
        ln -s ${prefix}/share/man/man1/${manpage}.gz ${destroot}${prefix}/libexec/gnubin/man/man1/[string range $manpage 1 end].gz
    }
}

test.run        yes
test.target     check

platform darwin 8 {
    # Bad things happen running 64-bit gsed on Tiger. Fine on Leopard.
    # See https://trac.macports.org/ticket/18297.
    supported_archs i386 ppc
}
