# Maintainer: Jon Turney <jon.turney@dronecode.org.uk>
# Contributor: Renato Silva <br.renatosilva@gmail.com>
# Contributor: Alexey Pavlov <alexpux@gmail.com>

_realname=breakpad
pkgbase=mingw-w64-${_realname}-git
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-git)
provides=(${MINGW_PACKAGE_PREFIX}-${_realname})
conflicts=(${MINGW_PACKAGE_PREFIX}-${_realname})
replaces=(${MINGW_PACKAGE_PREFIX}-${_realname}-svn)
pkgver=r1680.70914b2d
pkgrel=2
url='https://code.google.com/p/google-breakpad'
pkgdesc='An open-source multi-platform crash reporting system (mingw-w64)'
license=('BSD')
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
depends=(${MINGW_PACKAGE_PREFIX}-gcc-libs)
makedepends=(${MINGW_PACKAGE_PREFIX}-curl rsync git gyp)
_commit="70914b2d380d893364ad0110b8af18ba1ed5aaa3"
source=(${_realname}.git::"git+https://chromium.googlesource.com/breakpad/breakpad#commit=${_commit}"
        0002-Remove-local-copy-of-curl-headers.patch
        0003-Link-minidump_upload-and-sym_upload-with-curl.patch
        0004-Build-minidump_upload-and-sym_upload-for-all-targets.patch
        0005-Add-support-for-DWARF-in-PECOFF-as-used-by-Cygwin-an.patch
        0006-Fix-building-minidump-processor-for-MinGW.patch
        0007-Build-PECOFF-DWARF-dump_syms-for-MinGW.patch
        0008-Fix-building-client-library-and-upload-tools-for-Min.patch
        0009-Fix-common.gypi-to-allow-gyp-to-generate-Makefiles-o.patch
        0010-Teach-gyp-generated-Makefile-to-build-crash_generati.patch
        0011-Default-debug_file-to-the-code_file-basename.patch
        0012-Fix-Windows-client-unit-tests-with-gcc.patch
        0013-Add-symsrv_convert.patch
        0015-Use-a-default-debug-id-of-all-zeros-when-no-CV-recor.patch
        0016-Use-__USE_MINGW_ANSI_STDIO-for-MinGW-build.patch
        0017-Provide-a-working-strtok_r-for-MinGW.patch
        0019-Fallback-to-synthesizing-a-debug-id-from-version-and.patch
        0020-Fix-typo-in-the-name-of-the-info-entry-containing-up.patch
        0021-Fix-a-missing-r-in-crash_generation_app.patch
        0026-Disable-DwpReader-for-MinGW.patch
        Makefile
        README.sample)

pkgver() {
    cd "${srcdir}/${_realname}.git"
    printf "r%s.%s" "$(git rev-list --count "${_commit}")" "$(git rev-parse --short "${_commit}")"
}

