diff options
Diffstat (limited to 'dev-db')
26 files changed, 2234 insertions, 191 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz Binary files differindex ed08373a6bfc..5b7294bf4dfd 100644 --- a/dev-db/Manifest.gz +++ b/dev-db/Manifest.gz 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 -} |