Sync with portage [Tue Nov 12 06:46:38 MSK 2019].

mhiretskiy 1516
root 5 years ago
parent a98c9b7f40
commit 284f7f050f

Binary file not shown.

Binary file not shown.

@ -1,4 +1,3 @@
DIST sysstat-12.0.5.tar.gz 711967 BLAKE2B 96aa49d82e71407dbd99d840ca5f71af83f54ba6315c858fae71f97290e8cf9c4f5358ad6389c7489366a62667c35835151e3187382a56c98153d3a04bcc2b8d SHA512 c1061f1af35430e81e488e4b2f18b8588ec4f3c419ade004c49ca24baf60b5b76a6a59eb25f3b17b51a9f60c5833a914a514872d0235b2ca405341a2f4a32cb3 DIST sysstat-12.0.5.tar.gz 711967 BLAKE2B 96aa49d82e71407dbd99d840ca5f71af83f54ba6315c858fae71f97290e8cf9c4f5358ad6389c7489366a62667c35835151e3187382a56c98153d3a04bcc2b8d SHA512 c1061f1af35430e81e488e4b2f18b8588ec4f3c419ade004c49ca24baf60b5b76a6a59eb25f3b17b51a9f60c5833a914a514872d0235b2ca405341a2f4a32cb3
DIST sysstat-12.0.6.tar.gz 712148 BLAKE2B 1118ce071e06c2853ffdec2be1b8b3bf060571caf988e17e04ff62cbf43e7111c5951a131d176b49ad35e1da75d2b8936e23f1a385e1c83a013b802a0fc36003 SHA512 e8f542b26c2b0b7b3aadbf34dce640879d27f8f1659447f15ffb5a210987c74840418046409403da85a9eb4c01484615d230ddc700611b7c0088d72165bffe86 DIST sysstat-12.0.6.tar.gz 712148 BLAKE2B 1118ce071e06c2853ffdec2be1b8b3bf060571caf988e17e04ff62cbf43e7111c5951a131d176b49ad35e1da75d2b8936e23f1a385e1c83a013b802a0fc36003 SHA512 e8f542b26c2b0b7b3aadbf34dce640879d27f8f1659447f15ffb5a210987c74840418046409403da85a9eb4c01484615d230ddc700611b7c0088d72165bffe86
DIST sysstat-12.1.6.tar.gz 1089333 BLAKE2B 3a3c3867b6b78ca1da7d5ef5838f5aad490e6d454aff3e8db266136ce7666112bcd1ad05b727c2455c16e53f6c84e0e75e32e8f4cc9318300aa9076921f68c1c SHA512 9c03e911fd6843b1719e080fce429e0d33f73f01619251f425dd4bbcc9d2764cd9beb8f8ebb4406b9540634d36c83303c10abcf682b079d35045454b1541984d DIST sysstat-12.2.0.tar.gz 1227684 BLAKE2B 1ca5cc3f0fd5dca6655d7b483fa853bf9f0256ae5e8dabf56f698d736faadd38f64af699158f4d637d7c8564f12b0992d866e503d01c647be274fc87ee04a9b4 SHA512 2398be1d5181616c337ead8f62b6bfb1144b89c747800140503c6a94793976f7909c81b656290577d51ebdee2f380418902846271b48ed79c6d7f02306f0a8a1
DIST sysstat-12.1.7.tar.gz 1213236 BLAKE2B 11e54c8ef940d057b7494fc09620f644aeb9622c41756466835e4daf14c145ff0f3a06954657c4f065f20c172659c54bfaed5b3dcf084b8bc1f8d565420c0f1f SHA512 0ee3b246619ff6e904db1359b4dc05789fe1f55759d170f78de918b001a81137823801bdcb4c9d9137c3337d38259e79ccef9c76310d361e0a81bb2731b7a3d1

