View Raw Ebuild
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit git-r3 go-module
DESCRIPTION="Universal command-line interface for SQL databases"
HOMEPAGE="https://github.com/xo/usql"
EGIT_REPO_URI="https://github.com/xo/${PN}.git"
LICENSE="MIT"
SLOT="0"
IUSE="athena avatica bigquery cassandra chai clickhouse cosmos couchbase csvq databend databricks
duckdb dynamodb exasol firebird flightsql h2 hdb hive ignite impala maxcompute +mssql
+mysql netezza +oracle odbc +postgres presto ql ramsql sapase saphana snowflake spanner
+sqlite tablestore tds trino vertica voltdb ydb"
src_unpack() {
git-r3_src_unpack
go-module_live_vendor
}
src_compile() {
LDFLAGS="-X github.com/xo/usql/text.CommandName=${PN} -X github.com/xo/usql/text.CommandVersion=${PV}"
TAGS="netgo $(usex athena athena no_athena) $(usex avatica avatica no_avatica)
$(usex bigquery bigquery no_bigquery) $(usex cassandra cassandra no_cassandra)
$(usex chai chai no_chai) $(usex clickhouse clickhouse no_clickhouse)
$(usex cosmos cosmos no_cosmos) $(usex couchbase couchbase no_couchbase) $(usex csvq csvq no_csvq)
$(usex databend databend no_databend)
$(usex databricks databricks no_databricks) $(duckdb duckdb no_duckdb)
$(usex dynamodb dynamodb no_dynamodb) $(usex exasol exasol no_exasol)
$(usex firebird firebird no_firebird) $(flightsql flightsql no_flightsql) $(usex h2 h2 no_h2)
$(usex hdb hdb no_hdb) $(usex hive hive no_hive) $(usex ignite ignite no_ignite)
$(usex impala impala no_impala) $(usex maxcompute maxcompute no_maxcompute)
$(usex mssql sqlserver no_sqlserver) $(usex mysql 'mysql mymysql' 'no_mysql no_mymysql')
$(usex netezza netezza no_netezza) $(odbc odbc no_odbc)
$(usex oracle 'godror oracle' 'no_godror' no_oracle)
$(usex postgres 'pgx postgres' 'no_pgx no_postgres') $(usex presto presto no_presto)
$(usex ramsql ramsql no_ramsql) $(usex ql ql no_ql) $(usex snowflake snowflake no_snowflake)
$(usex spanner spanner no_spanner) $(usex tablestore ots no_ots) $(usex sapase sapase no_sapase)
$(usex saphana saphana no_saphana)
$(usex sqlite 'moderncsqlite sqlite3 sqlite sqlite_app_armor sqlite_fts5 sqlite_introspect sqlite_json1 sqlite_stat4 sqlite_userauth sqlite_vtable sqlite_icu' 'no_moderncsqlite no_sqlite3')
$(usex tds tds no_tds) $(usex trino trino no_trino) $(usex vertica vertica no_vertica)
$(usex voltdb voltdb no_voltdb) $(ydb ydb no_ydb) no_adodb"
ego build -tags "${TAGS}" -ldflags="${LDFLAGS}"
}
src_test() {
ego test
}
src_install() {
einstalldocs
dobin usql
}