summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-10-27 12:48:57 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-10-27 12:48:57 +0100
commit70b82ae359a5538711e103b0e8dfb92654296644 (patch)
tree8412b84ff9ce02a22be5251052b00feefe1d5b70 /dev-db
parent64e107b9b6058580ff0432107eb37cefb0b2a7d8 (diff)
gentoo resync : 27.10.2018
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin20666 -> 20663 bytes
-rw-r--r--dev-db/lmdb/Manifest2
-rw-r--r--dev-db/lmdb/lmdb-0.9.22.ebuild4
-rw-r--r--dev-db/mongodb/Manifest8
-rw-r--r--dev-db/mongodb/mongodb-3.4.16.ebuild4
-rw-r--r--dev-db/mongodb/mongodb-3.6.8.ebuild2
-rw-r--r--dev-db/mongodb/mongodb-4.0.2.ebuild4
-rw-r--r--dev-db/mongodb/mongodb-4.0.3.ebuild163
-rw-r--r--dev-db/mysql-workbench/Manifest8
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.3.10-i386-json.patch182
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild4
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild3
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild107
-rw-r--r--dev-db/mysql/Manifest6
-rw-r--r--dev-db/mysql/mysql-5.7.23-r2.ebuild12
-rw-r--r--dev-db/mysql/mysql-5.7.24.ebuild938
-rw-r--r--dev-db/oracle-instantclient/Manifest5
-rw-r--r--dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch2
-rw-r--r--dev-db/oracle-instantclient/files/18.3.0.0-proc-makefile.patch27
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r1.ebuild375
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r2.ebuild378
-rw-r--r--dev-db/redis/Manifest10
-rw-r--r--dev-db/redis/files/redis-5.0-sharedlua.patch4
-rw-r--r--dev-db/redis/files/redis-sentinel-5.0-config.patch21
-rw-r--r--dev-db/redis/redis-5.0.0.ebuild (renamed from dev-db/redis/redis-5.0_rc5.ebuild)12
-rw-r--r--dev-db/redis/redis-5.0_rc4.ebuild144
26 files changed, 2234 insertions, 191 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index ed08373a6bfc..5b7294bf4dfd 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/lmdb/Manifest b/dev-db/lmdb/Manifest
index 09ec702c74f1..febaf374125e 100644
--- a/dev-db/lmdb/Manifest
+++ b/dev-db/lmdb/Manifest
@@ -6,5 +6,5 @@ DIST LMDB_0.9.22.tar.gz 143468 BLAKE2B 125b447344cc601ad8af1c3cf0ba4d05474c8e7a4
EBUILD lmdb-0.9.18.ebuild 1239 BLAKE2B cf75faf2a5fe6fd306eb7a28c2372a3bcb3a4395fb26f80e4beb9e99799a7c2d86755b2fe5d7172a24fc40d00519ee4a70cdd179f51f836853950311ae8d2549 SHA512 18b2c236625e0fd311521148dfd029a74c428459ab61847105d9e27cf2a602bf107af9147d11ada60a1efd972e29ea26ea59f7d7bd9848cf2dc145a05967fff9
EBUILD lmdb-0.9.19.ebuild 1849 BLAKE2B d9e235c2aa7ff06d2b6cdf6b6e29544a02d1aaa7ae7248afdf661c3ba4ea0ddbb0e7ed9ec7796e73b1865a430a2a8380236a3206e54a8eca054ba95ff9e1d820 SHA512 791cca180d0d429d64f197a627dd8d94c48e8502d38011be358fc901e521cdb3996653b2cc0c519b9e1e5a58815134e99e64f09d50bcc72444eb2990ac2879ad
EBUILD lmdb-0.9.21-r1.ebuild 1960 BLAKE2B b2686f3859333a1f60b4e1053e40e7214ed3196e35b88956ada044f6655c7ae3a472e999db56d08bfeeb3d6520853b1091dc6d8a321827e67903c87e8aebbe15 SHA512 288aec449c08655fe4572451f2960cd6c489158198fc787cb5ec3bd489578995f651bd5d13c36924ef35c2497dd157ae46a78dc9b5e18b31f913753a2a8157bf
-EBUILD lmdb-0.9.22.ebuild 2137 BLAKE2B 7cf5c62dfa12738f22dd28926092c17501896677779794177d16a94037f081fe7a2fcf54ff4355cd3e91f328509f64b6c142b719a30a70e4c430e3d1a5da0071 SHA512 5143eda754f87c8f44a505079ad731f8ceb7f726c4053724d5e832667cf67f66f0c2d81a60bb3d9c97ce152f8853fa139d1f4314c291e883bab5db987e9fb52c
+EBUILD lmdb-0.9.22.ebuild 2132 BLAKE2B 540bd12590489987c7c9815bc3b80cd8d4dd4ef211dfe77bbc8da8e4225863eccd818bad7e6746f91880677faef5e9609d60f2dd56e4af9c1b5ae5984c36f384 SHA512 b973454907d5b754b7cafde7422abfbaf7337d0b8f373183dda6ed433b7000354f0f44ee14968c90c69bb319c4b3a945f9d376efa7c69b864aa109dc33784be2
MISC metadata.xml 540 BLAKE2B b064697aa562165a627cb1be8cce847c8046d10cf184a4563a632c43ebd1916ad866e843efd49ae5659e379f3695514005b9d601117719c9f48652dab48dcea8 SHA512 7ff1fddaca73c5d7b4a6a9ada9a7aad60e16c8c7063ad5cd9cf57301f504f6e0fe53bf568dec83abf522c2c099d2b3b2463619df17077ebaa3b39bd67bd738c4
diff --git a/dev-db/lmdb/lmdb-0.9.22.ebuild b/dev-db/lmdb/lmdb-0.9.22.ebuild
index 03639156502b..92439d955578 100644
--- a/dev-db/lmdb/lmdb-0.9.22.ebuild
+++ b/dev-db/lmdb/lmdb-0.9.22.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ SRC_URI="https://github.com/LMDB/lmdb/archive/LMDB_${PV}.tar.gz"
LICENSE="OPENLDAP"
SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
IUSE="static-libs"
DEPEND=""
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index f8414a74c0fd..c4cc9c4affbf 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -27,9 +27,11 @@ DIST mongodb-src-r3.4.10.tar.gz 39959937 BLAKE2B f14f081525f694b939bc21f8cb6364c
DIST mongodb-src-r3.4.16.tar.gz 40093657 BLAKE2B 7123444dbdd0b2ad3adfb3391e0177d33c1b6c6a4ea83027821c564faad047a736e52926bc15c58bef59c18282436e913fd3bc9963705e030da01356f83ea367 SHA512 e22eb1fe2a832fed8305200614988c5ecfd619cee44fe2263bffa151732c0e26584084e64065dbc65152be6e5c1767a538193770359bea92f3703c72239075db
DIST mongodb-src-r3.6.8.tar.gz 40428295 BLAKE2B cc02f73cfb49fb38ccabaad5a02610ce73fc41895ce944e48669e254bcbc70c8872a1bd7f8e04371fae4fcd9af2466fd8550367dd1d1da5cee50b86fc5023bf2 SHA512 c981f3269be3bafb59aa89d36c39a801fd7007b60db6c09b4616a559aaf8e50b34cabbdac2b59f23552c0a5112913fba468f7e2ed9a5f4daa3702dcffdf34999
DIST mongodb-src-r4.0.2.tar.gz 49328232 BLAKE2B 0e56392de5b8cd59c49c38469ed427c52dbd91cd64b3c97da6809c0f849198f836896b8ef24a06e7ff84a65a7986b76df2ca4ffeafe76d8afe0e031ad25ecf5a SHA512 171422ee028ebc279bb2cf20c78a3ce89a6cc15abf0955ac20a6c67f1aae577bf99ca4363fc428dba6ae0250b97f95d2fc51ca7f4a4505e8c38c9a11ca249800
+DIST mongodb-src-r4.0.3.tar.gz 49435646 BLAKE2B 1663823d48ec6d93b30b4d68a09bab164291530fd4966fcdd07ffbaceaf25d9fc5c7480d0d794fdd374fa3a2d11f19d87556cf0c47198a13f9d8fb5ccf7f0343 SHA512 c77a01d8d16322514f42030c46a0aa9cedb90f186375222eeb31648060265006b5e929bdde6ca8e7ecd71018f7c19f5bade463d98db0f053d586ffc8adc99550
EBUILD mongodb-3.2.17.ebuild 5338 BLAKE2B fd327b1c5bb85e833782839e07b3379a103f0545fb9852cb06d7f6f0b3548b921dfce227d1882a1e448a533c043718c778e9141ec5715805a24c9e2fbf199fa1 SHA512 a439c32b20a81d1c8e199c8a6928aa75479562e6b33c0d7b50797181226a093f571a1caaab102569a9a308db18a73c51558657ccd4bcb1d7e137eb22fb363c4e
EBUILD mongodb-3.4.10.ebuild 5133 BLAKE2B e6b3742a9bff53afd63eae4fe3b9574e43f7007dc1efc1687583b17820e812341f354e7dd7882762a871f1d5b1e2732a9cd20cff7981c05de4058c26c58f68d2 SHA512 737046d5ac14920014581840d3e53597e916cc4f1bbdfba850842718039c227c5cf3e5b62cd3f491e1221ff8fefd74fb3ea75ecafd6218c4036f4973316c56eb
-EBUILD mongodb-3.4.16.ebuild 4087 BLAKE2B 34b35ec68a95e64077516baf2159d0a45592d93e6c401c9f09e94e83c8359561324311cd15ef35948be21bbc081b308ebe99d1a64f0ad1bbbe8892d7fbb9b609 SHA512 61f600b20d5b16f97ca3e989547fac7265bfc2335e9b2ba5f6a40ecbf4360298cbe2ef71346b6777ba232b0ae75f79c1cc07bcf974852fd0d9bab3ff9f86b757
-EBUILD mongodb-3.6.8.ebuild 4195 BLAKE2B b165f8270133726410dfbb4458df862e28afd815147a4e8ada704208e9aedd1d6e667b8aaf88f9e2ea1b7309f8d2118c2938343923b8e22fde06f4c32d5881fb SHA512 ffefbb6c31c36ba0aeacde22d8a20203b58c9ece9b5becd444865446a7857d34bf259293f0426ca2eae34c05456ef979394483a678ccc84de15c76068d78b118
-EBUILD mongodb-4.0.2.ebuild 4199 BLAKE2B aacd674dc2c2883ab60b99717d98e207ca11d698c5c7aef19e77a2741fcee12837487b3fcee3d91acea75de75156c5637acedbc76fc6b3e0209c6c09422b6444 SHA512 0ab2d3d5259ae25888e0b9b7eddfd32b323118168be2a321983694d1ae9469df8e4210ece6126e1d179691e7bb7c76aa06abff3f3f5a02358dabe291258d2208
+EBUILD mongodb-3.4.16.ebuild 4086 BLAKE2B 09d968fc68f4a3c717ce1e4b2f714464c04251fa8c241c9492a26f3777fcc458d7d27810530129753756012341924773c46bea0474900dd7289edb7778283187 SHA512 6f29c0d7dcb54403fe689f168652586bc4fae81de2b0d28f284046ab33c1e3ad94fbed3815ba2fd2164eacd12e9f43bdd1943179778175d6fe3097165a2410e0
+EBUILD mongodb-3.6.8.ebuild 4197 BLAKE2B beff16daa75bda10b52e83833e49026423c938470cad323aad985b653567972e3098c14df8b3939e0c9e3e728112b171ea5d8156fb1352c833b613c74f8cbfe7 SHA512 5d70308e9bcf8c7e482ac876201ecfa8f9950686d1f62fa5c823a7a1a3b1f5f2ef454d62be25be057403043cb43f8c87724befbe00dea548c60319dadd98938d
+EBUILD mongodb-4.0.2.ebuild 4198 BLAKE2B 8ecf5ad9712f6c5f3257df6dbd7dba686206c5498287cd39082920a9bbdaaf75585bb205cf09c515d27331a404f2b493d222bcf22d15c6904933bf753db04d01 SHA512 1f0932d7f192b2526d48389375aacc1f73e4b388f6ad46014d47eb18583940c13c9356288db29270d199f5e8930882842128df42c98171a7abf1cc582ffcb210
+EBUILD mongodb-4.0.3.ebuild 4198 BLAKE2B 8ecf5ad9712f6c5f3257df6dbd7dba686206c5498287cd39082920a9bbdaaf75585bb205cf09c515d27331a404f2b493d222bcf22d15c6904933bf753db04d01 SHA512 1f0932d7f192b2526d48389375aacc1f73e4b388f6ad46014d47eb18583940c13c9356288db29270d199f5e8930882842128df42c98171a7abf1cc582ffcb210
MISC metadata.xml 835 BLAKE2B 6aaa10090846882c813db2fcbec27e9bb8d8ab5b34bbb0f5ac7b0de922606a6382be60f30a19502694022a38dc7c67f03b986d5cd1473e530ab4d05f5ee233a0 SHA512 8d190ebb08b6951c9c9ce39872c0c76b6236a0687980577eae7b2181c0bccacc60ccc67cccc4edc05aa21f4d9d65621eb57f803aab91c7ace6ab794559c9d08a
diff --git a/dev-db/mongodb/mongodb-3.4.16.ebuild b/dev-db/mongodb/mongodb-3.4.16.ebuild
index 309759cbd003..fb7263b16bfd 100644
--- a/dev-db/mongodb/mongodb-3.4.16.ebuild
+++ b/dev-db/mongodb/mongodb-3.4.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -24,7 +24,7 @@ KEYWORDS="~amd64"
IUSE="debug kerberos libressl mms-agent ssl test +tools"
RDEPEND=">=app-arch/snappy-1.1.3
- >=dev-cpp/yaml-cpp-0.5.3
+ >=dev-cpp/yaml-cpp-0.5.3:=
>=dev-libs/boost-1.60:=[threads(+)]
>=dev-libs/libpcre-8.41[cxx]
dev-libs/snowball-stemmer
diff --git a/dev-db/mongodb/mongodb-3.6.8.ebuild b/dev-db/mongodb/mongodb-3.6.8.ebuild
index a96cd863789d..0adc8e301d5e 100644
--- a/dev-db/mongodb/mongodb-3.6.8.ebuild
+++ b/dev-db/mongodb/mongodb-3.6.8.ebuild
@@ -24,7 +24,7 @@ KEYWORDS="~amd64"
IUSE="debug kerberos libressl mms-agent ssl test +tools"
RDEPEND=">=app-arch/snappy-1.1.3
- >=dev-cpp/yaml-cpp-0.5.3
+ >=dev-cpp/yaml-cpp-0.5.3:=
>=dev-libs/boost-1.60:=[threads(+)]
>=dev-libs/libpcre-8.41[cxx]
dev-libs/snowball-stemmer
diff --git a/dev-db/mongodb/mongodb-4.0.2.ebuild b/dev-db/mongodb/mongodb-4.0.2.ebuild
index d59daa0c2834..98aa398f9f47 100644
--- a/dev-db/mongodb/mongodb-4.0.2.ebuild
+++ b/dev-db/mongodb/mongodb-4.0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -24,7 +24,7 @@ KEYWORDS="~amd64"
IUSE="debug kerberos libressl mms-agent ssl test +tools"
RDEPEND=">=app-arch/snappy-1.1.3
- >=dev-cpp/yaml-cpp-0.5.3
+ >=dev-cpp/yaml-cpp-0.5.3:=
>=dev-libs/boost-1.60:=[threads(+)]
>=dev-libs/libpcre-8.41[cxx]
dev-libs/snowball-stemmer
diff --git a/dev-db/mongodb/mongodb-4.0.3.ebuild b/dev-db/mongodb/mongodb-4.0.3.ebuild
new file mode 100644
index 000000000000..98aa398f9f47
--- /dev/null
+++ b/dev-db/mongodb/mongodb-4.0.3.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+SCONS_MIN_VERSION="2.5.0"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs eapi7-ver flag-o-matic multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="AGPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug kerberos libressl mms-agent ssl test +tools"
+
+RDEPEND=">=app-arch/snappy-1.1.3
+ >=dev-cpp/yaml-cpp-0.5.3:=
+ >=dev-libs/boost-1.60:=[threads(+)]
+ >=dev-libs/libpcre-8.41[cxx]
+ dev-libs/snowball-stemmer
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ mms-agent? ( app-admin/mms-agent )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-python/cheetah[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )
+ test? (
+ dev-python/pymongo[${PYTHON_USEDEP}]
+ )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch"
+ "${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
+ "${FILESDIR}/${PN}-4.0.0-no-compass.patch"
+)
+
+S=${WORKDIR}/${MY_P}
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 3.6; then
+ ewarn "To upgrade from a version earlier than the 3.6-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 3.6-series. Then upgrade to 4.0 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 3.6 before upgrading."
+ fi
+ fi
+}
+
+pkg_setup() {
+ enewgroup mongodb
+ enewuser mongodb -1 -1 /var/lib/${PN} mongodb
+
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ )
+
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ escons "${scons_opts[@]}" core tools
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
+}
+
+src_install() {
+ escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
index 39ed3d5686f0..cb16cb13ebd4 100644
--- a/dev-db/mysql-workbench/Manifest
+++ b/dev-db/mysql-workbench/Manifest
@@ -1,15 +1,19 @@
AUX mysql-workbench-6.2.3-CMakeLists.patch 1455 BLAKE2B f08c387531091609192a9a0ebc495ba8aa506f3b7a50f8785299df1772fbc8dd1275fa64fb48592932b90845035cef5546cf495aa291931d1514d32be85368d8 SHA512 8a38b0fa7be0ac982b1d501964727fcb6bd0c7ab5179e2a69a1926c1abe56e2f30c6d9a046b48cdcaaec948d5c9deadb62e14331d52cf39e91f26ee90104c812
AUX mysql-workbench-6.2.5-wbcopytables.patch 496 BLAKE2B 4666f32098ec43ad36f1c726903472e829873002521262d6781a2febfc1394dac6f9708fbb99a3fa52a032a5b8f695c9b98579b28a63e74727eac21a8ef3fbe6 SHA512 c0766315cd345893af57880eccdc2c1dd9ffa456a27d0c736af1382ca24c507de865188588753f212f35d8781305dcbd8d555f128edd6454dc2299bd0357fd5b
+AUX mysql-workbench-6.3.10-i386-json.patch 7167 BLAKE2B 44a6e2446b24cd2f7f096d51b6cfdacfb485634a94733c4ef67a128ec903fec3736cb62ed45d6abbe7c7793b7d3ab668198f663a44b1bcc313f4d02ced4cd578 SHA512 992595df7719c4c958c98b5561f3fea04607213287c72daea6bb331392c417123d6fe5d1126c6dec128a857aa299908221f3a2c0ac08744241bf395e80a9574d
AUX mysql-workbench-6.3.3-mysql_options4.patch 1713 BLAKE2B d879fbcb6e098402d8f59046c67cf55f8a76e0cd857b1141c99d8ce7ed1866b79aacd784fd50d0020de3ab8993ad33f625e29ba325c8ed362d9e1a0705c9c7af SHA512 6371903765be6eb2f489523d10f6662e20903da2dd5755445c2cc8dcdcf07f0b5aa7b694b89fa7b625452d5a3f8b9157bad2278dc875de2b7b6c23daf4438539
AUX mysql-workbench-6.3.4-cxx11.patch 1550 BLAKE2B 89df45aed8ad8b006f43f0b6fc1158021c8152929694adaeed18c736ad8920e5bf0c3f852f298654e76ba2d478ff21afcdc0343cfb31c67cdf5382d48bc3ea99 SHA512 e312edede63f2308c466300e34c2d9ff19451fff9daca265219b9b074b2e28f5f8fb0799efbe825f5aaedd5515f2e99a4d1ab2dff6018e5140a5f4c9ab3c9d41
AUX mysql-workbench-6.3.4-gtk.patch 1190 BLAKE2B d3d09cc3536929a7ddf6af77efaddb3bc28067bcc2772a3c42a0e31c5787d9aca829cf810894fe08abb8152d93068681e1a3024f40cb5cc6f19a48f6b7e0280c SHA512 81af1d9dbe40b0ad04e9d8e317a1b47832b864071e26ab954237f850685bdb53ad84fedf4aa546e83f4dd122e368d1bc90e46e9b6261104b86998607b7830d33
AUX mysql-workbench-6.3.9-mariadb-json.patch 2320 BLAKE2B 9dcf7ca5091109ab71a201a68aa16259402dae85d4ea1135fbce476dbc0d4f49ad154005a6fe6195ce86ffba49ebf3d03de8ac94b6adcda2a297600b1ac6d0d3 SHA512 23e4135ee5c8b7cc7b70cc6b5170209c9a6350cfc7e8450d29a1098c31472b68494147ec4f1286365f7802af72570f4822b0078ae269affbbaf98e3ad9e99eb4
DIST antlr-3.4-complete.jar 2388361 BLAKE2B 561c1dffe464bbc387075df6d95bbdcab27315ba5679cfa10f85d6449baad3d05f4daa45af93d9b127d9fedb8c7e44c45537f1a84b4c4d877c40b9812620f669 SHA512 04be4dfba3a21f3ab9d9e439a64958bd8e844a9f151b798383bd9e0dd6ebc416783ae7cb1d1dbb27fb7288ab9756b13b8338cdb8ceb41a10949c852ad45ab1f2
+DIST antlr-4.7.1-complete.jar 2240116 BLAKE2B 3acf99b3701b2092cad2fb6e91f27791cbedd82f26888d7329e481be29fce4ec644eb57f663e515b92dea46c24222d4fb090aae5cae30c57c412a38932ea72ed SHA512 de1c230d7294e05ac7b451cbc639bab9d416a674b281e21092fb4a9329ca8b6d4b92b9ad78a9771cff475a1610f1d0419819c4619bdff36c683019da67ef13b1
DIST mysql-workbench-community-6.3.10-src.tar.gz 14969443 BLAKE2B 57f7b0d661bc8211e123a027ce12e71be5637c189cc6e3b949df4f8e5a7edfc8c78f3c6e85b7292347dce2b720ee79070ac8fb91224396a3afae4104583d4325 SHA512 f892853a5f8b000c424b945c38680e17b041699fe2b03743b71c803de6cedeb12e3f69ad94d1c737e23f26d8608026e18fb29d31be6b3a2ffea1d78229212a4d
DIST mysql-workbench-community-6.3.4-src.tar.gz 14954524 BLAKE2B 54941a760cc44b745039a59d0ad88e109605c47285b34098d7ebc9e7a32758027c07219f7b8dc96fad198fbc68086582ccfa5ba7e7a35fa1fff8ff57b467f91f SHA512 8d7eacd46fd3cac912dac2fdbc0669759f9411796507cca76b0ad47228381b15b7f88e60a7a5a8763e704b456884828783cb0c7ed218025edb35aa5033d7d02f
DIST mysql-workbench-community-6.3.9-src.tar.gz 14634678 BLAKE2B 0991036cedc3198e789369a40641cc318fdc4230c2b6242b923e836c50248e3e1f5b891c1ce7465d132c30e482ef5458a19ed8b9e4a9865719be8eda61eeb1dc SHA512 a3df060114adb0c4f95423dc2732a39917be4eb2281cc2d811cc68c2d43cfa28eea52c4ab743018e91c8c58b0ad7d4b34a9936df8c17381accee8159afe19901
-EBUILD mysql-workbench-6.3.10.ebuild 2690 BLAKE2B cbea5b68d89b90e9806e55ee8166f6a3a9528a4b883267e70617e2e54bbb9a3ff2479e6b6a97551d5315f4b87cf41bae7576f142a32c108260b5536f9f4a56c8 SHA512 7199940aabe6f2b90a3f9999fdaff72bfd52115cbb3a25f4a2b611e6962490c93fd384fd0d7de4fc54ceb95730ad5d9fa124f8221210822b05c3fdcb0f3dac81
-EBUILD mysql-workbench-6.3.4-r1.ebuild 2823 BLAKE2B e0982f34995ce56ba191c6b19492757438171b628aecf12641192bfc84a94d226ac745916b12d3b27fc8537e040e3a72bd4ae572b0c18c71f032ae4f0f2222c4 SHA512 b3865e92b552dbaedb60989602401608fd792908f6abf9cdc44786242b765120e36029a86e6169aef8c87c3ed0392ca1655596603fb06591931717da942d3ccc
+DIST mysql-workbench-community-8.0.13-src.tar.gz 16047080 BLAKE2B c31560a978620ae04210b452bcf90b75e7eb2ec20335470054b2640220ed29c3476f5ee1bacd86575f9b42481de5452e94b8d7a5e8f56eb17ea0770be19dc296 SHA512 d6f7aeb85e1bb59474d432f8088fd5603e5b539f3fce9c78db2aeaa8de3bc9356de09a6486138e07a29dd62b971e7601cce12a2e4a9f7309364081ee5db4b55d
+EBUILD mysql-workbench-6.3.10.ebuild 2709 BLAKE2B 7bafff793dcc713d9a3cb87d118bb3e1831a1888de1d0783ab571631af0f6576bb55be6ce523330b5b3d88db43d63440c50662889a3d6ae52fb4809303d2bf02 SHA512 3d8218213530fa62ab192ef2ec57027c92049edbf5d735bb440c8e3e825041e0530d5351911c0b7838053a3b49df3d7efe23139e3e578f0d515c48f1c1c4a451
+EBUILD mysql-workbench-6.3.4-r1.ebuild 2798 BLAKE2B 20f49f347c9c3300de21e66e851e43670f78e128187287931a6eff0d3fb242ec5ef114d5b6749614895e146332220ce7d11be19a2c27ac153e1de457a18e7baf SHA512 9c9556b5dc88f38381357fdb9991ff94ac6d827db5c9e8320d4d665d1df9b779742364d52a1e1924f8cdd4579eb71e1f8c62af5cf5130ef7aaeab396a7138f54
EBUILD mysql-workbench-6.3.4-r2.ebuild 2639 BLAKE2B 3ec26fc7bc62e5b4ca9840a7d2f0116566fd4af7d848f89175e67d07ebff340466221a6226d632fc960e6a8f41cae60cb8a8d50317ceb00d049b395c6ab0c493 SHA512 da097fc7e58b6d3383aa66d37cfa0b734c203db43904c0aa8266e51f160a61f649f6bd08136569076eb0ad5b56bdbb855139a58a9adbb8736ff419574e05702a
EBUILD mysql-workbench-6.3.9.ebuild 2621 BLAKE2B 1a2583c3a0cf268ab0c0d52203773612fa115a1c6096d4a4571ca40bedbeff4cf3fe95bccf75512705d4c3eed7cf72a0358b1dd6acccbb95fa1e1eb2d6c154ef SHA512 26f05929ce84c1e64e5d3aadf95d19431ba129528bff947646a9b952a155887f773370caca1d44d68f7d09d7b0b9184d77d44ef3eb6ceb016976a549369bc1cb
+EBUILD mysql-workbench-8.0.13.ebuild 2622 BLAKE2B 9956ab1b7eb3af674393e18c47443531fc2316e06b45f9a4a4c4c19fe8c4d3678ef504b2e5feb3cf587005aa3b1eaa744c79d9a353f87ad3025bec5b9f8b3e8b SHA512 1858cdde3fb74e212dce8d2c90975598a03c9515293c5df638930868f380dcb72a2f8e632a9291116fb3a50fd553db2cbb4b209e72042d8fe0124df82a80e2a5
MISC metadata.xml 310 BLAKE2B b0d985e39bb17865a05907e5449723c2bf862d9f3ae7f8570173c9cff443171feef6694db26a51880f8c1a4b1e3834ca7ab9bc7c2057fd6f8930b9d1c1c02cdd SHA512 f284063d72f2218f8ed60a74b43f252d608865682b8c0447f52016a02a7cbf6d45a226787d893328dd31946ade1cca78ff7556896183b4422c4142a8935a2193
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.3.10-i386-json.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.3.10-i386-json.patch
new file mode 100644
index 000000000000..31e789992d1c
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.3.10-i386-json.patch
@@ -0,0 +1,182 @@
+Last-Update: 2018-03-05
+Forwarded: not-needed
+Origin: upstream, https://github.com/mysql/mysql-workbench/commit/fff08d9ec68de8215fc8f12fe0ee42e598e1cf75.patch
+Bug-Upstream: https://github.com/mysql/mysql-workbench/pull/14
+Bug-Upstream: https://bugs.mysql.com/bug.php?id=84886
+Bug-Upstream: https://bugs.mysql.com/bug.php?id=84951
+From: Christian Hesse <mail@eworm.de>
+Description: fixes FTBFS on 32bit architectures.
+
+~~~~
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:346:79: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'JsonParser::JsonArray::SizeType {aka unsigned int}' [-Werror=format=]
+ throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos));
+ ^
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp: In member function 'const JsonParser::JsonValue& JsonParser::JsonArray::at(JsonParser::JsonArray::SizeType) const':
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:361:79: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'JsonParser::JsonArray::SizeType {aka unsigned int}' [-Werror=format=]
+ throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos));
+ ^
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp: In member function 'void JsonParser::JsonWriter::write(const JsonParser::JsonValue&)':
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:1672:44: error: conversion from 'const JsonParser::JsonValue' to 'int64_t {aka long long int}' is ambiguous
+ _output += std::to_string((int64_t)value);
+ ^~~~~
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:1001:3: note: candidate: JsonParser::JsonValue::operator bool() const
+ JsonValue::operator bool() const {
+ ^~~~~~~~~
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:981:3: note: candidate: JsonParser::JsonValue::operator double() const
+ JsonValue::operator double() const {
+ ^~~~~~~~~
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:950:3: note: candidate: JsonParser::JsonValue::operator size_t() const
+ JsonValue::operator size_t() const {
+ ^~~~~~~~~
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:939:3: note: candidate: JsonParser::JsonValue::operator ssize_t() const
+ JsonValue::operator ssize_t() const {
+ ^~~~~~~~~
+/<<BUILDDIR>>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:1675:45: error: conversion from 'const JsonParser::JsonValue' to 'uint64_t {aka long long unsigned int}' is ambiguous
+ _output += std::to_string((uint64_t)value);
+~~~~
+
+--- a/library/base/jsonparser.cpp
++++ b/library/base/jsonparser.cpp
+@@ -342,9 +342,9 @@
+ * If no such data is present std::out_of_range is thrown.
+ */
+ JsonValue &JsonArray::at(SizeType pos) {
+ if (pos > _data.size())
+- throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos));
++ throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos));
+ return _data.at(pos);
+ }
+
+ //--------------------------------------------------------------------------------------------------
+@@ -357,9 +357,9 @@
+ * If no such data is present std::out_of_range is thrown.
+ */
+ const JsonValue &JsonArray::at(SizeType pos) const {
+ if (pos > _data.size())
+- throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos));
++ throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos));
+ return _data.at(pos);
+ }
+
+ //--------------------------------------------------------------------------------------------------
+@@ -1667,14 +1667,16 @@
+ break;
+ case VDouble:
+ _output += std::to_string((double)value);
+ break;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ case VInt64:
+ _output += std::to_string((int64_t)value);
+ break;
+ case VUint64:
+ _output += std::to_string((uint64_t)value);
+ break;
++#endif
+ case VObject:
+ write((JsonObject)value);
+ break;
+ case VArray:
+--- a/library/forms/jsonview.cpp
++++ b/library/forms/jsonview.cpp
+@@ -650,10 +650,12 @@
+ bool setData = false;
+ if (data != nullptr) {
+ std::stringstream buffer;
+ double number = 0;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ int64_t number2 = 0;
+ uint64_t number3 = 0;
++#endif
+ bool retBool = false;
+ auto &storedValue = data->getData();
+ switch (storedValue.getType()) {
+ case VDouble:
+@@ -663,8 +665,9 @@
+ buffer >> number;
+ storedValue = number;
+ setData = true;
+ break;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ case VInt64:
+ if (!base::is_number(value))
+ break;
+ buffer << value;
+@@ -679,8 +682,9 @@
+ buffer >> number3;
+ storedValue = number3;
+ setData = true;
+ break;
++#endif
+ case VBoolean:
+ if (!base::isBool(value))
+ break;
+ buffer << value;
+@@ -1072,16 +1076,18 @@
+ case VDouble:
+ node->set_string(1, std::to_string((double)value));
+ node->set_string(2, "Double");
+ break;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ case VInt64:
+ node->set_string(1, std::to_string((int64_t)value));
+ node->set_string(2, "Long Integer");
+ break;
+ case VUint64:
+ node->set_string(1, std::to_string((uint64_t)value));
+ node->set_string(2, "Unsigned Long Integer");
+ break;
++#endif
+ default:
+ break;
+ }
+ node->set_data(new JsonTreeBaseView::JsonValueNodeData(value));
+@@ -1321,10 +1327,12 @@
+ JsonParser::JsonValue &storedValue = (!key.empty() ? ((JsonObject &)data->getData())[key] : data->getData());
+ if (data != NULL) {
+ std::stringstream buffer;
+ double number = 0;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ int64_t number2 = 0;
+ uint64_t number3 = 0;
++#endif
+ bool retBool = false;
+ switch (storedValue.getType()) {
+ case VDouble:
+ if (!base::is_number(value))
+@@ -1334,8 +1342,9 @@
+ storedValue = number;
+ node->set_float(column, number);
+ _dataChanged(false);
+ break;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ case VInt64:
+ if (!base::is_number(value))
+ break;
+ buffer << value;
+@@ -1352,8 +1361,9 @@
+ storedValue = number3;
+ node->set_float(column, (double)number3);
+ _dataChanged(false);
+ break;
++#endif
+ case VBoolean:
+ if (!base::isBool(value))
+ break;
+ buffer << value;
+@@ -1611,14 +1621,16 @@
+ switch (value.getType()) {
+ case VDouble:
+ node->set_float(columnId, (double)value);
+ break;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ case VInt64:
+ node->set_long(columnId, (int64_t)value);
+ break;
+ case VUint64:
+ node->set_long(columnId, (uint64_t)value);
+ break;
++#endif
+ default:
+ break;
+ }
+ }
diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild
index 178a44ec3f9c..4e80549449d4 100644
--- a/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -38,7 +38,6 @@ CDEPEND="${PYTHON_DEPS}
>=dev-cpp/ctemplate-0.95
>=dev-libs/libxml2-2.6.2:2
dev-libs/libzip
- >=virtual/mysql-5.6
dev-libs/libpcre[cxx]
>=sci-libs/gdal-1.11.1-r1[-mdb]
virtual/opengl
@@ -66,6 +65,7 @@ S="${WORKDIR}"/"${MY_P}"
PATCHES=(
"${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
"${FILESDIR}/${PN}-6.3.9-mariadb-json.patch"
+ "${FILESDIR}/${PN}-6.3.10-i386-json.patch"
)
src_unpack() {
diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild
index 1d3b557c13c5..71ca6115b099 100644
--- a/dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -38,7 +38,6 @@ CDEPEND="${PYTHON_DEPS}
>=dev-cpp/ctemplate-0.95
>=dev-libs/libxml2-2.6.2:2
dev-libs/libzip
- >=virtual/mysql-5.1
dev-libs/libpcre[cxx]
>=sci-libs/gdal-1.11.1-r1[-mdb]
virtual/opengl
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild
new file mode 100644
index 000000000000..df7e12b90286
--- /dev/null
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GCONF_DEBUG="no"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit gnome2 eutils flag-o-matic python-single-r1 cmake-utils
+
+MY_P="${PN}-community-${PV}-src"
+
+DESCRIPTION="MySQL Workbench"
+HOMEPAGE="https://www.mysql.com/products/workbench/"
+SRC_URI="mirror://mysql/Downloads/MySQLGUITools/${MY_P}.tar.gz http://www.antlr.org/download/antlr-4.7.1-complete.jar"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc gnome-keyring"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# glibc: deprecated mutex functions, removed in 2.36.0
+CDEPEND="${PYTHON_DEPS}
+ app-crypt/libsecret
+ dev-libs/glib:2
+ dev-cpp/antlr-cpp:4
+ dev-cpp/atkmm
+ dev-cpp/pangomm
+ >=dev-cpp/glibmm-2.14:2
+ dev-cpp/gtkmm:3.0
+ dev-libs/atk
+ >=net-libs/libssh-0.7.3[server]
+ x11-libs/pango
+ x11-libs/gtk+:3
+ gnome-base/libglade:2.0
+ >=x11-libs/cairo-1.5.12[glib,svg]
+ dev-libs/libsigc++:2
+ >=dev-libs/boost-1.55.0[nls]
+ >=dev-cpp/ctemplate-0.95
+ >=dev-libs/libxml2-2.6.2:2
+ dev-libs/libzip
+ dev-libs/libpcre[cxx]
+ >=sci-libs/gdal-1.11.1-r1[-mdb]
+ virtual/opengl
+ || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid )
+ dev-libs/tinyxml[stl]
+ >=dev-db/mysql-connector-c++-1.1.8
+ dev-db/vsqlite++
+ || ( dev-db/libiodbc dev-db/unixODBC )
+ gnome-keyring? ( gnome-base/libgnome-keyring )
+ dev-python/pexpect
+ >=dev-python/paramiko-1.7.4
+"
+
+RDEPEND="${CDEPEND}
+ app-admin/sudo
+ >=sys-apps/net-tools-1.60_p20120127084908"
+
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ virtual/jre
+ virtual/pkgconfig"
+
+S="${WORKDIR}"/"${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
+)
+
+src_unpack() {
+ unpack ${PN}-community-${PV}-src.tar.gz
+}
+
+src_prepare() {
+ sed -i -e '/target_link_libraries/ s/sqlparser.grt/sqlparser.grt sqlparser/' \
+ modules/db.mysql.sqlparser/CMakeLists.txt
+
+ ## remove hardcoded CXXFLAGS
+ sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die
+ ## And avoid -Werror
+ sed -i -e 's/-Werror//' CMakeLists.txt || die
+
+ ## package is very fragile...
+ strip-flags
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ append-cxxflags -std=c++11
+ ANTLR_JAR_PATH="${DISTDIR}/antlr-4.7.1-complete.jar"
+ local mycmakeargs=(
+ -DWITH_ANTLR_JAR=${ANTLR_JAR_PATH}
+ -DUSE_GNOME_KEYRING="$(usex gnome-keyring)"
+ -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ -DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
+ )
+ cmake-utils_src_configure
+}
+
+#src_compile() {
+# cmake-utils_src_compile -j1
+#}
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
index 14bf6c7e9344..00a3c4821897 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -8,10 +8,12 @@ DIST mysql-5.5.61.tar.gz 21027098 BLAKE2B b7589f632a211349fc34cec94e333b878e0711
DIST mysql-5.6.40.tar.gz 32083035 BLAKE2B efcc078341bae239df28ac0504111aa34926885ae47edb5011352b56552a5a3abd1f824f8cbdc23d8d667592b8f5510946ef18c3efa61865dbbc7f4bb8a2d4a0 SHA512 c8e458b4cd34cae87f1b088ed2188bd00de8cdc42709d5964e82fa2e4aaecfc12a75ae006c54ffa0d3d286fbdef9704d0cbb83436437d5705fb8921d960e758c
DIST mysql-5.6.41.tar.gz 32111985 BLAKE2B 5ccad59333525b354db4fa892857e237cddf8fe1a4d289c6e410c31d6142a71d3ce4dab8d954fa9932ec1f83b50e8eccd5845e082deaaa56f1c0c5e21b2ce6c0 SHA512 a62d7a68c6bb49de33f8c9e634bce53cb453a87238e92967115e8e928fa9ed291727b8bd5a5271a0b5b634d957eb310c745edfb14b6be1deb9099bb757aa2cff
DIST mysql-boost-5.7.23.tar.gz 49025014 BLAKE2B 669f10779bc2cda866d6bd876b4efe55fb4b0c796f596f66513a3ca85f322e2a03e9879eecd72a69729a0cb71d408c46cdd9086ae456712b4adff6ae7c584c97 SHA512 e4317f89d108a68652cd95e41ffd670c37b6663aabd6af3985d18052fb7e8d8879b5822399caf9091cecc0a949ec588c121c87cfd60d69941f68d0ecbedd0953
+DIST mysql-boost-5.7.24.tar.gz 49110448 BLAKE2B 1cf64712d84cbb2dfd31f2a530470b6f7cbf5ae9107106d86705575ea9739fa582e1f079447d9a58c4762fffc636d69e448ebdec9172ee15dc09245bc39c3525 SHA512 bbd411e15cd9e6053a353146808b74881d2d950f09e94794a699e7604dadf767b58b661a8321fbe1424f2c2e6cfc3adaa388242183e759082eae47b64cbfbcde
DIST mysql-extras-20180804-2323Z.tar.bz2 322215 BLAKE2B cca9e502e375bf43473335868517f6c450fc7bcf03e55de5a294c8bdcfcac2bb783dec09bbb3b6c30a561ba7e3a943543c017e2d42b61d466e699acdef4c0231 SHA512 efd9d416f394cc61b977ab76f05ab3acc5803ff8bdee8e1dbc65cc5b3f07e4f9742140d9586c028908b10fcc44f21c98ebffdebcc5c3578acbe05b07526bcb3d
-DIST mysql-extras-20181017-2201Z.tar.bz2 328311 BLAKE2B f1b179e0f2d63105f03ba238125e6cfa2c0cbf2084251b6c344bd02517899322bd161470eddab28c514349caac6401c35909b2f37264fdaf2dc196a309d3cc27 SHA512 26e26a3ad926bc9267d89f0bc34b030bc6292f21d3007185c4c1155beaa608566b4268f93edb64fd6156dbae80ac4f2817e78c1e92e90985e2675c2b1f97854e
+DIST mysql-extras-20181023-0012Z.tar.bz2 327834 BLAKE2B 91a82cbcecbbbe94933da0d8c26cdfee0171602785b2f717fbfec7da422f0ec36f26e897a3c21695f4748017d36c9956cbef03d0852246468368b812a604df82 SHA512 94996708a9da4d55c3aab74f75b74fa4aa80e3fbbb87d9dfe6c1596a934aceed466b7c853e38d9b63f59660763ccef617defc4e6e8770451c21a252250f4e7fa
EBUILD mysql-5.5.61.ebuild 25516 BLAKE2B 3363fc9f99fb6a3085a7de3cf540ddd853365b5865a418c752255417040ca568fa16a02e0b74cd98502eeadda4d11e7bd37269d1416232db279eedee15630320 SHA512 ccfbdef198de75215efb498a76525e03f469a5c596b9fe366f9e1973969f928263be1628b378369d76899eea6d7750c45ce07827d11b0f277b2aee2242540645
EBUILD mysql-5.6.40-r2.ebuild 25633 BLAKE2B f8ec8617de040020878220e209fa36331f8570906177c950b36cca698c6864b38d8fc98eb7daf5b9f3536a2872ad5f5bc2dbaba8f72cd86894bb0bc5ca1385dd SHA512 9b3973d9c6c6c019f0b760f1b2a1f78b46337276d81b2c6b986c2e38a4aee5d4856ca5dde3f39ff33e503871ff6c9962da08a3ebfe1c74e52e970912908ee136
EBUILD mysql-5.6.41.ebuild 25640 BLAKE2B 5398748da6151698932be68f502e5cf958b06304eda0a392c47d4e324334375b3f5359eacc76a8a9654ed18a6fce13e47a395c636e9718adc1bb3a0b41004911 SHA512 70e2783ad591e3c005c5324e92d36dd963e3241416435f41aaf37b14de3b812dd48b715557dff4fe41026bc8020c026bf33f99e518880cf62957250fc4242efc
-EBUILD mysql-5.7.23-r2.ebuild 29896 BLAKE2B 0c9675fea61e83fe824be13c95cfe6eb57bf997ad82707e1ce1619fd5c09301f3359c733dd8f8a67ded5f5cf9915238a4975a73a57a3bfa3ee4772f373462b01 SHA512 3a22294d6138ed5194869fb71b590f37f99d8c94f01f67b0d241d6b69ee07325f5d8f7728b1ccffb7030b920522ff7d33cc6b2e64ed43b695c8c7a54c3277f7f
+EBUILD mysql-5.7.23-r2.ebuild 30080 BLAKE2B aba91d8714245ed5a4624ff1b2d9b4358e5ceb623ab49b567d394cd14ae89af5e21c7fe45de7e754ce1b91121c63f23844e90b9f381689fc28bdad1bcce4c7a1 SHA512 636ee5feb046516e34d6f55d83a7be1c87c10c67c5254eb777ec5c6f900444703db7b35f4a1129e867598019d4131ee8102fd48bce4d1d6f489d7fb9faf77fd4
+EBUILD mysql-5.7.24.ebuild 30083 BLAKE2B db84c78f64036eb52a58f330d805ce32adac364a7929136b75de75582fde9d29e8b7c4c29cb035d69823cd1c2f898070d5e94fbedf339fff5591d211484c85b1 SHA512 43a60f27f1b0f47e64f70fb5368af0d5f52e816160db7809a206f8de76b2978b727d05606638ce5eb33dd100262494a6e6183f86e9d32fac19348a48993fbdb9
MISC metadata.xml 1539 BLAKE2B 0bc66c5855bd1f4353a7f0b551229d68a940478687b4f38653f973e4a5cfcb946c86bdc2d8318aa96aba43598eb476b995005f26727dfa176ced00fbe2b129a1 SHA512 bc0ce8a3de5e55d954f65eec657930af069d3550f485334f80dfa4c6d17c6298d0609d1ba4fe8b6c988f8ad007858f147c17f1354c207891ac1a062a36af50ad
diff --git a/dev-db/mysql/mysql-5.7.23-r2.ebuild b/dev-db/mysql/mysql-5.7.23-r2.ebuild
index a291cfbf34aa..22c2f756ecc0 100644
--- a/dev-db/mysql/mysql-5.7.23-r2.ebuild
+++ b/dev-db/mysql/mysql-5.7.23-r2.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-MY_EXTRAS_VER="20181017-2201Z"
+MY_EXTRAS_VER="20181023-0012Z"
CMAKE_MAKEFILE_GENERATOR=emake
@@ -51,7 +51,7 @@ else
fi
PATCHES=(
- "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch
+ "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
@@ -362,7 +362,6 @@ multilib_src_configure() {
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_CURL=system
-DWITH_BOOST="${S}/boost"
- -DWITH_PROTOBUF=system
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
@@ -398,6 +397,7 @@ multilib_src_configure() {
mycmakeargs+=(
-DWITH_LIBEVENT=system
-DWITH_LZ4=system
+ -DWITH_PROTOBUF=system
-DWITH_MECAB=$(usex cjk system OFF)
-DWITH_NUMA=$(usex numa ON OFF)
-DWITH_RAPID=$(usex experimental ON OFF)
@@ -542,6 +542,12 @@ src_test() {
_disable_test "$t" "False positives in Gentoo"
done
+ # Unstable tests
+ # - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
+ for t in main.xa_prepared_binlog_off ; do
+ _disable_test "$t" "Unstable test"
+ done
+
if use numa && use kernel_linux ; then
# bug 584880
if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
diff --git a/dev-db/mysql/mysql-5.7.24.ebuild b/dev-db/mysql/mysql-5.7.24.ebuild
new file mode 100644
index 000000000000..18f5cd12d4a6
--- /dev/null
+++ b/dev-db/mysql/mysql-5.7.24.ebuild
@@ -0,0 +1,938 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20181023-0012Z"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit cmake-utils eutils flag-o-matic linux-info \
+ prefix toolchain-funcs user multilib-minimal
+
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
+ https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
+ http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz"
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://www.mysql.com/"
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+LICENSE="GPL-2"
+SLOT="0/18"
+IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
+ selinux +server static static-libs systemtap tcmalloc test yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
+ "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
+ "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-libressl-support.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+# MULTILIB_USEDEP only set for libraries used by the client library
+COMMON_DEPEND="net-misc/curl:=
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
+ !client-libs? (
+ dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
+ >=sys-libs/zlib-1.2.3:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-process/procps:0=
+ )
+ server? (
+ >=app-arch/lz4-0_p131:=
+ cjk? ( app-text/mecab:= )
+ experimental? (
+ dev-libs/libevent:=
+ dev-libs/protobuf:=
+ net-libs/libtirpc:=
+ )
+ numa? ( sys-process/numactl )
+ )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ !yassl? (
+ client-libs? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
+ )
+ !client-libs? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ dev-libs/protobuf
+ virtual/yacc
+ server? (
+ dev-libs/libevent
+ experimental? ( net-libs/rpcsvc-proto )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
+ selinux? ( sec-policy/selinux-mysql )
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]] ; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if use numa ; then
+ local CONFIG_CHECK="~NUMA"
+
+ local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
+ WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
+
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+ # Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ fi
+
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+pkg_preinst() {
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/mysql.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${P}" "${S}" || die
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use jemalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ if use tcmalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ # Remove bundled libs so we cannot accidentally use them
+ # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
+ rm -rv \
+ "${S}"/extra/protobuf \
+ "${S}"/libevent \
+ "${S}"/zlib \
+ || die
+
+ if use libressl ; then
+ sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
+ "${S}/cmake/ssl.cmake" || die
+ fi
+
+ sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
+}
+
+src_configure(){
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ if use client-libs ; then
+ multilib-minimal_src_configure
+ else
+ multilib_src_configure
+ fi
+}
+
+multilib_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if ! multilib_is_native_abi && ! use client-libs ; then
+ return
+ fi
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
+ -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX%/}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_SCRIPTDIR=share/mysql/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ ### TODO: make this system but issues with UTF-8 prevent it
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DWITH_CURL=system
+ -DWITH_BOOST="${S}/boost"
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ if ! use client-libs ; then
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ # systemtap only works on native ABI, bug 530132
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_TOOLS=1
+ -DWITH_READLINE=1
+ -DENABLE_DTRACE=0
+ )
+ fi
+
+ if multilib_is_native_abi && use server ; then
+ mycmakeargs+=(
+ -DWITH_LIBEVENT=system
+ -DWITH_LZ4=system
+ -DWITH_PROTOBUF=system
+ -DWITH_MECAB=$(usex cjk system OFF)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ -DWITH_RAPID=$(usex experimental ON OFF)
+ )
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8
+ -DDEFAULT_COLLATION=utf8_general_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ )
+
+ if use profiling ; then
+ # Setting to OFF doesn't work: Once set, profiling options will be added
+ # to `mysqld --help` output via sql/sys_vars.cc causing
+ # "main.mysqld--help-notwin" test to fail
+ mycmakeargs+=( -DENABLED_PROFILING=ON )
+ fi
+
+ if use static ; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_EXAMPLE_STORAGE_ENGINE=0
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_FEDERATED_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_INNODB_MEMCACHED=0
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ if use client-libs ; then
+ multilib-minimal_src_compile
+ else
+ multilib_src_compile
+ fi
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+}
+
+# Official test instructions:
+# ulimit -n 16500 && \
+# USE='latin1 perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mysql-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]] ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" &>/dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in MySQL 5.7 for now and are believed to be
+ # false positives:
+ #
+ local t
+
+ for t in auth_sec.keyring_udf ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ # Unstable tests
+ # - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
+ for t in main.xa_prepared_binlog_off ; do
+ _disable_test "$t" "Unstable test"
+ done
+
+ if use numa && use kernel_linux ; then
+ # bug 584880
+ if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
+ for t in sys_vars.innodb_numa_interleave_basic ; do
+ _disable_test "$t" "Test $t requires system with NUMA support"
+ done
+ fi
+ fi
+
+ if ! use latin1 ; then
+ # The following tests will fail if DEFAULT_CHARSET
+ # isn't set to latin1:
+ for t in \
+ binlog.binlog_mysqlbinlog_filter \
+ binlog.binlog_xa_prepared_disconnect \
+ funcs_1.is_columns_mysql \
+ funcs_1.is_tables_mysql \
+ funcs_1.is_triggers \
+ innodb.innodb_pagesize_max_recordsize \
+ innodb.innodb-system-table-view \
+ innodb.mysqldump_max_recordsize \
+ main.mysql_client_test \
+ main.mysqld--help-notwin \
+ main.type_string \
+ main.information_schema \
+ perfschema.binlog_edge_mix \
+ perfschema.binlog_edge_stmt \
+ rpl.rpl_xa_survive_disconnect \
+ rpl.rpl_xa_survive_disconnect_lsu_off \
+ rpl.rpl_xa_survive_disconnect_table \
+ ; do
+ _disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
+ done
+ fi
+
+ # Try to increase file limits to increase test coverage
+ if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
+ # Upper limit comes from parts.partition_* tests
+ ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
+
+ if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
+ # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
+ ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+ if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
+ ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+ else
+ einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
+ fi
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd &>/dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ local MULTILIB_WRAPPED_HEADERS
+ local MULTILIB_CHOST_TOOLS
+ if use client-libs ; then
+ # headers with ABI specific data
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mysql/server/my_config.h
+ /usr/include/mysql/server/mysql_version.h )
+
+ # wrap the config scripts
+ MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+ multilib-minimal_src_install
+ else
+ multilib_src_install
+ multilib_src_install_all
+ fi
+}
+
+# Intentionally override eclass function
+multilib_src_install() {
+
+ cmake-utils_src_install
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+multilib_src_install_all() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ eprefixify "${TMPDIR}/my.cnf.ok"
+
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT%/}"/usr/bin/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX%/}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
+ local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
+ if [[ -d "${MY_DATADIR_s}" ]] ; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]] ; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client ; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
+ fi
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
+ fi
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
+ fi
+
+ if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR%/}/mysqld-help"
+ "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT%/}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ echo "USE mysql;" >"${sqltmp}"
+ "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
+ chown mysql "${sqltmp}" || die
+
+ # --initialize-insecure will not set root password
+ # --initialize would set a random one in the log which we don't need as we set it ourselves
+ local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
+ cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR%/}"/mysql_install_db.log 2>&1
+ if [[ $? -ne 0 ]] ; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT%/}/usr/sbin/mysqld \
+ ${options} \
+ $(use prefix || echo --user=mysql) \
+ --log-warnings=0 \
+ --basedir=${EROOT%/}/usr \
+ --datadir=${ROOT%/}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile}
+ --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]] ; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
+ "${EROOT%/}/usr/bin/mysql" \
+ --no-defaults \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-db/oracle-instantclient/Manifest b/dev-db/oracle-instantclient/Manifest
index a88bda360680..836f47d7cc76 100644
--- a/dev-db/oracle-instantclient/Manifest
+++ b/dev-db/oracle-instantclient/Manifest
@@ -1,5 +1,6 @@
AUX 12.1.0.2-makefile.patch 2211 BLAKE2B 404433299397601d40d168c4ca7530fffdb9d5a39de630b04d51d3a9de70bae8859bfe047e7ac09318fa6b561ff9d94775ee08ba384c92908569855b9b42a209 SHA512 b42672e4c46f3f8a9e9bbb5bda935e20516a72ac71c9a7ba561f29fa7ff654da7abb7e6ddf3e4e236a29d29c1b7b35e469bbe60af62c5ff9065f7d8aa867b758
-AUX 18.3.0.0-makefile.patch 990 BLAKE2B c910fe75ffe32fe9b10a209670c28328492c9ce6a6fd51c6fb0a267b6c09b89eccab9ea40e8c923d181012c1b15e927f28b65d57f816f2b4eaf619a1a08655cb SHA512 907829ddbd58e98f5d07077cd14e3db54dc16f09e84a74b21f073305b5f39c38ae9d59dad5494241f985a125c24ec98223a88425fed65e838584c8b17e6611b7
+AUX 18.3.0.0-makefile.patch 986 BLAKE2B 3cad2bb7e508f7ca4f25d67ba12b5f9221f739ba450ae45cb4988a700cd0c87b7a1e0fd90ff66c379b85b159f05e715f0450681a6b070f45d807ae6072208537 SHA512 7f9523738f51ade5fefa5e3d2b014fcfaee01fbf9653e12f2ca6eca20a8e7e04df07065209f6dbf7795ff452ce7926e1289f9bd715220a64e85c1a80aebc00eb
+AUX 18.3.0.0-proc-makefile.patch 564 BLAKE2B fe06fa4e6df8bd2f563ffec9b0e2d1f22179a879b5e068b0480409eb6a531bf50b092a0abefd77804e5f0bb571c6a9a59b14afee6b157551b4bae833cb10f159 SHA512 8bbcd7a110f41842f1e40b037720f283a7ae763a77f4cceda19061ab114eb4d428bf0dfa2c45782bc6ea8c9daf3a185faa42e8cdc9c765f93107f23a32344f69
AUX tnsnames.ora.sample 2939 BLAKE2B d02d4be5eae8c8da346f8b0ddd2b6808e59f8e77f805b22154a77d22db325d415ecaf811323de3c7a6764a9167fb7f9a9708d1cf2de891858bc43bd5e050954d SHA512 25bb734bf4b7ea1d2ce2bddfd241204e796cad0d1d49036e567237d7ca92d158ab7bf69ff3abe210050c8ee0a0630f9217ced22dc31770814d822f93b2af5845
DIST instantclient-basic-linux-12.1.0.2.0.zip 59727331 BLAKE2B 8a4beb891fd6693b74be4f575bff3af7f70cb751a9fbfab80aa145737008cc745f83f2ec349a5959fcaac9aa789210ecd6da88e0eea63d23ce62fcb402274ea8 SHA512 5d93c72c43ba2ca765209f4c1d518b9e93c80ff33625bf0bc33b974413e2b91ab22681e0922d2148fbfa6b6043fe84eee5334aa398e1ee7b1c2663ff2b3bb235
DIST instantclient-basic-linux-12.2.0.1.0.zip 64594237 BLAKE2B bd74522486ec6be857ed83e23a1a64a2794dc14ac184ef9dd4324fc4b9d0d61be8b6b70e32cfe814c6c8972bc7c9aef1d48a60180b8310d861fa66179027c391 SHA512 35cdd84765f1e020cd1e7fe3a765449bcad1c3b09189ab64f6a969da27d7ff2932bad319037ec066615e672d2b3105d4c36b42ec30ab60d6c577a2796908d22b
@@ -41,5 +42,7 @@ DIST instantclient-tools-linux.x64-12.2.0.1.0.zip 1132671 BLAKE2B a9ae6d2cd4e566
DIST instantclient-tools-linux.x64-18.3.0.0.0dbru.zip 1142609 BLAKE2B 5c915bd940b7bfaa42429710685cfafc5f0189607da2d789f4aaada2bc9d3365ad8e9ee31cc209830fa54b406ffe4b9b2fc2b5e0b6819ff176f7dbb566117a79 SHA512 2c198d9e723b39f7b512217eb08557dfa3c9ae32858acd882df8b9b24beecffe6b44eb089b50341edf01d7e4c0514d4b3de4aa06fa9185aa0538855963c174a4
EBUILD oracle-instantclient-12.1.0.2.ebuild 8668 BLAKE2B 9f26688a731756debbc5ab9181e2c51289c7ba17cff45f018356c7fce4f17ef0429490a2f768c6e7d1e0b96d75ad722fa6343b5dec55bbc05eb7971465cc62af SHA512 6b395cc48970d9ee0401947a70306732688c2b8fc6c15b11139c395a31ba82cc66bcee8e16ea200468759709ad9bb0f1f270afda4507cf9d6c4fb698aa685706
EBUILD oracle-instantclient-12.2.0.1_p2.ebuild 9015 BLAKE2B 25c9c2d664b7a8938f2dea9c2a1ade5be23cc56b753c028efd5b82f2c4462462772dccaa319ecf9694ec73f8d23c9bfe029d1d7d91c10446752bc3ce6bc99bf3 SHA512 a7d154e698de828593be605f5e47ad33251e7bad643d34ee667d531b1348053ff0ce2e06cc0e3b22f77a0732fd815ab6da2f4c33cfb8c713f2816a797cce286f
+EBUILD oracle-instantclient-18.3.0.0-r1.ebuild 11895 BLAKE2B 5fa88cdbb2ef7b5e725baab176ca82c243ca38b5e3e36af5f10d0e18aafb4e9995b064016a56d968e1f523396158536339b50006717fa9f8111ce10f8cb4d84f SHA512 0a080979ec70752702597f4d5e3f9e2f2c087d07fdcb27c2066742115c3b550d4df06ab03cb55034eaf8b55ec13755f47570c02f205d0966fb43ba64502d768d
+EBUILD oracle-instantclient-18.3.0.0-r2.ebuild 12167 BLAKE2B 40c852da52c88e48aad4b36a10bd391b92295fd7ed45a6bb054c6e2766e70e1ca9c2aeb78768c724f4a191130aa32421ab1d946c2a9b0d700f46afb9ae9877d9 SHA512 fedd20c039cd8d8dfc0b0b10ddfa0939177fa5e393cced2b713642a1b74710e265221b7eb4b0c1436407bc4ba84362f766aca54c7b5bda0d6445c8e7426a5a6b
EBUILD oracle-instantclient-18.3.0.0.ebuild 10426 BLAKE2B c5ea6700fe03721d9b587134e281c8e234061d83d48b377dda3d097279a02debb13328f72f8cf426ff13d48eb0d9885cc79208e1eecc9c6e46edadf3948e54ce SHA512 9b6ff606dfdefb5629fef92f532ab072c98e1f7c7dd2e394e975994a4b3483706e541bd5124dd2c0ec562fd53c64705840ae861d9e50c849b2ff2671c8d593b9
MISC metadata.xml 957 BLAKE2B dfe01a80765d0ec1afac4a5045e2081e39ee9060a17f278b6eb7cfae7670ec102a504397d037b2b8d8ad82d242a9fa3ed1d4309b25158b934f8674a062dec53e SHA512 dd8c982f1ce276e7701e6b82b71e2464eaa21e413115c2a4d3bbd49053539ff3a9bcfc84252ef7aa9c39d36054fee119002716de5d525a20bb1f2da0d44b3c89
diff --git a/dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch b/dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch
index eb6fc025d78b..bc4445fe354e 100644
--- a/dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch
+++ b/dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch
@@ -14,7 +14,7 @@ This provides absolute paths for headers and libraries.
+else
+LIBDIR=lib
+endif
-+ICINCHOME=$(ORACLE_HOME)/sdk/include
++ICINCHOME=$(ORACLE_HOME)/include
+ICLIBHOME=$(ORACLE_HOME)/$(LIBDIR)
ICLIBPATH=-L$(ICLIBHOME)
THREADLIBS=-lthread
diff --git a/dev-db/oracle-instantclient/files/18.3.0.0-proc-makefile.patch b/dev-db/oracle-instantclient/files/18.3.0.0-proc-makefile.patch
new file mode 100644
index 000000000000..a197c2c7236f
--- /dev/null
+++ b/dev-db/oracle-instantclient/files/18.3.0.0-proc-makefile.patch
@@ -0,0 +1,27 @@
+--- instantclient_18_3/sdk/demo/demo_proc_ic.mk.orig 2018-10-22 13:34:44.302293002 +0200
++++ instantclient_18_3/sdk/demo/demo_proc_ic.mk 2018-10-22 13:38:55.015321571 +0200
+@@ -37,8 +37,13 @@
+ cc=/usr/bin/gcc
+
+ # InstantClient Directories.
+-ICSDKHOME=../
+-ICLIBHOME=../../
++ifeq ($(BUILD32),T)
++LIBDIR=lib32
++else
++LIBDIR=lib
++endif
++ICSDKHOME=$(ORACLE_HOME)/
++ICLIBHOME=$(ORACLE_HOME)/$(LIBDIR)
+
+ MKLINK=ln
+ REMOVE=rm -rf
+@@ -48,7 +53,7 @@
+ MAKEFILE=demo_proc_ic.mk
+ PROCDEMO=procdemo
+
+-PROC=$(ICSDKHOME)proc
++PROC=$(ICSDKHOME)bin/proc
+ SO_EXT=.so
+ I_SYM=-I
+
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r1.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r1.ebuild
new file mode 100644
index 000000000000..160831003b57
--- /dev/null
+++ b/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r1.ebuild
@@ -0,0 +1,375 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit eutils pax-utils multilib-minimal
+
+DESCRIPTION="Oracle 18c Instant Client with SDK"
+HOMEPAGE="https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html"
+
+MY_SOVER=18.1 # the library soname found in the zip files
+
+IUSE="jdbc odbc precomp +sdk +sqlplus tools"
+REQUIRED_USE="precomp? ( sdk )"
+
+MY_PVM=$(ver_cut 1-2)
+MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})"
+
+MY_PV=$(ver_cut 1-4)
+MY_PVP=$(ver_cut 5) # p2
+
+MY_PLAT_x86="Linux x86"
+MY_BITS_x86=32
+MY_A_x86="${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip"
+MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
+MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
+MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
+MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
+MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
+MY_A_x86_tools="${MY_A_x86/basic/tools}"
+
+MY_PLAT_amd64="Linux x86-64"
+MY_BITS_amd64=64
+MY_A_amd64="${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip"
+MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}"
+MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}"
+MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}"
+MY_A_amd64_sdk="${MY_A_amd64/basic/sdk}"
+MY_A_amd64_sqlplus="${MY_A_amd64/basic/sqlplus}"
+MY_A_amd64_tools="${MY_A_amd64/basic/tools}"
+
+if [[ ${MY_PVP} == p* ]]
+then
+ MY_PVP=-${MY_PVP#p}
+ # Updated 9/22/2017: instantclient-odbc-linux-12.2.0.1.0-2.zip
+ MY_A_x86_odbc="${MY_A_x86_odbc%.zip}${MY_PVP}.zip"
+ MY_A_amd64_odbc="${MY_A_amd64_odbc%.zip}${MY_PVP}.zip"
+fi
+
+SRC_URI="
+ abi_x86_32? (
+ ${MY_A_x86}
+ jdbc? ( ${MY_A_x86_jdbc} )
+ odbc? ( ${MY_A_x86_odbc} )
+ precomp? ( ${MY_A_x86_precomp} )
+ !abi_x86_64? (
+ sdk? ( ${MY_A_x86_sdk} )
+ sqlplus? ( ${MY_A_x86_sqlplus} )
+ tools? ( ${MY_A_x86_tools} )
+ ) )
+ abi_x86_64? (
+ ${MY_A_amd64}
+ jdbc? ( ${MY_A_amd64_jdbc} )
+ odbc? ( ${MY_A_amd64_odbc} )
+ precomp? ( ${MY_A_amd64_precomp} )
+ sdk? ( ${MY_A_amd64_sdk} )
+ sqlplus? ( ${MY_A_amd64_sqlplus} )
+ tools? ( ${MY_A_amd64_tools} )
+ )
+"
+
+LICENSE="OTN"
+SLOT="0/${MY_SOVER}"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="fetch splitdebug"
+
+DEPEND="app-arch/unzip"
+RDEPEND="
+ >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
+ !<dev-db/oracle-instantclient-basic-12
+ !<dev-db/oracle-instantclient-odbc-12
+ !<dev-db/oracle-instantclient-jdbc-12
+ !<dev-db/oracle-instantclient-sqlplus-12
+"
+
+S="${WORKDIR}/${MY_P}"
+
+QA_PREBUILT="usr/lib*/oracle/client/*/*"
+
+set_my_abivars() {
+ if multilib_is_native_abi; then
+ MY_WORKDIR="${WORKDIR}"
+ MY_S="${S}"
+ else
+ MY_WORKDIR="${WORKDIR}/${ABI}"
+ MY_S="${MY_WORKDIR}/${MY_P}"
+ fi
+
+ local abi=${ABI}
+ [[ ${abi} == 'default' ]] && abi=${ARCH}
+ MY_PLAT=MY_PLAT_${abi} ; MY_PLAT=${!MY_PLAT} # platform name
+ MY_BITS=MY_BITS_${abi} ; MY_BITS=${!MY_BITS} # platform bitwidth
+ MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile
+ MY_A_jdbc=MY_A_${abi}_jdbc ; MY_A_jdbc=${!MY_A_jdbc} # jdbc distfile
+ MY_A_odbc=MY_A_${abi}_odbc ; MY_A_odbc=${!MY_A_odbc} # odbc distfile
+ MY_A_precomp=MY_A_${abi}_precomp; MY_A_precomp=${!MY_A_precomp} # precomp distfile
+ MY_A_sdk=MY_A_${abi}_sdk ; MY_A_sdk=${!MY_A_sdk} # sdk distfile
+ MY_A_sqlplus=MY_A_${abi}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus} # sqlplus distfile
+ MY_A_tools=MY_A_${abi}_tools ; MY_A_tools=${!MY_A_tools} # tools distfile
+
+ [[ -n ${MY_PLAT} ]]
+}
+
+oic_distfile_status() {
+ : # We must not access DISTDIR in pkg_* phase, bug#612966.
+# Not removing this lines yet, we may eventually specify this feature.
+# if [[ -r ${DISTDIR}/${1} ]]; then
+# echo "already here"
+# else
+# echo "still absent"
+# fi
+}
+
+pkg_nofetch() {
+ eerror "Please go to"
+ eerror " ${HOMEPAGE//overview/downloads}"
+ eerror " and download"
+ local ABI
+ for ABI in $(multilib_get_enabled_abis)
+ do
+ set_my_abivars || continue
+ eerror "Instant Client for ${MY_PLAT}"
+ # convenient ordering like Linux x86-64 download site
+ eerror " Basic: $(oic_distfile_status ${MY_A}) ${MY_A}"
+ use sqlplus && multilib_is_native_abi &&
+ eerror " SQL*Plus: $(oic_distfile_status ${MY_A_sqlplus}) ${MY_A_sqlplus}"
+ use tools && multilib_is_native_abi &&
+ eerror " Tools: $(oic_distfile_status ${MY_A_tools}) ${MY_A_tools}"
+ use sdk && multilib_is_native_abi &&
+ eerror " SDK: $(oic_distfile_status ${MY_A_sdk}) ${MY_A_sdk}"
+ use jdbc &&
+ eerror " JDBC: $(oic_distfile_status ${MY_A_jdbc}) ${MY_A_jdbc}"
+ use odbc &&
+ eerror " ODBC: $(oic_distfile_status ${MY_A_odbc}) ${MY_A_odbc}"
+ use precomp &&
+ eerror " Precompiler: $(oic_distfile_status ${MY_A_precomp}) ${MY_A_precomp}"
+ done
+ eerror "After downloading these files (for *all* shown architectures),"
+ eerror "put them in your DISTDIR filesystem directory."
+}
+
+src_unpack() {
+ local ABI
+ for ABI in $(multilib_get_enabled_abis)
+ do
+ set_my_abivars || continue
+ mkdir -p "${MY_WORKDIR}" || die
+ cd "${MY_WORKDIR}" || die
+ unpack ${MY_A}
+ use jdbc && unpack ${MY_A_jdbc}
+ use odbc && unpack ${MY_A_odbc}
+ use precomp && unpack ${MY_A_precomp}
+ if multilib_is_native_abi; then
+ use sdk && unpack ${MY_A_sdk}
+ use sqlplus && unpack ${MY_A_sqlplus}
+ use tools && unpack ${MY_A_tools}
+ fi
+ done
+}
+
+src_prepare() {
+ local PATCHES=()
+ if use precomp; then
+ PATCHES+=( "${FILESDIR}"/18.3.0.0-proc-makefile.patch )
+ # Not supporting COBOL for now
+ rm -f sdk/demo/*procob*
+ fi
+ if use sdk; then
+ PATCHES+=( "${FILESDIR}"/18.3.0.0-makefile.patch )
+ rm sdk/include/ldap.h || die #299562
+ fi
+ default
+}
+
+# silence configure&compile messages from multilib-minimal
+src_configure() { :; }
+src_compile() { :; }
+
+src_install() {
+ # all content goes here without version number, bug#578402
+ local oracle_home=/usr/$(get_libdir)/oracle/client
+ local oracle_home_to_root=../../../.. # for dosym
+ local ldpath=
+
+ local ABI
+ for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI
+ do
+ if ! set_my_abivars; then
+ elog "Skipping unsupported ABI ${ABI}."
+ continue
+ fi
+ einfo "Installing runtime for ${MY_PLAT} ..."
+
+ cd "${MY_S}" || die
+
+ # shared libraries
+ into "${oracle_home}"
+ dolib.so lib*$(get_libname)*
+ use precomp && dolib.a cobsqlintf.o
+
+ # ensure to be linkable
+ [[ -e libocci$(get_libname) ]] ||
+ dosym libocci$(get_libname ${MY_SOVER}) \
+ "${oracle_home}"/$(get_libdir)/libocci$(get_libname)
+ [[ -e libclntsh$(get_libname) ]] ||
+ dosym libclntsh$(get_libname ${MY_SOVER}) \
+ "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname)
+
+ # java archives
+ insinto "${oracle_home}"/$(get_libdir)
+ doins *.jar
+
+ # runtime library path
+ ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
+
+ # Vanilla filesystem layout does not support multilib
+ # installation, so we need to move the libs into the
+ # ABI specific libdir. However, ruby-oci8 build system
+ # detects an instantclient along the libraries, and
+ # does expect the sdk right there.
+ use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
+
+ eend $?
+ done
+
+ local DOCS=( BASIC_README )
+ local HTML_DOCS=()
+ local paxbins=( adrci genezi uidrvci )
+ local scripts=()
+
+ if use jdbc; then
+ DOCS+=( JDBC_README )
+ fi
+ if use odbc; then
+ DOCS+=( ODBC_README )
+ HTML_DOCS+=( help )
+ scripts+=( odbc_update_ini.sh )
+ fi
+ if use precomp; then
+ DOCS+=( PRECOMP_README )
+ paxbins+=( sdk/proc )
+ # Install pcscfg.cfg into /etc/oracle, as the user probably
+ # wants to add the include path for the compiler headers
+ # here and we do not want this to be overwritten.
+ insinto /etc/oracle
+ doins precomp/admin/pcscfg.cfg
+ sed -i -e "s%^sys_include=.*%sys_include=(${oracle_home}/include,${EPREFIX}/usr/include)%" \
+ "${ED}"/etc/oracle/pcscfg.cfg || die
+ dosym ../../${oracle_home_to_root}/etc/oracle/pcscfg.cfg "${oracle_home}/precomp/admin/pcscfg.cfg"
+ dosym ../.."${oracle_home}"/bin/proc /usr/bin/proc
+ # Not supporting COBOL for now
+ # paxbins+=( sdk/{procob,rtsora} )
+ # doins precomp/admin/pcbcfg.cfg
+ fi
+ if use sdk; then
+ einfo "Installing SDK ..."
+ DOCS+=( sdk/SDK_README )
+ scripts+=( sdk/ott )
+ insinto "${oracle_home}"/$(get_libdir)
+ doins sdk/ottclasses.zip
+ insinto "${oracle_home}"/sdk
+ doins -r sdk/{admin,demo,include}
+ dosym sdk/include "${oracle_home}"/include
+
+ # The build system in DBD::Oracle perl module would detect
+ # an instantclient along the sharedlibs in ORACLE_HOME, which
+ # we cannot provide. But it also knows Oracle eXpress Edition's
+ # layout - which we emulate enough here to let DBD::Oracle work.
+ dosym ../../sdk/demo/demo.mk "${oracle_home}"/rdbms/demo/demo_xe.mk
+
+ # some build systems expect the headers here, also see bug#652096
+ dosym ../../../.."${oracle_home}"/sdk/include /usr/include/oracle/${MY_PVM}/client
+
+ eend $?
+ fi
+ if use sqlplus; then
+ DOCS+=( SQLPLUS_README )
+ paxbins+=( sqlplus )
+ insinto "${oracle_home}"/sqlplus/admin
+ doins glogin.sql
+ dosym ../.."${oracle_home}"/bin/sqlplus /usr/bin/sqlplus
+ fi
+ if use tools; then
+ DOCS+=( TOOLS_README )
+ paxbins+=( exp expdp imp impdp sqlldr wrc )
+ fi
+
+ einfo "Installing binaries for ${MY_PLAT} ..."
+ into "${oracle_home}"
+ dobin ${paxbins[*]} ${scripts[*]}
+ pushd "${ED}${oracle_home}/bin" >/dev/null || die
+ pax-mark -c ${paxbins[*]#*/} || die
+ popd >/dev/null || die
+ eend $?
+
+ einstalldocs
+
+ # create path for tnsnames.ora
+ insinto /etc/oracle
+ doins "${FILESDIR}"/tnsnames.ora.sample
+
+ # Add OCI libs to library path
+ {
+ echo "# ${EPREFIX}/etc/env.d/50${PN}"
+ echo "# Do not edit this file, but 99${PN} instead"
+ echo
+ echo "ORACLE_HOME=${EPREFIX}${oracle_home}"
+ echo "LDPATH=${ldpath}"
+ echo "TNS_ADMIN=${EPREFIX}/etc/oracle/"
+ } > "${T}"/50${PN}
+
+ doenvd "${T}"/50${PN}
+
+ # ensure ORACLE_HOME/lib exists
+ [[ -e ${ED}${oracle_home}/lib/. ]] ||
+ dosym $(get_libdir) "${oracle_home#/}"/lib
+}
+
+pkg_preinst() {
+ if [[ -r ${EROOT}/etc/env.d/99${PN} ]]; then
+ cp "${EROOT}/etc/env.d/99${PN}" "${ED}/etc/env.d/" || die
+ else
+ {
+ echo "# ${EPREFIX}/etc/env.d/99${PN}"
+ echo "# Configure system-wide defaults for your Oracle Instant Client here"
+ echo
+ echo "#$(grep '^ORACLE_HOME=' "${ED}/etc/env.d/50${PN}")"
+ echo "#$(grep '^TNS_ADMIN=' "${ED}/etc/env.d/50${PN}")"
+ echo "#NLS_LANG="
+ } > "${ED}/etc/env.d/99${PN}"
+ fi
+}
+
+pkg_postinst() {
+ elog "${P} does not provide an sqlnet.ora"
+ elog "configuration file, redirecting oracle diagnostics for database-"
+ elog "and network-issues into ~USER/oradiag_USER/ instead."
+ elog "It should be safe to ignore this message in sqlnet.log there:"
+ elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []"
+ elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference."
+ elog "If you want to directly analyse low-level debug info or don't want"
+ elog "to see it at all, so you really need an sqlnet.ora file, please"
+ elog "consult http://search.oracle.com/search/search?q=sqlnet.ora"
+ elog ""
+ elog "TNS_ADMIN has been set to ${EPREFIX}/etc/oracle by default,"
+ elog "put your tnsnames.ora there or configure TNS_ADMIN"
+ elog "to point to your user specific configuration."
+ if use precomp; then
+ elog ""
+ elog "The proc precompiler uses the system library headers, which in"
+ elog "turn include the headers of the used compiler."
+ elog "To make proc work, please add the compiler header path of your"
+ elog "preferred compiler to sys_include in:"
+ elog " ${EPREFIX}/etc/oracle/pcscfg.cfg"
+ elog "Remember to update this setting when you switch or update the"
+ elog "compiler."
+ elog "For gcc, the headers are usually found in a path matching the"
+ elog "following pattern:"
+ elog " ${EPREFIX}/usr/lib/gcc/*/*/include"
+ elog "The exact details depend on the architecture and the version of"
+ elog "the compiler to be used."
+ fi
+ ewarn "Please re-source your shell settings for ORACLE_HOME"
+ ewarn " changes, such as: source ${EPREFIX}/etc/profile"
+}
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r2.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r2.ebuild
new file mode 100644
index 000000000000..8bfa48ed93d7
--- /dev/null
+++ b/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0-r2.ebuild
@@ -0,0 +1,378 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit eutils pax-utils multilib-minimal
+
+DESCRIPTION="Oracle 18c Instant Client with SDK"
+HOMEPAGE="https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html"
+
+MY_SOVER=18.1 # the library soname found in the zip files
+
+IUSE="jdbc odbc precomp +sdk +sqlplus tools"
+REQUIRED_USE="precomp? ( sdk )"
+
+MY_PVM=$(ver_cut 1-2)
+MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})"
+
+MY_PV=$(ver_cut 1-4)
+MY_PVP=$(ver_cut 5) # p2
+
+MY_PLAT_x86="Linux x86"
+MY_BITS_x86=32
+MY_A_x86="${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip"
+MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}"
+MY_A_x86_odbc="${MY_A_x86/basic/odbc}"
+MY_A_x86_precomp="${MY_A_x86/basic/precomp}"
+MY_A_x86_sdk="${MY_A_x86/basic/sdk}"
+MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}"
+MY_A_x86_tools="${MY_A_x86/basic/tools}"
+
+MY_PLAT_amd64="Linux x86-64"
+MY_BITS_amd64=64
+MY_A_amd64="${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip"
+MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}"
+MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}"
+MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}"
+MY_A_amd64_sdk="${MY_A_amd64/basic/sdk}"
+MY_A_amd64_sqlplus="${MY_A_amd64/basic/sqlplus}"
+MY_A_amd64_tools="${MY_A_amd64/basic/tools}"
+
+if [[ ${MY_PVP} == p* ]]
+then
+ MY_PVP=-${MY_PVP#p}
+ # Updated 9/22/2017: instantclient-odbc-linux-12.2.0.1.0-2.zip
+ MY_A_x86_odbc="${MY_A_x86_odbc%.zip}${MY_PVP}.zip"
+ MY_A_amd64_odbc="${MY_A_amd64_odbc%.zip}${MY_PVP}.zip"
+fi
+
+SRC_URI="
+ abi_x86_32? (
+ ${MY_A_x86}
+ jdbc? ( ${MY_A_x86_jdbc} )
+ odbc? ( ${MY_A_x86_odbc} )
+ precomp? ( ${MY_A_x86_precomp} )
+ !abi_x86_64? (
+ sdk? ( ${MY_A_x86_sdk} )
+ sqlplus? ( ${MY_A_x86_sqlplus} )
+ tools? ( ${MY_A_x86_tools} )
+ ) )
+ abi_x86_64? (
+ ${MY_A_amd64}
+ jdbc? ( ${MY_A_amd64_jdbc} )
+ odbc? ( ${MY_A_amd64_odbc} )
+ precomp? ( ${MY_A_amd64_precomp} )
+ sdk? ( ${MY_A_amd64_sdk} )
+ sqlplus? ( ${MY_A_amd64_sqlplus} )
+ tools? ( ${MY_A_amd64_tools} )
+ )
+"
+
+LICENSE="OTN"
+SLOT="0/${MY_SOVER}"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="fetch splitdebug"
+
+DEPEND="app-arch/unzip"
+RDEPEND="
+ >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
+ !<dev-db/oracle-instantclient-basic-12
+ !<dev-db/oracle-instantclient-odbc-12
+ !<dev-db/oracle-instantclient-jdbc-12
+ !<dev-db/oracle-instantclient-sqlplus-12
+"
+
+S="${WORKDIR}/${MY_P}"
+
+QA_PREBUILT="usr/lib*/oracle/client/*/*"
+
+set_my_abivars() {
+ if multilib_is_native_abi; then
+ MY_WORKDIR="${WORKDIR}"
+ MY_S="${S}"
+ else
+ MY_WORKDIR="${WORKDIR}/${ABI}"
+ MY_S="${MY_WORKDIR}/${MY_P}"
+ fi
+
+ local abi=${ABI}
+ [[ ${abi} == 'default' ]] && abi=${ARCH}
+ MY_PLAT=MY_PLAT_${abi} ; MY_PLAT=${!MY_PLAT} # platform name
+ MY_BITS=MY_BITS_${abi} ; MY_BITS=${!MY_BITS} # platform bitwidth
+ MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile
+ MY_A_jdbc=MY_A_${abi}_jdbc ; MY_A_jdbc=${!MY_A_jdbc} # jdbc distfile
+ MY_A_odbc=MY_A_${abi}_odbc ; MY_A_odbc=${!MY_A_odbc} # odbc distfile
+ MY_A_precomp=MY_A_${abi}_precomp; MY_A_precomp=${!MY_A_precomp} # precomp distfile
+ MY_A_sdk=MY_A_${abi}_sdk ; MY_A_sdk=${!MY_A_sdk} # sdk distfile
+ MY_A_sqlplus=MY_A_${abi}_sqlplus; MY_A_sqlplus=${!MY_A_sqlplus} # sqlplus distfile
+ MY_A_tools=MY_A_${abi}_tools ; MY_A_tools=${!MY_A_tools} # tools distfile
+
+ [[ -n ${MY_PLAT} ]]
+}
+
+oic_distfile_status() {
+ : # We must not access DISTDIR in pkg_* phase, bug#612966.
+# Not removing this lines yet, we may eventually specify this feature.
+# if [[ -r ${DISTDIR}/${1} ]]; then
+# echo "already here"
+# else
+# echo "still absent"
+# fi
+}
+
+pkg_nofetch() {
+ eerror "Please go to"
+ eerror " ${HOMEPAGE//overview/downloads}"
+ eerror " and download"
+ local ABI
+ for ABI in $(multilib_get_enabled_abis)
+ do
+ set_my_abivars || continue
+ eerror "Instant Client for ${MY_PLAT}"
+ # convenient ordering like Linux x86-64 download site
+ eerror " Basic: $(oic_distfile_status ${MY_A}) ${MY_A}"
+ use sqlplus && multilib_is_native_abi &&
+ eerror " SQL*Plus: $(oic_distfile_status ${MY_A_sqlplus}) ${MY_A_sqlplus}"
+ use tools && multilib_is_native_abi &&
+ eerror " Tools: $(oic_distfile_status ${MY_A_tools}) ${MY_A_tools}"
+ use sdk && multilib_is_native_abi &&
+ eerror " SDK: $(oic_distfile_status ${MY_A_sdk}) ${MY_A_sdk}"
+ use jdbc &&
+ eerror " JDBC: $(oic_distfile_status ${MY_A_jdbc}) ${MY_A_jdbc}"
+ use odbc &&
+ eerror " ODBC: $(oic_distfile_status ${MY_A_odbc}) ${MY_A_odbc}"
+ use precomp &&
+ eerror " Precompiler: $(oic_distfile_status ${MY_A_precomp}) ${MY_A_precomp}"
+ done
+ eerror "After downloading these files (for *all* shown architectures),"
+ eerror "put them in your DISTDIR filesystem directory."
+}
+
+src_unpack() {
+ local ABI
+ for ABI in $(multilib_get_enabled_abis)
+ do
+ set_my_abivars || continue
+ mkdir -p "${MY_WORKDIR}" || die
+ cd "${MY_WORKDIR}" || die
+ unpack ${MY_A}
+ use jdbc && unpack ${MY_A_jdbc}
+ use odbc && unpack ${MY_A_odbc}
+ use precomp && unpack ${MY_A_precomp}
+ if multilib_is_native_abi; then
+ use sdk && unpack ${MY_A_sdk}
+ use sqlplus && unpack ${MY_A_sqlplus}
+ use tools && unpack ${MY_A_tools}
+ fi
+ done
+}
+
+src_prepare() {
+ local PATCHES=()
+ if use precomp; then
+ PATCHES+=( "${FILESDIR}"/18.3.0.0-proc-makefile.patch )
+ # Not supporting COBOL for now
+ rm -f sdk/demo/*procob*
+ fi
+ if use sdk; then
+ PATCHES+=( "${FILESDIR}"/18.3.0.0-makefile.patch )
+ rm sdk/include/ldap.h || die #299562
+ fi
+ default
+}
+
+# silence configure&compile messages from multilib-minimal
+src_configure() { :; }
+src_compile() { :; }
+
+src_install() {
+ # all content goes here without version number, bug#578402
+ local oracle_home=/usr/$(get_libdir)/oracle/client
+ local oracle_home_to_root=../../../.. # for dosym
+ local ldpath=
+
+ local ABI
+ for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI
+ do
+ if ! set_my_abivars; then
+ elog "Skipping unsupported ABI ${ABI}."
+ continue
+ fi
+ einfo "Installing runtime for ${MY_PLAT} ..."
+
+ cd "${MY_S}" || die
+
+ # shared libraries
+ into "${oracle_home}"
+ dolib.so lib*$(get_libname)*
+ use precomp && dolib.a cobsqlintf.o
+
+ # ensure to be linkable
+ [[ -e libocci$(get_libname) ]] ||
+ dosym libocci$(get_libname ${MY_SOVER}) \
+ "${oracle_home}"/$(get_libdir)/libocci$(get_libname)
+ [[ -e libclntsh$(get_libname) ]] ||
+ dosym libclntsh$(get_libname ${MY_SOVER}) \
+ "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname)
+
+ # java archives
+ insinto "${oracle_home}"/$(get_libdir)
+ doins *.jar
+
+ # runtime library path
+ ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir)
+
+ # Vanilla filesystem layout does not support multilib
+ # installation, so we need to move the libs into the
+ # ABI specific libdir. However, ruby-oci8 build system
+ # detects an instantclient along the shared libraries,
+ # and does expect the sdk right there.
+ use sdk && dosym ../sdk "${oracle_home}"/$(get_libdir)/sdk
+
+ eend $?
+ done
+
+ local DOCS=( BASIC_README )
+ local HTML_DOCS=()
+ local paxbins=( adrci genezi uidrvci )
+ local scripts=()
+
+ if use jdbc; then
+ DOCS+=( JDBC_README )
+ fi
+ if use odbc; then
+ DOCS+=( ODBC_README )
+ HTML_DOCS+=( help )
+ scripts+=( odbc_update_ini.sh )
+ fi
+ if use precomp; then
+ DOCS+=( PRECOMP_README )
+ paxbins+=( sdk/proc )
+ # Install pcscfg.cfg into /etc/oracle, as the user probably
+ # wants to add the include path for the compiler headers
+ # here and we do not want this to be overwritten.
+ insinto /etc/oracle
+ doins precomp/admin/pcscfg.cfg
+ sed -i -e "s%^sys_include=.*%sys_include=(${oracle_home}/include,${EPREFIX}/usr/include)%" \
+ "${ED}"/etc/oracle/pcscfg.cfg || die
+ dosym ../../${oracle_home_to_root}/etc/oracle/pcscfg.cfg "${oracle_home}/precomp/admin/pcscfg.cfg"
+ dosym ../.."${oracle_home}"/bin/proc /usr/bin/proc
+ # Not supporting COBOL for now
+ # paxbins+=( sdk/{procob,rtsora} )
+ # doins precomp/admin/pcbcfg.cfg
+ fi
+ if use sdk; then
+ einfo "Installing SDK ..."
+ DOCS+=( sdk/SDK_README )
+ scripts+=( sdk/ott )
+ insinto "${oracle_home}"/$(get_libdir)
+ doins sdk/ottclasses.zip
+ insinto "${oracle_home}"/sdk
+ doins -r sdk/{admin,demo,include}
+ # Some build systems simply expect ORACLE_HOME/include.
+ dosym sdk/include "${oracle_home}"/include
+ # Some build systems do not know the instant client,
+ # expecting headers in rdbms/public, see bug#669316.
+ # Additionally, some (probably older ruby-oci8) do
+ # require rdbms/public to be a real directory.
+ insinto "${oracle_home}"/rdbms/public
+ doins -r sdk/include/*
+ # Others (like the DBD::Oracle perl module) know the Oracle
+ # eXpress Edition's client, parsing an rdbms/demo/demo_xe.mk.
+ dosym ../../sdk/demo/demo.mk "${oracle_home}"/rdbms/demo/demo_xe.mk
+ # And some do expect /usr/include/oracle/<ver>/client/include,
+ # querying 'sqlplus' for the version number, also see bug#652096.
+ dosym ../../../.."${oracle_home}"/sdk/include /usr/include/oracle/${MY_PVM}/client
+ eend $?
+ fi
+ if use sqlplus; then
+ DOCS+=( SQLPLUS_README )
+ paxbins+=( sqlplus )
+ insinto "${oracle_home}"/sqlplus/admin
+ doins glogin.sql
+ dosym ../.."${oracle_home}"/bin/sqlplus /usr/bin/sqlplus
+ fi
+ if use tools; then
+ DOCS+=( TOOLS_README )
+ paxbins+=( exp expdp imp impdp sqlldr wrc )
+ fi
+
+ einfo "Installing binaries for ${MY_PLAT} ..."
+ into "${oracle_home}"
+ dobin ${paxbins[*]} ${scripts[*]}
+ pushd "${ED}${oracle_home}/bin" >/dev/null || die
+ pax-mark -c ${paxbins[*]#*/} || die
+ popd >/dev/null || die
+ eend $?
+
+ einstalldocs
+
+ # create path for tnsnames.ora
+ insinto /etc/oracle
+ doins "${FILESDIR}"/tnsnames.ora.sample
+
+ # Add OCI libs to library path
+ {
+ echo "# ${EPREFIX}/etc/env.d/50${PN}"
+ echo "# Do not edit this file, but 99${PN} instead"
+ echo
+ echo "ORACLE_HOME=${EPREFIX}${oracle_home}"
+ echo "LDPATH=${ldpath}"
+ echo "TNS_ADMIN=${EPREFIX}/etc/oracle/"
+ } > "${T}"/50${PN}
+
+ doenvd "${T}"/50${PN}
+
+ # ensure ORACLE_HOME/lib exists
+ [[ -e ${ED}${oracle_home}/lib/. ]] ||
+ dosym $(get_libdir) "${oracle_home#/}"/lib
+}
+
+pkg_preinst() {
+ if [[ -r ${EROOT}/etc/env.d/99${PN} ]]; then
+ cp "${EROOT}/etc/env.d/99${PN}" "${ED}/etc/env.d/" || die
+ else
+ {
+ echo "# ${EPREFIX}/etc/env.d/99${PN}"
+ echo "# Configure system-wide defaults for your Oracle Instant Client here"
+ echo
+ echo "#$(grep '^ORACLE_HOME=' "${ED}/etc/env.d/50${PN}")"
+ echo "#$(grep '^TNS_ADMIN=' "${ED}/etc/env.d/50${PN}")"
+ echo "#NLS_LANG="
+ } > "${ED}/etc/env.d/99${PN}"
+ fi
+}
+
+pkg_postinst() {
+ elog "${P} does not provide an sqlnet.ora"
+ elog "configuration file, redirecting oracle diagnostics for database-"
+ elog "and network-issues into ~USER/oradiag_USER/ instead."
+ elog "It should be safe to ignore this message in sqlnet.log there:"
+ elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []"
+ elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference."
+ elog "If you want to directly analyse low-level debug info or don't want"
+ elog "to see it at all, so you really need an sqlnet.ora file, please"
+ elog "consult http://search.oracle.com/search/search?q=sqlnet.ora"
+ elog ""
+ elog "TNS_ADMIN has been set to ${EPREFIX}/etc/oracle by default,"
+ elog "put your tnsnames.ora there or configure TNS_ADMIN"
+ elog "to point to your user specific configuration."
+ if use precomp; then
+ elog ""
+ elog "The proc precompiler uses the system library headers, which in"
+ elog "turn include the headers of the used compiler."
+ elog "To make proc work, please add the compiler header path of your"
+ elog "preferred compiler to sys_include in:"
+ elog " ${EPREFIX}/etc/oracle/pcscfg.cfg"
+ elog "Remember to update this setting when you switch or update the"
+ elog "compiler."
+ elog "For gcc, the headers are usually found in a path matching the"
+ elog "following pattern:"
+ elog " ${EPREFIX}/usr/lib/gcc/*/*/include"
+ elog "The exact details depend on the architecture and the version of"
+ elog "the compiler to be used."
+ fi
+ ewarn "Please re-source your shell settings for ORACLE_HOME"
+ ewarn " changes, such as: source ${EPREFIX}/etc/profile"
+}
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index a0c8753a261d..d56e3fd23977 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -5,9 +5,9 @@ AUX redis-3.2.5-shared.patch 754 BLAKE2B cb119c20e219ab7c38bceffa9f7b3e59dc4eafe
AUX redis-4.0.1-shared.patch 866 BLAKE2B 55531d6437ba89e37674377795ed8f7b4a34982571358d3ac73071951929ba96f101dfc9f9336f04d3851b4d360023c50d7832d9ae5ba9cfa405f317ec70b983 SHA512 f58ae83d3370949187325b1f1f75feb7d85d3112ae65e7cd330d193490c42aa6288f05cd4d2309dbde5d32015a067ec831255a3dab937cd0889970c8eecfb3f1
AUX redis-4.0.1-sharedlua.patch 2568 BLAKE2B dc943602aba26455b94536571ee6be2969cbdf04da63805db0da0de5c5da3eb5fe16bb3c9e282020cf5a0d2cb9ac02244614fb8929847ce930c2ed25f4c4b8ff SHA512 c7c08b67c09425876da513bbeb52667fe5917b56a43749a914dac356fa37c091b696765eabca100f2506cf461107abdbf22bce075879a8aa82a0e8d54f696fee
AUX redis-5.0-shared.patch 883 BLAKE2B 71a490d5c40d873db7d363c4f3cab966bf8e92fa84bcb7209344b79b3bfc4c6f8df5224c8ae0e5d9ee8dbd62d9e288e90934809e91fd6f63c7d1dd4a518170a9 SHA512 f1d1e37a4786a84e9543956e21644a1dcfdc52742299119ba1547b9fb56a92fdef3ca518d94a1db8a88222b661ac7849a4db0bf7ba38b1ae65f286e7df90f0c1
-AUX redis-5.0-sharedlua.patch 2623 BLAKE2B 6b17254fab8022dee604749364b4cf4b64d7f5157740165da4eaba8866a44819603d1e7c3b2dae6bf66a3e70a43343c76766bebc1c4dd57b7c3bb402a4a747a1 SHA512 af4e08c0c6e1a1e8f26c625a70ce903ddfecd81db8047a851fd958d0174f89511acce2510b9bcc25fb850c90b5cfd7a61a6e90cd242f8e68b72b1b67b6cdc87d
+AUX redis-5.0-sharedlua.patch 2642 BLAKE2B f86d3c932a8c0f05e2d65725037a0780152b95835f88395cc74765902c3184a4e1ed0a3802f54345e91a70b6ac013419c6d3412df8fd2397ed300ff1e7210724 SHA512 971944ff03563bcc91c9f29316af2b0eb691c9d0e27d9e4f3fad30dc4e4afe34c077ccdbf5f93ebd78ea6571f809a801721376059780a30467274a7be5ca6425
AUX redis-sentinel-4.0.6-config.patch 285 BLAKE2B 97b8fb6c2af74e6d2736e9dcdd9faa579800fecec53752168fc5e5e43c509fc00a1192215b5fef89af915456e5ab0d7c438df51e2b214399a4482f7683525a8b SHA512 12fd77b38fbcc3bf4b25f519a8f40e43c5d2f32be341155f5e6d08f2a4513043917452d45a20608dc56c0e92e324cef8480d42d670752056c821b4ffca93e2b1
-AUX redis-sentinel-5.0-config.patch 367 BLAKE2B 75281a9b0de0d453cb2948d1641c4f0a7a8b5acdb7ffc35186f29859e1f69835be0f56b0734757a73dbd3239a7e8b9e7db5fe31a82e3ac60bbafe86ca400c35b SHA512 7b882cb1a0d976fc1dfb30b305731cc9239dcf7f30e3a92566325dc1dae5ab94a95c047b3ba1eaa618767e1bbdee31918b552c67eeb0310e74db8cbf64e2c09c
+AUX redis-sentinel-5.0-config.patch 706 BLAKE2B 0fa0166bbb3460e783e85b90acf4c606b83e271d8e9828bb5b3a39b623508b21dac33369ac25b645169271822e9c5deb6ea7294e40fc8d1a5ceec5129c174505 SHA512 2dee5666d50fc5d9b6021735a95c9a9647ba99c562e348785381d5a05f1388c3fb9e8c4a15b0de771cf73fb80e5e29f1df25805df749457a2ce4f2e3f2e0e9e8
AUX redis-sentinel.confd 470 BLAKE2B f77fd7e35c753e35aafa6e773dcc00d2779bc29d8579334078bd6124aab436dff671ae790c0b0e3cefdd4082fe212b4b71501b529176cb0a1e5f8c8cdcf1387e SHA512 ea455f8c73c21bc46127ea5c7b99dc5707ad41160e5fd61367555dd2e3fd5c1518026257651e7d371a60a64b682b6839dd37580f75308c73239edeba49d6b372
AUX redis-sentinel.initd 648 BLAKE2B eaea4a047dfa61a325fa2bfeb30b422220d4fad699a693b9141a74575dc153ad3db2dafa3fa06ef195914a32f2a6aacfb3fc2e3b80ebe6b75316700fbd84221d SHA512 dfd1dadedf9b7376667d1966072c28e5e23e17592bf66753eae4bbc084225714f30c6450001f643c1561ff3a2eb2e50f719d32ff34f5419040ff42a2c4fbd70d
AUX redis.confd-r1 511 BLAKE2B 911e6f7ca70013d4feefb6ec7ee3f98220f303d48c95f27c2558efee00559cf2b9ae8c0303f85d2b081aac8f636de326b52e3493a9be2c027ec7d97114f856da SHA512 f041e6b1da2c579a7dcf40e411ff47bc4675e5931e04f4353888ed5864b7e0c94d53fc98faee982c65a69d0154ee1f624fbadbbcc3a324aec583eefee6fb7133
@@ -24,8 +24,7 @@ DIST redis-4.0.6.tar.gz 1723533 BLAKE2B 94c2a9b7eeaa676efaac75cd5c143b0f4b02440b
DIST redis-4.0.7.tar.gz 1729488 BLAKE2B 7a5337b868e4da4a7387b31bc9d6bd4c86abd701b9ba999f64296ed5188cbba7208ced466973a500730ca03e70a9a85fbab2fb4700fdc977e58defc0126487d1 SHA512 6f317d9e76224b2a2b047dc8f56b126ea85ee5c6112c4c6238cb5cdfa3a83756bff3a82b106b00d1124a93d210a900d836587b8d9563916f19274de0e84c4c6b
DIST redis-4.0.8.tar.gz 1729973 BLAKE2B 32d82a07beba9ea8f0b08a8fc69da548a1974e5839f052a9803ffb0f52ef920df9b128092e061b5e693581a50efef4a1212c1f6310dc8492eff5ca841ff3b03a SHA512 11c126ddef3bedbceb02ee7a80a61374e081da8087055d77970b0097066a6f1c5e0c4f0d246c9851f8c3beca22f185c184669a9dc4f1c7c229f8cd2c34196ab6
DIST redis-4.0.9.tar.gz 1737022 BLAKE2B 35a83d146062f5b14c023d7fd9f28d743ba6bec3e0e4bf9ce8e065a706bbd7508ffbcb8b1b4d18f6b6774589b5456540ba8717b9f449fcbd758c0f57dbd505a3 SHA512 a6cf63cb361f0a87da3955ba628190dc04cad342f7a664d18e44416ee67dd86ed6e3a46b9701e994f1417e56b819b3c6fc595f363c10bb4b83d5033919d29598
-DIST redis-5.0_rc4.tar.gz 1937238 BLAKE2B b8f768b83e27476bc038fc554193680f4873eb2405f238e0a6f2053cf68c4a9e6c45546730a263463b805d6811334c1ba056be0230676f19d0562d488a3d4c97 SHA512 75b308bca026fe3b7cff1a92df3990bab5bb7ffe24cdfbc263f4d522ebe7ec8d86a9ed66da1778fe67c08a39b6f0c83cb10c5a332818c6ad04621d01c4aa6add
-DIST redis-5.0_rc5.tar.gz 1941761 BLAKE2B 294cf455e40bbbcfb87972fd4130854ced714369dcfc08a77e9be693d1b819f3c5dfe8b407582726e8bd140be3965f9c6cab03cd28002004ed1e634a0827a060 SHA512 173e529bec234339be3b6c2c5c360085a186a66c4d08a4dfeb51aa689ab61ba1d8ab2914af5ba4923799b17bc09a05a488ce6e6cfae7fa7faa5c5a55e38c111c
+DIST redis-5.0.0.tar.gz 1947721 BLAKE2B c776796a2efe3efd9f9b70dc9be06c10695a5f3cb40765b64f7adddbe5e77eb68650986d8c705e947d1aa46f0f909a2aa2743f43a12ba6c30615e5f9fc2ca55b SHA512 818277cf8c14eb5f0b864e936f657c8021a3614a76dda8975d82b20ab4e3983731363b7b527fb504fd41292304de079f78702503fca867ac6f45a97a391eec07
EBUILD redis-3.2.12.ebuild 3886 BLAKE2B ea98fec96f660ef6c663d3700d8b90ee6a98c904e6c798e81416d14609e238e395d6096cdea1dafd0d7591b401b68803c44dd4c9d7831c43168643cea458b05c SHA512 ff68d691ee3555a74e6e4305d54d9848137d0887b6c96a97b81f48adfd06129291a51eac1c87cf358b8670dad93dc372d8e70455efa348f5ec296ec0035af6be
EBUILD redis-3.2.8-r5.ebuild 3884 BLAKE2B 27c4d67ff9d9f1d23c9ac0c5dcbfdaa7eda60b0957a955f7e66e9ad54c0490052a28cb6f02195dd606d8ff65f2b95c43325af771649048d80e7124e3df8d1907 SHA512 fde594959130b3999c8c31e5711b48f7d29824c189495b6d94124ef7190ce4cfc10b635ec2141fd980cfc709d7a7aa9f9474996742ed1fac8cde509cba22712c
EBUILD redis-4.0.10.ebuild 4069 BLAKE2B 33bf7fbd67db2035d3bdc92f01f1252c9a27a1a3c736f555d21c6670920e03057b30bc51594898414dc5a18312c1af5f74f01b86ede936025cb44d6f0e478855 SHA512 52c9a38d8823fa87ddb8aea6db611bf43b0e3543eddb275a991da075095e27758de2f5456685a01eb79e3166a642a38256cd95f75d5cf7b1a432dcb3af29f671
@@ -35,6 +34,5 @@ EBUILD redis-4.0.6.ebuild 4074 BLAKE2B 8c650824c8216e360014750cfe64d205dc02d33b6
EBUILD redis-4.0.7.ebuild 4074 BLAKE2B a6190e8b3223f516c48889f5bd455e7c94c1c68e0f142f8370fc74931d7b9fb79621bae4a080956eb8cc9cf00ece885535c2e3a17e717d1c2c069e61bed479ee SHA512 aafbb4f1a85133e3baf0b73f026281c6dba2cd2146c9d3a9e5fa610e5e1ca5a9ea8458b9b031345f7346b74e42fc2a238f3824ddf12ec7d83ba571ebe7d18e3d
EBUILD redis-4.0.8.ebuild 4074 BLAKE2B a6190e8b3223f516c48889f5bd455e7c94c1c68e0f142f8370fc74931d7b9fb79621bae4a080956eb8cc9cf00ece885535c2e3a17e717d1c2c069e61bed479ee SHA512 aafbb4f1a85133e3baf0b73f026281c6dba2cd2146c9d3a9e5fa610e5e1ca5a9ea8458b9b031345f7346b74e42fc2a238f3824ddf12ec7d83ba571ebe7d18e3d
EBUILD redis-4.0.9.ebuild 4074 BLAKE2B 609631167471b07d3caccad80d601e4d73a594a97979b25f828c171c341f2f8d24c12e2399ad81b8952e5f459f0a340726a4e8ee69a1f51b0626b52d18e7ce3c SHA512 86c003235c630c87a551b31f359a5fe824d7114016f22788cf8dc84dec56d5bea24c3fdbc86efd15734ccb636394bb6fc4f4d757566ac857605fa23c841db4d4
-EBUILD redis-5.0_rc4.ebuild 4127 BLAKE2B 110d57d99191a4adc8b3da6978320d744b7e83a876c2f0b569187da7e4d26f059368a0021a64ddc17846e3d48390ff9424457278def0df04436ce0b04352b371 SHA512 d8daa2fe2b0640001fdc66ef190801cafb542f61fb73546a2d428a7bb306fad9c6ffdc47336774aa072b8a2cd9a0021bbcf6a86a3124ddcb74037f7a1a7e2fd0
-EBUILD redis-5.0_rc5.ebuild 4130 BLAKE2B c4e496f916e3caeb24b2ada9c6c4bd709aee3a3a63bc695383ff2624277ea6cb74804dbb945aba8650d317ad06324c51a08c6432ae4c0306bc8428f5185f3cc3 SHA512 2930a1dfeeaafbc17e12c89b23527c874430451a5a60271ffa4d66e49fea6bed100c9d0ef8134a6d8b48e21f8bc7fabd7683c2617e6b37d78962c473b272a94d
+EBUILD redis-5.0.0.ebuild 4011 BLAKE2B b99054eb7a1cf93cfd293b4884098eb12e41564f2505ba49d179c824a7e78a236f03f31198d3073ea882c6df327f2d5668f4e043632da55b5a25ef2c865000d6 SHA512 cf61adaa5d6e003abdd5e507f9d540699fe5d3ef593a1cd63507de9e8475a44265ad2385fb8f794e11f3f0908509b8552748f5280810a5ae2bc2d84d41110a16
MISC metadata.xml 440 BLAKE2B b853160a8483ff59c413a37b8fd1703283cc80c5ea9de092654dd1809bdc6ed3dc98fb6285a3f33bfea136bdf3db4065b3e22c34f7458e9e83aa63e137a13eb3 SHA512 7c125eed761e5f4c868a3fd5539d5182b9c4da6ddeb0cb82a46dc6d0cc682410eb100168ddb4b5fb214d6092395394cefef5bc8fd3dcce818542d30748f9bd17
diff --git a/dev-db/redis/files/redis-5.0-sharedlua.patch b/dev-db/redis/files/redis-5.0-sharedlua.patch
index 76971cf4571e..3e14f41733b0 100644
--- a/dev-db/redis/files/redis-5.0-sharedlua.patch
+++ b/dev-db/redis/files/redis-5.0-sharedlua.patch
@@ -12,7 +12,7 @@ index c26c0d7..fa50c41 100644
#ifndef CJSON_MODNAME
#define CJSON_MODNAME "cjson"
diff --git a/src/Makefile b/src/Makefile
-index f5525bd..cecd8d0 100644
+index 773d3b2..2d120d4 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
@@ -44,7 +44,7 @@ index f5525bd..cecd8d0 100644
@@ -145,6 +146,7 @@ endif
REDIS_SERVER_NAME=redis-server
REDIS_SENTINEL_NAME=redis-sentinel
- REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o
+ REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o
+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
REDIS_CLI_NAME=redis-cli
REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o siphash.o crc16.o
diff --git a/dev-db/redis/files/redis-sentinel-5.0-config.patch b/dev-db/redis/files/redis-sentinel-5.0-config.patch
index 53299f11840f..099b4eef818c 100644
--- a/dev-db/redis/files/redis-sentinel-5.0-config.patch
+++ b/dev-db/redis/files/redis-sentinel-5.0-config.patch
@@ -1,10 +1,19 @@
diff --git a/sentinel.conf b/sentinel.conf
-index 3703c73..964ffa3 100644
+index bc9a705..05e58d3 100644
--- a/sentinel.conf
+++ b/sentinel.conf
-@@ -222,3 +222,5 @@ sentinel deny-scripts-reconfig yes
- # case, so writing "config guessme" is the same in the example above.
- #
- # SENTINEL SET can also be used in order to perform this configuration at runtime.
-+
+@@ -28,12 +28,12 @@ daemonize no
+ # When running daemonized, Redis Sentinel writes a pid file in
+ # /var/run/redis-sentinel.pid by default. You can specify a custom pid file
+ # location here.
+-pidfile /var/run/redis-sentinel.pid
++pidfile /run/redis-sentinel.pid
+
+ # Specify the log file name. Also the empty string can be used to force
+ # Sentinel to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
+logfile "/var/log/redis/sentinel.log"
+
+ # sentinel announce-ip <ip>
+ # sentinel announce-port <port>
diff --git a/dev-db/redis/redis-5.0_rc5.ebuild b/dev-db/redis/redis-5.0.0.ebuild
index 1c203774f8c8..2b13aad0139e 100644
--- a/dev-db/redis/redis-5.0_rc5.ebuild
+++ b/dev-db/redis/redis-5.0.0.ebuild
@@ -1,17 +1,13 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-WANT_AUTOCONF="latest"
inherit autotools eapi7-ver flag-o-matic systemd toolchain-funcs user
-MY_PV="$(ver_rs 2 -)"
-MY_P="${PN}-${MY_PV}"
-
DESCRIPTION="A persistent caching system, key-value and data structures database"
HOMEPAGE="https://redis.io"
-SRC_URI="https://github.com/antirez/redis/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
@@ -25,7 +21,7 @@ RDEPEND="
luajit? ( dev-lang/luajit:2 )
!luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
tcmalloc? ( dev-util/google-perftools )
- jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+ jemalloc? ( >=dev-libs/jemalloc-5.1:= )"
DEPEND="
${RDEPEND}
@@ -34,8 +30,6 @@ DEPEND="
REQUIRED_USE="?? ( tcmalloc jemalloc )"
-S="${WORKDIR}/${MY_P}"
-
pkg_setup() {
enewgroup redis 75
enewuser redis 75 -1 /var/lib/redis redis
diff --git a/dev-db/redis/redis-5.0_rc4.ebuild b/dev-db/redis/redis-5.0_rc4.ebuild
deleted file mode 100644
index 1b2b1a57ecfa..000000000000
--- a/dev-db/redis/redis-5.0_rc4.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eutils flag-o-matic systemd toolchain-funcs user
-
-MY_PV="${PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="https://github.com/antirez/redis/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
-IUSE="+jemalloc tcmalloc luajit test"
-SLOT="0"
-
-# Redis does NOT build with Lua 5.2 or newer at this time.
-# This should link correctly with both unslotted & slotted Lua, without
-# changes.
-RDEPEND="
- luajit? ( dev-lang/luajit:2 )
- !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
- tcmalloc? ( dev-util/google-perftools )
- jemalloc? ( >=dev-libs/jemalloc-3.2 )"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- >=sys-devel/autoconf-2.63
- test? ( dev-lang/tcl:0= )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- enewgroup redis 75
- enewuser redis 75 -1 /var/lib/redis redis
-}
-
-src_prepare() {
- eapply \
- "${FILESDIR}"/${PN}-3.2.3-config.patch \
- "${FILESDIR}"/${PN}-5.0-shared.patch \
- "${FILESDIR}"/${PN}-5.0-sharedlua.patch \
- "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
- eapply_user
-
- # Copy lua modules into build dir
- cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
- cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
- # Append cflag for lua_cjson
- # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
- append-cflags "-DENABLE_CJSON_GLOBAL"
-
- # now we will rewrite present Makefiles
- local makefiles="" MKF
- for MKF in $(find -name 'Makefile' | cut -b 3-); do
- mv "${MKF}" "${MKF}.in"
- sed -i -e 's:$(CC):@CC@:g' \
- -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
- -e 's: $(DEBUG)::g' \
- -e 's:$(OBJARCH)::g' \
- -e 's:ARCH:TARCH:g' \
- -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
- "${MKF}.in" \
- || die "Sed failed for ${MKF}"
- makefiles+=" ${MKF}"
- done
- # autodetection of compiler and settings; generates the modified Makefiles
- cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
- # Use the correct pkgconfig name for Lua
- has_version 'dev-lang/lua:5.1' \
- && LUAPKGCONFIG=lua5.1 \
- || LUAPKGCONFIG=lua
- sed -i \
- -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
- -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
- -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with luajit)
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- tc-export CC AR RANLIB
-
- local myconf=""
-
- if use tcmalloc; then
- myconf="${myconf} USE_TCMALLOC=yes"
- elif use jemalloc; then
- myconf="${myconf} JEMALLOC_SHARED=yes"
- else
- myconf="${myconf} MALLOC=yes"
- fi
-
- emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
-}
-
-src_install() {
- insinto /etc/
- doins redis.conf sentinel.conf
- use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
- fperms 0644 /etc/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r1" redis
- newinitd "${FILESDIR}/redis.initd-5" redis
-
- systemd_newunit "${FILESDIR}/redis.service-2" redis.service
- systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
- dobin src/redis-cli
- dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
- fperms 0750 /usr/sbin/redis-benchmark
- dosym redis-server /usr/sbin/redis-sentinel
-
- if use prefix; then
- diropts -m0750
- else
- diropts -m0750 -o redis -g redis
- fi
- keepdir /var/{log,lib}/redis
-}