# -*- 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

PortSystem              1.0
PortGroup               cmake 1.1
PortGroup               qt5 1.0

name                    owncloud-client
categories              www aqua
maintainers             nomaintainer
license                 GPL-2+
description             Desktop Syncing Client for ownCloud
long_description        The ownCloud Desktop Client is a tool to synchronize files from \
                        ownCloud Server with your computer.
homepage                https://owncloud.org/

# Check https://download.owncloud.com/desktop/ownCloud/stable/
# to find the build_id in the source tarball:
# ownCloud-${version}.${build_id}.tar.xz
set build_id            9215
version                 3.0.0.${build_id}
revision                0

master_sites            https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/
distname                ownCloud-${version}

checksums               rmd160  7ca54988dc9bf6f237996deb519f8f235abfb3a6 \
                        sha256  70e4458b2304117d632902485b87aa140930205a1770fd7c3d94e7e998b5cbe5 \
                        size    5676836

qt5.min_version         5.13

use_xz                  yes

compiler.cpath
compiler.library_path

# For -fstack-protector-strong; copied from Portfile of KeePassXC
compiler.blacklist-append {clang < 602} macports-clang-3.4 macports-clang-3.3
compiler.fallback-append macports-clang-5.0

depends_build-append    path:bin/doxygen:doxygen

depends_lib-append      port:qtkeychain

qt5.depends_build_component \
                        qttools

configure.args-append   -DMIRALL_VERSION_BUILD=${build_id}

if {${os.platform} eq "darwin"} {
    qt5.depends_component   qtmacextras qtwebkit

    cmake.install_prefix    ${applications_dir}
    
    patchfiles-append       patch-add-xcodeflags.diff

    use_xcode               yes

    # This should match LIB_INSTALL_DIR in CMakeLists.txt
    configure.args-append   -DCMAKE_INSTALL_NAME_DIR=${applications_dir}/owncloud.app/Contents/MacOS \
                            -DXCODEFLAGS="-IDECustomDerivedDataLocation=${workpath}/DerivedData" \
                            -DKDE_INSTALL_BUNDLEDIR:PATH=${applications_dir}

    if {${os.major} < 16} {
        version             2.6.3
        set build_id        14058
        revision            0

        master_sites        {}
        distname            owncloudclient-${version}.${build_id}

        checksums           rmd160  effe036ca72c8714b80947430b4aa9bdea7dff2f \
                            sha256  e3d38de31e041f0e1836b2b74acfc1fc76eea4955968952a65643cbf36a493f5 \
                            size    21246672

        patchfiles-append   patch-use-system-sqlite.diff

        qt5.min_version     5.6

        livecheck.type      none
    } else {
        depends_build-append \
                            port:kde-extra-cmake-modules

        patchfiles-append   patch-CMakeLists.txt.diff
    }
    
    if {${os.major} < 13} {
        # Finder extension does not compile on 10.8
        configure.pre_args-append \
                            -DBUILD_SHELL_INTEGRATION=OFF
    }
    
    post-destroot {
        ln -s ${applications_dir}/owncloud.app/Contents/MacOS/owncloudcmd \
            ${destroot}${prefix}/bin/owncloudcmd
    }
} else {
    qt5.depends_component   qtwebkit
}

livecheck.type      regex
livecheck.url       https://download.owncloud.com/desktop/ownCloud/stable/
livecheck.regex     {\/(2(\.\d+)*)\/}
