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

name                msodbcsql
version             18.6.2.1
revision            0
epoch               1
categories          databases
supported_archs     x86_64 arm64
maintainers         {jann @roederja} {mathiesen.info:macintosh @BjarneDMat} openmaintainer
license             Restrictive

description         ODBC Driver for Microsoft(R) SQL Server(R).
long_description    ODBC Driver for Microsoft(R) SQL Server(R).

homepage            https://learn.microsoft.com/en-us/sql/connect/odbc/microsoft-odbc-driver-for-sql-server
master_sites        https://download.microsoft.com/download/27f541d3-645c-455a-9249-515065cfa507/

depends_run         port:unixODBC \
                    port:openssl3
                    
use_configure       no

set workpathdir     "${workpath}/${name}-${version}"
set major           [lindex [split ${version} "."] 0]

switch ${configure.build_arch} {
    x86_64 {
        supported_archs                 x86_64
        distname                        msodbcsql${major}-${version}-amd64
        checksums                       rmd160  92ce1fadd39c44599c105249d8ccc3ea61d4333b \
                                        sha256  c0db485b006aed4a160526781b910a35ab6002a9336e8bafc4d314f291f979d4 \
                                        size    858198
    }
    arm64 {
        supported_archs                 arm64
        distname                        msodbcsql${major}-${version}-arm64
        checksums                       rmd160  aa6aca9de3941aee3d0bebc210b8b91c0370fecc \
                                        sha256  b92d00a71b1193bd18def562a0864325a197f2ffeb565e3862cf8db2474d17a0 \
                                        size    771221
    }
}

patch {
    reinplace "s|/usr/local|${prefix}|g" ${workpathdir}/odbcinst.ini
}
                    
build {
    system "install_name_tool -change /usr/local/lib/libodbcinst.2.dylib ${prefix}/lib/libodbcinst.2.dylib ${workpathdir}/lib/libmsodbcsql.${major}.dylib"
    system "install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib ${prefix}lib/openssl-3/libcrypto.3.dylib ${workpathdir}/lib/libmsodbcsql.${major}.dylib"
    system "install_name_tool -change /usr/local/opt/openssl/lib/libssl.1.0.0.dylib ${prefix}/lib/openssl-3/libssl.3.dylib ${workpathdir}/lib/libmsodbcsql.${major}.dylib"
    system "install_name_tool -id ${prefix}/lib/libmsodbcsql.${major}.dylib ${workpathdir}/lib/libmsodbcsql.${major}.dylib"
}

destroot {
    xinstall -m 444 ${workpathdir}/lib/libmsodbcsql.${major}.dylib ${destroot}${prefix}/lib/libmsodbcsql.${major}.dylib
    xinstall -d ${destroot}${prefix}/share/msodbcsql${major}/resources/en_US
    xinstall -m 444 ${workpathdir}/share/msodbcsql${major}/resources/en_US/msodbcsqlr${major}.rll ${destroot}${prefix}/share/msodbcsql${major}/resources/en_US/msodbcsqlr${major}.rll
    xinstall -m 644 ${workpathdir}/odbcinst.ini ${destroot}${prefix}/share/msodbcsql${major}/resources/odbcinst.ini
    xinstall -m 644 ${workpathdir}/include/msodbcsql${major}/msodbcsql.h ${destroot}${prefix}/include/msodbcsql.h
    xinstall -d ${destroot}${prefix}/share/doc/msodbcsql${major}
    xinstall -m 644 -W ${workpathdir}/share/doc/msodbcsql${major} LICENSE.txt RELEASE_NOTES ${destroot}${prefix}/share/doc/msodbcsql${major}
}

post-activate {
    system "odbcinst -u -d -n \"ODBC Driver ${major} for SQL Server\""
    system "odbcinst -i -d -f ${prefix}/share/msodbcsql${major}/resources/odbcinst.ini"
}

pre-deactivate {
    system "odbcinst -u -d -n \"ODBC Driver ${major} for SQL Server\""
}
