Sync with portage [Tue Sep 18 22:45:09 MSK 2018].

mhiretskiy 1223
root 6 years ago
parent f2c7f51f1d
commit bc9791f29d

Binary file not shown.

Binary file not shown.

@ -1 +1 @@
DIST logstalgia-1.0.7.tar.gz 902050 BLAKE2B 1ba368134c6335949e19a64b4b9167337a7475eac423fc14a3b906c89fa5a84e0062e1e123ef4c2b998c7596710df1844c5e7a46792d0f075b001ccaaa9c6c8d SHA512 862950ec387e27d72fe127fcccd37d1e6a0ed8b77fb243c119ef8b48b5bc45092d1b6881b9afbc016969e80a427fa4e210aa5d35524baf191d0c4fad5f91e3a9
DIST logstalgia-1.1.2.tar.gz 2330691 BLAKE2B 20fb549282dde860ef1db272c75360219ce4614838264a2ad7dbaa25cd3c8509f215d61ec88679165eda9619d8a3d83d9201796fa7691517ca822fa110f37d14 SHA512 e2bd41cbc6edabc1ff82d0da4ad6f749e0e6d44e5a23ea976c31d19339f56e5f693ba86b81ceee3c7590842df61d61fe69f1378711b8e7d1c30deff330cacb1e

@ -1,10 +1,10 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
DESCRIPTION="Replays or streams an access_log as a retro arcade game-like simulation"
HOMEPAGE="http://logstalgia.io/"
HOMEPAGE="https://logstalgia.io/"
SRC_URI="https://github.com/acaudwell/Logstalgia/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-3"

@ -8,7 +8,7 @@ PYTHON_REQ_USE="sqlite?"
inherit distutils-r1
DESCRIPTION="A lightweight password-manager with multiple database backends"
HOMEPAGE="https://pwman3.github.io"
HOMEPAGE="https://pwman3.github.io/pwman3/"
SRC_URI="https://github.com/pwman3/pwman3/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"

@ -33,3 +33,4 @@ DIST systemrescuecd-x86-5.2.0.iso 569669632 BLAKE2B fe31a68df650b46bd875b91c643c
DIST systemrescuecd-x86-5.2.1.iso 570523648 BLAKE2B 9bb6b2ff7b9930f658baddbf60ef89e86171febcfb48eb0a6ce1bfea8fd3348773a9da948370f9f310dd0e992c40aa64a4ef1442f5cd7f408f847d147074cf1f SHA512 6820f079c9e97ac0d383ed9096a120e7e31771e1d41465f4cf7f5db36a7cb83ccfaae5c5e561181c3b3cb169d4cc4a9a6904a707ecde06a6de4f2456d2a658e4
DIST systemrescuecd-x86-5.2.2.iso 572006400 BLAKE2B 2cc95acc529ae8e0525664ffbdfefaf6e4513e8135fa6af120121b0b7930b0203bd17d5d70ccafacfe0064bb8615f45aa22b6e6e3fcee8a005a0315fd9b5cf62 SHA512 7dd1ccd63775e35f6589808416468c4a9314f4a7a5d0cb1f2bc34ffb9eef3a450b0da244dfc9e325d828c39404c0cdcce27cc990eade33762c17a1e32f8db9b5
DIST systemrescuecd-x86-5.3.0.iso 607547392 BLAKE2B 92aa82e54794adc1705111776b4df21bd39f96bdbed1c6e05bb24b01fd1a12d92fb1209241289f89adca7885fd441ddd61639d5168978b95dd0784faec65f32a SHA512 082a82a2882b62012944184107b2655de6c89f5a6c26145a3edb2b5a54ff6aad6a4ef43edc0468e62895daf4d5365d2722ffa8bf4f2f8e60f1ee7d9a727b013d
DIST systemrescuecd-x86-5.3.1.iso 573913088 BLAKE2B 3c4da5777d05999e0b3e30b01dc821a4e840bb22d513fa4bfb9fdf601b9811676be8cee7ed9aae0aa7b971916add500b39172964384a2a07b3ed1cf5b946ba04 SHA512 1038622e148995450e61cd27f65af2ecb929ec8d0367fec3dbde01410a33596ec8f183d79ab931595c21deb597d60dae45ad516d8e1f00f32013729bdcd53ec8

@ -0,0 +1,61 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="The .iso image of SystemRescueCD rescue disk, x86 (+ amd64) variant"
HOMEPAGE="http://www.sysresccd.org/"
# Large ISO mirroring explicitly approved by infra in bug #588766
SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
LICENSE="GPL-2"
SLOT="${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="+isohybrid"
DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
S=${WORKDIR}
src_install() {
insinto "/usr/share/${PN%-*}"
doins "${DISTDIR}/${P}.iso"
if use isohybrid; then
set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
echo "${@}"
"${@}" || die "${*} failed"
fi
}
pkg_postinst() {
local f=${EROOT%/}/usr/share/${PN%-*}/${PN}-newest.iso
# no version newer than ours? we're the newest!
if ! has_version ">${CATEGORY}/${PF}"; then
ln -f -s -v "${P}.iso" "${f}" || die
fi
}
pkg_postrm() {
local f=${EROOT%/}/usr/share/${PN%-*}/${PN}-newest.iso
# if there is no version newer than ours installed
if ! has_version ">${CATEGORY}/${PF}"; then
# and we are truly and completely uninstalled...
if [[ ! ${REPLACED_BY_VERSION} ]]; then
# then find an older version to set the symlink to
local newest_version=$(best_version "<${CATEGORY}/${PF}")
if [[ ${newest_version} ]]; then
# update the symlink
ln -f -s -v "${newest_version%-r*}.iso" "${f}" || die
else
# last version removed? clean up the symlink
rm -v "${f}" || die
# and the parent directory
rmdir "${f%/*}" || die
fi
fi
fi
}

Binary file not shown.

@ -10,7 +10,7 @@ if [[ ${PV} == "9999" ]] ; then
else
MY_P="${PN}-${PV/_}"
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="GNU GPL'd Pico clone with more functionality"

Binary file not shown.

@ -1,2 +1,3 @@
DIST ebuild-mode-1.44.tar.xz 34468 BLAKE2B 05c420979c2e4e145ab6230e9218d2ace8250abcc07e819610e9ac1fbb86147a641b88e69328ff624f9787b87cef56f9fe02a1205a02d01a0157b0293656647e SHA512 4d9b01939af089794255faf747264f948b8b2df47936e364ccfa23da493a33f56fbce1277526089e60b716e38e248b12fac39eca0d59d4974e2e70236ffbcd44
DIST ebuild-mode-1.45.tar.xz 34520 BLAKE2B 15246a7b0a85d05270e3c4db8dc30c7e7ea704fa62644c11320fad8f25dcae8c17dbae86be5245b6ed9dd7650f247616c7a1fbd07536386ef2841b2351287f7a SHA512 b5842696bd548c11bf6164694c9d0bbd3cbfaa77b8f34cf27544033f39986610a6ec2e030c72da68f7645e851e6e377eb557d3eb721b8ad1b6b920dc8bf80750
DIST ebuild-mode-1.46.tar.xz 34928 BLAKE2B ee2686f3862fc7aa5f820311a6e45d62b153426134422c56a2a6222795163f454291da5510e86c52edee1b22b7bec641ceb132147b29243ee647774a8e91342b SHA512 e7a81c9a3692db1c6db41e138b382e3027094529d4ad3244ecde5a245340f911f8a63ce8ce8bbd7910116c704bcf8fcce90142b8863ecc1b543760ef1411833e

@ -0,0 +1,22 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit elisp readme.gentoo-r1
DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
DEPEND="sys-apps/texinfo"
DOCS="ChangeLog keyword-generation.sh"
ELISP_TEXINFO="${PN}.texi"
SITEFILE="50${PN}-gentoo-1.39.el"
DOC_CONTENTS="Some optional features may require installation of additional
packages, like dev-python/docutils-glep for glep."

Binary file not shown.

@ -1,2 +1,3 @@
DIST reg-0.15.4.tar.gz 4052737 BLAKE2B 34bc68d3cb161bbea02bfc0ed142cb764f2db64610ac7b2b92130cfc838cfa4fde4794da9fd2d38a9bb73e994cf386ac9f50beaa4435b88cf034a4f4d0b648cc SHA512 d5948b095c310c2697a2f7b80a342af6949e4cb66c521cdb370a6fbead7424d729057fe71952291ee1ed82717cd7bb29141f6a2f85c946e33fd96da1c17912dd
DIST reg-0.15.5.tar.gz 4053475 BLAKE2B 60541d7f02f3ee658fa185206f76df1045975101f0a25a636493a454984a8a2c836b1b74f7b8b6768c66ce0e12b12708b3f42d233e15ba64f0251b02a841bb76 SHA512 c1293868ea30dcdfc5251f95a5f287f8043be3a2372fdd08c0836919f6722c5931eb429f9047769b442bf3fdbb50c476e8509c62cb20b4b45d30793571cce44e
DIST reg-0.15.6.tar.gz 4071110 BLAKE2B 376313ab4aef0f8bce21ddbed8f179aec14755990f6d99e5733c1550c58998f279e3c0beee7b2e11f25167bf7fb717dd731b69571adc410ad7475afcc98baef5 SHA512 1a5635af82f7a7951af325ffbc0d84c2e35ec0ecc040873ff7f0c7037fd2677cea235348c4fb0bf9397f1fd2ccee86e96ca080a1fbc28e60eb985e55e4a8a085