@ -53,9 +53,9 @@ src_configure() {
sa_lib_dir=/usr/lib/sa \ sa_lib_dir=/usr/lib/sa \
conf_dir=/etc \ conf_dir=/etc \
econf \ econf \
$(use_enable debug debuginfo) \
$(use_enable lm-sensors sensors) \ $(use_enable lm-sensors sensors) \
$(use_enable nls) \ $(use_enable nls) \
$(usex debug --enable-debuginfo '') \
--enable-copy-only \ --enable-copy-only \
--enable-documentation \ --enable-documentation \
--enable-install-cron \ --enable-install-cron \

@ -1,81 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic systemd toolchain-funcs
DESCRIPTION="System performance tools for Linux"
HOMEPAGE="http://pagesperso-orange.fr/sebastien.godard/"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
IUSE="debug nls lm-sensors selinux static"
CDEPEND="
nls? ( virtual/libintl )
lm-sensors? ( sys-apps/lm-sensors:= )
"
DEPEND="
${CDEPEND}
nls? ( sys-devel/gettext )
"
RDEPEND="
${CDEPEND}
selinux? ( sec-policy/selinux-sysstat )
"
PATCHES=(
"${FILESDIR}"/${PN}-11.0.4-cron.patch
"${FILESDIR}"/${PN}-11.7.3-flags.patch
)
src_prepare() {
if use nls; then
strip-linguas -i nls/
local lingua pofile
for pofile in nls/*.po; do
lingua=${pofile/nls\/}
lingua=${lingua/.po}
if ! has ${lingua} ${LINGUAS}; then
rm "nls/${lingua}.po" || die
fi
done
fi
default
}
src_configure() {
tc-export AR
use static && append-ldflags -static
sa_lib_dir=/usr/lib/sa \
conf_dir=/etc \
econf \
$(use_enable debug debuginfo) \
$(use_enable lm-sensors sensors) \
$(use_enable nls) \
--enable-copy-only \
--enable-documentation \
--enable-install-cron \
--with-systemdsystemunitdir=$(systemd_get_systemunitdir)
}
src_install() {
keepdir /var/log/sa
emake \
CHOWN=true \
DESTDIR="${D}" \
DOC_DIR=/usr/share/doc/${PF} \
MANGRPARG='' \
install
dodoc -r contrib/
newinitd "${FILESDIR}"/${PN}.init.d ${PN}
systemd_dounit ${PN}.service
rm "${D}"/usr/share/doc/${PF}/COPYING || die
}

@ -53,9 +53,9 @@ src_configure() {
sa_lib_dir=/usr/lib/sa \ sa_lib_dir=/usr/lib/sa \
conf_dir=/etc \ conf_dir=/etc \
econf \ econf \
$(use_enable debug debuginfo) \
$(use_enable lm-sensors sensors) \ $(use_enable lm-sensors sensors) \
$(use_enable nls) \ $(use_enable nls) \
$(usex debug --enable-debuginfo '') \
--enable-copy-only \ --enable-copy-only \
--enable-documentation \ --enable-documentation \
--enable-install-cron \ --enable-install-cron \

@ -53,9 +53,9 @@ src_configure() {
sa_lib_dir=/usr/lib/sa \ sa_lib_dir=/usr/lib/sa \
conf_dir=/etc \ conf_dir=/etc \
econf \ econf \
$(use_enable debug debuginfo) \
$(use_enable lm-sensors sensors) \ $(use_enable lm-sensors sensors) \
$(use_enable nls) \ $(use_enable nls) \
$(usex debug --enable-debuginfo '') \
--enable-copy-only \ --enable-copy-only \
--enable-documentation \ --enable-documentation \
--enable-install-cron \ --enable-install-cron \

Binary file not shown.

@ -13,7 +13,7 @@ SRC_URI="https://github.com/ckolivas/lrzip/archive/${MY_COMMIT}.tar.gz -> ${P}.t
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs" IUSE="static-libs"
RDEPEND="dev-libs/lzo RDEPEND="dev-libs/lzo

@ -16,7 +16,7 @@ SRC_URI="mirror://sourceforge/infozip/${MY_P}.tar.gz
LICENSE="Info-ZIP" LICENSE="Info-ZIP"
SLOT="0" SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv s390 ~sh ~sparc ~x86 ~x86-linux" KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv s390 ~sh sparc ~x86 ~x86-linux"
IUSE="bzip2 natspec unicode" IUSE="bzip2 natspec unicode"
DEPEND="bzip2? ( app-arch/bzip2 ) DEPEND="bzip2? ( app-arch/bzip2 )

Binary file not shown.

@ -2,3 +2,4 @@ DIST keybase-3.0.0.tar.gz 47018995 BLAKE2B 73aaa00a94af707dc7e0713c4e0a5b2d7d7ae
DIST keybase-4.4.2.tar.gz 57819398 BLAKE2B 0852aa850ad4d66457a123e97449ae24081b695b2a6a70aa0b7ad928d59aa163b9a199e806090586579cc87ee77ebd5dcb18fb137b57aec7d61007be1cba51b5 SHA512 5eccfde7cfa35277fae71c4527c0d93bcedd0657311a9c055e50330a97a24e8c339aa3778e6e926f1230542c898e6a27c4fad18c4e2486c084c6b8d58eb2e125 DIST keybase-4.4.2.tar.gz 57819398 BLAKE2B 0852aa850ad4d66457a123e97449ae24081b695b2a6a70aa0b7ad928d59aa163b9a199e806090586579cc87ee77ebd5dcb18fb137b57aec7d61007be1cba51b5 SHA512 5eccfde7cfa35277fae71c4527c0d93bcedd0657311a9c055e50330a97a24e8c339aa3778e6e926f1230542c898e6a27c4fad18c4e2486c084c6b8d58eb2e125
DIST keybase-4.5.0.tar.gz 60207510 BLAKE2B 11acd22139fa33988a13cce3db62c7000aedb9d157de37d589a450910628a9325edd38a5dab150b7b053112e3f40930c0e569be6c990cff559bdc64dd0d34376 SHA512 5299d7eab28d487299200a97beb894a2254a2d6a525053b9acac8bd2088e581097bdb8515c9d37ed54ce3f27996e0dacd5ef943acef3c976646c85f00003bf52 DIST keybase-4.5.0.tar.gz 60207510 BLAKE2B 11acd22139fa33988a13cce3db62c7000aedb9d157de37d589a450910628a9325edd38a5dab150b7b053112e3f40930c0e569be6c990cff559bdc64dd0d34376 SHA512 5299d7eab28d487299200a97beb894a2254a2d6a525053b9acac8bd2088e581097bdb8515c9d37ed54ce3f27996e0dacd5ef943acef3c976646c85f00003bf52
DIST keybase-4.7.0.tar.gz 63827539 BLAKE2B 237a638b9b4e6dad9a0b0e0146d355f94ea87c459e64edca4253dd8f2eba4ba959a0d1e4ebd768b6572d0ab9c4f05abed539a3d8a778b23ae840a202e3fc6144 SHA512 4dc49b102f7d18345c960081a0a8cfa4d36f19159ec09ab468eb3c86e0ec2c259e9c4b2b769ea57c555c79f3cfb457c7896ca05bf185c9c5725f9458377e4048 DIST keybase-4.7.0.tar.gz 63827539 BLAKE2B 237a638b9b4e6dad9a0b0e0146d355f94ea87c459e64edca4253dd8f2eba4ba959a0d1e4ebd768b6572d0ab9c4f05abed539a3d8a778b23ae840a202e3fc6144 SHA512 4dc49b102f7d18345c960081a0a8cfa4d36f19159ec09ab468eb3c86e0ec2c259e9c4b2b769ea57c555c79f3cfb457c7896ca05bf185c9c5725f9458377e4048
DIST keybase-4.7.2.tar.gz 63834062 BLAKE2B e4d2977982d60e191e51ea54b64d52930524a71d1159da15fac8280a4be866d51804a928b2db60fee211a9ba499a6af63a7ae2698d7879ed2eaa3704cd7f49ab SHA512 4d43e2ab222b8c82fc97c15c52c718323ea19ffb2be35d19b5f631960d452f8cfe2ac48bd87e13f8e03587a7ed32ded233774a3230bafced7adb6c6f2818c891

@ -0,0 +1,52 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit golang-build systemd
DESCRIPTION="Client for keybase.io"
HOMEPAGE="https://keybase.io/"
SRC_URI="https://github.com/keybase/client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND=""
RDEPEND="app-crypt/gnupg"
src_unpack() {
unpack "${P}.tar.gz"
ln -vs "client-${PV}" "${P}" || die
mkdir -vp "${S}/src/github.com/keybase" || die
ln -vs "${S}" "${S}/src/github.com/keybase/client" || die
}
src_compile() {
EGO_PN="github.com/keybase/client/go/keybase" \
EGO_BUILD_FLAGS="-tags production -o ${T}/keybase" \
golang-build_src_compile
}
src_test() {
EGO_PN="github.com/keybase/client/go/keybase" \
golang-build_src_test
}
src_install() {
dobin "${T}/keybase"
dobin "${S}/packaging/linux/run_keybase"
systemd_douserunit "${S}/packaging/linux/systemd/keybase.service"
dodir "/opt/keybase"
insinto "/opt/keybase"
doins "${S}/packaging/linux/crypto_squirrel.txt"
}
pkg_postinst() {
elog "Start/Restart keybase: run_keybase"
elog "Run the service: keybase service"
elog "Run the client: keybase login"
ewarn "Note that the user keybasehelper is obsolete and can be removed"
}

Binary file not shown.

@ -1,8 +0,0 @@
[Desktop Entry]
Name=SciTE Text Editor
Comment=Text Editor
Exec=scite
Icon=Sci48M
Terminal=false
Type=Application
Categories=Development;

Binary file not shown.

@ -1 +1 @@
DIST muse-3.20.tar.gz 411316 BLAKE2B a67c72a470e7e2d75cf94ed262b0e9503166326666a119f41968a603b4e48f3527705691a1b4b819ae6ec69c382a09074eef74ddad598faa08be6c74793b1e97 SHA512 23cd0e864586f907418753bc3284afde51b4f8559c5d043c52baa70de70ec4a845d9e8362b93e701308dbbd662e3429035df8ad440916e61d5909498cd55f7be DIST muse-3.20.tar.gz 407054 BLAKE2B ff2babe2caf109c9de7504c4f82e04a7769b5e708455439e59faf96fa939423d6439e34f912cd79df420ec8498f7e91e5faa2e7410d4df236207fded66eff532 SHA512 864eca508d34f4c329ffd31cd3c169b67dff6d19c6695a85d8190511fa05d85f4a68f12e58c1679f91940ebcd823766e9f60309f2bfba17c985f811a3f342dda

@ -31,4 +31,7 @@
CamelCase words are no longer special by default. CamelCase words are no longer special by default.
</longdescription> </longdescription>
<stabilize-allarches/> <stabilize-allarches/>
<upstream>
<remote-id type="github">alexott/muse</remote-id>
</upstream>
</pkgmetadata> </pkgmetadata>

@ -7,7 +7,7 @@ inherit elisp
DESCRIPTION="An authoring and publishing environment for Emacs" DESCRIPTION="An authoring and publishing environment for Emacs"
HOMEPAGE="https://www.gnu.org/software/emacs-muse/" HOMEPAGE="https://www.gnu.org/software/emacs-muse/"
SRC_URI="http://download.gna.org/muse-el/${P}.tar.gz" SRC_URI="https://github.com/alexott/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+ FDL-1.2+ GPL-2 MIT" LICENSE="GPL-3+ FDL-1.2+ GPL-2 MIT"
SLOT="0" SLOT="0"
@ -20,7 +20,7 @@ RESTRICT="test" #426546
SITEFILE="50${PN}-gentoo.el" SITEFILE="50${PN}-gentoo.el"
src_compile() { src_compile() {
default emake -j1
} }
src_install() { src_install() {
@ -28,6 +28,5 @@ src_install() {
elisp-site-file-install "${FILESDIR}/${SITEFILE}" elisp-site-file-install "${FILESDIR}/${SITEFILE}"
doinfo texi/muse.info doinfo texi/muse.info
dodoc AUTHORS NEWS README ChangeLog* dodoc AUTHORS NEWS README ChangeLog*
insinto /usr/share/doc/${PF} dodoc -r contrib etc examples experimental scripts
doins -r contrib etc examples experimental scripts
} }

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=5 EAPI=5
@ -38,8 +38,7 @@ src_install() {
if use contrib; then if use contrib; then
elisp-install ${PN}/contrib contrib/lisp/{org,ob,ox}*.el elisp-install ${PN}/contrib contrib/lisp/{org,ob,ox}*.el
insinto /usr/share/doc/${PF}/contrib ( docinto contrib; dodoc -r contrib/README contrib/scripts )
doins -r contrib/README contrib/scripts
find "${ED}/usr/share/doc/${PF}/contrib" -type f -name '.*' \ find "${ED}/usr/share/doc/${PF}/contrib" -type f -name '.*' \
-exec rm -f '{}' '+' -exec rm -f '{}' '+'
# add the contrib subdirectory to load-path # add the contrib subdirectory to load-path

@ -39,8 +39,7 @@ src_install() {
if use contrib; then if use contrib; then
elisp-install ${PN}/contrib contrib/lisp/{org,ob,ox}*.el elisp-install ${PN}/contrib contrib/lisp/{org,ob,ox}*.el
insinto /usr/share/doc/${PF}/contrib ( docinto contrib; dodoc -r contrib/README contrib/scripts )
doins -r contrib/README contrib/scripts
find "${ED}/usr/share/doc/${PF}/contrib" -type f -name '.*' \ find "${ED}/usr/share/doc/${PF}/contrib" -type f -name '.*' \
-exec rm -f '{}' '+' -exec rm -f '{}' '+'
# add the contrib subdirectory to load-path # add the contrib subdirectory to load-path

@ -1,13 +1,14 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=5 EAPI=7
inherit elisp inherit elisp
DESCRIPTION="Maintain a local Wiki using Emacs-friendly markup" DESCRIPTION="Maintain a local Wiki using Emacs-friendly markup"
HOMEPAGE="https://www.emacswiki.org/emacs/PlannerMode" HOMEPAGE="https://www.emacswiki.org/emacs/PlannerMode"
SRC_URI="http://download.gna.org/planner-el/${P}.tar.gz" # taken from http://download.gna.org/planner-el/${P}.tar.gz
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.gz"
LICENSE="GPL-3+" LICENSE="GPL-3+"
SLOT="0" SLOT="0"
@ -17,7 +18,7 @@ RESTRICT="test"
RDEPEND=">=app-emacs/muse-3.02.6a RDEPEND=">=app-emacs/muse-3.02.6a
app-emacs/bbdb app-emacs/bbdb
app-emacs/emacs-w3m" app-emacs/emacs-w3m"
DEPEND="${RDEPEND} BDEPEND="${RDEPEND}
sys-apps/texinfo" sys-apps/texinfo"
PDEPEND="app-emacs/remember" PDEPEND="app-emacs/remember"

@ -1 +1 @@
DIST remember-2.0.tar.gz 48096 BLAKE2B 7296760b561ab3c626a4c356aeaf02f9783d0ce84fb2e1bfbcfd46f392a5128bc956e378f646394645589ca6dd2a9bf1ff364ade25787ffa58f580d4decc485f SHA512 c5d1a55904699565af6375d19e88924a31364cf6f9b09b6e5510ac3e65c9bddbb2e0a5aa668dfd6e541ea6572209cad8af68694b7376b1bfe964032d247e5e01 DIST remember-2.0.tar.gz 44481 BLAKE2B 2419ff87c7cf45e86102e02b51e7941e101ea6540d34bf8ad3df1c59c733042bea03d95508e1fb5f724148999e68bd177732bf8748f5ccc0158c36c983816536 SHA512 9744a4f5893f6191de667d6fe5f5fe8d5730b46115f290993a082a14d3bd51ebb4e0ac3dd7f8b29de4db0aeb10259d6bf9f5833fd98b95077fb963683cb0f859

@ -20,4 +20,7 @@
<flag name="bbdb">Include support for <pkg>app-emacs/bbdb</pkg></flag> <flag name="bbdb">Include support for <pkg>app-emacs/bbdb</pkg></flag>
<flag name="planner">Include support for <pkg>app-emacs/planner</pkg></flag> <flag name="planner">Include support for <pkg>app-emacs/planner</pkg></flag>
</use> </use>
<upstream>
<remote-id type="github">jwiegley/remember</remote-id>
</upstream>
</pkgmetadata> </pkgmetadata>

@ -1,13 +1,13 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=5 EAPI=7
inherit elisp inherit elisp
DESCRIPTION="Simplify writing short notes in emacs" DESCRIPTION="Simplify writing short notes in emacs"
HOMEPAGE="https://www.emacswiki.org/emacs/RememberMode" HOMEPAGE="https://www.emacswiki.org/emacs/RememberMode"
SRC_URI="http://download.gna.org/${PN}-el/${P}.tar.gz" SRC_URI="https://github.com/jwiegley/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+ FDL-1.2+" LICENSE="GPL-3+ FDL-1.2+"
SLOT="0" SLOT="0"
@ -18,7 +18,7 @@ RESTRICT="test"
RDEPEND="bbdb? ( app-emacs/bbdb ) RDEPEND="bbdb? ( app-emacs/bbdb )
planner? ( app-emacs/planner )" planner? ( app-emacs/planner )"
DEPEND="${RDEPEND} BDEPEND="${RDEPEND}
sys-apps/texinfo" sys-apps/texinfo"
ELISP_PATCHES="${PN}-1.9-make-elc.patch" ELISP_PATCHES="${PN}-1.9-make-elc.patch"

Binary file not shown.

@ -1,75 +0,0 @@
diff -ur xen-4.3.0.orig/stubdom/Makefile xen-4.3.0/stubdom/Makefile
--- stubdom/Makefile 2013-07-09 18:46:56.000000000 +0800
+++ stubdom/Makefile 2013-07-21 16:07:08.094663570 +0800
@@ -68,12 +68,12 @@
##############
newlib-$(NEWLIB_VERSION).tar.gz:
- $(FETCHER) $@ $(NEWLIB_URL)/$@
newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz
tar xzf $<
patch -d $@ -p0 < newlib.patch
patch -d $@ -p0 < newlib-chk.patch
+ patch -d $@ -p0 < newlib-implicits.patch
patch -d $@ -p1 < newlib-stdint-size_max-fix-from-1.17.0.patch
find $@ -type f | xargs perl -i.bak \
-pe 's/\b_(tzname|daylight|timezone)\b/$$1/g'
@@ -85,7 +85,7 @@
$(NEWLIB_STAMPFILE): mk-headers-$(XEN_TARGET_ARCH) newlib-$(NEWLIB_VERSION)
mkdir -p newlib-$(XEN_TARGET_ARCH)
( cd newlib-$(XEN_TARGET_ARCH) && \
- CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \
+ CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) LDFLAGS= RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \
$(MAKE) DESTDIR= && \
$(MAKE) DESTDIR= install )
@@ -94,7 +94,6 @@
############
zlib-$(ZLIB_VERSION).tar.gz:
- $(FETCHER) $@ $(ZLIB_URL)/$@
zlib-$(XEN_TARGET_ARCH): zlib-$(ZLIB_VERSION).tar.gz
tar xzf $<
@@ -105,7 +104,7 @@
cross-zlib: $(ZLIB_STAMPFILE)
$(ZLIB_STAMPFILE): zlib-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE)
( cd $< && \
- CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC=$(CC) ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \
+ CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC="$(CC)" ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \
$(MAKE) DESTDIR= libz.a && \
$(MAKE) DESTDIR= install )
@@ -114,7 +113,6 @@
##############
pciutils-$(LIBPCI_VERSION).tar.bz2:
- $(FETCHER) $@ $(LIBPCI_URL)/$@
pciutils-$(XEN_TARGET_ARCH): pciutils-$(LIBPCI_VERSION).tar.bz2
tar xjf $<
@@ -142,7 +140,6 @@
######
lwip-$(LWIP_VERSION).tar.gz:
- $(FETCHER) $@ $(LWIP_URL)/$@
lwip-$(XEN_TARGET_ARCH): lwip-$(LWIP_VERSION).tar.gz
tar xzf $<
@@ -180,7 +177,6 @@
# cross-polarssl
#############
polarssl-$(POLARSSL_VERSION)-gpl.tgz:
- $(FETCHER) $@ $(POLARSSL_URL)/$@
polarssl-$(XEN_TARGET_ARCH): polarssl-$(POLARSSL_VERSION)-gpl.tgz
tar xzf $<
@@ -385,7 +382,6 @@
######
grub-$(GRUB_VERSION).tar.gz:
- $(FETCHER) $@ $(GRUB_URL)/$@
grub-upstream: grub-$(GRUB_VERSION).tar.gz
tar xzf $<

Binary file not shown.

@ -1,2 +1 @@
DIST djvulibre-3.5.25.3.tar.gz 2543949 BLAKE2B 8ae6004e74a7db0fa666a3cf15f5a3b335690984838e8d674ccd7fa7dda0728771f6fab5f61747b505646e3bb206effd0bbaf9c6035fb27993d587693ad1fa43 SHA512 0e38f56d77915ee6707dd19a36a8ca9167608c39449a5c73de9cd784d712852c07c068b79a794e25f6d3ded0f927d083413dde197c9fc8f7b68c03cffe68035b
DIST djvulibre-3.5.27.tar.gz 3648522 BLAKE2B e1907b4b64c48304ceb24360cfd451e4690d38803f22231d4e136dbe754715527fa0300c623bb709fa05bba206348257137b2a755651bb51ca26259680e142d0 SHA512 62abcaa2fe7edab536477929ba38b882453dab1a06e119a3f838b38d5c61f5d8c252e4769e6534582b826e49bcfb490513179580fab9c3afa84aa92053ccebee DIST djvulibre-3.5.27.tar.gz 3648522 BLAKE2B e1907b4b64c48304ceb24360cfd451e4690d38803f22231d4e136dbe754715527fa0300c623bb709fa05bba206348257137b2a755651bb51ca26259680e142d0 SHA512 62abcaa2fe7edab536477929ba38b882453dab1a06e119a3f838b38d5c61f5d8c252e4769e6534582b826e49bcfb490513179580fab9c3afa84aa92053ccebee

@ -1,72 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit autotools eutils flag-o-matic xdg-utils
MY_P="${PN}libre-${PV#*_p}"
DESCRIPTION="DjVu viewers, encoders and utilities"
HOMEPAGE="http://djvu.sourceforge.net/"
SRC_URI="mirror://sourceforge/djvu/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="debug doc jpeg tiff xml"
RDEPEND="jpeg? ( virtual/jpeg:0 )
tiff? ( media-libs/tiff:0= )"
DEPEND="${RDEPEND}
|| ( gnome-base/librsvg media-gfx/inkscape )"
S=${WORKDIR}/${MY_P%%.3}
src_prepare() {
sed -i \
-e 's/AC_CXX_OPTIMIZE/OPTS=;AC_SUBST(OPTS)/' \
configure.ac || die #263688
rm aclocal.m4 config/{libtool.m4,ltmain.sh,install-sh,config.sub,config.guess,ltoptions.m4,ltversion.m4,lt~obsolete.m4}
# epatch "${FILESDIR}/${PN}-3.5.24-gcc46.patch"
AT_M4DIR="config" eautoreconf
}
src_configure() {
use debug && append-cppflags "-DRUNTIME_DEBUG_ONLY"
# We install all desktop files by hand.
econf \
$(use_enable xml xmltools) \
$(use_with jpeg) \
$(use_with tiff) \
--disable-desktopfiles
}
DOCS=( NEWS README )
src_install() {
default
prune_libtool_files
use doc && dodoc -r doc
# Install desktop files.
cd desktopfiles
for i in {22,32,48,64}; do
insinto /usr/share/icons/hicolor/${i}x${i}/mimetypes
newins hi${i}-djvu.png image-vnd.djvu.png
done
insinto /usr/share/mime/packages
doins djvulibre-mime.xml
}
pkg_postinst() {
xdg_mimeinfo_database_update
has_version app-text/djview || \
optfeature "For djviewer or browser plugin" app-text/djview
}
pkg_postrm() {
xdg_mimeinfo_database_update
}

@ -1,21 +1,23 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=5 EAPI=7
inherit eutils flag-o-matic xdg-utils inherit desktop eutils flag-o-matic xdg-utils
MY_P="${PN}libre-${PV#*_p}" MY_P="${PN}libre-${PV#*_p}"
DESCRIPTION="DjVu viewers, encoders and utilities" DESCRIPTION="DjVu viewers, encoders and utilities"
HOMEPAGE="http://djvu.sourceforge.net/" HOMEPAGE="http://djvu.sourceforge.net/"
SRC_URI="mirror://sourceforge/djvu/${MY_P}.tar.gz" SRC_URI="http://downloads.sourceforge.net/djvu/${MY_P}.tar.gz"
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris" KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="debug doc jpeg tiff xml" IUSE="debug doc jpeg tiff xml"
PATCHES=( "${FILESDIR}"/fix-CVE-2019-18804.patch )
RDEPEND="jpeg? ( virtual/jpeg:0 ) RDEPEND="jpeg? ( virtual/jpeg:0 )
tiff? ( media-libs/tiff:0= )" tiff? ( media-libs/tiff:0= )"
DEPEND="${RDEPEND} DEPEND="${RDEPEND}
@ -38,7 +40,8 @@ DOCS=( NEWS README )
src_install() { src_install() {
default default
prune_libtool_files
find "${ED}" -name '*.la' -delete || die
use doc && dodoc -r doc use doc && dodoc -r doc

@ -1,40 +0,0 @@
http://bugs.gentoo.org/361057 for GSmartPointer.h change
Then include stddef.h in the installed headers to fix building of reverse
dependencies, such as app-text/zathura-djvu
These are all in upstream GIT
--- a/libdjvu/ddjvuapi.h
+++ b/libdjvu/ddjvuapi.h
@@ -64,6 +64,7 @@
}
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
--- a/libdjvu/GSmartPointer.h
+++ b/libdjvu/GSmartPointer.h
@@ -62,6 +62,8 @@
# pragma interface
#endif
+#include <cstddef>
+
/** @name GSmartPointer.h
Files #"GSmartPointer.h"# and #"GSmartPointer.cpp"# define a smart-pointer
--- a/libdjvu/miniexp.h
+++ b/libdjvu/miniexp.h
@@ -38,7 +38,8 @@
#ifndef MINILISPAPI
# define MINILISPAPI /**/
#endif
-
+
+#include <stddef.h>
/* -------------------------------------------------- */
/* LISP EXPRESSIONS */

@ -0,0 +1,39 @@
From c8bec6549c10ffaa2f2fbad8bbc629efdf0dd125 Mon Sep 17 00:00:00 2001
From: Leon Bottou <leon@bottou.org>
Date: Thu, 17 Oct 2019 22:20:31 -0400
Subject: [PATCH] Fixed bug 309
---
libdjvu/IW44EncodeCodec.cpp | 2 +-
tools/ddjvu.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp
index 00752a0..f81eaeb 100644
--- a/libdjvu/IW44EncodeCodec.cpp
+++ b/libdjvu/IW44EncodeCodec.cpp
@@ -405,7 +405,7 @@ filter_fv(short *p, int w, int h, int rowsize, int scale)
int y = 0;
int s = scale*rowsize;
int s3 = s+s+s;
- h = ((h-1)/scale)+1;
+ h = (h>0) ? ((h-1)/scale)+1 : 0;
y += 1;
p += s;
while (y-3 < h)
diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp
index 6d0df3b..7109952 100644
--- a/tools/ddjvu.cpp
+++ b/tools/ddjvu.cpp
@@ -279,7 +279,7 @@ render(ddjvu_page_t *page, int pageno)
prect.h = (ih * 100) / dpi;
}
/* Process aspect ratio */
- if (flag_aspect <= 0)
+ if (flag_aspect <= 0 && iw>0 && ih>0)
{
double dw = (double)iw / prect.w;
double dh = (double)ih / prect.h;
--
2.23.0

Binary file not shown.

@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2"
LICENSE="Boost-1.0" LICENSE="Boost-1.0"
SLOT="0" SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 sparc ~x86" KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 sparc ~x86"
IUSE="doc examples libressl ssl test" IUSE="doc examples libressl ssl test"
RDEPEND="dev-libs/boost RDEPEND="dev-libs/boost

Binary file not shown.

@ -1,5 +1,6 @@
DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac2653a24063e8344cef2f3062fc6798e18b969e8f9aa8287104ce2518e6c644cb8d3a4650b5a0bc5dfde973e76e618955 SHA512 184582f3a902a989ba3d9c4d21288c014c8b469adbbb4cbabc621c5006022cef29baed8c1140ed4476b124da83b76dfa414295ed0c3374be826e75aca953a77b DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac2653a24063e8344cef2f3062fc6798e18b969e8f9aa8287104ce2518e6c644cb8d3a4650b5a0bc5dfde973e76e618955 SHA512 184582f3a902a989ba3d9c4d21288c014c8b469adbbb4cbabc621c5006022cef29baed8c1140ed4476b124da83b76dfa414295ed0c3374be826e75aca953a77b
DIST mariadb-10.1.41.tar.gz 63615288 BLAKE2B 91ebc6d24c80ad9651c42a2f4553ce3ec3b7beb17493f90ebbf02ab23f425b0f729766cf2c81202832dfbca0a5e285f94a4daf794fcf4d445730fbe4fcc88871 SHA512 4a18b06fda49c5c3627b4e7cd32fb460e73762273a0c3d09098e34c71e63caa8fad03cdd92ae4a391cdfdb3719934688f0bdf312fa4af7ac3b9e5f5d90f404be DIST mariadb-10.1.41.tar.gz 63615288 BLAKE2B 91ebc6d24c80ad9651c42a2f4553ce3ec3b7beb17493f90ebbf02ab23f425b0f729766cf2c81202832dfbca0a5e285f94a4daf794fcf4d445730fbe4fcc88871 SHA512 4a18b06fda49c5c3627b4e7cd32fb460e73762273a0c3d09098e34c71e63caa8fad03cdd92ae4a391cdfdb3719934688f0bdf312fa4af7ac3b9e5f5d90f404be
DIST mariadb-10.1.43.tar.gz 63635313 BLAKE2B 60617d3021bb478633a995b93a3659a287ecab49bb1997efc430e2f453a8145307f0db02799b43560a51c92ef528060f93fb82fd0362ea34052f68590144bff0 SHA512 47e9693c6c1d25d2c3541efe001569c17e70721edcbfc3d0ccc96f3638820123436c18d2cbc3c2ad252adf1eda446feff0370eb97f9e57b6711757ac899b47e8
DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2 DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2
DIST mariadb-10.2.26.tar.gz 73037655 BLAKE2B 54fd27959960736bffe0eeacc913b9aed0407d1be7a60d3035a1b84cbe8066aa1551c1c82a1b90b824debf85faaa9d11e3de29634a0108bc04bc17ca5c2a9d7c SHA512 1eaac1c1dda1017b64249d39d872729d3140d81653240c54f688f64440b1775e5f3a7c5a8486075fa1799411dfb0c2c09b7c1dbb46d95675572d90127048c124 DIST mariadb-10.2.26.tar.gz 73037655 BLAKE2B 54fd27959960736bffe0eeacc913b9aed0407d1be7a60d3035a1b84cbe8066aa1551c1c82a1b90b824debf85faaa9d11e3de29634a0108bc04bc17ca5c2a9d7c SHA512 1eaac1c1dda1017b64249d39d872729d3140d81653240c54f688f64440b1775e5f3a7c5a8486075fa1799411dfb0c2c09b7c1dbb46d95675572d90127048c124
DIST mariadb-10.2.27.tar.gz 73068579 BLAKE2B 7e4ae229040b3136ad107979864bc391556c1ba83847addd89e09f3757cd01203503e07832abe496a7f560048ed704f273607da3a114afa59ceb13cbb3b89c14 SHA512 9ea7ea30f964d022d16c662c18ac40ea50ef5b6592d02ba739ad81f9dfa9e60be90ea6d4706b43b07402c4cbc8c0280633b6e21bda6daf5bbc1d3c540993e4d6 DIST mariadb-10.2.27.tar.gz 73068579 BLAKE2B 7e4ae229040b3136ad107979864bc391556c1ba83847addd89e09f3757cd01203503e07832abe496a7f560048ed704f273607da3a114afa59ceb13cbb3b89c14 SHA512 9ea7ea30f964d022d16c662c18ac40ea50ef5b6592d02ba739ad81f9dfa9e60be90ea6d4706b43b07402c4cbc8c0280633b6e21bda6daf5bbc1d3c540993e4d6
@ -7,9 +8,11 @@ DIST mariadb-10.2.29.tar.gz 73087972 BLAKE2B aa3fe880f00b02846b26f16fcd37d18ebe2
DIST mariadb-10.3.17.tar.gz 71894997 BLAKE2B 8e04302f67a99c28751f9970b7e8dfc5ada0583fdabc416e0469e23fa93d22dae8b79e762ef14ca65957e22ec310a290b15d33746f6f2e7287f922803e6a6826 SHA512 6fba995d8c284a12f19ee5635f5d69d8fa89fc314f512cd1764b2c4593933baf71a472ddce630463debd3bfbafa1cf5afee3f40d3c4062242f58cea16259561e DIST mariadb-10.3.17.tar.gz 71894997 BLAKE2B 8e04302f67a99c28751f9970b7e8dfc5ada0583fdabc416e0469e23fa93d22dae8b79e762ef14ca65957e22ec310a290b15d33746f6f2e7287f922803e6a6826 SHA512 6fba995d8c284a12f19ee5635f5d69d8fa89fc314f512cd1764b2c4593933baf71a472ddce630463debd3bfbafa1cf5afee3f40d3c4062242f58cea16259561e
DIST mariadb-10.3.18.tar.gz 71950543 BLAKE2B d157426781713f19470004d80c587019e12c875d0958e5077ca373d856a8f1214be01dbc2a50fd5a754eaa91e727179bea70ee2a3133a219209cb819108c8940 SHA512 817253d18f20c74f9ec8030678fd50a28b1726fd59153023a3a5e9b3f79e1f44d79feb24ae9ed72d8c1c04017110c932aba7be0610fb06245590c7f5610db242 DIST mariadb-10.3.18.tar.gz 71950543 BLAKE2B d157426781713f19470004d80c587019e12c875d0958e5077ca373d856a8f1214be01dbc2a50fd5a754eaa91e727179bea70ee2a3133a219209cb819108c8940 SHA512 817253d18f20c74f9ec8030678fd50a28b1726fd59153023a3a5e9b3f79e1f44d79feb24ae9ed72d8c1c04017110c932aba7be0610fb06245590c7f5610db242
DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3 DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3
DIST mariadb-10.4.10.tar.gz 78352896 BLAKE2B c0e448fba455feb9385b7d57e1a727e84eaf4cfa52ce0dbd6ff062aa0b5abc42005680fb185416d04fbd7bb62d9bbd6c93e4cb77b145418cf6be92747f8b1c2a SHA512 4a9b9a37bc3a273de4bd781dac3636256364dae6efbba45765d6b28995da3d64e180422cd10418d1c7acd7fd8843fe2a2638c07e0f56b0c09170c58812cc6b71
DIST mariadb-10.4.7.tar.gz 78155161 BLAKE2B b2c92093438b3574e494bda2180f4a2b5cbe10bac1c46acc45b5303fb4c2a1ca54f3ea88d138ab9cbb492460171dde86f3c21e5873d964b15c6c064e2e6eb47f SHA512 cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce DIST mariadb-10.4.7.tar.gz 78155161 BLAKE2B b2c92093438b3574e494bda2180f4a2b5cbe10bac1c46acc45b5303fb4c2a1ca54f3ea88d138ab9cbb492460171dde86f3c21e5873d964b15c6c064e2e6eb47f SHA512 cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
DIST mariadb-10.4.8.tar.gz 78262897 BLAKE2B 357dfd8db702d30c30173cb4ee0bbbda8e54a77a8f726cdc529cbaeebd390fe11fd05c108dde54b029b7e311ebbf9a610dc2c6e4015c9a198d816deaaec5831e SHA512 1aa7117734f4ebeb08395289ff1295e1d2ed2f89e8ccf3224cd60afaf2be56f81e8f0448e7619eeb6c858355a2b1e224efe42a0f400941f138342318adb66c42 DIST mariadb-10.4.8.tar.gz 78262897 BLAKE2B 357dfd8db702d30c30173cb4ee0bbbda8e54a77a8f726cdc529cbaeebd390fe11fd05c108dde54b029b7e311ebbf9a610dc2c6e4015c9a198d816deaaec5831e SHA512 1aa7117734f4ebeb08395289ff1295e1d2ed2f89e8ccf3224cd60afaf2be56f81e8f0448e7619eeb6c858355a2b1e224efe42a0f400941f138342318adb66c42
DIST mariadb-5.5.65.tar.gz 45957577 BLAKE2B 9ed27349d008d2001ed4059370505064918ef3586f89157f5f28892bceabd3073b7070f4054c0a700f1504dde3a4077e274111d5b8cb3713bc5db0910b752628 SHA512 5dbaa2ba7a829a0d5ae6ab8394c31a58753cd93da2637cd83d1e055e78b0796d63214418ddc91a65cefdd791aad4f01b0743aa8c7c40ecbb404cb81fd0138443 DIST mariadb-5.5.65.tar.gz 45957577 BLAKE2B 9ed27349d008d2001ed4059370505064918ef3586f89157f5f28892bceabd3073b7070f4054c0a700f1504dde3a4077e274111d5b8cb3713bc5db0910b752628 SHA512 5dbaa2ba7a829a0d5ae6ab8394c31a58753cd93da2637cd83d1e055e78b0796d63214418ddc91a65cefdd791aad4f01b0743aa8c7c40ecbb404cb81fd0138443
DIST mariadb-5.5.66.tar.gz 45962591 BLAKE2B 41befba24abec2af876168a11fc205d328c137baa49e5e521787898e4b973d1dc548ef459228811caa99fa3c2b7a9fe96f3eb7a04bf62f0bb20966e4ffd2ea9b SHA512 403f3bc67018e01eb2277a88d3a7ac673d50df8f7a67607f9d14e3167d1bdd4ca202983df69c97688ff51edbd6d6b43af3541c75e968d1d01713a7b6495e4c8c
DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec
DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c
DIST mysql-extras-20190731-2258Z.tar.bz2 332111 BLAKE2B cc144c9af852bfdd4149b96bdc22f8afb2d0aa92f95ebd272a244f0fb7743dc03f9244871d5c195260bac5d9ed20583093257ee2c95a5a4d0a4dae488d781adf SHA512 d4428a1128cd5aef62c463b659992b110090b1602cdcb6b8d922d570c6b946fde325bfcf5a9a955a8dcc61f3ccd3d612d8517ebf63e316f98ca9ff2cd8a807aa DIST mysql-extras-20190731-2258Z.tar.bz2 332111 BLAKE2B cc144c9af852bfdd4149b96bdc22f8afb2d0aa92f95ebd272a244f0fb7743dc03f9244871d5c195260bac5d9ed20583093257ee2c95a5a4d0a4dae488d781adf SHA512 d4428a1128cd5aef62c463b659992b110090b1602cdcb6b8d922d570c6b946fde325bfcf5a9a955a8dcc61f3ccd3d612d8517ebf63e316f98ca9ff2cd8a807aa

@ -0,0 +1,897 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20190305-2052Z"
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"
SLOT="0/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos
innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam
+perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup
systemd systemtap static static-libs 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 ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( 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"
# 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
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
inherit git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
EGIT_CLONE_TYPE=shallow
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.37-enable-numa.patch
"${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
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= )
!yassl? (
!libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3: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= )
sys-libs/zlib[minizip]
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
kerberos? ( virtual/krb5 )
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? ( sys-libs/pam:0= )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
!yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) )
>=dev-libs/libpcre-8.41-r1:3=
!client-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 )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${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? ( 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
}
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
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
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
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 semisync sql_errlog )
local test_plugins=( audit_null auth_examples daemon_example fulltext )
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
fi
# Collides with mariadb-connector-c bug 655980
_disable_plugin auth_dialog
# Avoid useless library checks
use mroonga || _disable_engine mroonga
use oqgraph || _disable_engine oqgraph
_disable_engine example
# Don't clash with dev-db/mysql-connector-c
sed -i -e 's/ my_print_defaults.1//' \
-e 's/ perror.1//' \
"${S}"/man/CMakeLists.txt || die
cmake-utils_src_prepare
java-pkg-opt-2_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"
-DDEFAULT_SYSCONFDIR="${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_MYSQLTESTDIR=$(usex test 'share/mariadb/mysql-test' '')
-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"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_ZLIB=system
-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)
-DWITHOUT_CLIENTLIBS=YES
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
-DENABLE_DTRACE=$(usex systemtap)
-DWITH_SSL=$(usex yassl bundled system)
-DPLUGIN_CLIENT_ED25519=NO
-DPLUGIN_AUTH_GSSAPI_CLIENT=NO
)
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)
-DPLUGIN_AUTH_GSSAPI_CLIENT=NO
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
-DWITH_SYSTEMD=$(usex systemd yes no)
-DWITH_NUMA=$(usex numa ON OFF)
-DINSTALL_SQLBENCHDIR=''
)
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
-DENABLED_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
local mycnf_src="my.cnf-5.6-r1"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok"
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" my.cnf
if use server ; then
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
# Manually install supporting files that conflict with other packages
# but are needed for galera and initial installation
exeinto /usr/libexec/mariadb
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
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 \
rpl.rpl_semi_sync_uninstall_plugin main.mysql \
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
_disable_test "$t" "False positives in Gentoo"
done
if ! use client-libs ; then
_disable_test main.plugin_auth "Needs client libraries built"
_disable_test plugins.auth_ed25519 "Needs client libraries built"
fi
_disable_test main.gis_notembedded "Fails when latin1 USE is not set"
_disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on
# 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/libexec/mariadb/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 | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
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"
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,836 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20180809-1700Z"
SUBSLOT="18"
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs 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"
SLOT="0/${SUBSLOT:-0}"
IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
oqgraph pam +perl profiling selinux +server sphinx
static static-libs systemtap tcmalloc
test tokudb yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
REQUIRED_USE="server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( 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"
# 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
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
inherit git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
EGIT_CLONE_TYPE=shallow
else
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
"${MY_PATCH_DIR}/20004_all_mariadb-filter-tokudb-flags.patch"
"${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-5.5.50.patch"
"${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
"${MY_PATCH_DIR}/20018_all_mariadb-5.5.60-without-clientlibs-tools.patch"
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
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= )
!yassl? (
!libressl? ( <dev-libs/openssl-1.1.0:0= )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
!bindist? (
>=sys-libs/readline-4.1:0=
)
server? (
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( sys-libs/pam:0= )
)
!client-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 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
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
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_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
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
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR%/}/${P}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
fi
# Don't build bundled xz-utils for tokudb
echo > "${S%/}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
sed -i -e 's/ build_lzma//' "${S%/}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/ft-index/portability/CMakeLists.txt" || die
local plugin
local server_plugins=( handler_socket auth_socket feedback qc_info server_audit semisync sql_errlog )
local test_plugins=( audit_null auth_examples daemon_example fulltext )
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
fi
# Collides with mariadb-connector-c bug 655980
_disable_plugin auth_dialog
# Don't build example
_disable_engine example
if ! use oqgraph ; then # avoids extra library checks
_disable_engine oqgraph
fi
# Don't clash with dev-db/mysql-connector-c
sed -i -e 's/ my_print_defaults.1//' \
-e 's/ perror.1//' \
"${S}"/man/CMakeLists.txt || die
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"
-DDEFAULT_SYSCONFDIR="${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"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_ZLIB=system
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
-DINSTALL_UNIX_ADDRDIR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
# 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)
-DWITHOUT_CLIENTLIBS=YES
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
-DENABLE_DTRACE=$(usex systemtap)
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
mycmakeargs+=(
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 )
fi
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1
-D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1
-D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1
-DINSTALL_SQLBENCHDIR=share/mariadb
)
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_EMBEDDED_SERVER=OFF
-DENABLED_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
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
)
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
local mycnf_src="my.cnf-5.5"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR%/}/${mycnf_src}" \
> "${TMPDIR%/}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
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" my.cnf
if use server ; then
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
# Manually install supporting files that conflict with other packages
# but are needed for galera and initial installation
exeinto /usr/libexec/mariadb
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
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 5.5 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
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test, main.mysql_client_test_nonblock:
# 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
local t
for t in main.mysql_client_test main.mysql_client_test_nonblock \
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
_disable_test "$t" "False positives in Gentoo"
done
if ! use client-libs ; then
_disable_test main.plugin_auth "Needs client libraries built"
fi
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd > /dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
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/libexec/mariadb/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 | tail -n 1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n 1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n 1)"
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"
}

