View Raw Ebuild
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit unpacker
URI="packages.microsoft.com/debian/12/prod/pool/main/m"
DESCRIPTION="Microsoft ODBC Driver for SQL Server"
HOMEPAGE="https://learn.microsoft.com/en-us/sql/connect/odbc/microsoft-odbc-driver-for-sql-server"
SRC_URI="amd64? ( https://${URI}/${PN}${PV%%.*}/${PN}${PV%%.*}_${PV}-1_amd64.deb )
arm64? ( https://${URI}/${PN}${PV%%.*}/${PN}${PV%%.*}_${PV}-1_arm64.deb )"
S="${WORKDIR}"
LICENSE="Microsoft-ODBC"
SLOT="${PV%%.*}"
KEYWORDS="-* ~amd64 ~arm64"
RESTRICT="bindist mirror"
RDEPEND="dev-db/unixODBC
virtual/krb5"
DOCS=( usr/share/doc/msodbcsql18/RELEASE_NOTES )
QA_PREBUILT="usr/lib64/libmsodbcsql-${PV%.*.*}.so.${PV#*.*.}"
src_prepare() {
default
# change lib path
sed -i '/Driver/s|opt/microsoft/msodbcsql[0-9]*|usr|' \
opt/microsoft/msodbcsql"${PV%%.*}"/etc/odbcinst.ini \
|| die "sed failed for odbcinst.ini"
}
src_install() {
einstalldocs
insinto /usr/share/"${PN}-${SLOT}"
doins opt/microsoft/msodbcsql"${PV%%.*}"/etc/odbcinst.ini
doheader opt/microsoft/msodbcsql"${PV%%.*}"/include/msodbcsql.h
dolib.so opt/microsoft/msodbcsql"${PV%%.*}"/lib64/libmsodbcsql-"${PV%.*.*}".so."${PV#*.*.}"
dosym libmsodbcsql-"${PV%.*.*}".so."${PV#*.*.}" usr/lib64/libmsodbcsql-"${PV%%.*}".so
insinto /usr/share/resources/en_US
doins opt/microsoft/msodbcsql"${PV%%.*}"/share/resources/en_US/msodbcsqlr"${PV%%.*}".rll
}
pkg_config() {
local driver drivers
driver="ODBC Driver ${SLOT} for SQL Server"
drivers="$(/usr/bin/odbcinst -q -d)"
if echo "$drivers" | grep -vq "^\[$driver\]$" ; then
ebegin "Installing ${driver}"
/usr/bin/odbcinst -i -d -f /usr/share/"${PN}-${SLOT}"/odbcinst.ini
eend $? "Failed to install ${driver}"
else
einfo "Skipping already installed ${driver}"
fi
}
pkg_postinst() {
elog "If this is a new install, please run the following command"
elog "to configure the MSSQL ODBC driver:"
elog "emerge --config =${CATEGORY}/${PF}"
}