prepare() {
    msg2 "Creating patched-source directory"
    [[ -d "${srcdir}/${_realname}.patched" ]] && rm -rf "${srcdir}/${_realname}.patched"
    mkdir -p "${srcdir}/${_realname}.patched"
    cp -rT "${srcdir}/${_realname}.git" "${srcdir}/${_realname}.patched"

    # Apply patches
    cd "${srcdir}/${_realname}.patched"
    for patch in "${srcdir}"/*.patch; do
        msg2 "Applying ${patch} ..."
        patch -p1 -i "${patch}"
    done

    msg2 "Running autoreconf"
    autoreconf -sif
}

build() {
    msg2 "Synchronizing build directory"
    rsync --recursive --times --links "${srcdir}/${_realname}.patched"/* "${srcdir}/${_realname}.build.${CARCH}"

    cd "${srcdir}/${_realname}.build.${CARCH}"
    ./configure \
      --prefix=${MINGW_PREFIX} \
      --build=${MINGW_CHOST} \
      --host=${MINGW_CHOST}

    # use the autotooled makefile to build the minidump processor library and tools
    make CXXFLAGS="-DUNICODE -D_UNICODE -g" AR=${MINGW_PREFIX}/bin/ar RC=${MINGW_PREFIX}/bin/windres

    # use gyp to generate a Makefile to build the Windows client library
    cd "${srcdir}/${_realname}.build.${CARCH}/src/"
    gyp --no-circular-check --depth=. -f make client/windows/breakpad_client.gyp
    make CXXFLAGS="-DUNICODE -D_UNICODE -D_POSIX_C_SOURCE -g" AR=${MINGW_PREFIX}/bin/ar RC=${MINGW_PREFIX}/bin/windres out/Debug/crash_generation_app out/Debug/obj.target/client/windows/sender/libcrash_report_sender.a
}

package() {
    cd "${srcdir}/${_realname}.build.${CARCH}"
    make CXXFLAGS="-DUNICODE -D_UNICODE -g" AR=${MINGW_PREFIX}/bin/ar RC=${MINGW_PREFIX}/bin/windres DESTDIR="${pkgdir}" install

    # Install headers
    mkdir -p "${pkgdir}${MINGW_PREFIX}/include/breakpad"
    cd "${pkgdir}${MINGW_PREFIX}/include/breakpad"

    mkdir -p "${pkgdir}${MINGW_PREFIX}/include/breakpad/common/"
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/google_breakpad/common/* common/
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/common/scoped_ptr.h common/

    mkdir -p "${pkgdir}${MINGW_PREFIX}/include/breakpad/common/windows"
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/common/windows/string_utils-inl.h common/windows/

    mkdir -p "${pkgdir}${MINGW_PREFIX}/include/breakpad/client/windows/crash_generation"
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/crash_generation/client_info.h client/windows/crash_generation/
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/crash_generation/crash_generation_client.h client/windows/crash_generation/
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/crash_generation/crash_generation_server.h client/windows/crash_generation/
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/crash_generation/minidump_generator.h client/windows/crash_generation/

    mkdir -p "${pkgdir}${MINGW_PREFIX}/include/breakpad/client/windows/common"
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/common/ipc_protocol.h client/windows/common/

    mkdir -p "${pkgdir}${MINGW_PREFIX}/include/breakpad/client/windows/handler"
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/handler/exception_handler.h client/windows/handler/

    mkdir -p "${pkgdir}${MINGW_PREFIX}/include/breakpad/client/windows/sender"
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/sender/crash_report_sender.h client/windows/sender/

    # Headers aren't really designed to be installed, so we need to do some
    # rewriting to make them usefully included using "include <breakpad/somepath/someheader>"
    find ${pkgdir} -name *.h -exec sed -i -e's#client/windows/#breakpad/client/windows/#' {} \;
    find ${pkgdir} -name *.h -exec sed -i -e's#common/scoped_ptr#breakpad/common/scoped_ptr#' {} \;
    find ${pkgdir} -name *.h -exec sed -i -e's#common/windows/#breakpad/common/windows/#' {} \;
    find ${pkgdir} -name *.h -exec sed -i -e's#google_breakpad/common/#breakpad/common/#' {} \;

    # Install a single client library
    cd "${pkgdir}${MINGW_PREFIX}/lib"
    local _windir=$(cygpath -wm ${srcdir})
    ${MINGW_PREFIX}/bin/ar -M <<EOF
CREATE libbreakpad_client.a
ADDLIB ${_windir}/${_realname}.build.${CARCH}/src/out/Debug/obj.target/client/windows/crash_generation/libcrash_generation_client.a
ADDLIB ${_windir}/${_realname}.build.${CARCH}/src/out/Debug/obj.target/client/windows/crash_generation/libcrash_generation_server.a
ADDLIB ${_windir}/${_realname}.build.${CARCH}/src/out/Debug/obj.target/client/windows/handler/libexception_handler.a
ADDLIB ${_windir}/${_realname}.build.${CARCH}/src/out/Debug/obj.target/client/windows/libcommon.a
ADDLIB ${_windir}/${_realname}.build.${CARCH}/src/out/Debug/obj.target/client/windows/sender/libcrash_report_sender.a
SAVE
END
EOF

    # Install the pkgconfig file
    cp -v "${srcdir}/${_realname}.build.${CARCH}/breakpad-client.pc" pkgconfig

    # License
    cd "${pkgdir}${MINGW_PREFIX}/share"
    mkdir -p licenses/${_realname}
    mv doc/${_realname}-0.1 doc/${_realname}
    mv -v doc/${_realname}/LICENSE licenses/${_realname}/LICENSE

    # Install crash_generation_app sample source and instructions
    mkdir -p "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/sample"
    cd "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/sample"
    cp -v ${srcdir}/README.sample .
    cp -v ${srcdir}/Makefile .
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/tests/crash_generation_app/abstract_class.cc .
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/tests/crash_generation_app/abstract_class.h .
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/tests/crash_generation_app/crash_generation_app.cc .
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/tests/crash_generation_app/crash_generation_app.h .
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/tests/crash_generation_app/crash_generation_app.ico .
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/tests/crash_generation_app/resource.h .
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/tests/crash_generation_app/resource.rc .
    cp -v ${srcdir}/${_realname}.build.${CARCH}/src/client/windows/tests/crash_generation_app/small.ico .

    # Rewrite includes in sample for the rewritten installed headers
    sed -i -e's#client/windows/tests/crash_generation_app/##' ${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/sample/*
    sed -i -e's#client/windows/#breakpad/client/windows/#' ${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/sample/*
}

sha256sums=('SKIP'
            '17ba761aed181a48304722f5748bf89c8a364a6c5ac08c9fdbf30ffbb6538990'
            'a54fa3045079768a36028d944b9d41e33aa9ec41a121835cdd34970699e28908'
            '5c899b5f14a4ea46923cb0990977b6cc96403dfe9d94c98a6b96e438b40c44ac'
            '1579da7c8ebeab27b9720a059f816dccd1fb93dfa9abf945a9ea8c67babb2e2e'
            'dbd128ad512044b85ad51b4c5aa965c70ae552bd5f385538d05a6555af8e488a'
            '1273991531b15799c685fe36b0fda29de7c1db83928eff54755877683d0922f7'
            'b35fdecbde622b80e125441b2c84169b38b7bb59616ed02a0153c66764048d94'
            '3bd24a6e882575d396f86cc1646428614266cc2076a3c6805615ec495d33b308'
            'b496568219244d3e578dfbb18b307ff1d6d51555043a2059cd82530f6c6584b0'
            'ca97e04f13d606f4195a4c75cf064179baff0f933b88f35f482745f6fa1c7663'
            '1fb7a7817b37fa65bdc0f3504553f00ecc92033f67ae8038723ea624adf83609'
            '78c5f788f3d071878f13f46efacad5d0a14ec751ddb4608fc596db7b50c96568'
            '252eee0e97a9e24559823b4c2a10ec8485d3dab209bb46b1f6708822fc915024'
            '5202e5156a6bef3f5df2bc6ef20d0399e791c1fe892725fe80e0a1a54bf90f72'
            '7b8f7a557d67fb20cc887c8a54ba672d5dee604ae03c2468b8a9f1a2b8858fca'
            '53d7068209a88a174768a5df4e7d3e98991e29ad780f072417b8d07f64423598'
            'e9e29a83e1cc668d6cb6fb72334a4e5d616859eab7f248df636338070440f1b5'
            '45c55049ab28f2a432c2753277f3081e8f940c4b757267ed582ec6be083692ff'
            '0958def790a86057bf8e8bb18040e42f11ee412662aa09fb960b24112569a062'
            'b1a4025d888bcd1d752b3b6c93d6e6ae353eae050197b1ae2c54f9b90bfb1292'
            '25abf4b40df33284a6fbafd80f824085316f709e027217028f79078c5ce67fbb')