Binary file not shown.

@ -24,7 +24,7 @@ SRC_URI="
" "
LICENSE="GPL-2-with-classpath-exception" LICENSE="GPL-2-with-classpath-exception"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64" KEYWORDS="amd64 ~arm arm64 ~ppc64"
IUSE="alsa cups examples +gentoo-vm headless-awt nsplugin selinux source +webstart" IUSE="alsa cups examples +gentoo-vm headless-awt nsplugin selinux source +webstart"

@ -24,7 +24,7 @@ SRC_URI="
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="$(ver_cut 1)" SLOT="$(ver_cut 1)"
KEYWORDS="amd64 ~ppc64 ~x86" KEYWORDS="amd64 arm64 ~ppc64 ~x86"
IUSE="alsa debug cups doc examples gentoo-vm headless-awt +jbootstrap nsplugin +pch selinux source +webstart" IUSE="alsa debug cups doc examples gentoo-vm headless-awt +jbootstrap nsplugin +pch selinux source +webstart"
COMMON_DEPEND=" COMMON_DEPEND="

Binary file not shown.

@ -5,5 +5,5 @@ DIST php-7.2.22.tar.xz 12271632 BLAKE2B be3089066ba1c25c479eedaf3e6dd8f7773a6d87
DIST php-7.2.24.tar.xz 12302284 BLAKE2B 3c864e72d9fce1f13295385e20708a632087b2e4ffdc9e0012191cb2e17a3530f26797ad03c595bea60cccf850fe17028f2a379e50f32bd4db82530e0fcd727f SHA512 39597b8328cb4d5284288bdce8dd9c7ef8446e46914de93203700efaf67f85ad5b69df777bea14eef9160b233fb79bcb60f6750c0df011bbf610b62a524689e3 DIST php-7.2.24.tar.xz 12302284 BLAKE2B 3c864e72d9fce1f13295385e20708a632087b2e4ffdc9e0012191cb2e17a3530f26797ad03c595bea60cccf850fe17028f2a379e50f32bd4db82530e0fcd727f SHA512 39597b8328cb4d5284288bdce8dd9c7ef8446e46914de93203700efaf67f85ad5b69df777bea14eef9160b233fb79bcb60f6750c0df011bbf610b62a524689e3
DIST php-7.3.11.tar.xz 12092412 BLAKE2B 0f326b85756cfb5ca96a43d7bfbe8aebd3bb9e9ede06734fb00dc3551372d53befba9e87f5f6a0b0b9e62d35a2eedacd1fa500e1eeff908e05ff52be730c61b4 SHA512 150cb202efc4cc1df042a2cbb9368a2d29aefd1d0cf1a0b0bd7238ba5cb6c4b828e23f2d42b4ecd77dd54f73141a33fc3b36ca0764320e9ba470c9549a7f0291 DIST php-7.3.11.tar.xz 12092412 BLAKE2B 0f326b85756cfb5ca96a43d7bfbe8aebd3bb9e9ede06734fb00dc3551372d53befba9e87f5f6a0b0b9e62d35a2eedacd1fa500e1eeff908e05ff52be730c61b4 SHA512 150cb202efc4cc1df042a2cbb9368a2d29aefd1d0cf1a0b0bd7238ba5cb6c4b828e23f2d42b4ecd77dd54f73141a33fc3b36ca0764320e9ba470c9549a7f0291
DIST php-7.3.9.tar.xz 12064244 BLAKE2B 2837463a74a0ccffc1a2193f9fbce78c98c15dd60214cb5d5d704aed7d74449696c3a516e86f440aed9ff3dc2ed8e7bbebcaf0a1268afa55aca2b642e958abf1 SHA512 017d2ae3cd499a7f6ee30111baf0a119e2f404919575acc5ae91fa6e53a303c9d1b5d165205eec3943c3547ff8759e21fbccc62845e3269176f6fc0f2ba88490 DIST php-7.3.9.tar.xz 12064244 BLAKE2B 2837463a74a0ccffc1a2193f9fbce78c98c15dd60214cb5d5d704aed7d74449696c3a516e86f440aed9ff3dc2ed8e7bbebcaf0a1268afa55aca2b642e958abf1 SHA512 017d2ae3cd499a7f6ee30111baf0a119e2f404919575acc5ae91fa6e53a303c9d1b5d165205eec3943c3547ff8759e21fbccc62845e3269176f6fc0f2ba88490
DIST php-7.4.0RC5.tar.xz 10229964 BLAKE2B 0525553bbcd948ea76177b433a9ab56f9e5f62866a9e8065a2c061aad54bc962515aa0ff77cce8f38ec799c07cda53f8d23acabf62bd218e4ffe3bda41b270e1 SHA512 a95c1c786ccaa4aac5d1cabc3831775a10b69e806031ddd495d271fafab54c54c3013f2193b4dabedde05047bb18f7d8491e7dee44afcb9a045c049df7ade5ee DIST php-7.4.0RC6.tar.xz 10229764 BLAKE2B e1de007b6b63fee878ccb0d8ea1d1c067210e93978076a7d4925d6d0902ebe514b1238a00e9f662130183f474395500f3335b91e7ebca381a864b7654582f9a1 SHA512 2f20f3b78bbb4df8e59da6d4c2eb18ec22c4bf49d3b7e6f497600f13669fdd4e7ebbf98a7e75948eaa6e9c72bbb160b2b8c91c564268cdc01570560bad682c05
DIST php-patches-7.1.31bp.tar.bz2 37219 BLAKE2B 4f3ead2f69adf00ac1317371172c8adbb823f597cd8e3cafe7044d6a46671437fd2e5eaef4309a6fd5825123394044543284d3cbe892c918353a5b07c12b7401 SHA512 eb52679d035ceb4124c8e9175024f4f753e20d139479af4a57e01de941991716b2ce37f6190242c1bec46fd5305bad1f91613b04ee849a0d94f4a33ce013781e DIST php-patches-7.1.31bp.tar.bz2 37219 BLAKE2B 4f3ead2f69adf00ac1317371172c8adbb823f597cd8e3cafe7044d6a46671437fd2e5eaef4309a6fd5825123394044543284d3cbe892c918353a5b07c12b7401 SHA512 eb52679d035ceb4124c8e9175024f4f753e20d139479af4a57e01de941991716b2ce37f6190242c1bec46fd5305bad1f91613b04ee849a0d94f4a33ce013781e

