# -*- 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: Portfile 84550 2011-09-27 21:05:11Z snc@macports.org $

PortSystem          1.0

name                libusb-legacy
version             0.1.12
revision            2
categories          devel
license             LGPL-2.1
maintainers         snc michaelld openmaintainer
description         Library providing access to USB devices
long_description    A library originally developed under Linux to give \
                    userland programs an API to access to USB hardware.
homepage            http://libusb.org/

platforms           darwin

distname            libusb-${version}
master_sites        sourceforge:libusb
checksums           rmd160  63848df717e00fff67ab30ba86a85466370d4e8e \
                    sha256  37f6f7d9de74196eb5fc0bbe0aea9b5c939de7f500acba3af6fd643f3b538b44

patchfiles          patch-Makefile.in.diff patch-darwin.c.diff

post-patch {
    # tweak pkg-config install directory & file name
    reinplace "/pkgconfigdir/s@\\$\{libdir\}@\\$\{prefix\}/lib@g" \
        ${worksrcpath}/configure
    reinplace "/Name/s@libusb@libusb-legacy@g" \
        ${worksrcpath}/libusb.pc.in
    reinplace "s@-lusb@-lusb-legacy@g" \
        ${worksrcpath}/libusb.pc.in
    file rename ${worksrcpath}/libusb.pc.in \
        ${worksrcpath}/libusb-legacy.pc.in
    reinplace "s@libusb\.pc@libusb-legacy\.pc@g" \
        ${worksrcpath}/Makefile.in
    reinplace "s@libusb\.pc@libusb-legacy\.pc@g" \
        ${worksrcpath}/configure

    # tweak library build and install name
    reinplace "s@\\(libusb\[^ \]*\\)_la@\\1-legacy_la@g" \
        ${worksrcpath}/Makefile.in
    reinplace "s@\\(libusb\[^ \]*\\)\.la@\\1-legacy\.la@g" \
        ${worksrcpath}/Makefile.in
    reinplace "s@-lusb@-lusb-legacy@g" \
        ${worksrcpath}/Makefile.in
    reinplace "s@\\(libusb\[^ \]*\\)_la@\\1-legacy_la@g" \
        ${worksrcpath}/tests/Makefile.in
    reinplace "s@\\(libusb\[^ \]*\\)\.la@\\1-legacy\.la@g" \
        ${worksrcpath}/tests/Makefile.in

    # tweak libusb-config binary name
    reinplace "s@-lusb@-lusb-legacy@g" \
        ${worksrcpath}/libusb-config.in
    reinplace "s@libusb-config@libusb-legacy-config@g" \
        ${worksrcpath}/libusb-config.in
    file rename ${worksrcpath}/libusb-config.in \
        ${worksrcpath}/libusb-legacy-config.in
    reinplace "s@libusb-config@libusb-legacy-config@g" \
        ${worksrcpath}/Makefile.in
    reinplace "s@libusb-config@libusb-legacy-config@g" \
        ${worksrcpath}/configure
}

configure.args      --disable-build-docs \
                    --libdir=${prefix}/lib/libusb-legacy \
                    --includedir=${prefix}/include/libusb-legacy

post-configure {
    if {[variant_isset universal]} {
        reinplace "s|CC -dynamiclib|CC -dynamiclib ${configure.universal_ldflags}|g" ${worksrcpath}/libtool
    }
}

livecheck.type      regex
livecheck.url       http://sourceforge.net/projects/libusb/files/libusb-0.1%20(LEGACY)/
livecheck.regex     Click to enter (\\d+(\\.\\d+)+)