@ -0,0 +1,48 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit golang-build golang-vcs-snapshot user
EGO_PN="github.com/genuinetools/reg"
GIT_COMMIT="37fbf846946ae60a75e5d30e3d6ba6d4dd0489ed"
ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
DESCRIPTION="Docker registry v2 command line client"
HOMEPAGE="https://github.com/genuinetools/reg"
SRC_URI="${ARCHIVE_URI}"
LICENSE="MIT"
SLOT="0"
IUSE=""
RESTRICT="test"
pkg_setup() {
enewgroup reg
enewuser reg -1 -1 /var/lib/reg reg
}
src_prepare() {
pushd src/${EGO_PN} || die
default
popd || die
}
src_compile() {
pushd src/${EGO_PN} || die
GOPATH="${S}" go build -v -ldflags "-X ${EGO_PN}/version.GITCOMMIT=${GIT_COMMIT} -X ${EGO_PN}/version.VERSION=${PV}" -o "${S}"/bin/reg . || die
popd || die
}
src_install() {
dobin bin/*
dodoc src/${EGO_PN}/README.md
insinto /var/lib/${PN}
doins -r src/${EGO_PN}/server/*
newinitd "${FILESDIR}"/reg.initd reg
newconfd "${FILESDIR}"/reg.confd reg
keepdir /var/log/reg
fowners -R reg:reg /var/log/reg /var/lib/reg/static
}

@ -3,5 +3,9 @@ DIST lwip-1.3.0.tar.gz 398933 BLAKE2B 3567a593eec3d247213daaaab57d9456c9cae50329
DIST newlib-1.16.0.tar.gz 12024353 BLAKE2B 26d3308148fb99baf8ad02eee4cc699cfac690100ea63aaa4be03b86d12dade238478342514bd083cbc3d27964ac42eb8dae3873fdac5ff2c593fc4fb39b2309 SHA512 40eb96bbc6736a16b6399e0cdb73e853d0d90b685c967e77899183446664d64570277a633fdafdefc351b46ce210a99115769a1d9f47ac749d7e82837d4d1ac3
DIST pciutils-2.2.9.tar.bz2 212265 BLAKE2B 014b664e90c64e7255c9e21fc25a2cc60d57f47ce282fc0331a0481a460b237783bd3774dd0689e1596d4a0be0d2889faad904da01a6f02147464bce1d1b1bc0 SHA512 2b3d98d027e46d8c08037366dde6f0781ca03c610ef2b380984639e4ef39899ed8d8b8e4cd9c9dc54df101279b95879bd66bfd4d04ad07fef41e847ea7ae32b5
DIST polarssl-1.1.4-gpl.tgz 611340 BLAKE2B 613da06dda9e4b86db5a4d616a0a0afee98c907c3c6b352eed3d9e500fc5739e62eb4f6fc32ff02579c6a6de9bd49fcd2c8bd8b2d158a5050cbaa82118d61ef0 SHA512 88da614e4d3f4409c4fd3bb3e44c7587ba051e3fed4e33d526069a67e8180212e1ea22da984656f50e290049f60ddca65383e5983c0f8884f648d71f698303ad
DIST xen-4.10.1-upstream-patches-2.tar.xz 117588 BLAKE2B ddcd58964117652b50f3524d89089e2e9b14a8399fb5bd2db5d12827035ab94cedbfd5d65134d8953e4062a50e0e8a9b320e9c34008db8fd364456f47fd9cd26 SHA512 49ee8497af3753f3d611bf12c65fb7a79abb018862f1af096e9dde3ddfe8780bb95fc3da338c8d5f16a5d6d233d606d4cf8025a3d0e2897bf2668a1d5b27b198
DIST xen-4.10.1.tar.gz 24674240 BLAKE2B f9a7e0c637db865ab32ad6b6185ab96022903aff65a18e194286a3fc372d4a45f6682cd636b7ac5b4fa0125e54ed51f8876a411d498cf75791718fd088c4a6d2 SHA512 236c02bee69e33644703ed26d323d4c491a91fc05bd0ee0990a7368579f7c82f5bb4510845bf80348fd923024d7d60d521f593dfd0365d971dc592f8ef10fbea
DIST xen-4.11.0-upstream-patches-1.tar.xz 56664 BLAKE2B 27579f4e628bb0d3fdd59f7e133e9134d4ca175842dfdae3a3f765b133254239ae3bca94d75dd655735b5bcbd67f9b8d444dd227028642e6e459e57ed8a20341 SHA512 e90b8e7fa9433e93b1620a776833a6d3578babebe5d73dcaae11186f473945a2270046932ab314a9c6049d3b460a655456f487a5b59730fe88a4f08d482c47a1
DIST xen-4.11.0.tar.gz 25131533 BLAKE2B 892639b8bcd9b9956104e4d5137ffd88e17f92d965fa967b4af8d74a4fddcc21c6971c53026e0fb5ce833ab2c25c68f827abcac0b7b1dcebc21dca645c465573 SHA512 33d431c194f10d5ee767558404a1f80a66b3df019012b0bbd587fcbc9524e1bba7ea04269020ce891fe9d211d2f81c63bf78abedcdbe1595aee26251c803a50a
DIST xen-4.9.2.tar.gz 23392753 BLAKE2B 5f96f0e5062eff8ac2971eef85ea2bae0e94e7542151237937a1cf7e74690bb0ce1c952e830d2fc13b3277f70b9ed1de511afe4f780ad7b3be0c58742ece39b2 SHA512 e06aec25439abcc548c174ba8e271c23031ea704bcc2480905140aa68490064fbb1c58d9c4174f6617b4f7bbcddfda284317df6f480a6e5b5b5a2c71fbe0ac93
DIST zlib-1.2.3.tar.gz 496597 BLAKE2B 603020b70cd52b83e48bde420b86e2acfd29d69bf7476eecbeeb07d1b8bcab703d2cbd3eab77772990bddb8c268f13594592ce985798d49e2d6ba25104d49f22 SHA512 021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e

@ -0,0 +1,163 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE='xml,threads'
inherit eutils flag-o-matic multilib python-single-r1 toolchain-funcs
XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles"
LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci
GRUB_URL=mirror://gnu-alpha/grub
UPSTREAM_VER=2
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
SRC_URI="
https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz
$GRUB_URL/grub-0.97.tar.gz
$XEN_EXTFILES_URL/zlib-1.2.3.tar.gz
$LIBPCI_URL/pciutils-2.2.9.tar.bz2
$XEN_EXTFILES_URL/lwip-1.3.0.tar.gz
$XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz
$XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz
${UPSTREAM_PATCHSET_URI}"
S="${WORKDIR}/xen-${PV}"
DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem"
HOMEPAGE="https://www.xenproject.org"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="custom-cflags"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="sys-devel/gettext
sys-devel/bin86
sys-apps/texinfo
x11-libs/pixman"
RDEPEND="${PYTHON_DEPS}
>=app-emulation/xen-tools-${PV}"
pkg_setup() {
python-single-r1_pkg_setup
}
retar-externals() {
# Purely to unclutter src_prepare
local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz polarssl-1.1.4-gpl.tgz zlib-1.2.3.tar.gz"
# epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative
sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \
-i "${WORKDIR}"/zlib-1.2.3/configure
sed -e 's:^AR=ar rc:AR=ar:' \
-e s':$(AR) $@:$(AR) rc $@:' \
-i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in}
einfo "zlib Makefile edited"
cd "${WORKDIR}"
tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz
tar czp grub-0.97 -f grub-0.97.tar.gz
tar czp lwip -f lwip-1.3.0.tar.gz
tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz
tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz
mv $set "${S}"/stubdom/
einfo "tarballs moved to source"
}
src_prepare() {
# Upstream's patchset
if [[ -n ${UPSTREAM_VER} ]]; then
einfo "Try to apply Xen Upstream patch set"
EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" \
EPATCH_OPTS="-p1" \
epatch "${WORKDIR}"/patches-upstream
fi
# if the user *really* wants to use their own custom-cflags, let them
if use custom-cflags; then
einfo "User wants their own CFLAGS - removing defaults"
# try and remove all the default custom-cflags
find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
-i {} \;
fi
# Patch the unmergeable newlib, fix most of the leftover gcc QA issues
cp "${FILESDIR}"/newlib-implicits.patch stubdom || die
# Patch stubdom/Makefile to patch insource newlib & prevent internal downloading
epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-externals.patch
# fix jobserver in Makefile
epatch "${FILESDIR}"/${PN}-4.8-jserver.patch
#Substitute for internal downloading. pciutils copied only due to the only .bz2
cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
retar-externals || die "re-tar procedure failed"
default
}
src_configure() {
local myconf="--prefix=${PREFIX}/usr \
--libdir=${PREFIX}/usr/$(get_libdir) \
--libexecdir=${PREFIX}/usr/libexec \
--disable-werror \
--disable-xen"
econf ${myconf}
}
src_compile() {
use custom-cflags || unset CFLAGS
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/libs
if use x86; then
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
elif use amd64; then
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub
if has_multilib_profile; then
multilib_toolchain_setup x86
emake CC="$(tc-getCC)" AR="$(tc-getAR)" \
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
fi
fi
}
src_install() {
if use x86; then
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
fi
if use amd64; then
emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub
if has_multilib_profile; then
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
fi
fi
}
pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
}

@ -0,0 +1,163 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE='xml,threads'
inherit eutils flag-o-matic multilib python-single-r1 toolchain-funcs
XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles"
LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci
GRUB_URL=mirror://gnu-alpha/grub
UPSTREAM_VER=1
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
SRC_URI="
https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz
$GRUB_URL/grub-0.97.tar.gz
$XEN_EXTFILES_URL/zlib-1.2.3.tar.gz
$LIBPCI_URL/pciutils-2.2.9.tar.bz2
$XEN_EXTFILES_URL/lwip-1.3.0.tar.gz
$XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz
$XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz
${UPSTREAM_PATCHSET_URI}"
S="${WORKDIR}/xen-${PV}"
DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem"
HOMEPAGE="https://www.xenproject.org"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="custom-cflags"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="sys-devel/gettext
sys-devel/bin86
sys-apps/texinfo
x11-libs/pixman"
RDEPEND="${PYTHON_DEPS}
>=app-emulation/xen-tools-${PV}"
pkg_setup() {
python-single-r1_pkg_setup
}
retar-externals() {
# Purely to unclutter src_prepare
local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz polarssl-1.1.4-gpl.tgz zlib-1.2.3.tar.gz"
# epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative
sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \
-i "${WORKDIR}"/zlib-1.2.3/configure
sed -e 's:^AR=ar rc:AR=ar:' \
-e s':$(AR) $@:$(AR) rc $@:' \
-i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in}
einfo "zlib Makefile edited"
cd "${WORKDIR}"
tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz
tar czp grub-0.97 -f grub-0.97.tar.gz
tar czp lwip -f lwip-1.3.0.tar.gz
tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz
tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz
mv $set "${S}"/stubdom/
einfo "tarballs moved to source"
}
src_prepare() {
# Upstream's patchset
if [[ -n ${UPSTREAM_VER} ]]; then
einfo "Try to apply Xen Upstream patch set"
EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" \
EPATCH_OPTS="-p1" \
epatch "${WORKDIR}"/patches-upstream
fi
# if the user *really* wants to use their own custom-cflags, let them
if use custom-cflags; then
einfo "User wants their own CFLAGS - removing defaults"
# try and remove all the default custom-cflags
find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
-i {} \;
fi
# Patch the unmergeable newlib, fix most of the leftover gcc QA issues
cp "${FILESDIR}"/newlib-implicits.patch stubdom || die
# Patch stubdom/Makefile to patch insource newlib & prevent internal downloading
epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-externals.patch
# fix jobserver in Makefile
epatch "${FILESDIR}"/${PN}-4.8-jserver.patch
#Substitute for internal downloading. pciutils copied only due to the only .bz2
cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
retar-externals || die "re-tar procedure failed"
default
}
src_configure() {
local myconf="--prefix=${PREFIX}/usr \
--libdir=${PREFIX}/usr/$(get_libdir) \
--libexecdir=${PREFIX}/usr/libexec \
--disable-werror \
--disable-xen"
econf ${myconf}
}
src_compile() {
use custom-cflags || unset CFLAGS
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/libs
if use x86; then
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
elif use amd64; then
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub
if has_multilib_profile; then
multilib_toolchain_setup x86
emake CC="$(tc-getCC)" AR="$(tc-getAR)" \
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
fi
fi
}
src_install() {
if use x86; then
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
fi
if use amd64; then
emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub
if has_multilib_profile; then
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
fi
fi
}
pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
}

@ -17,7 +17,7 @@ if [[ $PV == *9999 ]]; then
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
KEYWORDS="amd64 ~arm ~arm64 ~x86"
UPSTREAM_VER=2
SECURITY_VER=
# xen-tools's gentoo patches tarball

@ -12,11 +12,11 @@ MY_P=${PN}-${MY_PV}
if [[ $PV == *9999 ]]; then
inherit git-r3
KEYWORDS=""
KEYWORDS="amd64"
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
KEYWORDS="~amd64 ~arm -x86"
KEYWORDS="amd64 ~arm -x86"
UPSTREAM_VER=2
SECURITY_VER=
GENTOO_VER=

Binary file not shown.

@ -1 +1,2 @@
DIST fujiplay-1.33.tar.gz 12588 BLAKE2B 4be2b4d44696f5d43942c19cde308874684c87762b2778026750c4db9ba249c2ec8b7986bca5c526c7199289b3094157c068067db38a015372fd6fbd5a1e285d SHA512 168ce95b6926da2438fb858b2537060877145b28638217214f72833fcc75b76dd7e5bba9ed0ca966cd2f7f1c31ca3302ee4662907bf743c393314d615d795149
DIST fujiplay.tgz 12588 BLAKE2B 4be2b4d44696f5d43942c19cde308874684c87762b2778026750c4db9ba249c2ec8b7986bca5c526c7199289b3094157c068067db38a015372fd6fbd5a1e285d SHA512 168ce95b6926da2438fb858b2537060877145b28638217214f72833fcc75b76dd7e5bba9ed0ca966cd2f7f1c31ca3302ee4662907bf743c393314d615d795149

@ -1,5 +1,5 @@
--- fujiplay.c 1999-02-23 10:30:31.000000000 +0100
+++ fujiplay.c 2006-08-05 00:50:08.000000000 +0200
--- a/fujiplay.c 1999-02-23 10:30:31.000000000 +0100
+++ b/fujiplay.c 2006-08-05 00:50:08.000000000 +0200
@@ -759,40 +759,38 @@
return 1;
}

@ -0,0 +1,45 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Utility for Fujifilm/Leica digital cameras (via serial port)"
HOMEPAGE="https://www.math.u-psud.fr/~bousch/fujiplay.html"
SRC_URI="https://www.math.u-psud.fr/~bousch/${PN}.tgz -> ${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}"
PATCHES=( "${FILESDIR}"/${P}-unterminated-strings.patch )
src_compile() {
emake CC="$(tc-getCC)" \
CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS}"
}
src_install() {
dobin fujiplay yycc2ppm
dodoc README fujiplay.lsm mx700-commands.html
emake all clean
}
pkg_postinst() {
ln -s /dev/ttyS0 /dev/fujifilm || die
elog "A symbolic link /dev/ttyS0 -> /dev/fujifilm was created."
elog "You may want to create a serial group to allow non-root"
elog "members R/W access to the serial device."
elog
}
pkg_postrm() {
rm -f /dev/fujifilm || die
elog
elog "The symbolic link /dev/fujifilm was removed."
elog
}

@ -1,2 +1 @@
DIST tmux-xpanes-2.2.2.tar.gz 34457 BLAKE2B b4f33ac6576db4100a4d6895c3c705fe3d44093a1c63d89c20f4203fb71160415903ae70880387f0419ec5bebdb9244a9e5802d9ae8a9c441e3ceebea1e70582 SHA512 0d5242daf95c0af78b64184ba1473620783072851f34fe2a91d4806dc529402bd506ada2e8a455b687f4504bac5cac8300249d555446edaa54a41f3b2eddd45c
DIST tmux-xpanes-3.0.0.tar.gz 45256 BLAKE2B 6637e27816af643498bb7523fcdd39fc5e9272adb83101a20fd5c77f0917ae832986b3f811dab2020b0906dd81808438b9dba5cef737d502a0d91d2a72c4de19 SHA512 2a7187ac7251211f7fd6832cc60182621ae12f40de30cb3826452ea0e8b032351a261d1b1e7d79d87dfea3bbe95fd5140157e1b1e1ff29492f4df489aaec4711

@ -1,36 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="tmux-based terminal divider"
HOMEPAGE="https://github.com/greymd/tmux-xpanes"
SRC_URI="https://github.com/greymd/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 x86"
LICENSE="MIT"
SLOT="0"
IUSE="zsh-completion"
RDEPEND="
app-misc/tmux
dev-lang/perl
dev-libs/openssl:0=
zsh-completion? ( app-shells/zsh )"
DEPEND="${RDEPEND}"
RESTRICT="test"
DOCS=( CONTRIBUTING.md LICENSE README.md )
src_install() {
dobin bin/*
doman man/*.1
einstalldocs
if use zsh-completion; then
insinto /usr/share/zsh/site-functions
doins contrib/completion/zsh/*
fi
}

@ -7,7 +7,7 @@ DESCRIPTION="tmux-based terminal divider"
HOMEPAGE="https://github.com/greymd/tmux-xpanes"
SRC_URI="https://github.com/greymd/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
LICENSE="MIT"
SLOT="0"

@ -0,0 +1 @@
DIST tmux2html-0.1.11.tar.gz 20002 BLAKE2B 690e170bf903682a9bdbbfa49ec7a2995d19bfa9372533b5cecff5b7dfa4c389832a8e2315c3438d435c3b4f75bec8b7fc43161691912ef29d910779d46af24e SHA512 b478a697413acd90a92b3a349fc3c477ee1014f47816190d2066058711e2025a9f99e3f973dfd3165782a566d12aae4e3c491f58a924769d1d28c3f48c9e9601

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>monsieurp@gentoo.org</email>
<name>Patrice Clement</name>
</maintainer>
<maintainer type="project">
<email>shell-tools@gentoo.org</email>
<name>Gentoo Shell Tools Project</name>
</maintainer>
<upstream>
<remote-id type="github">greymd/tmux-xpanes</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,20 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit distutils-r1
DESCRIPTION="Render full tmux windows or individual panes as HTML"
HOMEPAGE="https://github.com/tweekmonster/tmux2html"
SRC_URI="https://github.com/tweekmonster/tmux2html/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
LICENSE="MIT"
SLOT="0"
RDEPEND="
app-misc/tmux
dev-python/setuptools[${PYTHON_USEDEP}]"

Binary file not shown.

@ -63,8 +63,8 @@ unset ADDONS_SRC
# Extensions that need extra work:
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
IUSE="bluetooth +branding coinmp +cups dbus debug eds firebird googledrive
gstreamer +gtk gtk2 kde mysql odk pdfimport postgres test vlc
IUSE="accessibility bluetooth +branding coinmp +cups dbus debug eds firebird
googledrive gstreamer +gtk gtk2 kde mysql odk pdfimport postgres test vlc
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
@ -79,7 +79,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
LICENSE="|| ( LGPL-3 MPL-1.1 )"
SLOT="0"
[[ ${MY_PV} == *9999* ]] || \
KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
COMMON_DEPEND="${PYTHON_DEPS}
app-arch/unzip
@ -144,6 +144,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
accessibility? ( dev-python/lxml[${PYTHON_USEDEP}] )
bluetooth? ( net-wireless/bluez )
coinmp? ( sci-libs/coinor-mp )
cups? ( net-print/cups )
@ -439,6 +440,7 @@ src_configure() {
$(use_enable pdfimport)
$(use_enable postgres postgresql-sdbc)
$(use_enable vlc)
$(use_with accessibility lxml)
$(use_with coinmp system-coinmp)
$(use_with googledrive gdrive-client-id ${google_default_client_id})
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})

@ -63,8 +63,8 @@ unset ADDONS_SRC
# Extensions that need extra work:
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
IUSE="bluetooth +branding coinmp +cups dbus debug eds firebird googledrive
gstreamer +gtk gtk2 kde mysql odk pdfimport postgres test vlc
IUSE="accessibility bluetooth +branding coinmp +cups dbus debug eds firebird
googledrive gstreamer +gtk gtk2 kde mysql odk pdfimport postgres test vlc
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
@ -79,7 +79,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
LICENSE="|| ( LGPL-3 MPL-1.1 )"
SLOT="0"
[[ ${MY_PV} == *9999* ]] || \
KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
COMMON_DEPEND="${PYTHON_DEPS}
app-arch/unzip
@ -144,6 +144,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
accessibility? ( dev-python/lxml[${PYTHON_USEDEP}] )
bluetooth? ( net-wireless/bluez )
coinmp? ( sci-libs/coinor-mp )
cups? ( net-print/cups )
@ -439,6 +440,7 @@ src_configure() {
$(use_enable pdfimport)
$(use_enable postgres postgresql-sdbc)
$(use_enable vlc)
$(use_with accessibility lxml)
$(use_with coinmp system-coinmp)
$(use_with googledrive gdrive-client-id ${google_default_client_id})
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})

@ -63,8 +63,8 @@ unset ADDONS_SRC
# Extensions that need extra work:
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
IUSE="bluetooth +branding coinmp +cups dbus debug eds firebird googledrive
gstreamer +gtk gtk2 kde mysql odk pdfimport postgres test vlc
IUSE="accessibility bluetooth +branding coinmp +cups dbus debug eds firebird
googledrive gstreamer +gtk gtk2 kde mysql odk pdfimport postgres test vlc
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
@ -144,6 +144,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
accessibility? ( dev-python/lxml[${PYTHON_USEDEP}] )
bluetooth? (
dev-libs/glib:2
net-wireless/bluez
@ -441,6 +442,7 @@ src_configure() {
$(use_enable pdfimport)
$(use_enable postgres postgresql-sdbc)
$(use_enable vlc)
$(use_with accessibility lxml)
$(use_with coinmp system-coinmp)
$(use_with googledrive gdrive-client-id ${google_default_client_id})
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})

Binary file not shown.

@ -11,7 +11,7 @@ SRC_URI="https://github.com/vaeth/eix/releases/download/v${PV}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc nls sqlite"
BOTHDEPEND="nls? ( virtual/libintl )

@ -11,10 +11,6 @@
<description>Upstream developer, CC on bugs, do not copy ebuilds
from his overlay</description>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="debug">Build with upstream's CXXFLAGS/LDFLAGS for debugging support; not recommended for normal use.</flag>
<flag name="doc">Create description of the eix cache file additionally in html format</flag>

@ -14,7 +14,7 @@ if [[ ${PV} == *9999 ]]; then
S="${WORKDIR}/${P}/repoman"
else
SRC_URI="https://dev.gentoo.org/~zmedico/portage/archives/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Repoman is a Quality Assurance tool for Gentoo ebuilds"

Binary file not shown.

@ -36,7 +36,7 @@ SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
[[ ${PV} == *_rc* ]] && SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
SLOT="${MY_PV}"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline"
@ -170,83 +170,15 @@ src_compile() {
}
src_install() {
local d f
default
dodir /bin
mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
dosym bash /bin/rbash
insinto /etc/bash
doins "${FILESDIR}"/bash_logout
doins "${FILESDIR}"/bashrc
keepdir /etc/bash/bashrc.d
insinto /etc/skel
for f in bash{_logout,_profile,rc} ; do
newins "${FILESDIR}"/dot-${f} .${f}
done
local sed_args=(
-e "s:#${USERLAND}#@::"
-e '/#@/d'
)
if ! use readline ; then
sed_args+=( #432338
-e '/^shopt -s histappend/s:^:#:'
-e 's:use_color=true:use_color=false:'
)
fi
sed -i \
"${sed_args[@]}" \
"${ED}"/etc/skel/.bashrc \
"${ED}"/etc/bash/bashrc || die
into /
newbin bash bash-${SLOT}
if use plugins ; then
exeinto /usr/$(get_libdir)/bash
doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
insinto /usr/include/bash-plugins
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
fi
newman doc/bash.1 bash-${SLOT}.1
newman doc/builtins.1 builtins-${SLOT}.1
if use examples ; then
for d in examples/{functions,misc,scripts,startup-files} ; do
exeinto /usr/share/doc/${PF}/${d}
insinto /usr/share/doc/${PF}/${d}
for f in ${d}/* ; do
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
doexe ${f}
else
doins ${f}
fi
done
done
fi
doman doc/*.1
newdoc CWRU/changelog ChangeLog
dosym bash.info /usr/share/info/bashref.info
}
insinto /usr/share/info
newins doc/bashref.info bash-${SLOT}.info
dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
pkg_preinst() {
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
mkdir -p "${EROOT}"/etc/bash
mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
fi
if [[ -L ${EROOT}/bin/sh ]] ; then
# rewrite the symlink to ensure that its mtime changes. having /bin/sh
# missing even temporarily causes a fatal error with paludis.
local target=$(readlink "${EROOT}"/bin/sh)
local tmp=$(emktemp "${EROOT}"/bin)
ln -sf "${target}" "${tmp}"
mv -f "${tmp}" "${EROOT}"/bin/sh
fi
}
pkg_postinst() {
# If /bin/sh does not exist, provide it
if [[ ! -e ${EROOT}/bin/sh ]] ; then
ln -sf bash "${EROOT}"/bin/sh
fi
dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
}

@ -1,260 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic toolchain-funcs multilib prefix
# Official patchlevel
# See ftp://ftp.cwru.edu/pub/bash/bash-4.4-patches/
PLEVEL=${PV##*_p}
MY_PV=${PV/_p*}
MY_PV=${MY_PV/_/-}
MY_P=${PN}-${MY_PV}
is_release() {
case ${PV} in
*_alpha*|*_beta*|*_rc*) return 1 ;;
*) return 0 ;;
esac
}
[[ ${PV} != *_p* ]] && PLEVEL=0
patches() {
local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
[[ ${plevel} -eq 0 ]] && return 1
eval set -- {1..${plevel}}
set -- $(printf "${pn}${pv/\.}-%03d " "$@")
if [[ ${opt} == -s ]] ; then
echo "${@/#/${DISTDIR}/}"
else
local u
for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
printf "${u}/${pn}-${pv}-patches/%s " "$@"
done
fi
}
# The version of readline this bash normally ships with.
READLINE_VER="7.0"
DESCRIPTION="The standard GNU Bourne again shell"
HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
if is_release ; then
SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
else
SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
fi
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline"
DEPEND="
>=sys-libs/ncurses-5.2-r2:0=
readline? ( >=sys-libs/readline-${READLINE_VER}:0= )
nls? ( virtual/libintl )
"
RDEPEND="
${DEPEND}
!<sys-apps/portage-2.1.6.7_p1
!<sys-apps/paludis-0.26.0_alpha5
"
# we only need yacc when the .y files get patched (bash42-005)
#DEPEND+=" virtual/yacc"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
if is-flag -malign-double ; then #7332
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
eerror "as it breaks LFS (struct stat64) on x86."
die "remove -malign-double from your CFLAGS mr ricer"
fi
if use bashlogger ; then
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
ewarn "This will log ALL output you enter into the shell, you have been warned."
fi
}
src_unpack() {
unpack ${MY_P}.tar.gz
}
src_prepare() {
# Include official patches
[[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s)
eapply "${FILESDIR}/${PN}-4.4-jobs_overflow.patch" #644720
# Clean out local libs so we know we use system ones w/releases.
if is_release ; then
rm -rf lib/{readline,termcap}/*
touch lib/{readline,termcap}/Makefile.in # for config.status
sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
fi
# Prefixify hardcoded path names. No-op for non-prefix.
hprefixify pathnames.h.in
# Avoid regenerating docs after patches #407985
sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
touch -r . doc/*
eapply_user
}
src_configure() {
local myconf=(
--disable-profiling
--docdir='$(datarootdir)'/doc/${PF}
--htmldir='$(docdir)/html'
--with-curses
$(use_enable mem-scramble)
$(use_enable net net-redirections)
$(use_enable readline)
$(use_enable readline bang-history)
$(use_enable readline history)
$(use_with afs)
$(use_with mem-scramble bash-malloc)
)
# For descriptions of these, see config-top.h
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
append-cppflags \
-DDEFAULT_PATH_VALUE=\'\"${EPREFIX}/usr/local/sbin:${EPREFIX}/usr/local/bin:${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin\"\' \
-DSTANDARD_UTILS_PATH=\'\"${EPREFIX}/bin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/usr/sbin\"\' \
-DSYS_BASHRC=\'\"${EPREFIX}/etc/bash/bashrc\"\' \
-DSYS_BASH_LOGOUT=\'\"${EPREFIX}/etc/bash/bash_logout\"\' \
-DNON_INTERACTIVE_LOGIN_SHELLS \
-DSSH_SOURCE_BASHRC \
$(use bashlogger && echo -DSYSLOG_HISTORY)
# Don't even think about building this statically without
# reading Bug 7714 first. If you still build it statically,
# don't come crying to us with bugs ;).
#use static && export LDFLAGS="${LDFLAGS} -static"
use nls || myconf+=( --disable-nls )
# Historically, we always used the builtin readline, but since
# our handling of SONAME upgrades has gotten much more stable
# in the PM (and the readline ebuild itself preserves the old
# libs during upgrades), linking against the system copy should
# be safe.
# Exact cached version here doesn't really matter as long as it
# is at least what's in the DEPEND up above.
export ac_cv_rl_version=${READLINE_VER%%_*}
# Force linking with system curses ... the bundled termcap lib
# sucks bad compared to ncurses. For the most part, ncurses
# is here because readline needs it. But bash itself calls
# ncurses in one or two small places :(.
if is_release ; then
# Use system readline only with released versions.
myconf+=( --with-installed-readline=. )
fi
if use plugins; then
append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
else
# Disable the plugins logic by hand since bash doesn't
# provide a way of doing it.
export ac_cv_func_dl{close,open,sym}=no \
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
sed -i \
-e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
configure || die
fi
tc-export AR #444070
econf "${myconf[@]}"
}
src_compile() {
emake
if use plugins ; then
emake -C examples/loadables all others
fi
}
src_install() {
local d f
default
dodir /bin
mv "${ED%/}"/usr/bin/bash "${ED%/}"/bin/ || die
dosym bash /bin/rbash
insinto /etc/bash
doins "${FILESDIR}"/bash_logout
doins "$(prefixify_ro "${FILESDIR}"/bashrc)"
keepdir /etc/bash/bashrc.d
insinto /etc/skel
for f in bash{_logout,_profile,rc} ; do
newins "${FILESDIR}"/dot-${f} .${f}
done
local sed_args=(
-e "s:#${USERLAND}#@::"
-e '/#@/d'
)
if ! use readline ; then
sed_args+=( #432338
-e '/^shopt -s histappend/s:^:#:'
-e 's:use_color=true:use_color=false:'
)
fi
sed -i \
"${sed_args[@]}" \
"${ED%/}"/etc/skel/.bashrc \
"${ED%/}"/etc/bash/bashrc || die
if use plugins ; then
exeinto /usr/$(get_libdir)/bash
doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
insinto /usr/include/bash-plugins
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
fi
if use examples ; then
for d in examples/{functions,misc,scripts,startup-files} ; do
exeinto /usr/share/doc/${PF}/${d}
insinto /usr/share/doc/${PF}/${d}
for f in ${d}/* ; do
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
doexe ${f}
else
doins ${f}
fi
done
done
fi
doman doc/*.1
newdoc CWRU/changelog ChangeLog
dosym bash.info /usr/share/info/bashref.info
}
pkg_preinst() {
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
mkdir -p "${EROOT}"/etc/bash
mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
fi
if [[ -L ${EROOT}/bin/sh ]] ; then
# rewrite the symlink to ensure that its mtime changes. having /bin/sh
# missing even temporarily causes a fatal error with paludis.
local target=$(readlink "${EROOT}"/bin/sh)
local tmp=$(emktemp "${EROOT}"/bin)
ln -sf "${target}" "${tmp}"
mv -f "${tmp}" "${EROOT}"/bin/sh
fi
}
pkg_postinst() {
# If /bin/sh does not exist, provide it
if [[ ! -e ${EROOT}/bin/sh ]] ; then
ln -sf bash "${EROOT}"/bin/sh
fi
}

@ -1,260 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic toolchain-funcs multilib prefix
# Official patchlevel
# See ftp://ftp.cwru.edu/pub/bash/bash-4.4-patches/
PLEVEL=${PV##*_p}
MY_PV=${PV/_p*}
MY_PV=${MY_PV/_/-}
MY_P=${PN}-${MY_PV}
is_release() {
case ${PV} in
*_alpha*|*_beta*|*_rc*) return 1 ;;
*) return 0 ;;
esac
}
[[ ${PV} != *_p* ]] && PLEVEL=0
patches() {
local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
[[ ${plevel} -eq 0 ]] && return 1
eval set -- {1..${plevel}}
set -- $(printf "${pn}${pv/\.}-%03d " "$@")
if [[ ${opt} == -s ]] ; then
echo "${@/#/${DISTDIR}/}"
else
local u
for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
printf "${u}/${pn}-${pv}-patches/%s " "$@"
done
fi
}
# The version of readline this bash normally ships with.
READLINE_VER="7.0"
DESCRIPTION="The standard GNU Bourne again shell"
HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
if is_release ; then
SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
else
SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
fi
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline"
DEPEND="
>=sys-libs/ncurses-5.2-r2:0=
readline? ( >=sys-libs/readline-${READLINE_VER}:0= )
nls? ( virtual/libintl )
"
RDEPEND="
${DEPEND}
!<sys-apps/portage-2.1.6.7_p1
!<sys-apps/paludis-0.26.0_alpha5
"
# we only need yacc when the .y files get patched (bash42-005)
#DEPEND+=" virtual/yacc"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
if is-flag -malign-double ; then #7332
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
eerror "as it breaks LFS (struct stat64) on x86."
die "remove -malign-double from your CFLAGS mr ricer"
fi
if use bashlogger ; then
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
ewarn "This will log ALL output you enter into the shell, you have been warned."
fi
}
src_unpack() {
unpack ${MY_P}.tar.gz
}
src_prepare() {
# Include official patches
[[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s)
eapply "${FILESDIR}/${PN}-4.4-jobs_overflow.patch" #644720
# Clean out local libs so we know we use system ones w/releases.
if is_release ; then
rm -rf lib/{readline,termcap}/*
touch lib/{readline,termcap}/Makefile.in # for config.status
sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
fi
# Prefixify hardcoded path names. No-op for non-prefix.
hprefixify pathnames.h.in
# Avoid regenerating docs after patches #407985
sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
touch -r . doc/*
eapply_user
}
src_configure() {
local myconf=(
--disable-profiling
--docdir='$(datarootdir)'/doc/${PF}
--htmldir='$(docdir)/html'
--with-curses
$(use_enable mem-scramble)
$(use_enable net net-redirections)
$(use_enable readline)
$(use_enable readline bang-history)
$(use_enable readline history)
$(use_with afs)
$(use_with mem-scramble bash-malloc)
)
# For descriptions of these, see config-top.h
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
append-cppflags \
-DDEFAULT_PATH_VALUE=\'\"${EPREFIX}/usr/local/sbin:${EPREFIX}/usr/local/bin:${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin\"\' \
-DSTANDARD_UTILS_PATH=\'\"${EPREFIX}/bin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/usr/sbin\"\' \
-DSYS_BASHRC=\'\"${EPREFIX}/etc/bash/bashrc\"\' \
-DSYS_BASH_LOGOUT=\'\"${EPREFIX}/etc/bash/bash_logout\"\' \
-DNON_INTERACTIVE_LOGIN_SHELLS \
-DSSH_SOURCE_BASHRC \
$(use bashlogger && echo -DSYSLOG_HISTORY)
# Don't even think about building this statically without
# reading Bug 7714 first. If you still build it statically,
# don't come crying to us with bugs ;).
#use static && export LDFLAGS="${LDFLAGS} -static"
use nls || myconf+=( --disable-nls )
# Historically, we always used the builtin readline, but since
# our handling of SONAME upgrades has gotten much more stable
# in the PM (and the readline ebuild itself preserves the old
# libs during upgrades), linking against the system copy should
# be safe.
# Exact cached version here doesn't really matter as long as it
# is at least what's in the DEPEND up above.
export ac_cv_rl_version=${READLINE_VER%%_*}
# Force linking with system curses ... the bundled termcap lib
# sucks bad compared to ncurses. For the most part, ncurses
# is here because readline needs it. But bash itself calls
# ncurses in one or two small places :(.
if is_release ; then
# Use system readline only with released versions.
myconf+=( --with-installed-readline=. )
fi
if use plugins; then
append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
else
# Disable the plugins logic by hand since bash doesn't
# provide a way of doing it.
export ac_cv_func_dl{close,open,sym}=no \
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
sed -i \
-e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
configure || die
fi
tc-export AR #444070
econf "${myconf[@]}"
}
src_compile() {
emake
if use plugins ; then
emake -C examples/loadables all others
fi
}
src_install() {
local d f
default
dodir /bin
mv "${ED%/}"/usr/bin/bash "${ED%/}"/bin/ || die
dosym bash /bin/rbash
insinto /etc/bash
doins "${FILESDIR}"/bash_logout
doins "$(prefixify_ro "${FILESDIR}"/bashrc)"
keepdir /etc/bash/bashrc.d
insinto /etc/skel
for f in bash{_logout,_profile,rc} ; do
newins "${FILESDIR}"/dot-${f} .${f}
done
local sed_args=(
-e "s:#${USERLAND}#@::"
-e '/#@/d'
)
if ! use readline ; then
sed_args+=( #432338
-e '/^shopt -s histappend/s:^:#:'
-e 's:use_color=true:use_color=false:'
)
fi
sed -i \
"${sed_args[@]}" \
"${ED%/}"/etc/skel/.bashrc \
"${ED%/}"/etc/bash/bashrc || die
if use plugins ; then
exeinto /usr/$(get_libdir)/bash
doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
insinto /usr/include/bash-plugins
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
fi
if use examples ; then
for d in examples/{functions,misc,scripts,startup-files} ; do
exeinto /usr/share/doc/${PF}/${d}
insinto /usr/share/doc/${PF}/${d}
for f in ${d}/* ; do
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
doexe ${f}
else
doins ${f}
fi
done
done
fi
doman doc/*.1
newdoc CWRU/changelog ChangeLog
dosym bash.info /usr/share/info/bashref.info
}
pkg_preinst() {
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
mkdir -p "${EROOT}"/etc/bash
mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
fi
if [[ -L ${EROOT}/bin/sh ]] ; then
# rewrite the symlink to ensure that its mtime changes. having /bin/sh
# missing even temporarily causes a fatal error with paludis.
local target=$(readlink "${EROOT}"/bin/sh)
local tmp=$(emktemp "${EROOT}"/bin)
ln -sf "${target}" "${tmp}"
mv -f "${tmp}" "${EROOT}"/bin/sh
fi
}
pkg_postinst() {
# If /bin/sh does not exist, provide it
if [[ ! -e ${EROOT}/bin/sh ]] ; then
ln -sf bash "${EROOT}"/bin/sh
fi
}

@ -1,260 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic toolchain-funcs multilib prefix
# Official patchlevel
# See ftp://ftp.cwru.edu/pub/bash/bash-4.4-patches/
PLEVEL=${PV##*_p}
MY_PV=${PV/_p*}
MY_PV=${MY_PV/_/-}
MY_P=${PN}-${MY_PV}
is_release() {
case ${PV} in
*_alpha*|*_beta*|*_rc*) return 1 ;;
*) return 0 ;;
esac
}
[[ ${PV} != *_p* ]] && PLEVEL=0
patches() {
local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
[[ ${plevel} -eq 0 ]] && return 1
eval set -- {1..${plevel}}
set -- $(printf "${pn}${pv/\.}-%03d " "$@")
if [[ ${opt} == -s ]] ; then
echo "${@/#/${DISTDIR}/}"
else
local u
for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
printf "${u}/${pn}-${pv}-patches/%s " "$@"
done
fi
}
# The version of readline this bash normally ships with.
READLINE_VER="7.0"
DESCRIPTION="The standard GNU Bourne again shell"
HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
if is_release ; then
SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
else
SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
fi
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline"
DEPEND="
>=sys-libs/ncurses-5.2-r2:0=
readline? ( >=sys-libs/readline-${READLINE_VER}:0= )
nls? ( virtual/libintl )
"
RDEPEND="
${DEPEND}
!<sys-apps/portage-2.1.6.7_p1
!<sys-apps/paludis-0.26.0_alpha5
"
# we only need yacc when the .y files get patched (bash42-005)
#DEPEND+=" virtual/yacc"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
if is-flag -malign-double ; then #7332
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
eerror "as it breaks LFS (struct stat64) on x86."
die "remove -malign-double from your CFLAGS mr ricer"
fi
if use bashlogger ; then
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
ewarn "This will log ALL output you enter into the shell, you have been warned."
fi
}
src_unpack() {
unpack ${MY_P}.tar.gz
}
src_prepare() {
# Include official patches
[[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s)
eapply "${FILESDIR}/${PN}-4.4-jobs_overflow.patch" #644720
# Clean out local libs so we know we use system ones w/releases.
if is_release ; then
rm -rf lib/{readline,termcap}/*
touch lib/{readline,termcap}/Makefile.in # for config.status
sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
fi
# Prefixify hardcoded path names. No-op for non-prefix.
hprefixify pathnames.h.in
# Avoid regenerating docs after patches #407985
sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
touch -r . doc/*
eapply_user
}
src_configure() {
local myconf=(
--disable-profiling
--docdir='$(datarootdir)'/doc/${PF}
--htmldir='$(docdir)/html'
--with-curses
$(use_enable mem-scramble)
$(use_enable net net-redirections)
$(use_enable readline)
$(use_enable readline bang-history)
$(use_enable readline history)
$(use_with afs)
$(use_with mem-scramble bash-malloc)
)
# For descriptions of these, see config-top.h
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
append-cppflags \
-DDEFAULT_PATH_VALUE=\'\"${EPREFIX}/usr/local/sbin:${EPREFIX}/usr/local/bin:${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin\"\' \
-DSTANDARD_UTILS_PATH=\'\"${EPREFIX}/bin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/usr/sbin\"\' \
-DSYS_BASHRC=\'\"${EPREFIX}/etc/bash/bashrc\"\' \
-DSYS_BASH_LOGOUT=\'\"${EPREFIX}/etc/bash/bash_logout\"\' \
-DNON_INTERACTIVE_LOGIN_SHELLS \
-DSSH_SOURCE_BASHRC \
$(use bashlogger && echo -DSYSLOG_HISTORY)
# Don't even think about building this statically without
# reading Bug 7714 first. If you still build it statically,
# don't come crying to us with bugs ;).
#use static && export LDFLAGS="${LDFLAGS} -static"
use nls || myconf+=( --disable-nls )
# Historically, we always used the builtin readline, but since
# our handling of SONAME upgrades has gotten much more stable
# in the PM (and the readline ebuild itself preserves the old
# libs during upgrades), linking against the system copy should
# be safe.
# Exact cached version here doesn't really matter as long as it
# is at least what's in the DEPEND up above.
export ac_cv_rl_version=${READLINE_VER%%_*}
# Force linking with system curses ... the bundled termcap lib
# sucks bad compared to ncurses. For the most part, ncurses
# is here because readline needs it. But bash itself calls
# ncurses in one or two small places :(.
if is_release ; then
# Use system readline only with released versions.
myconf+=( --with-installed-readline=. )
fi
if use plugins; then
append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
else
# Disable the plugins logic by hand since bash doesn't
# provide a way of doing it.
export ac_cv_func_dl{close,open,sym}=no \
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
sed -i \
-e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
configure || die
fi
tc-export AR #444070
econf "${myconf[@]}"
}
src_compile() {
emake
if use plugins ; then
emake -C examples/loadables all others
fi
}
src_install() {
local d f
default
dodir /bin
mv "${ED%/}"/usr/bin/bash "${ED%/}"/bin/ || die
dosym bash /bin/rbash
insinto /etc/bash
doins "${FILESDIR}"/bash_logout
doins "$(prefixify_ro "${FILESDIR}"/bashrc)"
keepdir /etc/bash/bashrc.d
insinto /etc/skel
for f in bash{_logout,_profile,rc} ; do
newins "${FILESDIR}"/dot-${f} .${f}
done
local sed_args=(
-e "s:#${USERLAND}#@::"
-e '/#@/d'
)
if ! use readline ; then
sed_args+=( #432338
-e '/^shopt -s histappend/s:^:#:'
-e 's:use_color=true:use_color=false:'
)
fi
sed -i \
"${sed_args[@]}" \
"${ED%/}"/etc/skel/.bashrc \
"${ED%/}"/etc/bash/bashrc || die
if use plugins ; then
exeinto /usr/$(get_libdir)/bash
doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
insinto /usr/include/bash-plugins
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
fi
if use examples ; then
for d in examples/{functions,misc,scripts,startup-files} ; do
exeinto /usr/share/doc/${PF}/${d}
insinto /usr/share/doc/${PF}/${d}
for f in ${d}/* ; do
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
doexe ${f}
else
doins ${f}
fi
done
done
fi
doman doc/*.1
newdoc CWRU/changelog ChangeLog
dosym bash.info /usr/share/info/bashref.info
}
pkg_preinst() {
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
mkdir -p "${EROOT}"/etc/bash
mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
fi
if [[ -L ${EROOT}/bin/sh ]] ; then
# rewrite the symlink to ensure that its mtime changes. having /bin/sh
# missing even temporarily causes a fatal error with paludis.
local target=$(readlink "${EROOT}"/bin/sh)
local tmp=$(emktemp "${EROOT}"/bin)
ln -sf "${target}" "${tmp}"
mv -f "${tmp}" "${EROOT}"/bin/sh
fi
}
pkg_postinst() {
# If /bin/sh does not exist, provide it
if [[ ! -e ${EROOT}/bin/sh ]] ; then
ln -sf bash "${EROOT}"/bin/sh
fi
}

@ -11,6 +11,7 @@ if [[ ${PV} == 9999* ]] ; then
else
KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SRC_URI="https://www.zsh.org/pub/${P}.tar.gz
https://www.zsh.org/pub/old/${P}.tar.gz
doc? ( https://www.zsh.org/pub/${P}-doc.tar.xz )"
fi

@ -11,6 +11,7 @@ if [[ ${PV} == 9999* ]] ; then
else
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SRC_URI="https://www.zsh.org/pub/${P}.tar.gz
https://www.zsh.org/pub/old/${P}.tar.gz
doc? ( https://www.zsh.org/pub/${P}-doc.tar.xz )"
fi

@ -11,6 +11,7 @@ if [[ ${PV} == 9999* ]] ; then
else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SRC_URI="https://www.zsh.org/pub/${P}.tar.xz
https://www.zsh.org/pub/old/${P}.tar.xz
doc? ( https://www.zsh.org/pub/${P}-doc.tar.xz )"
fi

@ -11,6 +11,7 @@ if [[ ${PV} == 9999* ]] ; then
else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SRC_URI="https://www.zsh.org/pub/${P}.tar.xz
https://www.zsh.org/pub/old/${P}.tar.xz
doc? ( https://www.zsh.org/pub/${P}-doc.tar.xz )"
fi

@ -10,7 +10,8 @@ if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://git.code.sf.net/p/zsh/code"
else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SRC_URI="https://www.zsh.org/pub/${P}.tar.gz
SRC_URI="https://www.zsh.org/pub/${P}.tar.xz
https://www.zsh.org/pub/old/${P}.tar.xz
doc? ( https://www.zsh.org/pub/${P}-doc.tar.xz )"
fi

Binary file not shown.

@ -11,7 +11,7 @@ SRC_URI="https://github.com/Numbertext/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE=""
RDEPEND=""

@ -11,7 +11,7 @@ SRC_URI="https://mupdf.com/downloads/${P}-source.tar.gz"
LICENSE="AGPL-3"
SLOT="0/${PV}"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="X +curl javascript lcms libressl opengl +openssl static static-libs vanilla"
LIB_DEPEND="

Binary file not shown.

@ -1,2 +1,3 @@
DIST ebuild-mode-1.44.tar.xz 34468 BLAKE2B 05c420979c2e4e145ab6230e9218d2ace8250abcc07e819610e9ac1fbb86147a641b88e69328ff624f9787b87cef56f9fe02a1205a02d01a0157b0293656647e SHA512 4d9b01939af089794255faf747264f948b8b2df47936e364ccfa23da493a33f56fbce1277526089e60b716e38e248b12fac39eca0d59d4974e2e70236ffbcd44
DIST ebuild-mode-1.45.tar.xz 34520 BLAKE2B 15246a7b0a85d05270e3c4db8dc30c7e7ea704fa62644c11320fad8f25dcae8c17dbae86be5245b6ed9dd7650f247616c7a1fbd07536386ef2841b2351287f7a SHA512 b5842696bd548c11bf6164694c9d0bbd3cbfaa77b8f34cf27544033f39986610a6ec2e030c72da68f7645e851e6e377eb557d3eb721b8ad1b6b920dc8bf80750
DIST ebuild-mode-1.46.tar.xz 34928 BLAKE2B ee2686f3862fc7aa5f820311a6e45d62b153426134422c56a2a6222795163f454291da5510e86c52edee1b22b7bec641ceb132147b29243ee647774a8e91342b SHA512 e7a81c9a3692db1c6db41e138b382e3027094529d4ad3244ecde5a245340f911f8a63ce8ce8bbd7910116c704bcf8fcce90142b8863ecc1b543760ef1411833e

@ -0,0 +1,25 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit xemacs-elisp
DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~x86"
RDEPEND=">=app-editors/xemacs-21.4.20-r5
app-xemacs/sh-script"
DEPEND="${RDEPEND}"
src_compile() {
${XEMACS_BATCH_CLEAN} -eval "(add-to-list 'load-path \".\")" \
-f batch-byte-compile ebuild-mode.el gentoo-newsitem-mode.el || die
xemacs-elisp-make-autoload-file \
ebuild-mode.el gentoo-newsitem-mode.el || die
}

Binary file not shown.

@ -1,17 +1,8 @@
DIST mariadb-10.0.33.tar.gz 69211872 BLAKE2B 02efa97a75ff13655e9a6d6ba562c4d14bd749b4873ac2f783f32494104f00517c2af63805afa552b6ba707aa412d61b8b3561d5d4d534bf9ad5c6f67b33cfe4 SHA512 9369399553ab336ba1ab20393b69fe5ba49e88ff86d9a448034a9d521e8d85216eb1093e040dd893fc2fb15344da3d57995074bd489be66a3b1457abab097104
DIST mariadb-10.0.34.tar.gz 69266294 BLAKE2B ee8157d1b4d5d4cc096159efb3a20321486092eb28f35d120ee99b2260e52f46d1803b62df29a4fc905de23aa009dbb4666e8457903d97d5fdb14dcbfdda4b2c SHA512 46539ef37ec3b2fb00e7d546f3bbfe48eb86d0403d33e50b1bca40c145d69ca3ac8ddaa72ddb0c1f0aa41f3177aedfe1c6c0bdb7949d47efe49aed3ed52bd47b
DIST mariadb-10.0.35.tar.gz 66551252 BLAKE2B 69cc9c78f7c47a4b1760940cb0f395b4053fcc47c1087a0c2af873d4a998ee60915e1f4e64f7fe6474c7c1fa3dabe48a3b6621c67893b20526f01e56b0542e7a SHA512 01fc8d48be3f3847bb222835436ab938c6c5b5ac8ba6cc87b3b6d2a2201b7ab4b152dc1f7d9749c89de90097d50052714ac08aafbbb117fffac32bfb47e74779
DIST mariadb-10.0.36.tar.gz 66577105 BLAKE2B 6165c641cf4a8d13e53aa8391fe146edb476d6fe80aebd0c0698543595f2060a3f7c834cbfd8d7e7c50697e7be1010ae833310f2756da84b11c87224c940df50 SHA512 aa26e43775f4f76754c79c960b5e96d8ae3e28ab922d7abbb5c23867a2705085fe57830addc79eed3c810329eca344eaf1c09dcdb8b73d9d73c85090386984c0
DIST mariadb-10.1.29.tar.gz 67885370 BLAKE2B 40b94ed519522f16ee4687a9c569a0e52632d2aeccf65b87070de31118bf5e719cce78cf36afd4f1386166b14e418e0262ffbc3a61098c95e6ee101faf871ec5 SHA512 c169dfa2878f9fa9e0e9d12ca79fcbfa644e9b51bb0b78b8dd51d6c5679f3184d139fa96a1ddb25f3ae5d1c0489708c2c624f96a24020f77bf7e5247fac45ecd
DIST mariadb-10.1.31.tar.gz 67982786 BLAKE2B 1fabbea67345024157be4be34a50c4e9c73b1a60def452321b6e9209d9fb16aace92e7ab1c37c168e5c9f6c52b623245e9df3171ce3f84e8fd0e840948b3e57f SHA512 db37ddb8ae5daf35b37d5132860c19c4a9b51c40005d05c5107f956ac5b4ecd447375b6f3a09bf59ea5aef2f4009314ed6e969ca2ac516722702b4da286dbd89
DIST mariadb-10.1.33.tar.gz 65292094 BLAKE2B 3223f9476e946112f7c1d23cc82ff52636801244136343413ae00336173ec58bb4af8dc36e065f6cd27e9aa3f9f999b1d19f9257b928bd92555b34b614b9cf76 SHA512 1d30e06d0c19e338bfbbe6815cf5eee8e1b839b525950f7f54c7cf8f89034658a284df4756f54719ab0f55875546d4713b03bab7dd094ec13291732b069f737e
DIST mariadb-10.1.34.tar.gz 65298561 BLAKE2B 3f3af7b8bad68a08f69befd3f3e7bd88b8cf058feb20309dc2cdbd16bf5d015c2cb0d1d9d2fdf831f6183c0b9bb25405124c24b2940467489e05d42c57f7b0a6 SHA512 3c18359006b340dcf724d1fce36dcc19916c42492269a7545e0726172b8f7b84860e10725c74e4458dae34572395f1650bf17838e9058544e0a6cfcbffd54f6d
DIST mariadb-10.1.35.tar.gz 65324620 BLAKE2B 659ad232a1f2f1cfd74ba8aa9b9f67adc6f4a5dc82e5d8b16011dba83155b1223138df273c935c71021f05068cd8fd14538e935847a36640fc4218b86155698c SHA512 88e6049f3bbc3aa047e108f91a2c4f335758e80f25bfa2974b5f8c2e13f5758824d7835dece021b515c531e5641b9998e4de92256ad4b47b7f694da99bd471aa
DIST mariadb-10.2.17.tar.gz 73409162 BLAKE2B f13d359a4a061ae2ef2fb4dde53ed07dac1735f9577ef67e396a51ac74acec71acf7a0ab07b4e0f84d70c8f7bcacbdc61933957c4936c99d5038f433296af8a3 SHA512 9714f786abde43b418d8b5accbbd485de213b90db18c879625ce30777526d28fdafd3bdb43922ab6872b300cfa06895b5b3fad5eb0c0e804ad66a1fd1793a141
DIST mariadb-10.3.7.tar.gz 71816160 BLAKE2B 213cfe2999b48c088e08e8289a6243d79b91e465fce51850a253a121896f69df03f935940f25ac290e15e29f97b3a16f75711044b8986f6ec3841ef8beafa0b4 SHA512 b1b3ad9ddc45bdfd3d03888ba160f9991b23187341deac402d5dc4b735511e29767a5dc64ca557bea9bf3d3b413b941ef2e1f5fa30be056dfaec4542a43895f1
DIST mariadb-10.3.8.tar.gz 72152953 BLAKE2B 4742be1d533c7958b61efd430411a1e7390faffc25ceccc09c736647fb263dc3797064725335abf17f9362c7a92293ea5fc72bc2ddd70636f83c25e35c4c83aa SHA512 e1b61900a06fa57992a2f8516771f5fb98799ed5a4bbe74f858c0fe87b907cc6b600942d6fe97b6064cb39b610a7213cb3bc9634a336f9ebffe11dfe67746422
DIST mariadb-5.5.61.tar.gz 45839038 BLAKE2B 2755963d51aee3b9b560531e00b9df6f5637c90a44ad181cf826234d27c15e9fd1b61ae4faf4d9a4ff06779e605c6a5757192407e6e402ad68dfb3ae45a94088 SHA512 a2bebb47ec62eb6cd15e003dea7708948cd96fd7f0fc631a85cfc4691b55e220ed78f3e3b16542b5152ad5bcc61e50a831c71cf8f29481f7de86816ec0bae594
DIST mysql-extras-20170926-1321Z.tar.bz2 312466 BLAKE2B 3e3e19a905961570cea9c1eb14dec3780da80409e996b1aeddb08625da875f5d08798a862cb1b80566b0d8be0d9ec2aab0a390ca90f991203c9871538b11f00a SHA512 556e782ccc40d8cffb2fde8c46038c90023440c07785ec667f898afdb8c802faeb4dbfe8b3918a1e563b46d1dc8c0de1172f7843ce08ee1ded435b344f8f0cf5
DIST mysql-extras-20180515-0123Z.tar.bz2 320380 BLAKE2B a56e3ef19f4e30628fea9889dbb55379a8c92f08c9c493fe3f524b98fabf3505150fbe7cc65f97fc8b75632b5dd7360ddb9bd1542714c5e9916f94c2792ff3db SHA512 3e0b36ab4cb3f2e7d30f1fb2d8d3a916439611f1714475f2ab0480ba51176f47dcccd40931de4bd0a46b0aca6dfcb62cfc92b6939eed2e61628947bf664008ee
DIST mysql-extras-20180529-0042Z.tar.bz2 321715 BLAKE2B c40e7c8de7d24f1ab6208968f3e22aae9e7782f02edef1391d37583ba4a99e67646eba2b9fdcf2a77e3e5a3a86c36632edfebb42b12ab242662cf6913313168d SHA512 a136d9f9567a3bbd396c1e33d1d7b6565be16b5b0a514835299a09b009e9d908328066701bb1c6c19af74225b1d166e3f57af81b277b6d8fad9e63c009523586
DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec

@ -1,209 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20170926-1321Z"
SUBSLOT="18"
MYSQL_PV_MAJOR="5.6"
JAVA_PKG_OPT_USE="jdbc"
inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
IUSE="bindist jdbc odbc oqgraph pam sphinx tokudb xml"
RESTRICT="!bindist? ( bindist )"
REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(
"${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
"${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-10.0.33.patch"
"${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
"${MY_PATCH_DIR}/20018_all_mariadb-10.0.20-without-clientlibs-tools.patch"
)
COMMON_DEPEND="
!bindist? ( >=sys-libs/readline-4.1:0= )
server? (
extraengine? (
odbc? ( dev-db/unixODBC:0= )
xml? ( dev-libs/libxml2:2= )
sys-libs/zlib[minizip]
)
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( virtual/pam:0= )
tokudb? ( app-arch/snappy )
)
>=dev-libs/libpcre-8.41-r1:3=[${MULTILIB_USEDEP}]
"
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
${COMMON_DEPEND}"
RDEPEND="${RDEPEND} ${COMMON_DEPEND}
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
"
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h
/usr/include/mysql/private/probes_mysql_nodtrace.h
/usr/include/mysql/private/probes_mysql_dtrace.h )
pkg_setup() {
java-pkg-opt-2_pkg_setup
mysql-multilib-r1_pkg_setup
}
pkg_preinst() {
java-pkg-opt-2_pkg_preinst
mysql-multilib-r1_pkg_preinst
}
src_prepare() {
java-pkg-opt-2_src_prepare
mysql-multilib-r1_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
local MYSQL_CMAKE_NATIVE_DEFINES=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
)
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
MYSQL_CMAKE_NATIVE_DEFINES+=(
-DWITHOUT_FEDERATED=1
-DWITHOUT_FEDERATEDX=1 )
fi
# Connect with Zip is currently broken and does not compile
# Reported upstream https://jira.mariadb.org/browse/MDEV-11809
MYSQL_CMAKE_NATIVE_DEFINES+=(
$(mysql-cmake_use_plugin oqgraph OQGRAPH)
$(mysql-cmake_use_plugin sphinx SPHINX)
$(mysql-cmake_use_plugin tokudb TOKUDB)
$(mysql-cmake_use_plugin pam AUTH_PAM)
$(mysql-cmake_use_plugin extraengine SEQUENCE)
$(mysql-cmake_use_plugin extraengine SPIDER)
$(mysql-cmake_use_plugin extraengine CONNECT)
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
-DCONNECT_WITH_JDBC=$(usex jdbc)
-DWITHOUT_MROONGA=1
)
fi
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='extraengine perl server openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if use server ; then
# 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 && eerror "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
addpredict /this-dir-does-not-exist/t9.MYI
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
# 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}
# These are failing in MariaDB 10.0 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
# funcs_1.is_columns_mysql main.bootstrap
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test, main.mysql_client_test_nonblock
# main.mysql_client_test_comp:
# segfaults at random under Portage only, suspect resource limits.
#
# archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# fails due to bad cleanup of previous tests when run in parallel
# The tool is deprecated anyway
# Bug 532288
#main.bootstrap \
for t in connect.drop-open-error ; do
# main.mysql_client_test_comp \
# binlog.binlog_statement_insert_delayed main.information_schema \
# main.mysqld--help \
# archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
# funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
done
# Run mysql tests
pushd "${TESTDIR}" || die
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder
retstatus_tests=$?
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
popd || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
else
einfo "Skipping server tests due to minimal build."
fi
}

@ -1,209 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20170926-1321Z"
SUBSLOT="18"
MYSQL_PV_MAJOR="5.6"
JAVA_PKG_OPT_USE="jdbc"
inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
IUSE="bindist jdbc odbc oqgraph pam sphinx tokudb xml"
RESTRICT="!bindist? ( bindist )"
REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(
"${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
"${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-10.0.33.patch"
"${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
"${MY_PATCH_DIR}/20018_all_mariadb-10.0.20-without-clientlibs-tools.patch"
)
COMMON_DEPEND="
!bindist? ( >=sys-libs/readline-4.1:0= )
server? (
extraengine? (
odbc? ( dev-db/unixODBC:0= )
xml? ( dev-libs/libxml2:2= )
sys-libs/zlib[minizip]
)
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( virtual/pam:0= )
tokudb? ( app-arch/snappy )
)
>=dev-libs/libpcre-8.41-r1:3=[${MULTILIB_USEDEP}]
"
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
${COMMON_DEPEND}"
RDEPEND="${RDEPEND} ${COMMON_DEPEND}
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
"
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h
/usr/include/mysql/private/probes_mysql_nodtrace.h
/usr/include/mysql/private/probes_mysql_dtrace.h )
pkg_setup() {
java-pkg-opt-2_pkg_setup
mysql-multilib-r1_pkg_setup
}
pkg_preinst() {
java-pkg-opt-2_pkg_preinst
mysql-multilib-r1_pkg_preinst
}
src_prepare() {
java-pkg-opt-2_src_prepare
mysql-multilib-r1_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
local MYSQL_CMAKE_NATIVE_DEFINES=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
)
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
MYSQL_CMAKE_NATIVE_DEFINES+=(
-DWITHOUT_FEDERATED=1
-DWITHOUT_FEDERATEDX=1 )
fi
# Connect with Zip is currently broken and does not compile
# Reported upstream https://jira.mariadb.org/browse/MDEV-11809
MYSQL_CMAKE_NATIVE_DEFINES+=(
$(mysql-cmake_use_plugin oqgraph OQGRAPH)
$(mysql-cmake_use_plugin sphinx SPHINX)
$(mysql-cmake_use_plugin tokudb TOKUDB)
$(mysql-cmake_use_plugin pam AUTH_PAM)
$(mysql-cmake_use_plugin extraengine SEQUENCE)
$(mysql-cmake_use_plugin extraengine SPIDER)
$(mysql-cmake_use_plugin extraengine CONNECT)
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
-DCONNECT_WITH_JDBC=$(usex jdbc)
-DWITHOUT_MROONGA=1
)
fi
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='extraengine perl server openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if use server ; then
# 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 && eerror "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
addpredict /this-dir-does-not-exist/t9.MYI
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
# 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}
# These are failing in MariaDB 10.0 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
# funcs_1.is_columns_mysql main.bootstrap
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test, main.mysql_client_test_nonblock
# main.mysql_client_test_comp:
# segfaults at random under Portage only, suspect resource limits.
#
# archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# fails due to bad cleanup of previous tests when run in parallel
# The tool is deprecated anyway
# Bug 532288
#main.bootstrap \
for t in connect.drop-open-error ; do
# main.mysql_client_test_comp \
# binlog.binlog_statement_insert_delayed main.information_schema \
# main.mysqld--help \
# archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
# funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
done
# Run mysql tests
pushd "${TESTDIR}" || die
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder
retstatus_tests=$?
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
popd || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
else
einfo "Skipping server tests due to minimal build."
fi
}

@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~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

@ -1,229 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20170926-1321Z"
# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number
WSREP_REVISION="25"
SUBSLOT="18"
MYSQL_PV_MAJOR="5.6"
JAVA_PKG_OPT_USE="jdbc"
inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
IUSE="+backup bindist cracklib galera kerberos innodb-lz4 innodb-lzo innodb-snappy jdbc mroonga odbc oqgraph pam sphinx sst-rsync sst-mariabackup sst-xtrabackup tokudb systemd xml"
RESTRICT="!bindist? ( bindist )"
REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch
"${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch
"${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
"${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch
)
COMMON_DEPEND="
mroonga? ( app-text/groonga-normalizer-mysql )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
!bindist? (
sys-libs/binutils-libs:0=
>=sys-libs/readline-4.1:0=
)
server? (
backup? ( app-arch/libarchive:0= )
cracklib? ( sys-libs/cracklib:0= )
extraengine? (
odbc? ( dev-db/unixODBC:0= )
xml? ( dev-libs/libxml2:2= )
sys-libs/zlib[minizip]
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( virtual/pam:0= )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
>=dev-libs/libpcre-8.41-r1:3=
"
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
${COMMON_DEPEND}"
RDEPEND="${RDEPEND} ${COMMON_DEPEND}
galera? (
sys-apps/iproute2
=sys-cluster/galera-${WSREP_REVISION}*
sst-rsync? ( sys-process/lsof )
sst-mariabackup? ( net-misc/socat[ssl] )
sst-xtrabackup? ( net-misc/socat[ssl] )
)
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
"
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
PDEPEND="galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) )"
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h
/usr/include/mysql/private/probes_mysql_nodtrace.h
/usr/include/mysql/private/probes_mysql_dtrace.h )
pkg_setup() {
java-pkg-opt-2_pkg_setup
mysql-multilib-r1_pkg_setup
}
pkg_preinst() {
java-pkg-opt-2_pkg_preinst
mysql-multilib-r1_pkg_preinst
}
src_prepare() {
java-pkg-opt-2_src_prepare
mysql-multilib-r1_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
local MYSQL_CMAKE_NATIVE_DEFINES=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
)
local MYSQL_CMAKE_EXTRA_DEFINES=(
-DPLUGIN_AUTH_GSSAPI_CLIENT=$(usex kerberos YES NO)
)
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
MYSQL_CMAKE_NATIVE_DEFINES+=(
-DPLUGIN_FEDERATED=NO
-DPLUGIN_FEDERATEDX=NO )
fi
MYSQL_CMAKE_NATIVE_DEFINES+=(
-DPLUGIN_OQGRAPH=$(usex oqgraph YES NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
-DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
-DCONNECT_WITH_MYSQL=1
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
-DCONNECT_WITH_JDBC=$(usex jdbc)
-DWITH_WSREP=$(usex galera)
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
-DPLUGIN_MROONGA=$(usex mroonga YES NO)
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos YES NO)
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
)
fi
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='embedded extraengine perl server openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
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}
# Run mysql tests
pushd "${TESTDIR}" || die
# These are failing in MariaDB 10.0 for now and are believed to be
# false positives:
#
# main.mysql_client_test, main.mysql_client_test_nonblock
# main.mysql_client_test_comp:
# segfaults at random under Portage only, suspect resource limits.
local t
for t in plugins.cracklib_password_check plugins.two_password_validations ; do
mysql-multilib-r1_disable_test "$t" "False positive due to varying policies"
done
for t in main.mysql_client_test main.mysql_client_test_nonblock \
main.mysql_client_test_comp ; do
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
done
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder
retstatus_tests=$?
popd || 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" ]] || eerror "Test failures: $failures"
einfo "Tests successfully completed"
}

@ -1,244 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20180515-0123Z"
# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number
WSREP_REVISION="25"
SUBSLOT="18"
MYSQL_PV_MAJOR="5.6"
JAVA_PKG_OPT_USE="jdbc"
inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
IUSE="+backup bindist cracklib galera kerberos innodb-lz4 innodb-lzo innodb-snappy jdbc mroonga numa odbc oqgraph pam sphinx sst-rsync sst-mariabackup sst-xtrabackup tokudb systemd xml"
RESTRICT="!bindist? ( bindist )"
REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch
"${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch
"${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
"${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch
"${MY_PATCH_DIR}"/20029_all_mariadb-10.1.31-enable-numa.patch
"${MY_PATCH_DIR}"/20033_all_mariadb-10.1.31-xtradb-sst.patch
"${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch
)
COMMON_DEPEND="
mroonga? ( app-text/groonga-normalizer-mysql )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
!bindist? (
sys-libs/binutils-libs:0=
>=sys-libs/readline-4.1:0=
)
server? (
backup? ( app-arch/libarchive:0= )
cracklib? ( sys-libs/cracklib:0= )
extraengine? (
odbc? ( dev-db/unixODBC:0= )
xml? ( dev-libs/libxml2:2= )
sys-libs/zlib[minizip]
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
numa? ( sys-process/numactl )
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( virtual/pam:0= )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
>=dev-libs/libpcre-8.41-r1:3=
"
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
${COMMON_DEPEND}"
RDEPEND="${RDEPEND} ${COMMON_DEPEND}
galera? (
sys-apps/iproute2
=sys-cluster/galera-${WSREP_REVISION}*
sst-rsync? ( sys-process/lsof )
sst-mariabackup? ( net-misc/socat[ssl] )
sst-xtrabackup? ( net-misc/socat[ssl] )
)
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
"
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
PDEPEND="galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) )"
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h
/usr/include/mysql/private/probes_mysql_nodtrace.h
/usr/include/mysql/private/probes_mysql_dtrace.h )
pkg_setup() {
java-pkg-opt-2_pkg_setup
mysql-multilib-r1_pkg_setup
}
pkg_preinst() {
java-pkg-opt-2_pkg_preinst
mysql-multilib-r1_pkg_preinst
}
src_prepare() {
java-pkg-opt-2_src_prepare
mysql-multilib-r1_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
local MYSQL_CMAKE_NATIVE_DEFINES=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
)
local MYSQL_CMAKE_EXTRA_DEFINES=(
-DPLUGIN_AUTH_GSSAPI_CLIENT=$(usex kerberos YES NO)
)
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
MYSQL_CMAKE_NATIVE_DEFINES+=(
-DPLUGIN_FEDERATED=NO
-DPLUGIN_FEDERATEDX=NO )
fi
MYSQL_CMAKE_NATIVE_DEFINES+=(
-DPLUGIN_OQGRAPH=$(usex oqgraph YES NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
-DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
-DCONNECT_WITH_MYSQL=1
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
-DCONNECT_WITH_JDBC=$(usex jdbc)
# Build failure and autodep wrt bug 639144
-DCONNECT_WITH_MONGO=OFF
-DWITH_WSREP=$(usex galera)
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
-DPLUGIN_MROONGA=$(usex mroonga YES NO)
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos YES NO)
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
-DWITH_NUMA=$(usex numa ON OFF)
)
fi
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='extraengine perl server openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
_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}
# Run mysql tests
pushd "${TESTDIR}" || die
touch "${T}/disabled.def"
# These are failing in MariaDB 10.0 for now and are believed to be
# false positives:
#
# main.mysql_client_test, main.mysql_client_test_nonblock
# main.mysql_client_test_comp:
# segfaults at random under Portage only, suspect resource limits.
local t
for t in plugins.cracklib_password_check plugins.two_password_validations ; do
_disable_test "$t" "False positive due to varying policies"
done
for t in main.mysql_client_test main.mysql_client_test_nonblock \
main.mysql_client_test_comp ; do
_disable_test "$t" "False positives in Gentoo"
done
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd || 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" ]] || eerror "Test failures: $failures"
einfo "Tests successfully completed"
}

@ -1,248 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20180515-0123Z"
# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number
WSREP_REVISION="25"
SUBSLOT="18"
MYSQL_PV_MAJOR="5.6"
JAVA_PKG_OPT_USE="jdbc"
inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
IUSE="+backup bindist cracklib galera kerberos innodb-lz4 innodb-lzo innodb-snappy jdbc mroonga numa odbc oqgraph pam sphinx sst-rsync sst-mariabackup sst-xtrabackup tokudb systemd xml"
RESTRICT="!bindist? ( bindist )"
REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
if [[ ${MY_EXTRAS_VER} == "live" ]] ; then
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch
"${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch
"${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
"${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch
"${MY_PATCH_DIR}"/20029_all_mariadb-10.1.31-enable-numa.patch
"${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch
)
COMMON_DEPEND="
mroonga? ( app-text/groonga-normalizer-mysql )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
!bindist? (
sys-libs/binutils-libs:0=
>=sys-libs/readline-4.1:0=
)
server? (
backup? ( app-arch/libarchive:0= )
cracklib? ( sys-libs/cracklib:0= )
extraengine? (
odbc? ( dev-db/unixODBC:0= )
xml? ( dev-libs/libxml2:2= )
sys-libs/zlib[minizip]
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
numa? ( sys-process/numactl )
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( virtual/pam:0= )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
>=dev-libs/libpcre-8.41-r1:3=
openssl? ( !>=dev-libs/openssl-1.1.0 )
"
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
${COMMON_DEPEND}"
RDEPEND="${RDEPEND} ${COMMON_DEPEND}
galera? (
sys-apps/iproute2
=sys-cluster/galera-${WSREP_REVISION}*
sst-rsync? ( sys-process/lsof )
sst-mariabackup? ( net-misc/socat[ssl] )
sst-xtrabackup? ( net-misc/socat[ssl] )
)
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
"
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
PDEPEND="galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) )"
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h
/usr/include/mysql/private/probes_mysql_nodtrace.h
/usr/include/mysql/private/probes_mysql_dtrace.h )
pkg_setup() {
java-pkg-opt-2_pkg_setup
mysql-multilib-r1_pkg_setup
}
pkg_preinst() {
java-pkg-opt-2_pkg_preinst
mysql-multilib-r1_pkg_preinst
}
src_prepare() {
java-pkg-opt-2_src_prepare
mysql-multilib-r1_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
local MYSQL_CMAKE_NATIVE_DEFINES=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
)
local MYSQL_CMAKE_EXTRA_DEFINES=(
-DPLUGIN_AUTH_GSSAPI_CLIENT=$(usex kerberos YES NO)
)
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
MYSQL_CMAKE_NATIVE_DEFINES+=(
-DPLUGIN_FEDERATED=NO
-DPLUGIN_FEDERATEDX=NO )
fi
MYSQL_CMAKE_NATIVE_DEFINES+=(
-DPLUGIN_OQGRAPH=$(usex oqgraph YES NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
-DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
-DCONNECT_WITH_MYSQL=1
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
-DCONNECT_WITH_JDBC=$(usex jdbc)
# Build failure and autodep wrt bug 639144
-DCONNECT_WITH_MONGO=OFF
-DWITH_WSREP=$(usex galera)
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
-DPLUGIN_MROONGA=$(usex mroonga YES NO)
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos YES NO)
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
-DWITH_NUMA=$(usex numa ON OFF)
)
fi
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='extraengine perl server openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
_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}
# Run mysql tests
pushd "${TESTDIR}" || die
touch "${T}/disabled.def"
# These are failing in MariaDB 10.0 for now and are believed to be
# false positives:
#
# main.mysql_client_test, main.mysql_client_test_nonblock
# main.mysql_client_test_comp:
# segfaults at random under Portage only, suspect resource limits.
local t
for t in plugins.cracklib_password_check plugins.two_password_validations ; do
_disable_test "$t" "False positive due to varying policies"
done
for t in main.mysql_client_test main.mysql_client_test_nonblock \
main.mysql_client_test_comp ; do
_disable_test "$t" "False positives in Gentoo"
done
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd || 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" ]] || eerror "Test failures: $failures"
einfo "Tests successfully completed"
}

@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~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 ~s390 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~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

@ -1,960 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20180529-0042Z"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils systemd flag-o-matic prefix toolchain-funcs \
java-pkg-opt-2 user cmake-utils multilib-build
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.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
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
SLOT="0/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
sst-rsync sst-mariabackup sst-xtrabackup static static-libs systemd systemtap tcmalloc
test tokudb xml yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="!bindist? ( bindist ) libressl? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}"/20015_all_mariadb-pkgconfig-location.patch
"${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
"${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
"${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.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="
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
>=sys-libs/zlib-1.2.3:0=
kerberos? ( virtual/krb5 )
yassl? ( net-libs/gnutls:0= )
!yassl? (
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
)
sys-libs/ncurses:0=
!bindist? (
sys-libs/binutils-libs:0=
>=sys-libs/readline-4.1:0=
)
server? (
backup? ( app-arch/libarchive:0= )
cracklib? ( sys-libs/cracklib:0= )
extraengine? (
odbc? ( dev-db/unixODBC:0= )
xml? ( dev-libs/libxml2:2= )
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
numa? ( sys-process/numactl )
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( virtual/pam:0= )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
>=dev-libs/libpcre-8.41-r1:3=
dev-db/mariadb-connector-c[${MULTILIB_USEDEP},static-libs?] dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
!<virtual/mysql-5.6-r11
${COMMON_DEPEND}
server? ( galera? (
sys-apps/iproute2
=sys-cluster/galera-25*
sst-rsync? ( sys-process/lsof )
sst-mariabackup? ( net-misc/socat[ssl] )
sst-xtrabackup? ( net-misc/socat[ssl] )
) )
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
server? ( ~virtual/mysql-5.6[static=]
galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} with tokudb 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
# 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
java-pkg-opt-2_pkg_setup
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() {
java-pkg-opt-2_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 [[ -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 use pam; then
einfo
elog "This install includes the PAM authentication plugin."
elog "To activate and configure the PAM plugin, please read:"
elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
einfo
fi
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
if use galera ; then
einfo
elog "Be sure to edit the my.cnf file to activate your cluster settings."
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
elog "The first time the cluster is activated, you should add"
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
elog "This option should then be removed for subsequent starts."
einfo
fi
fi
# Note about configuration change
einfo
elog "This version of mariadb reorganizes the configuration from a single my.cnf"
elog "to several files in /etc/mysql/${PN}.d."
elog "Please backup any changes you made to /etc/mysql/my.cnf"
elog "and add them as a new file under /etc/mysql/${PN}.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 appropitate section headers, i.e. [mysqld]."
einfo
}
src_unpack() {
# Initialize the proper variables first
mysql_init_vars
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
}
src_prepare() {
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
java-pkg-opt-2_src_prepare
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
# Don't build bundled xz-utils for tokudb
echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
local plugin
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
locale_info qc_info server_audit sql_errlog )
local test_plugins=( audit_null auth_examples daemon_example fulltext
debug_key_management example_key_management versioning )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
if ! use test; then # These plugins are only used during testing
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
_disable_engine test_sql_discovery
fi
_disable_engine example
if ! use oqgraph ; then # avoids extra library checks
_disable_engine oqgraph
fi
if use mroonga ; then
# Remove the bundled groonga
# There is no CMake flag, it simply checks for existance
rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
else
_disable_engine mroonga
fi
cmake-utils_src_prepare
}
src_configure(){
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# 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
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/mariadb
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
-DWITH_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_LIBEDIT=0
-DWITH_ZLIB=system
-DWITHOUT_LIBWRAP=1
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
-DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
# 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)
-DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
-DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
-DCONC_WITH_EXTERNAL_ZLIB=YES
-DWITH_EXTERNAL_ZLIB=YES
-DSUFFIX_INSTALL_DIR=""
-DWITH_UNITTEST=OFF
-DWITHOUT_CLIENTLIBS=YES
-DCLIENT_PLUGIN_DIALOG=OFF
-DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
-DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
mycmakeargs+=(
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
-DENABLE_DTRACE=$(usex systemtap)
)
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
mycmakeargs+=(
-DPLUGIN_FEDERATED=NO
-DPLUGIN_FEDERATEDX=NO )
fi
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
-DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
-DCONNECT_WITH_MYSQL=1
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
-DCONNECT_WITH_JDBC=$(usex jdbc)
# Build failure and autodep wrt bug 639144
-DCONNECT_WITH_MONGO=OFF
-DWITH_WSREP=$(usex galera)
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
-DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
-DINSTALL_SQLBENCHDIR=""
-DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
# systemd is only linked to for server notification
-DWITH_SYSTEMD=$(usex systemd yes no)
-DWITH_NUMA=$(usex numa ON OFF)
)
# Workaround for MDEV-14524
use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
if use test ; then
# This is needed for the new client lib which tests a real, open server
mycmakeargs+=( -DSKIP_TESTS=ON )
fi
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
-DMYSQL_USER=mysql
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
-DWITH_PROFILING=$(usex profiling)
)
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
if use jemalloc || use tcmalloc ; then
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
fi
# Storage engines
mycmakeargs+=(
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-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
-DINSTALL_SQLBENCHDIR=
-DWITH_SYSTEMD=no
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
rm "${ED}/usr/include/mysql/server/private/config.h" || die
fi
# 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-10.2" "${TMPDIR}/my.cnf" || die
eprefixify "${TMPDIR}/my.cnf"
doins "${TMPDIR}/my.cnf"
insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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
einfo "Including support files and sample configurations"
docinto "support-files"
local script
for script in \
"${S}"/support-files/magic
do
[[ -f "$script" ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
# Official test instructions:
# USE='extraengine perl server' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mariadb-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 MariaDB 10.0 for now and are believed to be
# false positives:
#
# main.mysql_client_test, main.mysql_client_test_nonblock
# main.mysql_client_test_comp:
# segfaults at random under Portage only, suspect resource limits.
local t
for t in plugins.cracklib_password_check plugins.two_password_validations ; do
_disable_test "$t" "False positive due to varying policies"
done
for t in main.mysql_client_test main.mysql_client_test_nonblock \
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
_disable_test "$t" "False positives in Gentoo"
done
_disable_test main.plugin_auth "Needs client libraries built"
# 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"
}
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
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_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 "${ROOT}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${ROOT}/$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 https://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 grant-tables 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
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
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} \
--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="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -8,7 +8,6 @@
<use>
<flag name="backup">Build mariadb-backup which supports SST and hot backup of InnoDB, Aria and MyISAM including compression and encryption</flag>
<flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages</flag>
<flag name="embedded">Build embedded server (libmysqld)</flag>
<flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
<flag name="galera">Enables galera replication</flag>
<flag name="innodb-lz4">Enables lz4 compression methods for InnoDB/XtraDB</flag>
@ -20,7 +19,6 @@
<flag name="libressl">Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
<flag name="mroonga">Add support for the Mroonga engine for interfacing with the Groonga text search</flag>
<flag name="numa">Enable NUMA support using sys-process/numactl (NUMA kernel support is also required)</flag>
<flag name="openssl">Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
<flag name="oqgraph">Add support for the Open Query GRAPH engine</flag>
<flag name="pam">Enable the optional PAM authentication plugin for the server</flag>
<flag name="profiling">Add support for statement profiling (requires USE=community).</flag>

@ -243,8 +243,8 @@ index da5449a..87b30c3 100644
+#else
+ if (! DH_set0_pqg(dh,
+ BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL),
+ BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL),
+ NULL))
+ NULL,
+ BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL)))
+ {
+#endif
DH_free(dh);

@ -1,10 +1,5 @@
DIST mysql-5.5.60.tar.gz 21025041 BLAKE2B c4010c64b30ca72aff011053189981cc0676806ed9f18a0ac584e07f71e1f7fe062a3ca78db6f109a2b96d324d778b239880f96852fdc058892b09d0d09e740b SHA512 734395f3ce2c12e7703fe48d5bb2ce85ff8d7f04ae51cbe2d04a46b72b9689f804e5b498ae0b4722b0c098e2eed43d4f93b622964059525e6d9d14a47d55f775
DIST mysql-5.5.61.tar.gz 21027098 BLAKE2B b7589f632a211349fc34cec94e333b878e07113969bf5cf6f78cd37435d95b15c03eaf188ed09768033b182de125c9f018a5fe902094f17ab891f94cab9de6dd SHA512 978384915c145ec8f0d85deb764154d8d4a9764f2d342928bda6ad43a00bc110aa888895416d2ba5684a4432e433037990dd3fe8c5caf024faa487bc2e153f49
DIST mysql-5.6.38.tar.gz 32197625 BLAKE2B 5edd6d05e562568d2418edd81c6822b397103013e92beacc00964401c6df67f8a934f05b57c6679aa25a49ef6db2e4a06056f3f1850e0f2afe4de895c7b8f686 SHA512 8144aec822f053fbdfa11ae542e96d3e7da93552b60ed131f041ec4832f48c95025b322340a2e90a82c18b6ee6bfd708f209735f82e37532198245aad697b93d
DIST mysql-5.6.39.tar.gz 32110958 BLAKE2B 2f279c6745bc995c860bb4f2868409136e112cc8b9fb0c04fa7673bb6d5612f3ef6d3462666de736d6e7fe5439275ab49908a6609175d1cb8c096d5db5ecb59c SHA512 e1e60854c82d71f9600bf611df964f441815d9d0f896134110a749b29fe340fa216d7c89f4da63d492929565f19a2502463549b8c8c038c658e0be8409a3ffb5
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-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B c397fdf7ffb3fcbcecda20933e18234062a9500dcf4031e9b17131e2a1f23dca7535ed33ff541fc075eb9995c67a9a8fd7261d7524dd42d8d333543c368b4c15 SHA512 dd0d4a00c0ed710e786d157a73f02c6f555ab7a68e57014d958627096a4245a0b45d22ec860dc5389002d106554e80166661c0b6ddcadff1f737e3fa195badda
DIST mysql-extras-20180214-0024Z.tar.bz2 316686 BLAKE2B a893e2975a8062ab236f642d158a7833656942adb31d467b784a9224e7dd87872c3784bb29e93b620a58cd9a835d65248f1a817cdbafa574b5949e2b4262108a SHA512 ad0e81695a70954ad107fe104f9140be24e53d499aed6c123e68e1a062ec5cc90c70f6272fdc014e567794e331301e656ba01b22c2c7a1afaf11e14a9190fb0b
DIST mysql-extras-20180804-2323Z.tar.bz2 322215 BLAKE2B cca9e502e375bf43473335868517f6c450fc7bcf03e55de5a294c8bdcfcac2bb783dec09bbb3b6c30a561ba7e3a943543c017e2d42b61d466e699acdef4c0231 SHA512 efd9d416f394cc61b977ab76f05ab3acc5803ff8bdee8e1dbc65cc5b3f07e4f9742140d9586c028908b10fcc44f21c98ebffdebcc5c3578acbe05b07526bcb3d

@ -12,16 +12,10 @@ dev-db/mariadb
-->
<use>
<flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages (not recommended)</flag>
<flag name="cluster">Add support for NDB clustering (deprecated)</flag>
<flag name="community">Enables the community features from upstream.</flag>
<flag name="embedded">Build embedded server (libmysqld)</flag>
<flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
<flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
<flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
<flag name="libressl">Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
<flag name="openssl">Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
<flag name="max-idx-128">Raise the max index per table limit from 64 to 128</flag>
<flag name="minimal">Install client programs only, no server</flag>
<flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
<flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
<flag name="server">Build the server program</flag>

@ -1,133 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
MY_EXTRAS_VER="20180214-0024Z"
MY_PV="${PV//_alpha_pre/-m}"
MY_PV="${MY_PV//_/-}"
# Build type
BUILD="cmake"
#fails to build with ninja
CMAKE_MAKEFILE_GENERATOR=emake
inherit toolchain-funcs mysql-v2
# only to make repoman happy. it is really set in the eclass
IUSE="$IUSE"
# Define the mysql-extras source
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
EPATCH_EXCLUDE=''
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
RDEPEND="${RDEPEND}"
SLOT="0/18"
# Please do not add a naive src_unpack to this ebuild
# If you want to add a single patch, copy the ebuild to an overlay
# and create your own mysql-extras tarball, looking at 000_index.txt
# Official test instructions:
# USE='extraengine perl ssl static-libs community' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
# 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 ! use "minimal" ; then
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 && eerror "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
addpredict /this-dir-does-not-exist/t9.MYI
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
# 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 right out of order
mkdir -p "${T}"/var-tests{,/log}
# create symlink for the tests to find mysql_tzinfo_to_sql
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
# These are failing in MySQL 5.5 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# main.mysqld--help-notwin
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test:
# segfaults at random under Portage only, suspect resource limits.
#
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# fails due to bad cleanup of previous tests when run in parallel
# The tool is deprecated anyway
# Bug 532288
for t in main.mysql_client_test main.openssl_1 \
binlog.binlog_statement_insert_delayed main.information_schema \
main.mysqld--help-notwin main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
mysql-v2_disable_test "$t" "False positives in Gentoo"
done
for t in main.mysql main.mysql_upgrade ; do
mysql-v2_disable_test "$t" "Test $t broken upstream - error return value not updated"
done
# Run mysql tests
pushd "${TESTDIR}"
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
--testcase-timeout=30 --reorder
retstatus_tests=$?
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
popd
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
else
einfo "Skipping server tests due to minimal build."
fi
}

@ -1,192 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20171121-1518Z"
MY_PV="${PV//_alpha_pre/-m}"
MY_PV="${MY_PV//_/-}"
HAS_TOOLS_PATCH="1"
SUBSLOT="18"
#fails to build with ninja
CMAKE_MAKEFILE_GENERATOR=emake
inherit mysql-multilib-r1
# only to make repoman happy. it is really set in the eclass
IUSE="$IUSE numa"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
COMMON_DEPEND="numa? ( sys-process/numactl:= )"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
test? ( dev-perl/JSON )"
RDEPEND="${COMMON_DEPEND}"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(
"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
"${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
)
# Please do not add a naive src_unpack to this ebuild
# If you want to add a single patch, copy the ebuild to an overlay
# and create your own mysql-extras tarball, looking at 000_index.txt
src_prepare() {
mysql-multilib-r1_src_prepare
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
}
src_configure() {
# validate_password plugin uses exceptions when it shouldn't yet (until 5.7)
# disable until we see what happens with it
local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 -DWITH_NUMA=$(usex numa ON OFF) )
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='server embedded extraengine perl openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
# 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 use server ; then
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 right out of order
mkdir -p "${T}"/var-tests{,/log}
# create symlink for the tests to find mysql_tzinfo_to_sql
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
# These are failing in MySQL 5.5/5.6 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# funcs_1.is_triggers funcs_1.is_tables_mysql,
# funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter,
# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt,
# mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql
# perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test:
# segfaults at random under Portage only, suspect resource limits.
#
# rpl.rpl_plugin_load
# fails due to included file not listed in expected result
# appears to be poor planning
#
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# fails due to bad cleanup of previous tests when run in parallel
# The tool is deprecated anyway
# Bug 532288
#
# main.events_2
# Fails on date in past without preserve causing the drop to fail
for t in \
binlog.binlog_mysqlbinlog_filter \
binlog.binlog_statement_insert_delayed \
funcs_1.is_columns_mysql \
funcs_1.is_tables_mysql \
funcs_1.is_triggers \
main.information_schema \
main.mysql_client_test \
main.mysqld--help-notwin \
perfschema.binlog_edge_mix \
perfschema.binlog_edge_stmt \
rpl.rpl_plugin_load \
main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
main.events_2 \
; do
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
done
if ! use extraengine ; then
# bug 401673, 530766
for t in federated.federated_plugin ; do
mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
done
fi
for t in main.mysql main.mysql_upgrade ; do
mysql-multilib-r1_disable_test "$t" "Test $t broken upstream - error return value not updated"
done
# Run mysql tests
pushd "${TESTDIR}"
# Set file limits higher so tests run
ulimit -n 3000
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
--suite-timeout=5000 --reorder
retstatus_tests=$?
# [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
# has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
popd
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
# has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
else
einfo "Skipping server tests due to minimal build."
fi
}

@ -1,193 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20180214-0024Z"
MY_PV="${PV//_alpha_pre/-m}"
MY_PV="${MY_PV//_/-}"
HAS_TOOLS_PATCH="1"
SUBSLOT="18"
#fails to build with ninja
CMAKE_MAKEFILE_GENERATOR=emake
inherit mysql-multilib-r1
# only to make repoman happy. it is really set in the eclass
IUSE="$IUSE numa"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
COMMON_DEPEND="numa? ( sys-process/numactl:= )"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
test? ( dev-perl/JSON )"
RDEPEND="${COMMON_DEPEND}"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(
"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
"${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
"${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
)
# Please do not add a naive src_unpack to this ebuild
# If you want to add a single patch, copy the ebuild to an overlay
# and create your own mysql-extras tarball, looking at 000_index.txt
src_prepare() {
mysql-multilib-r1_src_prepare
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
}
src_configure() {
# validate_password plugin uses exceptions when it shouldn't yet (until 5.7)
# disable until we see what happens with it
local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 -DWITH_NUMA=$(usex numa ON OFF) )
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='server extraengine perl openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
# 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 use server ; then
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 right out of order
mkdir -p "${T}"/var-tests{,/log}
# create symlink for the tests to find mysql_tzinfo_to_sql
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
# These are failing in MySQL 5.5/5.6 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# funcs_1.is_triggers funcs_1.is_tables_mysql,
# funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter,
# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt,
# mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql
# perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test:
# segfaults at random under Portage only, suspect resource limits.
#
# rpl.rpl_plugin_load
# fails due to included file not listed in expected result
# appears to be poor planning
#
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# fails due to bad cleanup of previous tests when run in parallel
# The tool is deprecated anyway
# Bug 532288
#
# main.events_2
# Fails on date in past without preserve causing the drop to fail
for t in \
binlog.binlog_mysqlbinlog_filter \
binlog.binlog_statement_insert_delayed \
funcs_1.is_columns_mysql \
funcs_1.is_tables_mysql \
funcs_1.is_triggers \
main.information_schema \
main.mysql_client_test \
main.mysqld--help-notwin \
perfschema.binlog_edge_mix \
perfschema.binlog_edge_stmt \
rpl.rpl_plugin_load \
main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
main.events_2 \
; do
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
done
if ! use extraengine ; then
# bug 401673, 530766
for t in federated.federated_plugin ; do
mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
done
fi
for t in main.mysql main.mysql_upgrade ; do
mysql-multilib-r1_disable_test "$t" "Test $t broken upstream - error return value not updated"
done
# Run mysql tests
pushd "${TESTDIR}"
# Set file limits higher so tests run
ulimit -n 3000
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
--suite-timeout=5000 --reorder
retstatus_tests=$?
# [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
# has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
popd
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
# has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
else
einfo "Skipping server tests due to minimal build."
fi
}

@ -37,7 +37,7 @@ 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"
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

@ -1,193 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20180214-0024Z"
MY_PV="${PV//_alpha_pre/-m}"
MY_PV="${MY_PV//_/-}"
HAS_TOOLS_PATCH="1"
SUBSLOT="18"
#fails to build with ninja
CMAKE_MAKEFILE_GENERATOR=emake
inherit mysql-multilib-r1
# only to make repoman happy. it is really set in the eclass
IUSE="$IUSE numa"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
COMMON_DEPEND="numa? ( sys-process/numactl:= )"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
test? ( dev-perl/JSON )"
RDEPEND="${COMMON_DEPEND}"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(
"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
"${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
"${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
)
# Please do not add a naive src_unpack to this ebuild
# If you want to add a single patch, copy the ebuild to an overlay
# and create your own mysql-extras tarball, looking at 000_index.txt
src_prepare() {
mysql-multilib-r1_src_prepare
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
}
src_configure() {
# validate_password plugin uses exceptions when it shouldn't yet (until 5.7)
# disable until we see what happens with it
local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 -DWITH_NUMA=$(usex numa ON OFF) )
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='server extraengine perl openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
# 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 use server ; then
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 right out of order
mkdir -p "${T}"/var-tests{,/log}
# create symlink for the tests to find mysql_tzinfo_to_sql
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
# These are failing in MySQL 5.5/5.6 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# funcs_1.is_triggers funcs_1.is_tables_mysql,
# funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter,
# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt,
# mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql
# perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test:
# segfaults at random under Portage only, suspect resource limits.
#
# rpl.rpl_plugin_load
# fails due to included file not listed in expected result
# appears to be poor planning
#
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# fails due to bad cleanup of previous tests when run in parallel
# The tool is deprecated anyway
# Bug 532288
#
# main.events_2
# Fails on date in past without preserve causing the drop to fail
for t in \
binlog.binlog_mysqlbinlog_filter \
binlog.binlog_statement_insert_delayed \
funcs_1.is_columns_mysql \
funcs_1.is_tables_mysql \
funcs_1.is_triggers \
main.information_schema \
main.mysql_client_test \
main.mysqld--help-notwin \
perfschema.binlog_edge_mix \
perfschema.binlog_edge_stmt \
rpl.rpl_plugin_load \
main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
main.events_2 \
; do
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
done
if ! use extraengine ; then
# bug 401673, 530766
for t in federated.federated_plugin ; do
mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
done
fi
for t in main.mysql main.mysql_upgrade ; do
mysql-multilib-r1_disable_test "$t" "Test $t broken upstream - error return value not updated"
done
# Run mysql tests
pushd "${TESTDIR}"
# Set file limits higher so tests run
ulimit -n 3000
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
--suite-timeout=5000 --reorder
retstatus_tests=$?
# [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
# has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
popd
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
# has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
else
einfo "Skipping server tests due to minimal build."
fi
}

@ -1,5 +1,3 @@
DIST mysql-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B c397fdf7ffb3fcbcecda20933e18234062a9500dcf4031e9b17131e2a1f23dca7535ed33ff541fc075eb9995c67a9a8fd7261d7524dd42d8d333543c368b4c15 SHA512 dd0d4a00c0ed710e786d157a73f02c6f555ab7a68e57014d958627096a4245a0b45d22ec860dc5389002d106554e80166661c0b6ddcadff1f737e3fa195badda
DIST mysql-extras-20180628-0201Z.tar.bz2 322141 BLAKE2B fce35cfea4ffa9860908fcdf440cd0d714c402c42ee2afb22cec9e727971c216310c7db561ca1b37deebb2cea5137fe24f19b491ad500949e3170ccec3de0b13 SHA512 71a3800ec091b41e41d25536199149eb714c0bbfc0f6fc478e8e4dcaf4cf87a7e4d49c513da3c9badc0de810d7d78c05ad91dd898e45005b42136346237de42a
DIST percona-server-5.6.39-83.1.tar.gz 56307662 BLAKE2B 474e497a83e7a8f7bf628b2622a0bfeead0f5003ed87dd4228e85a8b1c75bfdfc40f75604e9ed621f6d143d69bcada29163bf140b765951cf0b23e5660623e52 SHA512 d014bc0ebf8d8f1842b4a79eb0a868e3c9e0e33d3eb3cbf301b5504dcb341e1f2a0d6c2c4003666f59fbf75eb274356ee6b059ff2cddf2b457143ee5e1aba471
DIST percona-server-5.6.40-84.0.tar.gz 52684007 BLAKE2B 11658be2319880f7e8815c7b620b7d460dd7a559316ca96905573b0fa2d7180b084ed425f76f6d850f06862e424b5a8d6ced8356f9075826b77e89e86095eb40 SHA512 b1075933bdf1afb726acd799e834cb45a1d2a15d3f37f313da71f8da03a7b9480d7ccfb4cb6a820fb6ccf58851d8c9473bce975203cd6bc007a2b74b36a1127f
DIST percona-server-5.6.41-84.1.tar.gz 52736448 BLAKE2B 1ec5e17f08274caa3882f829f25bbf74a3b37d2ba208f62376106f0d89e5470f461f7852e365d5da9503d5500702e28f08461e5aa0c5ae6b1a30a0e98dbb426b SHA512 60783154f9ab097083a484c34e584b396eeba4aa53dc8616c467ca9c85cc626be08e3165740703453cc4fb35f3af94ac34260f1e2bb133d60f832661251cbb3c

@ -7,13 +7,10 @@
</maintainer>
<use>
<flag name="client-libs">Build the libmysqlclient libraries</flag>
<flag name="embedded">Build embedded server (libmysqld)</flag>
<flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
<flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
<flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
<flag name="libressl">Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
<flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
<flag name="openssl">Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
<flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
<flag name="rocksdb">Add support for RocksDB; a key/value, LSM database optimized for flash storage</flag>
<flag name="server">Build the server program</flag>

@ -1,243 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20171121-1518Z"
SUBSLOT="18"
PYTHON_COMPAT=( python2_7 )
# Build fails with ninja
CMAKE_MAKEFILE_GENERATOR="emake"
inherit linux-info python-any-r1 mysql-multilib-r1 toolchain-funcs
IUSE="numa pam tokudb tokudb-backup-plugin"
# REMEMBER: also update eclass/mysql*.eclass before committing!
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-linux"
HOMEPAGE="https://www.percona.com/software/percona-server"
DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
EPATCH_EXCLUDE=''
COMMON_DEPEND="numa? ( sys-process/numactl:= )
server? ( pam? ( virtual/pam:0= ) )
tokudb? ( app-arch/snappy )
tokudb-backup-plugin? ( dev-util/valgrind )
"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
test? (
$(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
dev-perl/JSON
)"
RDEPEND="${COMMON_DEPEND}"
REQUIRED_USE="tokudb-backup-plugin? ( tokudb ) tokudb? ( jemalloc !tcmalloc )"
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
PATCHES=(
"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.6.20.patch
"${MY_PATCH_DIR}"/20006_all_cmake_elib-percona-5.6.34.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
"${MY_PATCH_DIR}"/20018_all_percona-server-5.6.25-without-clientlibs-tools.patch
)
# Please do not add a naive src_unpack to this ebuild
# If you want to add a single patch, copy the ebuild to an overlay
# and create your own mysql-extras tarball, looking at 000_index.txt
pkg_pretend() {
mysql-multilib-r1_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
}
python_check_deps() {
has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
}
src_prepare() {
mysql-multilib-r1_src_prepare
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
}
src_configure() {
local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITH_NUMA=$(usex numa)
-DWITH_PAM=$(usex pam)
$(mysql-cmake_use_plugin tokudb TOKUDB)
)
if use tokudb ; then
# TokuDB Backup plugin requires valgrind unconditionally
MYSQL_CMAKE_NATIVE_DEFINES+=(
$(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1)
)
fi
mysql-multilib-r1_src_configure
}
# Official test instructions:
# USE='extraengine perl openssl static-libs' \
# FEATURES='test userpriv -usersandbox' \
# ebuild percona-server-X.X.XX.ebuild \
# digest clean package
multilib_src_test() {
if ! multilib_is_native_abi ; then
einfo "Server tests not available on non-native abi".
return 0;
fi
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
# 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
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
# 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 right out of order
mkdir -p "${T}"/var-tests{,/log}
# These are failing in Percona 5.6 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# main.mysqld--help-notwin, binlog.binlog_mysqlbinlog_filter
# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt
# funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers
# engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate
# engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8
# engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test:
# segfaults at random under Portage only, suspect resource limits.
#
# main.percona_bug1289599
# Looks to be a syntax error in the test file itself
#
# main.variables main.myisam main.merge_recover
# fails due to ulimit not able to open enough files (needs 5000)
#
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# Called with bad parameters should be reported upstream
#
local t
for t in main.mysql_client_test \
binlog.binlog_statement_insert_delayed main.information_schema \
main.mysqld--help-notwin binlog.binlog_mysqlbinlog_filter \
perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \
funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \
main.variables main.myisam main.merge_recover \
engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate \
engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8 \
engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate \
main.percona_bug1289599 main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
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_buffer_pool_populate_basic ; do
mysql-multilib-r1_disable_test "$t" "Test $t requires system with NUMA support"
done
fi
fi
if ! use extraengine ; then
# bug 401673, 530766
for t in federated.federated_plugin ; do
mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
done
fi
# Run mysql tests
pushd "${TESTDIR}" || die
# Set file limits higher so tests run
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
python_setup
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
--testcase-timeout=30 --reorder
retstatus_tests=$?
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
popd || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
if [[ -n "$failures" ]]; then
has usersandbox $FEATURES && eerror "Some tests may have failed due to FEATURES=usersandbox"
die "Test failures: $failures"
fi
einfo "Tests successfully completed"
}

@ -9,11 +9,11 @@ CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit linux-info python-any-r1 eutils flag-o-matic prefix toolchain-funcs \
versionator user cmake-utils multilib-minimal
eapi7-ver user cmake-utils multilib-minimal
MY_PV=$(replace_version_separator 3 '-')
MY_PV=$(ver_rs 3 '-')
MY_PN="Percona-Server"
MY_MAJOR_PV=$(get_version_component_range 1-2)
MY_MAJOR_PV=$(ver_cut 1-2)
MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.6/release-notes/release-notes_index.html"
SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz"
@ -680,12 +680,12 @@ pkg_postinst() {
einfo
else
local _replacing_version=
local _new_version_branch=$(ver_cut 1-3 "${PV}")
for _replacing_version in ${REPLACING_VERSIONS}; do
local _new_version_branch=$(get_version_component_range 1-3 "${PV}")
local _replacing_version_branch=$(get_version_component_range 1-3 "${_replacing_version}")
local _replacing_version_branch=$(ver_cut 1-3 "${_replacing_version}")
debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..."
if ! version_is_at_least "${_new_version_branch}" "${_replacing_version_branch}"; then
if ver_test "${_new_version_branch}" -gt "${_replacing_version_branch}"; then
debug-print "Upgrading from v${_replacing_version_branch} to v${_new_version_branch} ..."
# https://www.percona.com/blog/2014/09/19/mysql-upgrade-best-practices/

@ -9,11 +9,11 @@ CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit linux-info python-any-r1 eutils flag-o-matic prefix toolchain-funcs \
versionator user cmake-utils multilib-minimal
eapi7-ver user cmake-utils multilib-minimal
MY_PV=$(replace_version_separator 3 '-')
MY_PV=$(ver_rs 3 '-')
MY_PN="Percona-Server"
MY_MAJOR_PV=$(get_version_component_range 1-2)
MY_MAJOR_PV=$(ver_cut 1-2)
MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.6/release-notes/release-notes_index.html"
SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz"
@ -680,12 +680,12 @@ pkg_postinst() {
einfo
else
local _replacing_version=
local _new_version_branch=$(ver_cut 1-3 "${PV}")
for _replacing_version in ${REPLACING_VERSIONS}; do
local _new_version_branch=$(get_version_component_range 1-3 "${PV}")
local _replacing_version_branch=$(get_version_component_range 1-3 "${_replacing_version}")
local _replacing_version_branch=$(ver_cut 1-3 "${_replacing_version}")
debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..."
if ! version_is_at_least "${_new_version_branch}" "${_replacing_version_branch}"; then
if ver_test "${_new_version_branch}" -gt "${_replacing_version_branch}"; then
debug-print "Upgrading from v${_replacing_version_branch} to v${_new_version_branch} ..."
# https://www.percona.com/blog/2014/09/19/mysql-upgrade-best-practices/

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -22,9 +22,10 @@ KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND=">=dev-haskell/hdbc-2.1.0:=[profile?]
dev-haskell/utf8-string:=[profile?]
>=dev-lang/ghc-6.12.1:=
virtual/mysql"
dev-haskell/utf8-string:=[profile?]
>=dev-lang/ghc-6.12.1:=
dev-db/mysql-connector-c:0=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.6"

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -23,9 +23,9 @@ IUSE="debug"
RDEPEND=">=dev-haskell/hdbc-2.1.0:2=[profile?]
dev-haskell/utf8-string:=[profile?]
>=dev-lang/ghc-8.0.1:=
dev-libs/openssl
dev-libs/openssl:0=
sys-libs/zlib
>=virtual/mysql-4.0
dev-db/mysql-connector-c:0=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.24.0.0

@ -1,9 +1,9 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# ebuild generated by hackport 0.2.13
EAPI=4
EAPI=6
CABAL_FEATURES="lib profile haddock hscolour hoogle"
inherit haskell-cabal
@ -18,8 +18,9 @@ KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
IUSE=""
RDEPEND="dev-haskell/cabal[profile?]
>=dev-haskell/hsql-1.8.2[profile?]
>=dev-lang/ghc-6.10.1
>=virtual/mysql-4.0"
>=dev-haskell/hsql-1.8.2[profile?]
>=dev-lang/ghc-6.10.1
dev-db/mysql-connector-c:0=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.10"
>=dev-haskell/cabal-1.10"

@ -1,9 +1,9 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# ebuild generated by hackport 0.2.13
EAPI=4
EAPI=6
CABAL_FEATURES="lib profile haddock hscolour hoogle"
inherit haskell-cabal
@ -18,8 +18,9 @@ KEYWORDS="" # buggy, has no headers
IUSE=""
RDEPEND="dev-haskell/cabal[profile?]
>=dev-haskell/hsql-1.8.2[profile?]
>=dev-lang/ghc-6.10.1
>=virtual/mysql-4.0"
>=dev-haskell/hsql-1.8.2[profile?]
>=dev-lang/ghc-6.10.1
dev-db/mysql-connector-c:0=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.10"
>=dev-haskell/cabal-1.10"

Binary file not shown.

@ -14,7 +14,7 @@ SRC_URI="
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
KEYWORDS="amd64 hppa ia64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"

@ -14,7 +14,7 @@ SRC_URI="
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
KEYWORDS="~amd64 ~hppa ~ia64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"

@ -16,7 +16,7 @@ SRC_URI="
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~hppa ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
KEYWORDS="amd64 ~hppa ia64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"

@ -16,7 +16,7 @@ SRC_URI="
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
KEYWORDS="~amd64 ~hppa ~ia64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"

@ -10,8 +10,8 @@ inherit autotools elisp-common eutils java-pkg-opt-2 multilib systemd versionato
# open up a bug to let it be created.
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="http://www.erlang.org/"
SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz
HOMEPAGE="https://www.erlang.org/"
SRC_URI="http://erlang.org/download/otp_src_${PV}.tar.gz
http://erlang.org/download/otp_doc_man_${PV}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )"

@ -10,8 +10,8 @@ inherit autotools elisp-common eutils java-pkg-opt-2 multilib systemd versionato
# open up a bug to let it be created.
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="http://www.erlang.org/"
SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz
HOMEPAGE="https://www.erlang.org/"
SRC_URI="http://erlang.org/download/otp_src_${PV}.tar.gz
http://erlang.org/download/otp_doc_man_${PV}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )"

@ -10,8 +10,8 @@ inherit autotools elisp-common eutils java-pkg-opt-2 multilib systemd versionato
# open up a bug to let it be created.
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="http://www.erlang.org/"
SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz
HOMEPAGE="https://www.erlang.org/"
SRC_URI="http://erlang.org/download/otp_src_${PV}.tar.gz
http://erlang.org/download/otp_doc_man_${PV}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )"

@ -12,7 +12,7 @@ inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets
UPSTREAM_V="$(get_version_component_range 1-2)"
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="http://www.erlang.org/"
HOMEPAGE="https://www.erlang.org/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"

@ -12,7 +12,7 @@ inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets
UPSTREAM_V="$(get_version_component_range 1-2)"
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="http://www.erlang.org/"
HOMEPAGE="https://www.erlang.org/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"

@ -10,8 +10,8 @@ inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets
# open up a bug to let it be created.
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="http://www.erlang.org/"
SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz
HOMEPAGE="https://www.erlang.org/"
SRC_URI="http://erlang.org/download/otp_src_${PV}.tar.gz
http://erlang.org/download/otp_doc_man_${PV}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )"
@ -146,10 +146,12 @@ src_install() {
echo "MANPATH=\"${EPREFIX}${ERL_LIBDIR}/man\"" > "${ED}/etc/env.d/90erlang"
if use doc ; then
dohtml -A README,erl,hrl,c,h,kwc,info -r \
"${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-*
local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* )
docompress -x /usr/share/doc/${PF}
fi
einstalldocs
if use emacs ; then
pushd "${S}"
elisp-install erlang lib/tools/emacs/*.{el,elc}

@ -12,7 +12,7 @@ inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets
UPSTREAM_V="$(get_version_component_range 1-2)"
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="http://www.erlang.org/"
HOMEPAGE="https://www.erlang.org/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"

@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/tcl/${PN}-core${PV}-src.tar.gz"
LICENSE="tcltk"
SLOT="0/8.6"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug +threads"
RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"

@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz"
LICENSE="tcltk"
SLOT="0/8.6"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug +threads truetype aqua xscreensaver"
RDEPEND="

@ -14,7 +14,7 @@ SRC_URI="http://www.dcc.fc.up.pt/~vsc/Yap/${P}.tar.gz
LICENSE="Artistic LGPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
KEYWORDS="amd64 x86"
IUSE="R debug doc examples gmp java mpi mysql odbc readline static threads"
RDEPEND="sys-libs/zlib

Binary file not shown.

@ -15,7 +15,7 @@ SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="context debug doc icu +nls mpi python static-libs +threads tools"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save