@ -45,6 +45,33 @@ IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# The supported (that is, autodetected) versions of BDB are listed in # The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to # the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824. # the ones that can be detected to avoid a repeat of bug #564824.
@ -121,31 +148,6 @@ DEPEND="${COMMON_DEPEND}
BDEPEND="virtual/pkgconfig" BDEPEND="virtual/pkgconfig"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
PHP_MV="$(ver_cut 1)" PHP_MV="$(ver_cut 1)"
php_install_ini() { php_install_ini() {

@ -1,7 +1,9 @@
DIST Python-2.7.15.tar.xz 12642436 BLAKE2B d8783a48ea26695e8d4677397a08194c738d7e4bc8ecaddaab609ad1fd5a1ca07701f707fe38d259f6bd44a39171ef95e7530f3df4bcb4d94abc4d21d7e2d489 SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 DIST Python-2.7.15.tar.xz 12642436 BLAKE2B d8783a48ea26695e8d4677397a08194c738d7e4bc8ecaddaab609ad1fd5a1ca07701f707fe38d259f6bd44a39171ef95e7530f3df4bcb4d94abc4d21d7e2d489 SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6
DIST Python-2.7.16.tar.xz 12752104 BLAKE2B 7d6b5b853f9974d44e04dd35ecdffaab87511e183b4b01dd4f8f4ee109c4b4ab208f045708f69717be9d3a706aa078b71438ed482c062c0b89c12730eae074ae SHA512 16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 DIST Python-2.7.16.tar.xz 12752104 BLAKE2B 7d6b5b853f9974d44e04dd35ecdffaab87511e183b4b01dd4f8f4ee109c4b4ab208f045708f69717be9d3a706aa078b71438ed482c062c0b89c12730eae074ae SHA512 16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0
DIST Python-2.7.17.tar.xz 12855568 BLAKE2B 6d09214a51d6595fe5253a279ee556d7510dcb9a0e8ad71e9cf73b4fb00c3abd3680e2429f4f87d9387d1fc16d4887f5f33fc600b24b0ca2c70f36bf34df2157 SHA512 2dc19a0b0d818c71429dae94783e58b2aac0fa31f5faa1e840cac06245a59932ecc4658d913515736601bcf70a78c9ec60367aed75f4567d1e41ff3bb104da9a
DIST Python-3.5.5.tar.xz 15351440 BLAKE2B 217cb7f51e04d57983ce053ff4276d056e17c8223b6f3d87b69f556453fe2ae3d4dc2c1a6b9c2c6aad033cea9b40cd32264d8208cc81a1ec34ff252379bf95b8 SHA512 c9056baee6a2d1fe7f14b1f310db95b78e8972766d086f8ae10954f38f8182956171580bde01ddadebe897f2545a6fbe47669ca3e4887026ac1fae5ee9197f22 DIST Python-3.5.5.tar.xz 15351440 BLAKE2B 217cb7f51e04d57983ce053ff4276d056e17c8223b6f3d87b69f556453fe2ae3d4dc2c1a6b9c2c6aad033cea9b40cd32264d8208cc81a1ec34ff252379bf95b8 SHA512 c9056baee6a2d1fe7f14b1f310db95b78e8972766d086f8ae10954f38f8182956171580bde01ddadebe897f2545a6fbe47669ca3e4887026ac1fae5ee9197f22
DIST Python-3.5.7.tar.xz 15324736 BLAKE2B 0f1dd80584385b7f859652c85dc6b51bf71cd9f1d53fcf1716c54e8ffc3d2a36ef9969956e4429ac1ba878dad1e9acbb5f82ddb6a9923886bf3c84b3327dfecb SHA512 83f57451e1d7082bf19e4e49a0902e9257e381836d9a04154a6b276135fa49e5c96b6869eed9ec4475e06b76556c1ae89f5cca111b762eb8b2dee6f65373e0f4 DIST Python-3.5.7.tar.xz 15324736 BLAKE2B 0f1dd80584385b7f859652c85dc6b51bf71cd9f1d53fcf1716c54e8ffc3d2a36ef9969956e4429ac1ba878dad1e9acbb5f82ddb6a9923886bf3c84b3327dfecb SHA512 83f57451e1d7082bf19e4e49a0902e9257e381836d9a04154a6b276135fa49e5c96b6869eed9ec4475e06b76556c1ae89f5cca111b762eb8b2dee6f65373e0f4
DIST Python-3.5.9.tar.xz 15388876 BLAKE2B 6086ed2350b6dce3203360f24c2fddf77df65a5815d6da019809796b30c2f43440a9e349c7defd0187cfc3a50a387352dfa63594c2ec513dd6bf585e7c34ec51 SHA512 58127793adef42ed57ae4d56338268866e14c2d084f09f57f26fc6b1c9454e70cc6d3dffc638f8d56f182acc0884021a4dbb578f312dd6fc01995fa85e31377e
DIST Python-3.6.5.tar.xz 17049912 BLAKE2B f393e9563a18a46c457afcd2e174d9eacda20fe2b0ae5461e11c582fa4d27b85c01bbe7b602f45511b6b44f635c6330205b12fb3e8325ffd07e87b78a8258889 SHA512 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51 DIST Python-3.6.5.tar.xz 17049912 BLAKE2B f393e9563a18a46c457afcd2e174d9eacda20fe2b0ae5461e11c582fa4d27b85c01bbe7b602f45511b6b44f635c6330205b12fb3e8325ffd07e87b78a8258889 SHA512 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51
DIST Python-3.6.8.tar.xz 17212420 BLAKE2B e104b49a35492b622080ab81a446c0cdd1223e8ddf95c4e1b262762a027664b59f3e4deeda4ba7177115d780e48b6764a053acef640a645327df428d2e4820cd SHA512 b17867e451ebe662f50df83ed112d3656c089e7d750651ea640052b01b713b58e66aac9e082f71fd16f5b5510bc9b797f5ccd30f5399581e9aa406197f02938a DIST Python-3.6.8.tar.xz 17212420 BLAKE2B e104b49a35492b622080ab81a446c0cdd1223e8ddf95c4e1b262762a027664b59f3e4deeda4ba7177115d780e48b6764a053acef640a645327df428d2e4820cd SHA512 b17867e451ebe662f50df83ed112d3656c089e7d750651ea640052b01b713b58e66aac9e082f71fd16f5b5510bc9b797f5ccd30f5399581e9aa406197f02938a
DIST Python-3.6.9.tar.xz 17212164 BLAKE2B ef33dbc1ea3bbeaf92092de867279d759e3a204ca4e8bf0e5c6a1adbb17a9220d8829245fa9f067ec6497a5789a4f60b8db8c727bb2bd8126df470921d552a53 SHA512 05de9c6f44d96a52bfce10ede4312de892573edaf8bece65926d19973a3a800d65eed7a857af945f69efcfb25efa3788e7a54016b03d80b611eb51c3ea074819 DIST Python-3.6.9.tar.xz 17212164 BLAKE2B ef33dbc1ea3bbeaf92092de867279d759e3a204ca4e8bf0e5c6a1adbb17a9220d8829245fa9f067ec6497a5789a4f60b8db8c727bb2bd8126df470921d552a53 SHA512 05de9c6f44d96a52bfce10ede4312de892573edaf8bece65926d19973a3a800d65eed7a857af945f69efcfb25efa3788e7a54016b03d80b611eb51c3ea074819
@ -9,11 +11,14 @@ DIST Python-3.7.2.tar.xz 17042320 BLAKE2B 79b06b7d38590b7ad00850a4323156bfee07c4
DIST Python-3.7.3.tar.xz 17108364 BLAKE2B ac86ea442519a02f0afcb0d0ec70cb288ae28df63fc9f575ee4d8e03e6e31aff9ad2ff18ff5787d922727bd1c6f1a488f94541cd9787ac932d041c93847dea34 SHA512 6d9b7c0f1764e0f655a39430a3af6f7b5e3c9b7166c042e780677a54b17ad4ca6d0d9cba262c82b1b70bba8f7c28883dad4cc0d7cc194fc7d2c1b5f4f08a763a DIST Python-3.7.3.tar.xz 17108364 BLAKE2B ac86ea442519a02f0afcb0d0ec70cb288ae28df63fc9f575ee4d8e03e6e31aff9ad2ff18ff5787d922727bd1c6f1a488f94541cd9787ac932d041c93847dea34 SHA512 6d9b7c0f1764e0f655a39430a3af6f7b5e3c9b7166c042e780677a54b17ad4ca6d0d9cba262c82b1b70bba8f7c28883dad4cc0d7cc194fc7d2c1b5f4f08a763a
DIST Python-3.7.4.tar.xz 17131432 BLAKE2B e175f750f1fa610a19a40f382ae5e652de12c775cba41bf575868c0621a8e5c4060a15a5567c207b251de5304f8321191f5bc56388c253d42cf17c5654a88ebb SHA512 71f64668c259f3ed07bd4aa239dbba6cc1b6b0a84d50bbff160664845d7986f757e4d65fca327e62a2d12ba593742ca83a22f7cb6093aff8715ec916c2ba9416 DIST Python-3.7.4.tar.xz 17131432 BLAKE2B e175f750f1fa610a19a40f382ae5e652de12c775cba41bf575868c0621a8e5c4060a15a5567c207b251de5304f8321191f5bc56388c253d42cf17c5654a88ebb SHA512 71f64668c259f3ed07bd4aa239dbba6cc1b6b0a84d50bbff160664845d7986f757e4d65fca327e62a2d12ba593742ca83a22f7cb6093aff8715ec916c2ba9416
DIST Python-3.7.5.tar.xz 17236432 BLAKE2B fb49a3bfd9b1944d567a45682f789ef840e63ed610e0dddb5695da7a84a0bcb50a6fa52097722f09b57d6fc15a5f89aeaa46a061125219e597897086f3dffe40 SHA512 f4f3879881f260f58dbb041fb0f2f210d4b70b02a739e41e50e6fea67d31855a7a29ce4ebef66bfde3d0edf54b946a48f78490f986da965357b835d4dbb3f414 DIST Python-3.7.5.tar.xz 17236432 BLAKE2B fb49a3bfd9b1944d567a45682f789ef840e63ed610e0dddb5695da7a84a0bcb50a6fa52097722f09b57d6fc15a5f89aeaa46a061125219e597897086f3dffe40 SHA512 f4f3879881f260f58dbb041fb0f2f210d4b70b02a739e41e50e6fea67d31855a7a29ce4ebef66bfde3d0edf54b946a48f78490f986da965357b835d4dbb3f414
DIST Python-3.8.0.tar.xz 17829824 BLAKE2B fcef24b7f0db3b47f899810c77af1e2a84f8b4bf4098a2b417e22dcfb7a5444160e26e5995f73d1068cc7fdbe226d09a88bb5065ac765a4484f66cd327911eef SHA512 5f9bfcb3acdf592770a9d5abd2c32c68c55a49b92f958ded069e3ef31cf2d415e67112b4f6738fab237dc29e5c622298719946d2e9471e7e78e3a6bdf2fac1d1
DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591 SHA512 687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591 SHA512 687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca
DIST python-gentoo-patches-2.7.16.tar.xz 13904 BLAKE2B 218b46f8656f4a792dcd47eabca6d59a1558276b77676544991ee75914cd76dda84c36f43e72e477b850dd4cb52374d289f20dccd244a3b52ae5debaf3363432 SHA512 83f90545231c663a34c6925352a357a2b15997ac0362578a1893304c5070b5251922585ae8bc1bafb68d306bcddd4cdba4b6406648d473bd3e980eef65fe3ecd DIST python-gentoo-patches-2.7.16.tar.xz 13904 BLAKE2B 218b46f8656f4a792dcd47eabca6d59a1558276b77676544991ee75914cd76dda84c36f43e72e477b850dd4cb52374d289f20dccd244a3b52ae5debaf3363432 SHA512 83f90545231c663a34c6925352a357a2b15997ac0362578a1893304c5070b5251922585ae8bc1bafb68d306bcddd4cdba4b6406648d473bd3e980eef65fe3ecd
DIST python-gentoo-patches-2.7.17.tar.xz 13476 BLAKE2B 788688e2941d2d6d4f768168881b2c3639213a97e214557b3a93f8db44d81e2b6d70be847b7462e54e3786660ebee4ee331402081d92167d74ad149279c3f389 SHA512 1641737635d33607a77ed2ee2462854cec603be39737de3f81abb188702aaf46f039d1616f9dcd413da1f4a8040175c66a2883e496132c2e4ebe8f860b36f9f1
DIST python-gentoo-patches-3.5.4-0.tar.xz 11704 BLAKE2B 4a7d71feff18c7c8c109bed10748348484d314183c3de3ec950d5ca5ce7048bb322c470f3f5bff2d63eb7f2ed99c0fe75c621df050273d9d118681b28926061d SHA512 d395a87695f700598026038d6929ea5038abd7d494294037a4dfa02d5262203dbbaa6ae258a5a7f35ff5542f6266dcf69cc0b9c3df2a047cd2f6699a87e182ec DIST python-gentoo-patches-3.5.4-0.tar.xz 11704 BLAKE2B 4a7d71feff18c7c8c109bed10748348484d314183c3de3ec950d5ca5ce7048bb322c470f3f5bff2d63eb7f2ed99c0fe75c621df050273d9d118681b28926061d SHA512 d395a87695f700598026038d6929ea5038abd7d494294037a4dfa02d5262203dbbaa6ae258a5a7f35ff5542f6266dcf69cc0b9c3df2a047cd2f6699a87e182ec
DIST python-gentoo-patches-3.6.4.tar.xz 12888 BLAKE2B 7cf49ae22df53e855f2e99df51686b5d4bd0da82ef4c22836e24726ea9ed561808352c0305a5659b052d38b843f1ff61b6466a7bc3673b7e5cfb4d81d22fa4bc SHA512 90a1b685f2539872ffd67f96581f70145b7afaf18af19f4a7f4a61214103d2a10bf0069c1769dac229ae011fceaf8538f041082b33c1671905246d018d184dd7 DIST python-gentoo-patches-3.6.4.tar.xz 12888 BLAKE2B 7cf49ae22df53e855f2e99df51686b5d4bd0da82ef4c22836e24726ea9ed561808352c0305a5659b052d38b843f1ff61b6466a7bc3673b7e5cfb4d81d22fa4bc SHA512 90a1b685f2539872ffd67f96581f70145b7afaf18af19f4a7f4a61214103d2a10bf0069c1769dac229ae011fceaf8538f041082b33c1671905246d018d184dd7
DIST python-gentoo-patches-3.6.8.tar.xz 11224 BLAKE2B 5fe38282bcf28df18e0bd37756c880ae191ea738dc92f1cf83f682cfdc52525b9c44287dc99191a73d75c90672ab501b56adf49515b35ff1fdee88c8dc07b175 SHA512 89e700663db25d6d78eee1d4bfdab686c5341a794062f3a63df3485ac0b58deb4b4885d24701f3ae138d06ca783be92e310e1100c6d633910c33732f3cb0d7df DIST python-gentoo-patches-3.6.8.tar.xz 11224 BLAKE2B 5fe38282bcf28df18e0bd37756c880ae191ea738dc92f1cf83f682cfdc52525b9c44287dc99191a73d75c90672ab501b56adf49515b35ff1fdee88c8dc07b175 SHA512 89e700663db25d6d78eee1d4bfdab686c5341a794062f3a63df3485ac0b58deb4b4885d24701f3ae138d06ca783be92e310e1100c6d633910c33732f3cb0d7df
DIST python-gentoo-patches-3.7.2.tar.xz 9776 BLAKE2B fe451c3fb44a1ace4489d1bc68db9848b4227422fe9135659594248d057a8916e2abfe8e2677ef6efc9c962dbefe3ca7cd05cbd62b325d53eef6b05928f82017 SHA512 55e932624333b78b55e8981aaa7e7bfbddb635a61f594353a77a6bd5c2b57de31a4ee9ae04e072c4e2eb0fddd1c2702b4bd6133cf0a2c94ab35808df86550156 DIST python-gentoo-patches-3.7.2.tar.xz 9776 BLAKE2B fe451c3fb44a1ace4489d1bc68db9848b4227422fe9135659594248d057a8916e2abfe8e2677ef6efc9c962dbefe3ca7cd05cbd62b325d53eef6b05928f82017 SHA512 55e932624333b78b55e8981aaa7e7bfbddb635a61f594353a77a6bd5c2b57de31a4ee9ae04e072c4e2eb0fddd1c2702b4bd6133cf0a2c94ab35808df86550156
DIST python-gentoo-patches-3.7.3-0.tar.xz 9800 BLAKE2B b3e1df06cc2c404f08d2da7ea7d44c3612c5b4f908c58d469084b4e78ee4c3024e57879b3f83027d980c9f5e065804e3e144ba734b1da357d3d073c22c14b02e SHA512 deeaf5fbd1d557d4c40c770c1bd772b835bf5ced1842b964fd8ad1aa652b706782301e8a860d6fd1909d90246a8f48a9aaf384d047fca594f96d6771c2901338 DIST python-gentoo-patches-3.7.3-0.tar.xz 9800 BLAKE2B b3e1df06cc2c404f08d2da7ea7d44c3612c5b4f908c58d469084b4e78ee4c3024e57879b3f83027d980c9f5e065804e3e144ba734b1da357d3d073c22c14b02e SHA512 deeaf5fbd1d557d4c40c770c1bd772b835bf5ced1842b964fd8ad1aa652b706782301e8a860d6fd1909d90246a8f48a9aaf384d047fca594f96d6771c2901338
DIST python-gentoo-patches-3.7.4-1.tar.xz 10100 BLAKE2B 63e8fada89b64b59ba083745626a1e8a07bec0cf93b7b6ab405c33a0f2932cbe497a331c52895a07f10434b230c438f27c9582efecdd57f3bad15d9aa604d157 SHA512 11b0e811a9890a1235c85426061b35f9964eba64cac0536f4c9e0498b1cc66eb005f14aed34eead735b43e91c2b5babced60e3310f5329231a1706871b95b547 DIST python-gentoo-patches-3.7.4-1.tar.xz 10100 BLAKE2B 63e8fada89b64b59ba083745626a1e8a07bec0cf93b7b6ab405c33a0f2932cbe497a331c52895a07f10434b230c438f27c9582efecdd57f3bad15d9aa604d157 SHA512 11b0e811a9890a1235c85426061b35f9964eba64cac0536f4c9e0498b1cc66eb005f14aed34eead735b43e91c2b5babced60e3310f5329231a1706871b95b547
DIST python-gentoo-patches-3.8.0.tar.xz 9788 BLAKE2B 9ca14fa49fbbd11412451dc6ce32f643cdffdc988c6b2b312593e2b87b85d09e95ada397aaafa548cdb5cf58be09d970d020ef6f20a3575108581fb4647b7bfa SHA512 946be0babc8c67586309b48bffb5ac0a2a354b3798fa7e23c641cc836ff310ab744d75308d1324e9ed54720bf9f4d0aba1f89fb454a98bf9b9fa9484210b6ca5

@ -0,0 +1,361 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
WANT_LIBTOOL="none"
inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PATCHSET_VERSION="2.7.17"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
LICENSE="PSF-2"
SLOT="2.7"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="-berkdb bluetooth build doc elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="app-arch/bzip2:0=
>=sys-libs/zlib-1.1.3:0=
virtual/libffi:=
virtual/libintl
berkdb? ( || (
sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5
sys-libs/db:4.4
sys-libs/db:4.3
sys-libs/db:4.2
) )
gdbm? ( sys-libs/gdbm:0=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:0= )
readline? ( >=sys-libs/readline-4.1:0= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
tk? (
>=dev-lang/tcl-8.0:0=
>=dev-lang/tk-8.0:0=
dev-tcltk/blt:0=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1 )
!!<sys-apps/portage-2.1.9"
# bluetooth requires headers from bluez
DEPEND="${RDEPEND}
bluetooth? ( net-wireless/bluez )
virtual/pkgconfig
>=sys-devel/autoconf-2.65
!sys-devel/gcc[libffi(-)]"
RDEPEND+=" !build? ( app-misc/mime-types )
doc? ( dev-python/python-docs:${SLOT} )"
PDEPEND=">=app-eselect/eselect-python-20140125-r1"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
if use berkdb; then
ewarn "'bsddb' module is out-of-date and no longer maintained inside"
ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally"
ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module"
ewarn "is provided by dev-python/bsddb3."
else
if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
ewarn "You might need to migrate your databases."
fi
fi
}
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -r Modules/expat || die
rm -r Modules/_ctypes/libffi* || die
rm -r Modules/zlib || die
if tc-is-cross-compiler; then
rm "${WORKDIR}/patches/0006-Regenerate-platform-specific-modules.patch" || die
fi
local PATCHES=(
"${WORKDIR}/patches"
# Fix for cross-compiling.
"${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
"${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch"
"${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch"
"${FILESDIR}/python-2.7.10-system-libffi.patch"
)
default
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
Lib/distutils/command/install.py \
Lib/distutils/sysconfig.py \
Lib/site.py \
Lib/sysconfig.py \
Lib/test/test_site.py \
Makefile.pre.in \
Modules/Setup.dist \
Modules/getpath.c \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
eautoreconf
}
src_configure() {
# dbm module can be linked against berkdb or gdbm.
# Defaults to gdbm when both are enabled, #204343.
local disable
use berkdb || use gdbm || disable+=" dbm"
use berkdb || disable+=" _bsddb"
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
if [[ "$(gcc-major-version)" -ge 4 ]]; then
append-flags -fwrapv
fi
filter-flags -malign-double
# https://bugs.gentoo.org/show_bug.cgi?id=50309
if is-flagq -O3; then
is-flagq -fstack-protector-all && replace-flags -O3 -O2
use hardened && replace-flags -O3 -O2
fi
if tc-is-cross-compiler; then
# Force some tests that try to poke fs paths.
export ac_cv_file__dev_ptc=no
export ac_cv_file__dev_ptmx=yes
fi
# Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
tc-export CXX
# The configure script fails to use pkg-config correctly.
# http://bugs.python.org/issue15506
export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
# Set LDFLAGS so we link modules with -lpython2.7 correctly.
# Needed on FreeBSD unless Python 2.7 is already installed.
# Please query BSD team before removing this!
append-ldflags "-L."
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use berkdb; then
dbmliborder+="${dbmliborder:+:}bdb"
fi
local myeconfargs=(
# The check is broken on clang, and gives false positive:
# https://bugs.gentoo.org/596798
# (upstream dropped this flag in 3.2a4 anyway)
ac_cv_opt_olimit_ok=no
--with-fpectl
--enable-shared
$(use_enable ipv6)
$(use_with threads)
$(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2")
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--with-system-expat
--with-system-ffi
--without-ensurepip
)
OPT= econf "${myeconfargs[@]}"
if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
}
src_compile() {
# Avoid invoking pgen for cross-compiles.
touch Include/graminit.h Python/graminit.c
emake
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax_kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# Skip failing tests.
local skipped_tests="distutils gdb"
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
# bug 660358
local -x COLUMNS=80
# Daylight saving time problem
# https://bugs.python.org/issue22067
# https://bugs.gentoo.org/610628
local -x TZ=UTC
# Rerun failed tests in verbose mode (regrtest -w).
emake test EXTRATESTOPTS="-w" < /dev/tty
local result="$?"
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/$(get_libdir)/python${SLOT}/test'"
elog "and run the tests separately."
if [[ "${result}" -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/$(get_libdir)/python${SLOT}
emake DESTDIR="${D}" altinstall
sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die "sed failed"
# Fix collisions between different slots of Python.
mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}"
mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}"
mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}"
rm -f "${ED}usr/bin/smtpd.py"
use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
use tk || rm -r "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,lib-tk} || die
use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test}
use threads || rm -r "${libdir}/multiprocessing" || die
use wininst || rm -r "${libdir}/distutils/command/"wininst-*.exe || die
dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
dodoc -r "${S}"/Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${SLOT}:" \
-i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed"
# for python-exec
local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
local -x PYTHON=./python
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
else
vars=( PYTHON "${vars[@]}" )
fi
python_export "python${SLOT}" "${vars[@]}"
echo "EPYTHON='${EPYTHON}'" > epython.py || die
python_domodule epython.py
# python-exec wrapping support
local pymajor=${SLOT%.*}
mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die
# python and pythonX
ln -s "../../../bin/python${SLOT}" "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
ln -s "python${pymajor}" "${D}${PYTHON_SCRIPTDIR}/python" || die
# python-config and pythonX-config
ln -s "../../../bin/python${SLOT}-config" "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${D}${PYTHON_SCRIPTDIR}/python-config" || die
# 2to3, pydoc, pyvenv
ln -s "../../../bin/2to3-${SLOT}" "${D}${PYTHON_SCRIPTDIR}/2to3" || die
ln -s "../../../bin/pydoc${SLOT}" "${D}${PYTHON_SCRIPTDIR}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${SLOT}" "${D}${PYTHON_SCRIPTDIR}/idle" || die
fi
}
eselect_python_update() {
if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
eselect python update
fi
if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
eselect python update --python${PV%%.*}
fi
}
pkg_postinst() {
eselect_python_update
}
pkg_postrm() {
eselect_python_update
}

