summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Espen Oversand <sigsegv@radiotube.org>2024-12-12 14:44:00 +0100
committerSam James <sam@gentoo.org>2024-12-13 09:24:13 +0000
commit66c770686606b0a7a1b5954617f3880e6c0d42e9 (patch)
tree77a1315476f969e429f9bdc86fc826e540748f85 /dev-db/unixODBC
parentdev-libs/nspr: Stabilize 4.36 arm64, #946349 (diff)
downloadgentoo-66c770686606b0a7a1b5954617f3880e6c0d42e9.tar.gz
gentoo-66c770686606b0a7a1b5954617f3880e6c0d42e9.tar.bz2
gentoo-66c770686606b0a7a1b5954617f3880e6c0d42e9.zip
dev-db/unixODBC: fix incorrect types with use -minimal
Closes: https://bugs.gentoo.org/936060 Signed-off-by: Jan-Espen Oversand <sigsegv@radiotube.org> Closes: https://github.com/gentoo/gentoo/pull/39694 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-db/unixODBC')
-rw-r--r--dev-db/unixODBC/files/unixODBC-2.3.12-bug-936060.patch33
-rw-r--r--dev-db/unixODBC/unixODBC-2.3.12-r1.ebuild78
2 files changed, 111 insertions, 0 deletions
diff --git a/dev-db/unixODBC/files/unixODBC-2.3.12-bug-936060.patch b/dev-db/unixODBC/files/unixODBC-2.3.12-bug-936060.patch
new file mode 100644
index 000000000000..55131a34e851
--- /dev/null
+++ b/dev-db/unixODBC/files/unixODBC-2.3.12-bug-936060.patch
@@ -0,0 +1,33 @@
+This issue has been reported and fixed upstream, but not yet released. See links below.
+
+https://bugs.gentoo.org/936060
+https://github.com/lurcher/unixODBC/issues/158
+https://github.com/lurcher/unixODBC/commit/45f501e1be2db6b017cc242c79bfb9de32b332a1
+--- a/Drivers/Postgre7.1/info.c
++++ b/Drivers/Postgre7.1/info.c
+@@ -1779,14 +1779,14 @@
+ char index_name[MAX_INFO_STRING];
+ short fields_vector[8];
+ char isunique[10], isclustered[10];
+-SDWORD index_name_len, fields_vector_len;
++SQLLEN index_name_len, fields_vector_len;
+ TupleNode *row;
+ int i;
+ HSTMT hcol_stmt;
+ StatementClass *col_stmt, *indx_stmt;
+ char column_name[MAX_INFO_STRING], relhasrules[MAX_INFO_STRING];
+ char **column_names = 0;
+-Int4 column_name_len;
++SQLLEN column_name_len;
+ int total_columns = 0;
+ char error = TRUE;
+ ConnInfo *ci;
+@@ -2136,7 +2136,7 @@
+ StatementClass *tbl_stmt;
+ char tables_query[STD_STATEMENT_LEN];
+ char attname[MAX_INFO_STRING];
+-SDWORD attname_len;
++SQLLEN attname_len;
+ char pktab[MAX_TABLE_LEN + 1];
+ Int2 result_cols;
+
diff --git a/dev-db/unixODBC/unixODBC-2.3.12-r1.ebuild b/dev-db/unixODBC/unixODBC-2.3.12-r1.ebuild
new file mode 100644
index 000000000000..87141847f80b
--- /dev/null
+++ b/dev-db/unixODBC/unixODBC-2.3.12-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="Complete ODBC driver manager"
+HOMEPAGE="https://www.unixodbc.org/"
+SRC_URI="https://www.unixodbc.org/unixODBC-${PV}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+minimal odbcmanual static-libs unicode"
+
+RDEPEND="
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-libs/readline-6.2_p5-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/ncurses-5.9-r3:=[${MULTILIB_USEDEP}]
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-bug-936060.patch
+)
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/odbc_config )
+MULTILIB_WRAPPED_HEADERS=( /usr/include/unixODBC/unixodbc_conf.h /usr/include/unixodbc.h )
+
+src_prepare() {
+ default
+
+ # Only needed for config.h install patch
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # Needs flex, bison
+ export LEX=flex
+ unset YACC
+
+ # --enable-driver-conf is --enable-driverc as per configure.in
+ local myeconfargs=(
+ --cache-file="${BUILD_DIR}"/config.cache
+ --sysconfdir="${EPREFIX}"/etc/${PN}
+ --disable-editline
+ --disable-static
+ --enable-iconv
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable !minimal drivers)
+ $(use_enable !minimal driverc)
+ $(use_with unicode iconv-char-enc UTF8)
+ $(use_with unicode iconv-ucode-enc UTF16LE)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use odbcmanual ; then
+ # We could simply run "make install-html" if we'd not had
+ # out-of-source builds here.
+ docinto html
+ dodoc -r doc/.
+ find "${ED}/usr/share/doc/${PF}/html" -name "Makefile*" -delete || die
+ fi
+
+ use prefix && dodoc README*
+ find "${ED}" -type f -name '*.la' -delete || die
+}