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

github.setup        dbeaver dbeaver 25.3.1
github.tarball_from releases
revision            0
name                dbeaver-community

categories          databases
supported_archs     x86_64 arm64
license             Apache-2

maintainers         {judaew @judaew} {mascguy @mascguy} openmaintainer

description         Free multi-platform database tool for developers, SQL \
                    programmers, database administrators and analysts.
long_description    \
    {*}${description} Supports any database which has JDBC driver (which \
    basically means - ANY database). Has a lot of features including metadata \
    editor, SQL editor, rich data editor, ERD, data export/import/migration, \
    SQL execution plans, etc. Uses plugins architecture and provides \
    additional functionality for the following databases: MySQL/MariaDB, \
    PostgreSQL, Greenplum, Oracle, DB2 LUW, Exasol, SQL Server, Sybase/SAP \
    ASE, SQLite, Firebird, H2, HSQLDB, Derby, Teradata, Vertica, Netezza, \
    Informix, etc.
homepage            https://dbeaver.io/

use_dmg             yes

set dist_x86_64     dbeaver-ce-${version}-macos-x86_64${extract.suffix}
set dist_arm64      dbeaver-ce-${version}-macos-aarch64${extract.suffix}

variant all_arches description {Download files for all arches} {
    distfiles       ${dist_x86_64} \
                    ${dist_arm64}
}

checksums-append \
                    ${dist_x86_64} \
                        rmd160  dd90c2078b026f78c50b99e6ad6feaea0f342c1a \
                        sha256  ef810cc1a1b6c661f6804ca1730a992a057334eba9f350c6f13f039842cde778 \
                        size    122589287
checksums-append \
                    ${dist_arm64} \
                        rmd160  9bc807d97f624b5e95c84d6f69e9e7b308b8900e \
                        sha256  709f614bf8d0c92a066d7774c8b98136555a93c38e9cc5b64e85e88e7c7d4e1e \
                        size    121392576

switch ${configure.build_arch} {
    x86_64 {
        distfiles   ${dist_x86_64}
    }
    arm64 {
        distfiles   ${dist_arm64}
    }
    default {
        known_fail  yes
        pre-fetch {
            ui_error "${subport} @ ${version} only supported for architectures ${supported_archs}"
            return -code error "Unsupported architecture: ${build_arch}"
        }
    }
}

use_configure       no

build {}

destroot {
    copy ${worksrcpath}/DBeaver.app ${destroot}${applications_dir}
}