@ -0,0 +1,368 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
WANT_LIBTOOL="none"
inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs
MY_P="Python-${PV/_/}"
PATCHSET_VERSION="3.5.4-0"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
SRC_URI="https://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz
https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
LICENSE="PSF-2"
SLOT="3.5/3.5m"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="bluetooth build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="app-arch/bzip2:0=
app-arch/xz-utils:0=
>=sys-libs/zlib-1.1.3:0=
virtual/libffi:=
virtual/libintl
gdbm? ( sys-libs/gdbm:0=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:0= )
readline? ( >=sys-libs/readline-4.1:0= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
tk? (
>=dev-lang/tcl-8.0:0=
>=dev-lang/tk-8.0:0=
dev-tcltk/blt:0=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:0= )
!!<sys-apps/sandbox-2.6-r1"
# bluetooth requires headers from bluez
DEPEND="${RDEPEND}
bluetooth? ( net-wireless/bluez )
virtual/pkgconfig
!sys-devel/gcc[libffi(-)]"
RDEPEND+=" !build? ( app-misc/mime-types )"
PDEPEND=">=app-eselect/eselect-python-20140125-r1"
S="${WORKDIR}/${MY_P}"
PYVER=${SLOT%/*}
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -fr Modules/expat
rm -fr Modules/_ctypes/libffi*
rm -fr Modules/zlib
if tc-is-cross-compiler; then
# Invokes BUILDPYTHON, which is built for the host arch
local EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch"
fi
EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch"
epatch "${FILESDIR}/${PN}-3.5-distutils-OO-build.patch"
epatch "${FILESDIR}/3.6-disable-nis.patch"
# epatch "${FILESDIR}/python-3.5.5-libressl-compatibility.patch"
epatch "${FILESDIR}/python-3.5.5-hash-unaligned.patch"
epatch_user
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
configure.ac \
Lib/distutils/command/install.py \
Lib/distutils/sysconfig.py \
Lib/site.py \
Lib/sysconfig.py \
Lib/test/test_site.py \
Makefile.pre.in \
Modules/getpath.c \
Modules/Setup.dist \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
if [[ "$(gcc-major-version)" -ge 4 ]]; then
append-flags -fwrapv
fi
filter-flags -malign-double
# https://bugs.gentoo.org/show_bug.cgi?id=50309
if is-flagq -O3; then
is-flagq -fstack-protector-all && replace-flags -O3 -O2
use hardened && replace-flags -O3 -O2
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
tc-export CXX
# The configure script fails to use pkg-config correctly.
# http://bugs.python.org/issue15506
export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
# Set LDFLAGS so we link modules with -lpython3.2 correctly.
# Needed on FreeBSD unless Python 3.2 is already installed.
# Please query BSD team before removing this!
append-ldflags "-L."
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
BUILD_DIR="${WORKDIR}/${CHOST}"
mkdir -p "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local myeconfargs=(
--with-fpectl
--enable-shared
$(use_enable ipv6)
$(use_with threads)
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
)
ECONF_SOURCE="${S}" OPT="" econf "${myeconfargs[@]}"
if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
cd "${BUILD_DIR}" || die
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax_kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
cd "${BUILD_DIR}" || die
# Skip failing tests.
local skipped_tests="gdb"
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
local -x PYTHONDONTWRITEBYTECODE=
emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local result=$?
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
elog "and run the tests separately."
if [[ ${result} -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
cd "${BUILD_DIR}" || die
emake DESTDIR="${D}" altinstall
sed \
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
-e "s/\(PY_LDFLAGS=\).*/\1/" \
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
# Fix collisions between different slots of Python.
rm -f "${ED}usr/$(get_libdir)/libpython3.so"
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax_kernel]; then
pax-mark E "${ED}usr/bin/${abiver}"
else
pax-mark m "${ED}usr/bin/${abiver}"
fi
use elibc_uclibc && rm -fr "${libdir}/test"
use sqlite || rm -fr "${libdir}/"{sqlite3,test/test_sqlite*}
use tk || rm -fr "${ED}usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*}
use threads || rm -fr "${libdir}/multiprocessing"
use wininst || rm -f "${libdir}/distutils/command/"wininst-*.exe
dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr
dodoc -r "${S}"/Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}etc/conf.d/pydoc-${PYVER}" "${ED}etc/init.d/pydoc-${PYVER}" || die "sed failed"
# for python-exec
local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
local -x PYTHON=./python
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
else
vars=( PYTHON "${vars[@]}" )
fi
python_export "python${PYVER}" "${vars[@]}"
echo "EPYTHON='${EPYTHON}'" > epython.py || die
python_domodule epython.py
# python-exec wrapping support
local pymajor=${PYVER%.*}
mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" \
"${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
ln -s "python${pymajor}" \
"${D}${PYTHON_SCRIPTDIR}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" \
"${D}${PYTHON_SCRIPTDIR}/python-config" || die
# 2to3, pydoc, pyvenv
ln -s "../../../bin/2to3-${PYVER}" \
"${D}${PYTHON_SCRIPTDIR}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" \
"${D}${PYTHON_SCRIPTDIR}/pydoc" || die
ln -s "../../../bin/pyvenv-${PYVER}" \
"${D}${PYTHON_SCRIPTDIR}/pyvenv" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" \
"${D}${PYTHON_SCRIPTDIR}/idle" || die
fi
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
python_updater_warning="1"
fi
}
eselect_python_update() {
if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
eselect python update
fi
if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
eselect python update --python${PV%%.*}
fi
}
pkg_postinst() {
eselect_python_update
if [[ "${python_updater_warning}" == "1" ]]; then
ewarn "You have just upgraded from an older version of Python."
ewarn
ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
fi
}
pkg_postrm() {
eselect_python_update
}

@ -0,0 +1,331 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PYVER=$(ver_cut 1-2)
PATCHSET_VERSION="3.8.0"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="app-arch/bzip2:=
app-arch/xz-utils:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libffi:=
virtual/libintl
gdbm? ( sys-libs/gdbm:0=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? (
!libressl? ( dev-libs/openssl:= )
libressl? ( dev-libs/libressl:= )
)
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
!!<sys-apps/sandbox-2.6-r1"
# bluetooth requires headers from bluez
DEPEND="${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
virtual/pkgconfig
!sys-devel/gcc[libffi(-)]"
RDEPEND+=" !build? ( app-misc/mime-types )"
PDEPEND=">=app-eselect/eselect-python-20140125-r1"
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -fr Modules/expat || die
rm -fr Modules/_ctypes/libffi* || die
rm -fr Modules/zlib || die
local PATCHES=(
"${FILESDIR}/python-3.7.5-hashlib.patch"
"${WORKDIR}/patches"
)
default
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
if [[ "$(gcc-major-version)" -ge 4 ]]; then
append-flags -fwrapv
fi
filter-flags -malign-double
# https://bugs.gentoo.org/show_bug.cgi?id=50309
if is-flagq -O3; then
is-flagq -fstack-protector-all && replace-flags -O3 -O2
use hardened && replace-flags -O3 -O2
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
tc-export CXX
# Set LDFLAGS so we link modules with -lpython3.2 correctly.
# Needed on FreeBSD unless Python 3.2 is already installed.
# Please query BSD team before removing this!
append-ldflags "-L."
# Fix implicit declarations on cross and prefix builds. Bug #674070.
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
local myeconfargs=(
--enable-shared
$(use_enable ipv6)
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
)
OPT="" econf "${myeconfargs[@]}"
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax_kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# Skip failing tests.
local skipped_tests="gdb"
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local result=$?
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
elog "and run the tests separately."
if [[ ${result} -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
sed \
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
-e "s/\(PY_LDFLAGS=\).*/\1/" \
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax_kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# for python-exec
local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR )
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
local -x PYTHON=./python
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
else
vars=( PYTHON "${vars[@]}" )
fi
python_export "python${PYVER}" "${vars[@]}"
echo "EPYTHON='${EPYTHON}'" > epython.py || die
python_domodule epython.py
# python-exec wrapping support
local pymajor=${PYVER%.*}
mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die
ln -s "python${pymajor}" "${D}${PYTHON_SCRIPTDIR}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${D}${PYTHON_SCRIPTDIR}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${D}${PYTHON_SCRIPTDIR}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" "${D}${PYTHON_SCRIPTDIR}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${D}${PYTHON_SCRIPTDIR}/idle" || die
fi
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
python_updater_warning="1"
fi
}
eselect_python_update() {
if [[ -z "$(eselect python show)" || ! -f "${EROOT}/usr/bin/$(eselect python show)" ]]; then
eselect python update
fi
if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}/usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
eselect python update --python${PV%%.*}
fi
}
pkg_postinst() {
eselect_python_update
if [[ "${python_updater_warning}" == "1" ]]; then
ewarn "You have just upgraded from an older version of Python."
ewarn
ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
fi
}
pkg_postrm() {
eselect_python_update
}

Binary file not shown.

@ -16,7 +16,7 @@ SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar
LICENSE="Boost-1.0" LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122 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-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-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd" IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd"
REQUIRED_USE=" REQUIRED_USE="
mpi? ( threads ) mpi? ( threads )

@ -12,7 +12,7 @@ SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
LICENSE="|| ( BSD GPL-2 )" LICENSE="|| ( BSD GPL-2 )"
SLOT="0" SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="elibc_glibc static-libs" IUSE="elibc_glibc static-libs"
# Bug #283558 # Bug #283558

Binary file not shown.

@ -13,7 +13,7 @@ SRC_URI="https://github.com/rthalley/dnspython/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="ISC" LICENSE="ISC"
SLOT="0" SLOT="0"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris" KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="examples test" IUSE="examples test"
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz -> ${PF}.tar.gz"
SLOT="0" SLOT="0"
LICENSE="GPL-2" LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" KEYWORDS="~amd64 ~hppa ~x86 ~amd64-linux ~x86-linux"
IUSE="doc" IUSE="doc"
RDEPEND=" RDEPEND="

Binary file not shown.

@ -1,5 +1,2 @@
DIST haml-4.0.7.gem 121856 BLAKE2B e2598df73b9bf7337c06f60b30fcf7925fa5948f4643051aabbbdf600d25dbc2f614c4cf2054a916f69ef431847279eee1fbdf02e9bf2811369f2c195ed00413 SHA512 5736ded231bb10a0c0932453294604075e24a9020c2658e703c13ebf7a8d148327188157f982a3aea5db6d6938beb372c0167dfbc4ff06325517b2c8bd71a568 DIST haml-4.0.7.gem 121856 BLAKE2B e2598df73b9bf7337c06f60b30fcf7925fa5948f4643051aabbbdf600d25dbc2f614c4cf2054a916f69ef431847279eee1fbdf02e9bf2811369f2c195ed00413 SHA512 5736ded231bb10a0c0932453294604075e24a9020c2658e703c13ebf7a8d148327188157f982a3aea5db6d6938beb372c0167dfbc4ff06325517b2c8bd71a568
DIST haml-5.0.4.tar.gz 124580 BLAKE2B c22e464be26f65bd94b202b21604bb9fe3d740865832c9299d93606293794316a5262504e15583fdc2628a3015ea58f9924a9b3aab2f46340b305ad5af7968ac SHA512 125ae514f800b2dd58f7f339ef3bf8c15114c5738813d911985182d4e4b1e8551c92a89149427aa8bf3326f45c8f71f4f13f37ecb7e2bee5cb75163538f6a3a8
DIST haml-5.1.0.tar.gz 125693 BLAKE2B 0a2e9044e7468a93b5fa62adc77131a67e79fe3701f86ba9dc341a5e33a52701bad09115137c7decfac92bd7e1aa92bbe6bd0a063ef5917c9c6cf4d072a9278a SHA512 97ed4eef3f1b0748c8d7c717dffc466db9da92c862bc90f9db05043facdbe58e605f83193a0d94b8bbcf2863ca0ab95de0a31ec266ee2907aacb94346fddd875
DIST haml-5.1.1.tar.gz 125902 BLAKE2B b8564dca6a381038dae1b737b6f4a51089b96f618d684f43db6947bc738e06b073aa17241b406ed06fea48fda9c7ec759149829a5727f8da3df21da3cce22318 SHA512 fdc01762280cbece243d1ac1a3c8b6b484e3b01fcb2ff80df591d172ec6aed7240736095aa5a09149049ebb54cf24af32706772a6090c3171c84ccb069d12826
DIST haml-5.1.2.tar.gz 126059 BLAKE2B 5d805f29c28d0f6355f7b79e5724ec1639a808cfae75c26633edddcc82d964a48dbc1654b780fb706529ca22abcaba953a1af6f483386c336035c079a719e585 SHA512 405976de297bfdbd6f010442d940205c404f057a54cd7162feb400b1831af3e4e60fd05a637a2f480204428512ca7dd66c02aca22b0006d6d515c06968eb08a3 DIST haml-5.1.2.tar.gz 126059 BLAKE2B 5d805f29c28d0f6355f7b79e5724ec1639a808cfae75c26633edddcc82d964a48dbc1654b780fb706529ca22abcaba953a1af6f483386c336035c079a719e585 SHA512 405976de297bfdbd6f010442d940205c404f057a54cd7162feb400b1831af3e4e60fd05a637a2f480204428512ca7dd66c02aca22b0006d6d515c06968eb08a3

