summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2022-03-20 21:49:51 +0100
committerDavid Seifert <soap@gentoo.org>2022-03-20 21:49:51 +0100
commit7208f5660462ad5beb0b563606f4337e14264ba1 (patch)
tree07f3e13864350475187c4224df32240f038fa3f6
parentmedia-gfx/pngnq: update EAPI 7 -> 8 (diff)
downloadgentoo-7208f5660462ad5beb0b563606f4337e14264ba1.tar.gz
gentoo-7208f5660462ad5beb0b563606f4337e14264ba1.tar.bz2
gentoo-7208f5660462ad5beb0b563606f4337e14264ba1.zip
dev-db/mysql-super-smack: update EAPI 6 -> 8
Signed-off-by: David Seifert <soap@gentoo.org>
-rw-r--r--dev-db/mysql-super-smack/files/mysql-super-smack-1.3-autotools.patch255
-rw-r--r--dev-db/mysql-super-smack/mysql-super-smack-1.3-r5.ebuild70
2 files changed, 325 insertions, 0 deletions
diff --git a/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-autotools.patch b/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-autotools.patch
new file mode 100644
index 000000000000..97e1e1aaccc6
--- /dev/null
+++ b/dev-db/mysql-super-smack/files/mysql-super-smack-1.3-autotools.patch
@@ -0,0 +1,255 @@
+--- a/configure.in
++++ b/configure.in
+@@ -16,9 +16,9 @@
+
+ # Process this file with autoconf to produce a configure script.
+
+-AC_INIT()
++AC_INIT([super-smack], [1.1])
+ AM_CONFIG_HEADER(config.h)
+-AM_INIT_AUTOMAKE(super-smack, 1.1)
++AM_INIT_AUTOMAKE
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+
+ # Checks for programs.
+@@ -31,6 +31,14 @@
+ AM_PROG_LEX
+ AC_PROG_YACC
+
++AH_TEMPLATE([HAVE_CRYPT], [Define if we have a crypt()])
++AH_TEMPLATE([HAVE_MYSQL], [MySQL Support])
++AH_TEMPLATE([HAVE_ORACLE], [PostgreSQL Support])
++AH_TEMPLATE([HAVE_PGSQL], [Oracle Support])
++AH_TEMPLATE([SMACK_DATADIR], [Sample .smack data files])
++
++AC_CONFIG_MACRO_DIRS([m4])
++
+ # get super-smack datadir
+ AC_ARG_WITH(datadir,
+ [ --with-datadir=DIR Specify default smack datadir],
+diff -aurwN a/m4/crypt.m4 b/m4/crypt.m4
+--- a/m4/crypt.m4
++++ b/m4/crypt.m4
+@@ -0,0 +1,5 @@
++AC_DEFUN([AC_FUNC_CRYPT], [
++ AC_CHECK_LIB(crypt, crypt)
++ AC_CHECK_FUNC(crypt, AC_DEFINE(HAVE_CRYPT))
++])
++
+diff -aruwN a/m4/lex.m4 b/m4/lex.m4
+--- a/m4/lex.m4
++++ b/m4/lex.m4
+@@ -0,0 +1,6 @@
++AC_DEFUN([AM_PROG_LEX],
++[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
++AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
++AC_PROG_LEX
++AC_DECL_YYTEXT])
++
+diff -aurwN a/m4/libz.m4 b/m4/libz.m4
+--- a/m4/libz.m4
++++ b/m4/libz.m4
+@@ -0,0 +1,4 @@
++AC_DEFUN([AC_LIB_Z], [
++ AC_CHECK_LIB(z, compress)
++])
++
+diff -aurwN a/m4/mysql.m4 b/m4/mysql.m4
+--- a/m4/mysql.m4
++++ b/m4/mysql.m4
+@@ -0,0 +1,76 @@
++#serial 1
++AC_DEFUN([AC_LIB_MYSQL], [
++ AC_ARG_WITH(mysql-lib,
++ [ --with-mysql-lib=DIR Look for MySQL client library in DIR],
++ mysql_lib=$withval, mysql_lib="")
++
++ if test "x$want_mysql" = "xyes"
++ then
++ AC_MSG_CHECKING([for libmysqlclient])
++ AC_MSG_RESULT()
++
++ mysql_ok=no
++
++ SAVE_LIBS=$LIBS
++
++ mysql_lib="$mysql_lib /usr/lib /usr/lib/mysql \
++ /usr/local/lib /usr/local/lib/mysql \
++ /usr/local/mysql/lib"
++
++ for dir in $mysql_lib; do
++ if test "x$mysql_found" != "xyes"
++ then
++ if test -f "$dir/libmysqlclient.so" ;
++ then
++ LIBS="-L$dir $SAVE_LIBS $LIBZ_LIB"
++ MYSQL_LIB="-L$dir -lmysqlclient $LIBZ_LIB"
++ AC_SUBST(MYSQL_LIB)
++ AC_CHECK_LIB(mysqlclient, mysql_real_connect,
++ mysql_ok=yes, mysql_ok=no)
++ fi
++ fi
++ done
++
++ if test "x$mysql_ok" != "xyes"
++ then
++ AC_MSG_ERROR([Could not find libmysqlclient in '$mysql_lib'])
++ fi
++ fi
++])
++
++AC_DEFUN([AC_HEADER_MYSQL], [
++ AC_ARG_WITH(mysql-include,
++ [ --with-mysql-include=DIR
++ Look for MySQL include files in DIR],
++ mysql_include=$withval, mysql_include="")
++
++ if test "x$want_mysql" = "xyes"
++ then
++ AC_MSG_CHECKING([for mysql.h])
++ AC_MSG_RESULT()
++
++ mysql_found=no
++
++ mysql_include="$mysql_include /usr/include /usr/include/mysql \
++ /usr/local/include /usr/local/include/mysql \
++ /usr/local/mysql/include"
++
++ for dir in $mysql_include; do
++ if test "x$mysql_found" != "xyes"
++ then
++ if test -f "$dir/mysql.h"
++ then
++ MYSQL_INCLUDE="-I$dir"
++ AC_SUBST(MYSQL_INCLUDE)
++ mysql_found=yes
++ fi
++ fi
++ done
++
++ if test "x$mysql_found" != "xyes"
++ then
++ AC_MSG_ERROR([Could not find mysql.h in '$mysql_include'])
++ fi
++ fi
++])
++
+diff -aurwN a/m4/oracle.m4 b/m4/oracle.m4
+--- a/m4/oracle.m4
++++ b/m4/oracle.m4
+@@ -0,0 +1,10 @@
++AC_DEFUN([AC_LIB_ORACLE], [
++ ORACLE_LIB=""
++ AC_SUBST(ORACLE_LIB)
++])
++
++AC_DEFUN([AC_HEADER_ORACLE], [
++ ORACLE_INCLUDE=""
++ AC_SUBST(ORACLE_INCLUDE)
++])
++
+diff -aurwN a/m4/postgresql.m4 b/m4/postgresql.m4
+--- a/m4/postgresql.m4
++++ b/m4/postgresql.m4
+@@ -0,0 +1,75 @@
++AC_DEFUN([AC_LIB_PGSQL], [
++ AC_ARG_WITH(pgsql-lib,
++ [ --with-pgsql-lib=DIR Look for PostgreSQL client library in DIR],
++ pgsql_lib=$withval, pgsql_lib="")
++
++ if test "x$want_pgsql" = "xyes"
++ then
++ AC_MSG_CHECKING([for libpq])
++ AC_MSG_RESULT()
++
++ pgsql_ok=no
++
++ SAVE_LIBS=$LIBS
++
++ pgsql_lib="$pgsql_lib /usr/lib /usr/lib/pgsql \
++ /usr/local/lib /usr/local/lib/pgsql \
++ /usr/local/pgsql/lib"
++
++ for dir in $pgsql_lib; do
++ if test "x$pgsql_found" != "xyes"
++ then
++ if test -f "$dir/libpq.so"
++ then
++ LIBS="-L$dir $SAVE_LIBS"
++ PGSQL_LIB="-L$dir -lpq"
++ AC_SUBST(PGSQL_LIB)
++ AC_CHECK_LIB(pq, PQconnectdb,
++ pgsql_ok=yes, pgsql_ok=no)
++ fi
++ fi
++ done
++
++ if test "x$pgsql_ok" != "xyes"
++ then
++ AC_MSG_ERROR([Could not find libpq in '$pgsql_lib'])
++ fi
++ fi
++])
++
++AC_DEFUN([AC_HEADER_PGSQL], [
++ AC_ARG_WITH(pgsql-include,
++ [ --with-pgsql-include=DIR
++ Look for PostgreSQL include files in DIR],
++ pgsql_include=$withval, pgsql_include="")
++
++ if test "x$want_pgsql" = "xyes"
++ then
++ AC_MSG_CHECKING([for libpq-fe.h])
++ AC_MSG_RESULT()
++
++ pgsql_found=no
++
++ pgsql_include="$pgsql_include /usr/include /usr/include/pgsql \
++ /usr/local/include /usr/local/include/pgsql \
++ /usr/local/pgsql/include"
++
++ for dir in $pgsql_include; do
++ if test "x$pgsql_found" != "xyes"
++ then
++ if test -f "$dir/libpq-fe.h"
++ then
++ PGSQL_INCLUDE="-I$dir"
++ AC_SUBST(PGSQL_INCLUDE)
++ pgsql_found=yes
++ fi
++ fi
++ done
++
++ if test "x$pgsql_found" != "xyes"
++ then
++ AC_MSG_ERROR([Could not find libpq-fe.h in '$pgsql_include'])
++ fi
++ fi
++])
++
+diff -aurwN a/src/Makefile.am b/src/Makefile.am
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -16,7 +16,8 @@
+
+ # Process this file with automake to create Makefile.in
+
+-INCLUDES = @MYSQL_INCLUDE@ @PGSQL_INCLUDE@ @ORACLE_INCLUDE@
++AM_CPPFLAGS = @MYSQL_INCLUDE@ @PGSQL_INCLUDE@ @ORACLE_INCLUDE@
++BUILT_SOURCES = super-smack-yacc.hh
+
+ noinst_PROGRAMS=test-dictionary test-client test_tcp_client
+ bin_PROGRAMS=super-smack super-smack-gen-data
+diff -aurN a/src/super-smack-lex.ll b/src/super-smack-lex.ll
+--- a/src/super-smack-lex.ll
++++ b/src/super-smack-lex.ll
+@@ -6,7 +6,7 @@
+ #include <ctype.h>
+ #include "query.h"
+ #include "parse.h"
+- #include "super-smack-yacc.h"
++ #include "super-smack-yacc.hh"
+
+ static string q_str = "";
+ %}
+
diff --git a/dev-db/mysql-super-smack/mysql-super-smack-1.3-r5.ebuild b/dev-db/mysql-super-smack/mysql-super-smack-1.3-r5.ebuild
new file mode 100644
index 000000000000..e47e1a187676
--- /dev/null
+++ b/dev-db/mysql-super-smack/mysql-super-smack-1.3-r5.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+MY_P="super-smack-${PV}"
+
+DESCRIPTION="Benchmarking, stress testing, and load generation tool for MySQL & PostGreSQL"
+HOMEPAGE="http://vegan.net/tony/supersmack/"
+SRC_URI="mirror://gentoo/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="+mysql postgres"
+REQUIRED_USE="|| ( mysql postgres )"
+
+DEPEND="
+ sys-libs/zlib:=
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:*[server] )"
+RDEPEND="
+ ${DEPEND}
+ mysql? ( virtual/mysql )"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.destdir.patch
+ "${FILESDIR}"/${PN}-1.3.amd64.patch
+ "${FILESDIR}"/${PN}-1.3.gcc4.3.patch
+ "${FILESDIR}"/${PN}-1.3-gen-data.patch
+ "${FILESDIR}"/${PN}-1.3-autotools.patch
+)
+
+src_prepare() {
+ default
+ # Clean up files so eautoreconf does not pick up any
+ # deprecated autotools macros.
+ rm acinclude.m4 aclocal.m4 acconfig.h config.status config.h || die
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -std=gnu++98
+
+ local myeconfargs=(
+ $(usev mysql --with-mysql)
+ $(usev postgres --with-pgsql)
+ --with-datadir="${EPREFIX}"/var/tmp/super-smack
+ --with-smacks-dir="${EPREFIX}"/usr/share/super-smack
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ dodoc MANUAL TUTORIAL
+
+ keepdir /var/tmp/super-smack
+}
+
+pkg_postinst() {
+ elog "The gen-data binary is now installed as super-smack-gen-data"
+}