@ -1,57 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
USE_RUBY="ruby23 ruby24 ruby25 ruby26"
RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test"
RUBY_FAKEGEM_TASK_DOC="-Ilib doc"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md FAQ.md README.md REFERENCE.md"
RUBY_FAKEGEM_DOCDIR="doc"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
inherit ruby-fakegem
DESCRIPTION="A ruby web page templating engine"
HOMEPAGE="http://haml.info/"
SRC_URI="https://github.com/haml/haml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="5"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"
RDEPEND="${RDEPEND} !!<dev-ruby/haml-4.0.7-r2"
ruby_add_rdepend ">=dev-ruby/temple-0.8.0 dev-ruby/tilt:*"
ruby_add_bdepend "
test? (
dev-ruby/minitest:5
dev-ruby/nokogiri
dev-ruby/railties:5.2
dev-ruby/activemodel:5.2
dev-ruby/actionpack:5.2
)
doc? (
dev-ruby/yard
>=dev-ruby/maruku-0.7.2-r1
)"
all_ruby_prepare() {
sed -i -e 's/git ls-files -z/find . -print0/' ${RUBY_FAKEGEM_GEMSPEC} || die
sed -i -e '/bundler/I s:^:#:' \
-e 's/gem "minitest"/gem "minitest", "~>5.0"/'\
-e '1igem "actionpack", "~>5.2"'\
-e '1igem "activesupport", "~>5.2"; gem "activemodel", "~>5.2"'\
-e '1igem "railties", "~>5.2"'\
test/test_helper.rb || die
# Remove test that fails when RedCloth is available
sed -i -e "/should raise error when a Tilt filters dependencies are unavailable for extension/,/^ end/ s/^/#/"\
test/filters_test.rb || die
}

@ -1,57 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
USE_RUBY="ruby24 ruby25 ruby26"
RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test"
RUBY_FAKEGEM_TASK_DOC="-Ilib doc"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md FAQ.md README.md REFERENCE.md"
RUBY_FAKEGEM_DOCDIR="doc"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
inherit ruby-fakegem
DESCRIPTION="A ruby web page templating engine"
HOMEPAGE="http://haml.info/"
SRC_URI="https://github.com/haml/haml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="5"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"
RDEPEND="${RDEPEND} !!<dev-ruby/haml-4.0.7-r2"
ruby_add_rdepend ">=dev-ruby/temple-0.8.0 dev-ruby/tilt:*"
ruby_add_bdepend "
test? (
dev-ruby/minitest:5
dev-ruby/nokogiri
dev-ruby/railties:5.2
dev-ruby/activemodel:5.2
dev-ruby/actionpack:5.2
)
doc? (
dev-ruby/yard
>=dev-ruby/maruku-0.7.2-r1
)"
all_ruby_prepare() {
sed -i -e 's/git ls-files -z/find . -print0/' ${RUBY_FAKEGEM_GEMSPEC} || die
sed -i -e '/bundler/I s:^:#:' \
-e 's/gem "minitest"/gem "minitest", "~>5.0"/'\
-e '1igem "actionpack", "~>5.2"'\
-e '1igem "activesupport", "~>5.2"; gem "activemodel", "~>5.2"'\
-e '1igem "railties", "~>5.2"'\
test/test_helper.rb || die
# Remove test that fails when RedCloth is available
sed -i -e "/should raise error when a Tilt filters dependencies are unavailable for extension/,/^ end/ s/^/#/"\
test/filters_test.rb || die
}

@ -1,57 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
USE_RUBY="ruby24 ruby25 ruby26"
RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test"
RUBY_FAKEGEM_TASK_DOC="-Ilib doc"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md FAQ.md README.md REFERENCE.md"
RUBY_FAKEGEM_DOCDIR="doc"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
inherit ruby-fakegem
DESCRIPTION="A ruby web page templating engine"
HOMEPAGE="http://haml.info/"
SRC_URI="https://github.com/haml/haml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="5"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"
RDEPEND="${RDEPEND} !!<dev-ruby/haml-4.0.7-r2"
ruby_add_rdepend ">=dev-ruby/temple-0.8.0 dev-ruby/tilt:*"
ruby_add_bdepend "
test? (
dev-ruby/minitest:5
dev-ruby/nokogiri
dev-ruby/railties:5.2
dev-ruby/activemodel:5.2
dev-ruby/actionpack:5.2
)
doc? (
dev-ruby/yard
>=dev-ruby/maruku-0.7.2-r1
)"
all_ruby_prepare() {
sed -i -e 's/git ls-files -z/find . -print0/' ${RUBY_FAKEGEM_GEMSPEC} || die
sed -i -e '/bundler/I s:^:#:' \
-e 's/gem "minitest"/gem "minitest", "~>5.0"/'\
-e '1igem "actionpack", "~>5.2"'\
-e '1igem "activesupport", "~>5.2"; gem "activemodel", "~>5.2"'\
-e '1igem "railties", "~>5.2"'\
test/test_helper.rb || die
# Remove test that fails when RedCloth is available
sed -i -e "/should raise error when a Tilt filters dependencies are unavailable for extension/,/^ end/ s/^/#/"\
test/filters_test.rb || die
}

@ -21,7 +21,7 @@ SRC_URI="https://github.com/haml/haml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT" LICENSE="MIT"
SLOT="5" SLOT="5"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test" IUSE="doc test"

@ -1,2 +1 @@
DIST loofah-2.2.3.gem 65536 BLAKE2B ce1dd5255b0089862d26926624ef6007416318b77f4eb818ff462d8f680f8ef901ecb6ae751e33e1881e303fd005a4bd776c0e6a575562ffb7fb0b62e376b753 SHA512 8e63e1d4e3719c2ffcc8cf3208dbdfa3eb6e328bb91fc8dc6de88c472aac47f1a22771928b08f3c6816c159c6a9672299823f5d48177ae543358e73444b8ac56
DIST loofah-2.3.1.gem 68096 BLAKE2B 367cf64fe458cdfb0af3dc57012d892f830a7aa0df2d30f66cde7c2f5c31c1f29be4d1b83b85f3167bca1bc02fb750a420bce655b803ca4992ded3061c8fc82c SHA512 188e84818abc3a3eed39afd66a75e7fa3c0a29f8ec957441f43f4cbfd962c8c3ea848e83f435a3d61ffc667273b5ff006df39d718b7631a11b62ae2d3f78b6ba DIST loofah-2.3.1.gem 68096 BLAKE2B 367cf64fe458cdfb0af3dc57012d892f830a7aa0df2d30f66cde7c2f5c31c1f29be4d1b83b85f3167bca1bc02fb750a420bce655b803ca4992ded3061c8fc82c SHA512 188e84818abc3a3eed39afd66a75e7fa3c0a29f8ec957441f43f4cbfd962c8c3ea848e83f435a3d61ffc667273b5ff006df39d718b7631a11b62ae2d3f78b6ba

@ -1,34 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
USE_RUBY="ruby23 ruby24 ruby25 ruby26"
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
inherit ruby-fakegem
DESCRIPTION="Library for manipulating and transforming HTML/XML documents and fragments."
HOMEPAGE="https://github.com/flavorjones/loofah"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux"
IUSE=""
ruby_add_rdepend "=dev-ruby/crass-1.0* >=dev-ruby/crass-1.0.2 >=dev-ruby/nokogiri-1.5.9"
ruby_add_bdepend "test? ( >=dev-ruby/rr-1.1.0 )"
all_ruby_prepare() {
# Avoid unneeded development dependencies
sed -i -e '/concourse/I s:^:#:' Rakefile || die
# Avoid test failing on different whitespace.
sed -i -e '/test_fragment_whitewash_on_microsofty_markup/askip "gentoo"' test/integration/test_ad_hoc.rb || die
}
each_ruby_test() {
${RUBY} -Ilib:. -e 'Dir["test/test_*.rb"].each{|f| require f}' || die
}

@ -46,6 +46,8 @@ all_ruby_prepare() {
# native building. # native building.
sed -i -e 's/cross_compile = true/cross_compile = false/' Rakefile || die sed -i -e 's/cross_compile = true/cross_compile = false/' Rakefile || die
sed -i -e '/cross_config_options/d' Rakefile || die sed -i -e '/cross_config_options/d' Rakefile || die
sed -i -e '/simplecov/,/^end/ s:^:#:' test/helper.rb || die
} }
each_ruby_configure() { each_ruby_configure() {

Binary file not shown.

@ -14,7 +14,7 @@ SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar
LICENSE="Boost-1.0" LICENSE="Boost-1.0"
SLOT="0" SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~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 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="examples python test" IUSE="examples python test"
RESTRICT="test" RESTRICT="test"

@ -3,50 +3,64 @@
EAPI=7 EAPI=7
KDE_AUTODEPS="false" inherit cmake-utils kde.org xdg-utils
KDE_TEST="forceoptional"
inherit kde5
DESCRIPTION="A fast heap memory profiler" DESCRIPTION="Fast heap memory profiler"
HOMEPAGE="http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux" HOMEPAGE="http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux"
LICENSE="LGPL-2.1" LICENSE="LGPL-2.1+"
SLOT="0" SLOT="0"
KEYWORDS="" KEYWORDS=""
IUSE="+qt5 zstd" IUSE="+gui test zstd"
BDEPEND=" BDEPEND="
$(add_frameworks_dep extra-cmake-modules) gui? ( kde-frameworks/extra-cmake-modules:5 )
" "
DEPEND=" DEPEND="
dev-libs/boost:= dev-libs/boost:=
sys-libs/libunwind sys-libs/libunwind
sys-libs/zlib sys-libs/zlib
qt5? ( gui? (
$(add_frameworks_dep kconfig)
$(add_frameworks_dep kconfigwidgets)
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep ki18n)
$(add_frameworks_dep kio)
$(add_frameworks_dep kitemmodels)
$(add_frameworks_dep kwidgetsaddons)
$(add_frameworks_dep threadweaver)
$(add_qt_dep qtcore)
$(add_qt_dep qtgui)
$(add_qt_dep qtwidgets)
dev-libs/kdiagram:5 dev-libs/kdiagram:5
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
kde-frameworks/kconfig:5
kde-frameworks/kconfigwidgets:5
kde-frameworks/kcoreaddons:5
kde-frameworks/ki18n:5
kde-frameworks/kio:5
kde-frameworks/kitemmodels:5
kde-frameworks/kwidgetsaddons:5
kde-frameworks/threadweaver:5
) )
zstd? ( app-arch/zstd:= ) zstd? ( app-arch/zstd:= )
" "
RDEPEND="${DEPEND} RDEPEND="${DEPEND}
qt5? ( >=kde-frameworks/kf-env-4 ) gui? ( >=kde-frameworks/kf-env-4 )
" "
RESTRICT+=" !test? ( test )"
src_configure() { src_configure() {
local mycmakeargs=( local mycmakeargs=(
-DHEAPTRACK_BUILD_GUI=$(usex qt5) -DHEAPTRACK_BUILD_GUI=$(usex gui)
-DBUILD_TESTING=$(usex test)
$(cmake-utils_use_find_package zstd Zstd) $(cmake-utils_use_find_package zstd Zstd)
) )
cmake-utils_src_configure
}
xdg_pkg_postinst() {
if use gui; then
xdg_desktop_database_update
xdg_icon_cache_update
fi
}
kde5_src_configure xdg_pkg_postrm() {
if use gui; then
xdg_desktop_database_update
xdg_icon_cache_update
fi
} }

@ -5,4 +5,7 @@
<email>asturm@gentoo.org</email> <email>asturm@gentoo.org</email>
<name>Andreas Sturmlechner</name> <name>Andreas Sturmlechner</name>
</maintainer> </maintainer>
<use>
<flag name="gui">Install Qt5-based analyzer tool</flag>
</use>
</pkgmetadata> </pkgmetadata>

@ -18,7 +18,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
LICENSE="MIT" LICENSE="MIT"
SLOT="0" SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test" IUSE="doc test"
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"

Binary file not shown.

@ -44,7 +44,7 @@ _PYTHON_ALL_IMPLS=(
jython2_7 jython2_7
pypy pypy3 pypy pypy3
python2_7 python2_7
python3_5 python3_6 python3_7 python3_5 python3_6 python3_7 python3_8
) )
readonly _PYTHON_ALL_IMPLS readonly _PYTHON_ALL_IMPLS
@ -80,7 +80,7 @@ _python_impl_supported() {
# keep in sync with _PYTHON_ALL_IMPLS! # keep in sync with _PYTHON_ALL_IMPLS!
# (not using that list because inline patterns shall be faster) # (not using that list because inline patterns shall be faster)
case "${impl}" in case "${impl}" in
python2_7|python3_[567]|jython2_7) python2_7|python3_[5678]|jython2_7)
return 0 return 0
;; ;;
pypy1_[89]|pypy2_0|python2_[56]|python3_[1234]) pypy1_[89]|pypy2_0|python2_[56]|python3_[1234])

Binary file not shown.

@ -1,38 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit xdg
DESCRIPTION="Nintendo DS emulator"
HOMEPAGE="http://desmume.org/"
SRC_URI="mirror://sourceforge/desmume/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="
dev-libs/zziplib
gnome-base/libglade
media-libs/libsdl[joystick,opengl,video]
sys-libs/zlib
virtual/opengl
x11-libs/agg
>=x11-libs/gtk+-2.8.0:2
x11-libs/gtkglext"
DEPEND="${RDEPEND}
dev-util/intltool
virtual/pkgconfig"
DOCS=( AUTHORS ChangeLog README README.LIN )
# fix QA compiler warning, see
# https://sourceforge.net/p/desmume/patches/172/
PATCHES=(
"${FILESDIR}/${P}-fix-pointer-conversion-warning.diff"
"${FILESDIR}/${P}-gcc6.patch"
"${FILESDIR}/${P}-gcc7.patch"
)

Binary file not shown.

@ -1 +1,2 @@
DIST freedroidRPG-0.16.tar.gz 225570013 BLAKE2B ad87ad3d368c94eb1f3dae2d4c3df97b9bc88acccbec4cbcd31e42b411bb96506faac23f8de9b0317a1ab926b34bd01196adce617ab7b731354049d3fb010643 SHA512 039ee4bfcd58e29a3cfa26ae7f2bc8aed7c289119476bb8f8486006910cf6a2127ba49f7526fac887392ca9e5320fb1a59ba068834e162348905423908b0755a DIST freedroidRPG-0.16.tar.gz 225570013 BLAKE2B ad87ad3d368c94eb1f3dae2d4c3df97b9bc88acccbec4cbcd31e42b411bb96506faac23f8de9b0317a1ab926b34bd01196adce617ab7b731354049d3fb010643 SHA512 039ee4bfcd58e29a3cfa26ae7f2bc8aed7c289119476bb8f8486006910cf6a2127ba49f7526fac887392ca9e5320fb1a59ba068834e162348905423908b0755a
DIST freedroidRPG-1.0rc2.tar.gz 233852127 BLAKE2B c87c2314d17037873acf4fc24ce20790c9ec40c8f7b1ea27e6ab9c543abb671bc50b3ff5b86900f7111d1f1a899213dcb90529d2e39918801c9cc3a42585f02e SHA512 a79afdb089691dd59b0128f34f7068c69fac8c057a0485bca3275f4914b1c9c0f21cbb9102ecdc99911b70456c078dbdeb8981fd7714836cd9535677bcc4d1e7

@ -0,0 +1,97 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit autotools flag-o-matic desktop python-any-r1 xdg
MY_PV=$(ver_rs 2 '')
DESCRIPTION="A modification of the classical Freedroid engine into an RPG"
HOMEPAGE="http://www.freedroid.org"
SRC_URI="ftp://ftp.osuosl.org/pub/freedroid/freedroidRPG-$(ver_cut 1-2)/freedroidRPG-${MY_PV}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug devtools nls opengl profile sanitize sound"
RDEPEND="
sys-libs/zlib
virtual/jpeg:0
media-libs/libpng:0
media-libs/libsdl[opengl?,sound?,video]
media-libs/sdl-image[jpeg,png]
>=media-libs/sdl-gfx-2.0.21
nls? ( virtual/libintl )
opengl? ( virtual/opengl )
sound? (
media-libs/libogg
media-libs/libvorbis
media-libs/sdl-mixer[vorbis] )
devtools? ( media-libs/sdl-ttf )"
DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
nls? ( sys-devel/gettext )
sanitize? ( || ( sys-devel/gcc[sanitize] sys-devel/clang-runtime[sanitize] ) )"
S="${WORKDIR}/${PN}-${MY_PV^^}"
src_prepare() {
default
sed -i \
-e '/^dist_doc_DATA/d' \
-e '/-pipe/d' \
-e '/^SUBDIRS/s/pkgs//' \
Makefile.am || die
python_fix_shebang src data/sound
eautoreconf
}
src_configure() {
# this can produce strange results due to 'imprecise' math computations
filter-flags -ffast-math
local myconf=(
--disable-fastmath
--with-embedded-lua
--localedir=/usr/share/locale
$(use_enable nls)
$(use_enable opengl)
$(use_enable sound)
$(use_enable debug)
$(use_with debug extra-warnings)
$(use_enable debug backtrace)
$(use_enable sanitize sanitize-address)
$(use_enable profile rtprof)
$(use_enable devtools dev-tools)
)
econf "${myconf[@]}"
}
src_install() {
local i
default
for i in 48 64 96 128
do
doicon -s ${i} pkgs/freedesktop/icons/hicolor/${i}x${i}/apps/"${PN}".png
done
doicon -s scalable pkgs/freedesktop/icons/hicolor/scalable/apps/freedroidRPG.svg
make_desktop_entry "${PN}" "Freedroid RPG" "${PN}"
}
pkg_postinst() {
xdg_pkg_postinst
local v min="1.0_rc1"
for v in ${REPLACING_VERSIONS}; do
if ver_test "${v}" -lt "${min}"; then
echo
ewarn "${P} is not compatible with save games before ${min}."
ewarn "Please start a new character."
echo
fi
done
}

@ -6,49 +6,29 @@
<name>Gentoo Games Project</name> <name>Gentoo Games Project</name>
</maintainer> </maintainer>
<longdescription> <longdescription>
Hello, and welcome to the Freedroid page. FreedroidRPG is an open source role playing game
THE CLASSICAL FREEDROID: Freedroid is a clone of the classic game The game tells the story of a world destroyed by a conflict between robots and
"Paradroid" on Commodore 64 with some improvements and extensions to their human masters. Play as Tux in a quest to save the world from the
the classic version. murderous rebel bots who know no mercy. You get to choose which path you wish
to follow, and freedom of choice is everywhere in the game.
In this game, you control a robot, depicted by a small white ball with FreedroidRPG features a real time combat system with melee and ranged weapons,
a few numbers within an interstellar spaceship consisting of several fairly similar to the proprietary game Diablo. There is an innovative system of
decks connected by elevators. programs that can be run in order to take control of enemy robots, alter their
behavior, or improve one's characteristics. You can use over 50 different kinds
of items and fight countless enemies on your way to your destiny. An advanced
dialog system provides story background and immersive role playing situations.
The aim of the game is to destroy all enemy robots, depicted by small The game is complete, fully playable, and can provide about 10 hours of fun. It
black balls with a few numbers, by either shooting them or seizing is still being actively developed, and help is welcome in many areas. People
control over them by creating connections in a short subgame of having - or trying to acquire - programming, map editing, or writing skills
electric circuits. will find FreedroidRPG to be an exciting, fast-moving project in which they can
fully express their creativity.
Development of this game is now complete. The final version came out
in august 2003 and runs on Linux, Mac OSX, Sharp Zaurus and even that
strange Windows wannabe of an operating system. Thanks to all who
helped.
Minor fixes and maintainance will of course still continue though...
FREEDROID RPG: The Freedroid RPG is an extension/modification of the
classical freedroid engine into an RPG. The main differences to the
classical version are as follows:
* The Tux is the main character of the rpg. He is not displayed as a
ball like in Freedroid but rather as an animated character, while
other droids and humans in the game are still represented as the balls
with some number or code in them.
* Dialogs and chatting with friendly droids and humans:
Multiple-choice menus and voice samples (with subtitles for those
without sound).
* Melee weapons, armour and other items to be equipped have been
added.
* An automap feature was added.
* Saving and loading of games.
* A shop to trade things.
* Controls are different: Mouse can be used to do everything.
Joystick is not supported for moving around any more.
* The archive size (including sound samples) is about 10 times as big
as for the classical version. I'd like to appologize to all 56K modem
owners at this point.
</longdescription> </longdescription>
<upstream> <use>
<remote-id type="sourceforge">freedroid</remote-id> <flag name="devtools">Compile the additional dev tools</flag>
</upstream> <flag name="profile">Enable the integration of the ingame real-time profiler</flag>
<flag name="sanitize">Compile with address sanitizer</flag>
</use>
</pkgmetadata> </pkgmetadata>

Binary file not shown.

@ -1,2 +1,3 @@
DIST SearchAndRescue-1.5.0.tar.gz 1473765 BLAKE2B cf7dcbb4d250a124a5450115e4fa6f016e83ba16a5ba12cbc53a3c3725643f0a0d306853a3239471ae87d4fc5bef16f2fe903601daf24e2c7a8e3dc71b1a1c2f SHA512 72a8e5c375bb2f5d11d1346bb3c81ea4678a9c58c36f53c048e9a16d32a926ff93c3ec9756867f0869aa2a8da5fb0bfe7764f704c4e79519ee0834d225513657 DIST SearchAndRescue-1.7.0.tar 6256640 BLAKE2B 9ccf63408499bd5f44a1eb6d24656ca5403eb732bd166ccd263d5fdd6f29e5168a563cda4e59eff74d39fa832876f0f04451042baf99d332d748828d0f03b7de SHA512 36295e7c20e685068ba6448b5f579eb53fedba663f76ac1d0db1da1765fbbfe6c1c4728e8a90680250ebbb3f4ad181fbe5bdd2f0fc703c774ec27dc829feacc9
DIST SearchAndRescue-data-1.3.0.tar.gz 52152370 BLAKE2B e6f19b03f45d971c43cfeb72e3202fbf99c1e3d276acc8e133e6c345b08f19cfdc1ae997fdb3d90e173fe5a6bd46685ac3903b1e1da3eda7fa105fc8d9547c7f SHA512 5419376aeecb0f05570a8d2a0a6f830f3b22ce9d1d34a5e490485767546c6d0d1d2a2a3f37e5dfcef69e271a94a9c7dfc6b592e3c0dd62a8a6c38e4bf7d25ccd DIST SearchAndRescue-data-1.7.0.tar 52141474 BLAKE2B 2f43e1349d27c11e441d01d7421d9e5b9145d99c6685ddfb1e2a713269123f9cfc2c655359fa65fa09844dcbf3958bc9d4b2c51c4f9c03e401e2bc40f8953f40 SHA512 a323c50a2c64705ebd43c27e836f088094085bc4f5d219a9b0341cc3b16aafe96e364eb36162a7acb6a59aefe6304767f497e2d7bb0dc29d881f51e6535a6295
DIST SearchAndRescue-data-guadarrama-1.7.0.tar 41738769 BLAKE2B 8c0d02ca8bce7d70eb1016d4676eb35da5c20d1e2c5e65602d8d7414e2ee8bec9bf13399dd3576a3379b62ebc3d7fd7ba85ea33cc1ff2c179278a59bf623daf3 SHA512 1c9615858fc778832566991ee4802c0929c81a9b0b720e5db90b4bb0baff718fa0ba589fe33444ee7eb040622081d60c10036af2b199bf2bd0a7f5f45ba71c72

@ -1,66 +0,0 @@
--- searchandrescue_1.3.0.orig/sar/makefile_append.ini
+++ searchandrescue_1.3.0/sar/makefile_append.ini
@@ -3,7 +3,7 @@
# C++ flags:
-CPPFLAGS = -D__cplusplus -Dc_plusplus
+CPPFLAGS += -D__cplusplus -Dc_plusplus
# Source files list:
@@ -16,14 +16,12 @@
OBJ_CPP = $(SRC_CPP:.cpp=.o)
.c.o:
@echo "Compiling module $*.o"
- @$(CC) -c $*.c $(INC_DIRS) $(CFLAGS)
+ $(CC) -c $*.c $(INC_DIRS) $(CFLAGS)
.cpp.o:
@echo "Compiling module $*.o"
- @$(CPP) -c $*.cpp $(INC_DIRS) $(CFLAGS) $(CPPFLAGS)
+ $(CPP) -c $*.cpp $(INC_DIRS) $(CPPFLAGS)
# Programs
-LS = ls
-LSFLAGS = -s -h -c --color=auto
RM = rm
RMFLAGS = -f
@@ -32,9 +30,8 @@
modules: $(OBJ_C) $(OBJ_CPP)
@echo -n "Linking modules..."
- @$(CPP) $(OBJ_C) $(OBJ_CPP) -o $(BIN) $(LIBS) $(LIB_DIRS)
+ $(CPP) $(OBJ_C) $(OBJ_CPP) $(LDFLAGS) -o $(BIN) $(LIBS) $(LIB_DIRS)
@echo -n " "
- @-$(LS) $(LSFLAGS) $(BIN)
prebuild:
@echo "Building program \"$(BIN)\"..."
@@ -54,5 +51,5 @@
clean:
@echo "Cleaning program \"$(BIN)\"..."
@echo "Deleting all intermediate files..."
- @$(RM) $(RMFLAGS) a.out core *.o $(BIN)
+ $(RM) $(RMFLAGS) a.out core *.o $(BIN)
@echo "Clean done."
--- searchandrescue_1.3.0.orig/sar/platforms.ini
+++ searchandrescue_1.3.0/sar/platforms.ini
@@ -102,7 +102,7 @@
FeatureDepend = xf86vidmode-lib
DependType = Library
MustExist = Yes
- DependPath = libXxf86vm.a
+ DependPath = libXxf86vm.so
DependGrepString = XF86VidModeQueryExtension
FeatureDepend = xf86vidmode-devel
DependType = Header
@@ -223,7 +223,7 @@
FeatureDepend = xf86vidmode-lib
DependType = Library
MustExist = Yes
- DependPath = libXxf86vm.a
+ DependPath = libXxf86vm.so
DependGrepString = XF86VidModeQueryExtension
FeatureDepend = xf86vidmode-devel
DependType = Header

@ -1,77 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils flag-o-matic toolchain-funcs
MY_DATA_PV=1.3.0
MY_PN=SearchAndRescue
DESCRIPTION="Helicopter based air rescue flight simulator"
HOMEPAGE="http://searchandrescue.sourceforge.net/"
SRC_URI="mirror://sourceforge/searchandrescue/${MY_PN}-${PV}.tar.gz
mirror://sourceforge/searchandrescue/${MY_PN}-data-${MY_DATA_PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="
media-libs/libsdl
media-libs/sdl-mixer
x11-libs/libICE
x11-libs/libSM
x11-libs/libXi
x11-libs/libXmu
x11-libs/libXpm
x11-libs/libXxf86vm
virtual/opengl
virtual/glu"
DEPEND="${RDEPEND}
x11-base/xorg-proto"
S=${WORKDIR}/${PN}_${PV}
PATCHES=(
"${FILESDIR}"/${P}-build.patch
)
src_unpack() {
unpack ${MY_PN}-${PV}.tar.gz
mkdir data && cd data && \
unpack ${MY_PN}-data-${MY_DATA_PV}.tar.gz
bunzip2 "${S}"/sar/man/${MY_PN}.6.bz2 || die
}
src_prepare() {
default
rm pconf/pconf || die
sed -i -e '/Wall/s/$/ $(CFLAGS)/' pconf/Makefile || die
}
src_configure() {
emake CC=$(tc-getCC) -C pconf pconf # Needed for the configure script
append-cppflags -DNEW_GRAPHICS -DHAVE_SDL_MIXER
export CPP="$(tc-getCXX)"
export CPPFLAGS="${CXXFLAGS}"
# NOTE: not an autoconf script
./configure Linux --prefix="/usr" || die
sed -i -e 's/@\$/$/' sar/Makefile || die
}
src_compile() {
emake -C sar
}
src_install() {
dobin sar/${MY_PN}
doman sar/man/${MY_PN}.6
dodoc AUTHORS HACKING README
doicon sar/icons/SearchAndRescue.xpm
newicon sar/icons/SearchAndRescue.xpm ${PN}.xpm
dodir /usr/share/games/${PN}
cp -r "${WORKDIR}"/data/* "${D}/usr/share/games/${PN}/" || die
make_desktop_entry SearchAndRescue "SearchAndRescue" /usr/share/pixmaps/${PN}.xpm
}

@ -0,0 +1,80 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop flag-o-matic prefix toolchain-funcs xdg
MY_PN=SearchAndRescue
DESCRIPTION="Helicopter based air rescue flight simulator"
HOMEPAGE="http://searchandrescue.sourceforge.net/"
SRC_URI="mirror://sourceforge/searchandrescue/${MY_PN}-${PV}.tar.gz -> ${MY_PN}-${PV}.tar
mirror://sourceforge/searchandrescue/${MY_PN}-data-${PV}.tar.gz -> ${MY_PN}-data-${PV}.tar
mirror://sourceforge/searchandrescue/${MY_PN}-data-guadarrama-${PV}.tar.gz -> ${MY_PN}-data-guadarrama-${PV}.tar"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
media-libs/libsdl
media-libs/sdl-mixer
virtual/glu
virtual/opengl
x11-libs/libICE
x11-libs/libSM
x11-libs/libXi
x11-libs/libXmu
x11-libs/libXpm
x11-libs/libXxf86vm
"
DEPEND="${RDEPEND}
x11-base/xorg-proto"
S=${WORKDIR}/${PN}_${PV}
src_unpack() {
unpack ${MY_PN}-${PV}.tar
mkdir data || die
cd data || die
unpack ${MY_PN}-data-${PV}.tar
unpack ${MY_PN}-data-guadarrama-${PV}.tar
bunzip2 "${S}"/sar/man/${MY_PN}.6.bz2 || die
}
src_prepare() {
xdg_src_prepare
chmod +x configure || die
rm pconf/pconf || die
sed -i "/PlatformSearchPathLib/s:/lib/:/$(get_libdir)/:g" sar/platforms.ini || die
hprefixify sar/platforms.ini
}
src_configure() {
export CC="$(tc-getCC) ${CFLAGS} ${LDFLAGS}" \
CPP="$(tc-getCXX) ${LDFLAGS}"
append-flags -DNEW_GRAPHICS -DHAVE_SDL_MIXER
# Needed for the configure script
emake -C pconf pconf CC="${CC}"
# NOTE: not an autoconf script
./configure Linux --prefix="${EPREFIX}/usr" || die
sed -i -r 's/^(\s+)@/\1/' sar/Makefile || die
}
src_compile() {
emake -C sar LIB_DIRS=
}
src_install() {
dobin sar/${MY_PN}
doman sar/man/${MY_PN}.6
dodoc AUTHORS HACKING README
doicon sar/icons/${MY_PN}.xpm
insinto /usr/share/games/${PN}
doins -r ../data/*
make_desktop_entry ${MY_PN} "Search and Rescue" ${MY_PN}
}

Binary file not shown.

@ -20,6 +20,11 @@ DEPEND="test? ( dev-qt/qttest:5 )"
RESTRICT+=" !test? ( test )" RESTRICT+=" !test? ( test )"
src_prepare() {
cmake-utils_src_prepare
use test || cmake_comment_add_subdirectory autotests
}
src_configure() { src_configure() {
local mycmakeargs=( local mycmakeargs=(
-DBINARY_ICONS_RESOURCE=ON -DBINARY_ICONS_RESOURCE=ON

@ -19,6 +19,11 @@ DEPEND="test? ( dev-qt/qttest:5 )"
RESTRICT+=" !test? ( test )" RESTRICT+=" !test? ( test )"
src_prepare() {
cmake-utils_src_prepare
use test || cmake_comment_add_subdirectory autotests
}
src_configure() { src_configure() {
local mycmakeargs=( local mycmakeargs=(
-DBINARY_ICONS_RESOURCE=OFF -DBINARY_ICONS_RESOURCE=OFF

@ -50,10 +50,11 @@ src_prepare() {
src_configure() { src_configure() {
local mycmakeargs=( local mycmakeargs=(
-DDOC_INSTALL_DIR=/usr/share/doc/"${PF}"
-DBUILD_QTHELP_DOCS=$(usex doc) -DBUILD_QTHELP_DOCS=$(usex doc)
-DBUILD_HTML_DOCS=$(usex doc) -DBUILD_HTML_DOCS=$(usex doc)
-DBUILD_MAN_DOCS=$(usex doc) -DBUILD_MAN_DOCS=$(usex doc)
-DDOC_INSTALL_DIR=/usr/share/doc/"${PF}" -DBUILD_TESTING=$(usex test)
) )
cmake-utils_src_configure cmake-utils_src_configure

@ -21,3 +21,8 @@ BDEPEND="
DEPEND="test? ( dev-qt/qttest:5 )" DEPEND="test? ( dev-qt/qttest:5 )"
RESTRICT+=" !test? ( test )" RESTRICT+=" !test? ( test )"
src_prepare() {
cmake-utils_src_prepare
use test || cmake_comment_add_subdirectory autotests
}

Binary file not shown.

@ -1 +1,2 @@
DIST kshutdown-source-5.0.zip 454848 BLAKE2B 481cafbf5bd3831088ec9168b6eb82e342106b9b570279b6b8ca1db1f2df8c5640b3942f76032559396b504903b18fe106eb940e81822472a63f235e1a004644 SHA512 7a3920315db142f150227e624fa4a765966ec8367a08686214cb072d94a62d24f3a22fbef8fc84411d385be935102cf85df1b001b2922399455cc320c1e0f0db DIST kshutdown-source-5.0.zip 454848 BLAKE2B 481cafbf5bd3831088ec9168b6eb82e342106b9b570279b6b8ca1db1f2df8c5640b3942f76032559396b504903b18fe106eb940e81822472a63f235e1a004644 SHA512 7a3920315db142f150227e624fa4a765966ec8367a08686214cb072d94a62d24f3a22fbef8fc84411d385be935102cf85df1b001b2922399455cc320c1e0f0db
DIST kshutdown-source-5.1-beta.zip 458881 BLAKE2B f07b1c3ab4d8c272eb4a9dd5e09d5606c175590791878663c784fdd457afc8850f7ad90b707edb3294e67418e58798731adc1304f9b8cc5f66251dade8e32186 SHA512 6afb050428e34cdfc25c9f899ecc117a7eee91b6f55ba4bb090b6b7825bad4cee113a155d053d2fc554c4d4846576f28e3d5c43b90c855f5f1884c26c04afaad

@ -0,0 +1,63 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake-utils kde.org xdg
DESCRIPTION="Shutdown manager for desktop environments like KDE Plasma"
HOMEPAGE="https://kshutdown.sourceforge.io"
SRC_URI="mirror://sourceforge/${PN}/${PN}-source-${PV/_/-}.zip"
LICENSE="GPL-2+"
SLOT="5"
KEYWORDS="~amd64 ~x86"
IUSE="+kde"
BDEPEND="
app-arch/unzip
sys-devel/gettext
kde? ( kde-frameworks/extra-cmake-modules:5 )
"
DEPEND="
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
kde? (
kde-frameworks/kconfig:5
kde-frameworks/kconfigwidgets:5
kde-frameworks/kcoreaddons:5
kde-frameworks/kcrash:5
kde-frameworks/kdbusaddons:5
kde-frameworks/kglobalaccel:5
kde-frameworks/ki18n:5
kde-frameworks/kidletime:5
kde-frameworks/knotifications:5
kde-frameworks/knotifyconfig:5
kde-frameworks/kwidgetsaddons:5
kde-frameworks/kxmlgui:5
)
"
RDEPEND="${DEPEND}
|| (
kde-frameworks/breeze-icons:*
kde-frameworks/oxygen-icons:*
)
"
PATCHES=( "${FILESDIR}/${PN}-5.0-cmake-3.15.patch" )
S="${WORKDIR}/${P/_/-}"
src_prepare() {
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DKS_PURE_QT=$(usex !kde)
)
cmake-utils_src_configure
}

@ -1 +1,2 @@
DIST tellico-3.2.1.tar.xz 5604632 BLAKE2B 4e0f156a315eca387b60f254df9824615aca3a917a1a256bfd3612e6babd7495e22d79234bdd92297167c323d5a3aabed253ddc38d757e41b64c289392b6e827 SHA512 ada45c66fce2e73f301e3f7d69acb20caf5ebde85ac77bd6e6f0701f55044f5f1a44f8e6ae5d6d6bd244fd6538fba88591caf70178855b6910ce5132508fba9b DIST tellico-3.2.1.tar.xz 5604632 BLAKE2B 4e0f156a315eca387b60f254df9824615aca3a917a1a256bfd3612e6babd7495e22d79234bdd92297167c323d5a3aabed253ddc38d757e41b64c289392b6e827 SHA512 ada45c66fce2e73f301e3f7d69acb20caf5ebde85ac77bd6e6f0701f55044f5f1a44f8e6ae5d6d6bd244fd6538fba88591caf70178855b6910ce5132508fba9b
DIST tellico-3.2.2.tar.xz 5589296 BLAKE2B 7a9bb2afd4f0111d4b5173f060bfcf3b0530ddf9582e796adc08d5881da2afdbd689f1527d69e344dbd4daaf2879ba2871b2bda529bad110a6ee2926f3082761 SHA512 20af0a3017054c371dbeae7412d66b7f3cc7f0ab5119079c2da4373c23bd2eaa2f457955f8ace7448cbe69d8f0f4971f87127b25e06e3e26b07cfe47cf93b34b

@ -0,0 +1,89 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
ECM_HANDBOOK="forceoptional"
ECM_TEST="forceoptional"
VIRTUALX_REQUIRED="test"
inherit ecm kde.org
DESCRIPTION="Collection manager based on KDE Frameworks"
HOMEPAGE="https://tellico-project.org/"
if [[ ${KDE_BUILD_TYPE} != live ]]; then
SRC_URI="https://tellico-project.org/files/${P}.tar.xz"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="|| ( GPL-2 GPL-3 )"
SLOT="5"
IUSE="cddb discid pdf scanner semantic-desktop taglib v4l xmp yaz"
BDEPEND="
sys-devel/gettext
"
RDEPEND="
kde-frameworks/karchive:5
kde-frameworks/kcodecs:5
kde-frameworks/kcompletion:5
kde-frameworks/kconfig:5
kde-frameworks/kconfigwidgets:5
kde-frameworks/kcoreaddons:5
kde-frameworks/kcrash:5
kde-frameworks/kguiaddons:5
kde-frameworks/khtml:5
kde-frameworks/kiconthemes:5
kde-frameworks/kitemmodels:5
kde-frameworks/ki18n:5
kde-frameworks/kjobwidgets:5
kde-frameworks/kio:5
kde-frameworks/knewstuff:5
kde-frameworks/kparts:5
kde-frameworks/kservice:5
kde-frameworks/ktextwidgets:5
kde-frameworks/kwallet:5
kde-frameworks/kwidgetsaddons:5
kde-frameworks/kwindowsystem:5
kde-frameworks/kxmlgui:5
kde-frameworks/solid:5
kde-frameworks/sonnet:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
dev-libs/libxml2
dev-libs/libxslt
>=dev-perl/Text-BibTeX-0.780.0-r1
cddb? ( kde-apps/libkcddb:5 )
discid? ( dev-libs/libcdio:= )
pdf? ( app-text/poppler[qt5] )
scanner? ( kde-apps/libksane:5 )
semantic-desktop? ( kde-frameworks/kfilemetadata:5 )
taglib? ( >=media-libs/taglib-1.5 )
v4l? ( >=media-libs/libv4l-0.8.3 )
xmp? ( >=media-libs/exempi-2 )
yaz? ( >=dev-libs/yaz-2:0 )
"
DEPEND="${RDEPEND}"
# tests need network access
RESTRICT+=" test"
src_configure() {
local mycmakeargs=(
-DCMAKE_DISABLE_FIND_PACKAGE_Csv=ON
$(cmake-utils_use_find_package cddb KF5Cddb)
$(cmake-utils_use_find_package discid CDIO)
$(cmake-utils_use_find_package pdf Poppler)
$(cmake-utils_use_find_package scanner KF5Sane)
$(cmake-utils_use_find_package semantic-desktop KF5FileMetaData)
$(cmake-utils_use_find_package taglib Taglib)
-DENABLE_WEBCAM=$(usex v4l)
$(cmake-utils_use_find_package xmp Exempi)
$(cmake-utils_use_find_package yaz Yaz)
)
ecm_src_configure
}

Binary file not shown.

@ -2,3 +2,4 @@ DIST neomutt-20180512.tar.gz 2758674 BLAKE2B 47a8d1fe5d5e2725a6ee868b937eea3807a
DIST neomutt-20180622.tar.gz 2769280 BLAKE2B 57e708a0502d8de795a08150dd92c4b2a8ba9d0594102f4d4d4b183f29caad147e233586882ca68aa23df6e69b0c55345120ca40ddc9db80e76c734409ff5a3b SHA512 8085bf2bcf25ee4a4531cc5f950f862f58e3bf6ebfb96450479132ed60b4d87e35bc54f9b5e110d93dbd8e9684c1eceb36012753fc7bf5d3fb5046d9d42b69e0 DIST neomutt-20180622.tar.gz 2769280 BLAKE2B 57e708a0502d8de795a08150dd92c4b2a8ba9d0594102f4d4d4b183f29caad147e233586882ca68aa23df6e69b0c55345120ca40ddc9db80e76c734409ff5a3b SHA512 8085bf2bcf25ee4a4531cc5f950f862f58e3bf6ebfb96450479132ed60b4d87e35bc54f9b5e110d93dbd8e9684c1eceb36012753fc7bf5d3fb5046d9d42b69e0
DIST neomutt-20180716.tar.gz 2778105 BLAKE2B b367407baf2187347971a0327a0c037861f648ebef12ce7b006b756bf60e696ff7a2c986848a9f15815aa95638dd5a3a90f47e97a9c0573950be8cdcc93b13ad SHA512 ee4093217cc1409262b96ab33ed78a38f5c6a72f62fcd7b25027f9373687ce67af8a4e1793b1d7d843bee5b4a7e0c69b30b3badf88a4e1a8fadd8b21441faaae DIST neomutt-20180716.tar.gz 2778105 BLAKE2B b367407baf2187347971a0327a0c037861f648ebef12ce7b006b756bf60e696ff7a2c986848a9f15815aa95638dd5a3a90f47e97a9c0573950be8cdcc93b13ad SHA512 ee4093217cc1409262b96ab33ed78a38f5c6a72f62fcd7b25027f9373687ce67af8a4e1793b1d7d843bee5b4a7e0c69b30b3badf88a4e1a8fadd8b21441faaae
DIST neomutt-20191102.tar.gz 3224856 BLAKE2B ff645bb0521f97e7935aef3e3b286643e30e78e10c6322b93da635cdba82496c3bc8f8b4b95fb4c197439bae3ddcfb5b207803900ab434e01b63e9989a5f2458 SHA512 fa4f488110560b25a4d208cf059c44bdfb514b4904964a0928f1491afc2b0d748fa7075d8465e066683f44a5741454b9c73391ecfe20842aae34f3848b9c0bc8 DIST neomutt-20191102.tar.gz 3224856 BLAKE2B ff645bb0521f97e7935aef3e3b286643e30e78e10c6322b93da635cdba82496c3bc8f8b4b95fb4c197439bae3ddcfb5b207803900ab434e01b63e9989a5f2458 SHA512 fa4f488110560b25a4d208cf059c44bdfb514b4904964a0928f1491afc2b0d748fa7075d8465e066683f44a5741454b9c73391ecfe20842aae34f3848b9c0bc8
DIST neomutt-20191111.tar.gz 3225507 BLAKE2B ce43a000b2807a45e4e21d667fd2c5259d751ce2ea3bb2cd3a7857f0f0fca3fb462d7179454d2da1736461e2d804bf6ecf61445768a049e053947d7821c60174 SHA512 cfc1e488b4f0938a26b9c3474d96827b00d97daa0406472e0f694897c286e6eea88e99b1a0cf6da0b7ba181d26ede4ad8ee0379d086eadc562ff1c3ab0dafaa7

@ -0,0 +1,128 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils flag-o-matic
if [[ ${PV} =~ 99999999$ ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/neomutt/neomutt.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/neomutt-${P}"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="A small but very powerful text-based mail client"
HOMEPAGE="https://neomutt.org/"
LICENSE="GPL-2"
SLOT="0"
IUSE="berkdb doc gdbm gnutls gpgme idn kerberos kyotocabinet libressl
lmdb nls notmuch pgp-classic qdbm sasl selinux slang smime-classic
ssl tokyocabinet"
CDEPEND="
app-misc/mime-types
berkdb? (
|| (
sys-libs/db:6.2
sys-libs/db:5.3
sys-libs/db:4.8
)
<sys-libs/db-6.3:=
)
gdbm? ( sys-libs/gdbm )
kyotocabinet? ( dev-db/kyotocabinet )
lmdb? ( dev-db/lmdb )
nls? ( virtual/libintl )
qdbm? ( dev-db/qdbm )
tokyocabinet? ( dev-db/tokyocabinet )
gnutls? ( >=net-libs/gnutls-1.0.17 )
gpgme? ( >=app-crypt/gpgme-0.9.0 )
idn? ( net-dns/libidn:= )
kerberos? ( virtual/krb5 )
notmuch? ( net-mail/notmuch )
sasl? ( >=dev-libs/cyrus-sasl-2 )
!slang? ( sys-libs/ncurses:0 )
slang? ( sys-libs/slang )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6:0 )
libressl? ( dev-libs/libressl )
)
"
DEPEND="${CDEPEND}
dev-lang/tcl
net-mail/mailbase
doc? (
dev-libs/libxml2
dev-libs/libxslt
app-text/docbook-xsl-stylesheets
|| ( www-client/lynx www-client/w3m www-client/elinks )
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-mutt )
"
src_configure() {
local myconf=(
"$(usex doc --full-doc --disable-doc)"
"$(use_enable nls)"
"$(use_enable notmuch)"
"$(use_enable gpgme)"
"$(use_enable pgp-classic pgp)"
"$(use_enable smime-classic smime)"
# Database backends.
"$(use_enable berkdb bdb)"
"$(use_enable gdbm)"
"$(use_enable kyotocabinet)"
"$(use_enable qdbm)"
"$(use_enable tokyocabinet)"
"$(use_enable idn)"
"$(use_enable kerberos gss)"
"$(use_enable lmdb)"
"$(use_enable sasl)"
"--with-ui=$(usex slang slang ncurses)"
"--sysconfdir=${EPREFIX}/etc/${PN}"
"$(use_enable ssl)"
"$(use_enable gnutls)"
)
econf CCACHE=none "${myconf[@]}"
}
src_install() {
emake DESTDIR="${D}" install
# A man-page is always handy, so fake one here neomuttrc.5
# (neomutt.1 already exists)
if use !doc; then
sed -n \
-e '/^\(CC_FOR_BUILD\|CFLAGS_FOR_BUILD\)\s*=/p' \
-e '/^\(EXTRA_CFLAGS_FOR_BUILD\|LDFLAGS_FOR_BUILD\)\s*=/p' \
-e '/^\(EXEEXT\|SRCDIR\)\s*=/p' \
Makefile > doc/Makefile.fakedoc || die
sed -n \
-e '/^MAKEDOC_CPP\s*=/,/^\s*$/p' \
-e '/^doc\/\(makedoc$(EXEEXT)\|neomutt\.1\|neomuttrc\.5\)\s*:/,/^\s*$/p' \
doc/Makefile.autosetup >> doc/Makefile.fakedoc || die
emake -f doc/Makefile.fakedoc doc/neomutt.1
emake -f doc/Makefile.fakedoc doc/neomuttrc.5
doman doc/neomutt.1 doc/neomuttrc.5
fi
dodoc LICENSE* ChangeLog* README*
}
pkg_postinst() {
if use gpgme && ( use pgp-classic || use smime-classic ); then
ewarn " Note that gpgme (old gpg) includes both pgp and smime"
ewarn " support. You can probably remove pgp-classic (old crypt)"
ewarn " and smime-classic (old smime) from your USE-flags and"
ewarn " only enable gpgme."
fi
}

Binary file not shown.

@ -3,21 +3,20 @@
EAPI=7 EAPI=7
KDE_AUTODEPS="false" inherit cmake-utils font kde.org xdg-utils
KDE_DEBUG="false"
inherit kde5 font
DESCRIPTION="Desktop/GUI font family for integrated use with the KDE Plasma desktop" DESCRIPTION="Desktop/GUI font family for integrated use with the KDE Plasma desktop"
HOMEPAGE="https://cgit.kde.org/oxygen-fonts.git" HOMEPAGE="https://cgit.kde.org/oxygen-fonts.git"
SRC_URI="mirror://kde/unstable/plasma/$(ver_cut 1-3)/${P}.tar.xz" SRC_URI="mirror://kde/unstable/plasma/$(ver_cut 1-3)/${P}.tar.xz"
LICENSE="OFL-1.1" LICENSE="OFL-1.1"
SLOT="5"
KEYWORDS="amd64 ~arm x86" KEYWORDS="amd64 ~arm x86"
IUSE="" IUSE=""
BDEPEND=" BDEPEND="
$(add_frameworks_dep extra-cmake-modules) >=kde-frameworks/extra-cmake-modules-5.60.0:5
$(add_qt_dep qtcore) >=dev-qt/qtcore-5.12.3:5
media-gfx/fontforge media-gfx/fontforge
" "
@ -26,13 +25,15 @@ DOCS=( README.md )
PATCHES=( "${FILESDIR}/${P}-fix-d-and-t-accents.patch" ) PATCHES=( "${FILESDIR}/${P}-fix-d-and-t-accents.patch" )
src_configure() { src_configure() {
xdg_environment_reset
local mycmakeargs=( local mycmakeargs=(
-DOXYGEN_FONT_INSTALL_DIR="${FONTDIR}" -DOXYGEN_FONT_INSTALL_DIR="${FONTDIR}"
) )
kde5_src_configure cmake-utils_src_configure
} }
src_install() { src_install() {
kde5_src_install cmake-utils_src_install
font_src_install font_src_install
} }

Binary file not shown.

@ -0,0 +1,130 @@
From 09319f688e10d47f9fc9be2b6feb831fb132660a Mon Sep 17 00:00:00 2001
From: Patrick Storz <eduard.braun2@gmx.de>
Date: Sat, 12 Oct 2019 15:56:14 +0200
Subject: [PATCH] CMake: Avoid reordering CMAKE_CXX_FLAGS
Order matters; the reordering caused the _FORTIFY_SOURCE flag to be
always undefined (as we flipped a "-U" and "-D")
Also skip removing duplicates to avoid similar pitfalls (we kept
only the first occurrence but should've kept the last)
It did not work properly anyway (we still had duplicates in the end)
and was only required as we wrote the final CMAKE_CXX_FLAGS back to
cache and consequently appended new flags with every run of CMAKE.
---
CMakeLists.txt | 13 -----------
CMakeScripts/CanonicalizeFlagsVar.cmake | 11 ----------
CMakeScripts/DefineDependsandFlags.cmake | 28 ++++++++++++++----------
3 files changed, 17 insertions(+), 35 deletions(-)
delete mode 100644 CMakeScripts/CanonicalizeFlagsVar.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b30f013f38..aa14e13e01 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -207,19 +207,6 @@ if(GMOCK_PRESENT)
endif()
endif()
-# -----------------------------------------------------------------------------
-# Canonicalize the flags to speed up recompilation using ccache/etc.
-# This should be the last thing we do:
-# -----------------------------------------------------------------------------
-include(CMakeScripts/CanonicalizeFlagsVar.cmake)
-canonicalize_flags_var("${CMAKE_CXX_FLAGS}" _new_cxx)
-set(CMAKE_CXX_FLAGS "${_new_cxx}" CACHE STRING "" FORCE)
-canonicalize_flags_var("${CMAKE_CXX_FLAGS_DEBUG}" _new_cxx)
-set(CMAKE_CXX_FLAGS_DEBUG "${_new_cxx}" CACHE STRING "" FORCE)
-# message(FATAL_ERROR "CMAKE_CXX_FLAGS = <${CMAKE_CXX_FLAGS}>")
-
-
-
# -----------------------------------------------------------------------------
# Clean Targets
diff --git a/CMakeScripts/CanonicalizeFlagsVar.cmake b/CMakeScripts/CanonicalizeFlagsVar.cmake
deleted file mode 100644
index ddc5b7b5d3..0000000000
--- a/CMakeScripts/CanonicalizeFlagsVar.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file is copyright by Shlomi Fish, 2016.
-#
-# This file is licensed under the MIT/X11 license:
-# https://opensource.org/licenses/mit-license.php
-
-macro (canonicalize_flags_var in_val out_var)
- string(REPLACE " " ";" _c "${in_val}")
- list(REMOVE_DUPLICATES _c)
- list(SORT _c)
- string(REPLACE ";" " " "${out_var}" "${_c}")
-endmacro()
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
index 996100b4d7..9dd7f7785f 100644
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -2,6 +2,7 @@ set(INKSCAPE_LIBS "")
set(INKSCAPE_INCS "")
set(INKSCAPE_INCS_SYS "")
set(INKSCAPE_CXX_FLAGS "")
+set(INKSCAPE_CXX_FLAGS_DEBUG "")
list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/src
@@ -98,7 +99,7 @@ list(APPEND INKSCAPE_INCS_SYS ${INKSCAPE_DEP_INCLUDE_DIRS})
add_definitions(${INKSCAPE_DEP_CFLAGS_OTHER})
find_package(DoubleConversion REQUIRED) # lib2geom dependency
-
+
if(WITH_JEMALLOC)
find_package(JeMalloc)
if (JEMALLOC_FOUND)
@@ -369,14 +370,6 @@ sanitize_ldflags_for_libs(SIGC++_LDFLAGS)
list(APPEND INKSCAPE_LIBS ${SIGC++_LDFLAGS})
list(APPEND INKSCAPE_CXX_FLAGS ${SIGC++_CFLAGS_OTHER})
-list(REMOVE_DUPLICATES INKSCAPE_CXX_FLAGS)
-foreach(flag ${INKSCAPE_CXX_FLAGS})
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" CACHE STRING "" FORCE)
-endforeach()
-foreach(flag ${INKSCAPE_CXX_FLAGS_DEBUG})
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${flag}" CACHE STRING "" FORCE)
-endforeach()
-
# Some linkers, like gold, don't find symbols recursively. So we have to link against X11 explicitly
find_package(X11)
if(X11_FOUND)
@@ -386,14 +379,27 @@ endif(X11_FOUND)
# end Dependencies
+
+
+# Set include directories and CXX flags
+# (INKSCAPE_LIBS are set as target_link_libraries for inkscape_base in src/CMakeLists.txt)
+
+foreach(flag ${INKSCAPE_CXX_FLAGS})
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
+endforeach()
+foreach(flag ${INKSCAPE_CXX_FLAGS_DEBUG})
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${flag}")
+endforeach()
+
list(REMOVE_DUPLICATES INKSCAPE_LIBS)
list(REMOVE_DUPLICATES INKSCAPE_INCS_SYS)
-# C/C++ Flags
include_directories(${INKSCAPE_INCS})
include_directories(SYSTEM ${INKSCAPE_INCS_SYS})
-include(${CMAKE_CURRENT_LIST_DIR}/ConfigChecks.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/ConfigChecks.cmake) # TODO: Check if this needs to be "hidden" here
unset(INKSCAPE_INCS)
unset(INKSCAPE_INCS_SYS)
+unset(INKSCAPE_CXX_FLAGS)
+unset(INKSCAPE_CXX_FLAGS_DEBUG)
--
2.22.0

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

Loading…
Cancel
Save