parent
7f60c09298
commit
d435bd0b3c
Binary file not shown.
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST puppet-lint-2.3.3.gem 84992 BLAKE2B 57b6d6332b7d26daf193ba983ff1e5d560cf4f902f1b476de3b1f7254755851397685d7b435dd7365f81e1427d91ca47ffa889a9d87a14e1c4720e44aa2b7996 SHA512 9203e8d29cb4a5c5abf8279598599db4a9063d33d7b7d6c76f8ebf09c3ba539f6035083b5438bae2b0fda1d16880ffcb69a2776ebce7f54bc1a1430c2ceb0d68
|
||||
DIST puppet-lint-2.3.5.gem 86528 BLAKE2B 7455c729cb0512cb26838439c854c70d2581f2102594ac60d76a34f9839b0bb7dbab65beb87369419dc0e66583bfac1ad9f22d65ee3ee9bf35aa3c37e8f0d1b9 SHA512 5e1978c5438869c12c2151e76fe6cea12c447d9f59f1fbbc90fb80e61c7ff9c220be85f70cf95dec2380cd35205ffec0473cc7eda0db21b94a30b533d4214707
|
||||
DIST puppet-lint-2.3.6.gem 87552 BLAKE2B 0a2f4b9c2ef76c06bc4fb6eb0f737af406bf3949e7c9001685c6522714b550c0f2c5680d5d39f5d3994496a497664e912eadc44bdb7aa4c27635d23b36a90776 SHA512 d162307e66bb5f1dd923f2f9fab55de7b4c5fad6264d7a1bae8df20bd45c5a786b66d9f5b3bd235230fea959c67242462e711212f65807040048f4c0be7122b9
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby23 ruby24 ruby25"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
RUBY_FAKEGEM_EXTRADOC="README.md"
|
||||
|
||||
inherit eutils ruby-fakegem
|
||||
|
||||
DESCRIPTION="A linter for puppet DSL"
|
||||
HOMEPAGE="http://puppet-lint.com/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
ruby_add_bdepend "test? (
|
||||
dev-ruby/rspec-its:1
|
||||
dev-ruby/rspec-collection_matchers:1
|
||||
dev-ruby/rspec-json_expectations )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/simplecov/,/^end/ s:^:#:' spec/spec_helper.rb || die
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST cdemu-daemon-3.1.0.tar.bz2 79943 BLAKE2B 23407c3a14b426fa9f53c2d62564e34a8f878598c24cdd9419c811786d858135a0af3a1cde8b7afc4178f7772336ed533077c089c976e98de30c932deca1c426 SHA512 f0f3de31b2bf6a97852bb1bc45d301e6cbf401ca7499f42e99811ca62431e86b344c83ddb4420571f2038e43432711e04817b9ed3859893eec7d36fbad8dfdb5
|
||||
DIST cdemu-daemon-3.2.1.tar.bz2 82426 BLAKE2B 282b1a62ca3a770e709ff31ee7b72ed9f5e102c5f318a765a99421c93881e9ecacfdc5867af494e69dddda40603c8eb6cc8904a7c82fec004a6d5644a28a9f87 SHA512 399dbb818de8a550bd31784a5a7f0adb9d2e35d922ba71f341df81d20fd7e5ebaba5f31db1554caca17919325773f9ec6bb3d5ae99afa5d6eaf5b22142e010ee
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Daemon of the CDEmu optical media image mounting suite"
|
||||
HOMEPAGE="http://cdemu.org"
|
||||
SRC_URI="mirror://sourceforge/cdemu/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0/7" # subslot = CDEMU_DAEMON_INTERFACE_VERSION_MAJOR in CMakeLists.txt
|
||||
KEYWORDS="~amd64 ~hppa ~x86"
|
||||
IUSE=""
|
||||
|
||||
COMMON_DEPEND=">=dev-libs/glib-2.32:2
|
||||
>=dev-libs/libmirage-3.2.0:=
|
||||
>=media-libs/libao-0.8.0:="
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-util/intltool
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/dbus
|
||||
>=sys-fs/vhba-20130607"
|
||||
|
||||
DOCS=( AUTHORS README )
|
||||
|
||||
pkg_postinst() {
|
||||
elog "You will need to load the vhba module to use cdemu devices:"
|
||||
elog " # modprobe vhba"
|
||||
elog "To automatically load the vhba module at boot time, edit your"
|
||||
elog "/etc/conf.d/modules file."
|
||||
|
||||
if [[ -e "${ROOT}etc/conf.d/cdemud" ]]; then
|
||||
elog
|
||||
elog "${PN} no longer installs an init.d service; instead, it is"
|
||||
elog "automatically activated when needed via dbus."
|
||||
elog "You can therefore remove ${ROOT%/}/etc/conf.d/cdemud"
|
||||
fi
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST cdemu-client-3.1.0.tar.bz2 43066 BLAKE2B 97413d06b0466e81dce212c9f621fed2a7b83517c8ef3c70ccf182b48093b9c5f805ee40c81bf23bb88089da758876e80f57094c2ec761d42480a401d3b95114 SHA512 62c0650cfd18c1e8edca8c53a343460bf12aae35909251fce24098f16b48a3b30d083d436f494bf23145c06252f943f75413f024c6744696f5ad75cac0a15509
|
||||
DIST cdemu-client-3.2.0.tar.bz2 43588 BLAKE2B 0f75bed1ce2a715bb7acf227ebd3da8b80cf6418e28b0d352f294121c1f67acb8c6bab5f5dc5c768150ad46830b823d66f1940887c66225d20b41827c1377d31 SHA512 778f2ecac828ba278d0ded875c7bab2415f1c1acb62f4030eaf161376869939c48bc16a6d660326d9aacd2af745ef9dc9158f922a72aa8ccbd47f05ce41b8cd7
|
||||
|
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python3_{4,5,6} )
|
||||
|
||||
inherit bash-completion-r1 cmake-utils python-single-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="Command-line tool for controlling cdemu-daemon"
|
||||
HOMEPAGE="http://cdemu.org"
|
||||
SRC_URI="mirror://sourceforge/cdemu/cdemu-client-${PV}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~hppa ~x86"
|
||||
IUSE="+cdemu-daemon"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
||||
cdemu-daemon? ( app-cdr/cdemu-daemon:0/7 )"
|
||||
DEPEND="
|
||||
dev-util/desktop-file-utils
|
||||
>=dev-util/intltool-0.21
|
||||
>=sys-devel/gettext-0.18
|
||||
virtual/pkgconfig"
|
||||
|
||||
S=${WORKDIR}/cdemu-client-${PV}
|
||||
|
||||
DOCS=( AUTHORS README )
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
|
||||
python_fix_shebang src/cdemu
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DPOST_INSTALL_HOOKS=OFF
|
||||
-DCMAKE_INSTALL_COMPLETIONSDIR="$(get_bashcompdir)"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST gcdemu-3.1.0.tar.bz2 48036 BLAKE2B 4fc14f02a7d006556bab31b82b0cb017efec2b7e3f99854567ac0e5b8211c151583e91cf72e180341077a927430688401c4ecb6112bd6758e7288c7a06e2c4ec SHA512 e3e0369cc443bc47befa52989cc2bc5d62e4c9462bb8de1c3dd8563e1240ba7f59fc8cc54aed2e96bdb23a5f6e2fa11ca36073dfa066409f097a1dca619866fc
|
||||
DIST gcdemu-3.2.0.tar.bz2 52144 BLAKE2B f349e4482905b0ac59bce5d6af74000e05ff9b7257c7ec8755106ac8fe316d59d19de8b72705fd9cccfa888d170776667ee07fe90311a81e78f251fee85601ee SHA512 61a1775c874c9c3604ce88758039ef80b262463ae180e791eb545811fa2176e4bf07c4dbcd3be5f17d446fdef92317a0ff64ce8d27f26aeaeee9d8134b6a95ea
|
||||
|
@ -0,0 +1,54 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python3_{4,5,6} )
|
||||
|
||||
inherit cmake-utils gnome2-utils python-single-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="Gtk+ GUI for controlling cdemu-daemon"
|
||||
HOMEPAGE="http://cdemu.org/"
|
||||
SRC_URI="mirror://sourceforge/cdemu/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# librsvg for pixbuf-loader
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
app-cdr/cdemu-daemon:0/7
|
||||
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
||||
gnome-base/librsvg:2
|
||||
x11-libs/gdk-pixbuf[introspection]
|
||||
x11-libs/gtk+:3[introspection]
|
||||
x11-libs/libnotify[introspection]"
|
||||
DEPEND="
|
||||
dev-util/desktop-file-utils
|
||||
>=dev-util/intltool-0.21
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig"
|
||||
|
||||
DOCS=( AUTHORS README )
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
python_fix_shebang src/gcdemu
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=( -DPOST_INSTALL_HOOKS=OFF )
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
gnome2_schemas_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
gnome2_schemas_update
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST gnucash-docs-3.0.tar.gz 92420576 BLAKE2B 95d8c310b3616b44a814c7c5d6e8b1b586eef12831ea967818bef302e0dde3f0ab8e1b1d4fd0d504173625d87d54738a392ad3d53b8bfa079fd5ba87ac3a2d91 SHA512 908694725de6d9595cb73d4b334f157287a864ff7ba1057bdff7c0fb55660c5828a6b5c1e868eea7fbd0fca4b3b594fb3989092f270446dbd56c07479c6036cf
|
||||
DIST gnucash-docs-3.1.tar.gz 92421041 BLAKE2B b169d26cb9fb07a265fb5b8fc492fa8b0ed240be094278416d54542dd4ca074b3d4a182421b75d09c1f6c435891c5637aed646f0d11bdd57a9b71cbc999676dd SHA512 4af1f0b895cc928c109ae4f883efd1b483a5b318e02fcd6ca4ff7631ed4e13bc0f89f28b2f8ea895f9e37f596eb7b84e84732dfac6b2d4fe98b7405603149339
|
||||
DIST gnucash-docs-3.2.tar.gz 92387447 BLAKE2B dac502975f885b777c1e91a7ea574789947e1dddfd3239c05973ce57fec41a6d78e605ef37aaf721db4aa4d2bc8f2dda7ed76cc4dc97dd49e30618414e262f15 SHA512 a58a583a457377f529223ced083fb64460b3b0c75a423db08c7f9542711be98fd59bd776bf77309ff91d1c46f22a5ae882d8c0a8ec3fc834d7a8028a95028aad
|
||||
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="C de it ja pt ru"
|
||||
PLOCALE_BACKUP="C"
|
||||
|
||||
inherit autotools gnome2 l10n
|
||||
|
||||
DESCRIPTION="Documentation package for GnuCash"
|
||||
HOMEPAGE="http://www.gnucash.org/"
|
||||
SRC_URI="https://github.com/Gnucash/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="GPL-2 FDL-1.1"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
|
||||
for my_locale in ${PLOCALES}; do
|
||||
IUSE+=" l10n_${my_locale}"
|
||||
done
|
||||
|
||||
DEPEND="
|
||||
app-text/docbook-xml-dtd
|
||||
app-text/docbook-xsl-stylesheets
|
||||
app-text/rarian
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local doc_type lang
|
||||
|
||||
for doc_type in help guide ; do
|
||||
for lang in $(l10n_get_locales); do
|
||||
cd "${S}/${doc_type}/${lang}" || die
|
||||
emake DESTDIR="${D}" install
|
||||
done
|
||||
done
|
||||
|
||||
cd "${S}" || die
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_pkg_postinst
|
||||
has_version dev-java/fop || elog "You need dev-java/fop to generate pdf files."
|
||||
has_version gnome-extra/yelp || elog "You need gnome-extra/yelp to view the docs."
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python3_{4,5,6} )
|
||||
PYTHON_REQ_USE="ncurses"
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Curses based utility to parse the contents of elogs created by Portage"
|
||||
HOMEPAGE="https://github.com/gentoo/elogv"
|
||||
SRC_URI="https://github.com/gentoo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
DOCS=( README )
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
|
||||
# unset LINGUAS => install all languages
|
||||
# empty LINGUAS => install none
|
||||
local i
|
||||
if [[ -n "${LINGUAS+x}" ]] ; then
|
||||
for i in $(ls "${ED}"/usr/share/locale/) ; do
|
||||
if ! has ${i} ${LINGUAS} ; then
|
||||
rm -rf "${ED}"/usr/share/{locale,man}/${i}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Optional dependencies:"
|
||||
elog " dev-python/pyliblzma (for xz compressed elog files)"
|
||||
elog
|
||||
elog "In order to use this software, you need to activate"
|
||||
elog "Portage's elog features. Required is"
|
||||
elog " PORTAGE_ELOG_SYSTEM=\"save\" "
|
||||
elog "and at least one out of "
|
||||
elog " PORTAGE_ELOG_CLASSES=\"warn error info log qa\""
|
||||
elog "More information on the elog system can be found"
|
||||
elog "in ${EPREFIX}/usr/share/portage/config/make.conf.example"
|
||||
elog
|
||||
elog "To operate properly this software needs the directory"
|
||||
elog "${PORT_LOGDIR:-${EPREFIX}/var/log/portage}/elog created, belonging to group portage."
|
||||
elog "To start the software as a user, add yourself to the portage"
|
||||
elog "group."
|
||||
elog
|
||||
}
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,960 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
MY_EXTRAS_VER="20180529-0042Z"
|
||||
SUBSLOT="18"
|
||||
|
||||
JAVA_PKG_OPT_USE="jdbc"
|
||||
|
||||
# Keeping eutils in EAPI=6 for emktemp in pkg_config
|
||||
|
||||
inherit eutils systemd flag-o-matic prefix toolchain-funcs \
|
||||
java-pkg-opt-2 user cmake-utils multilib-build
|
||||
|
||||
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
|
||||
|
||||
# Gentoo patches to MySQL
|
||||
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
|
||||
SRC_URI="${SRC_URI}
|
||||
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
|
||||
fi
|
||||
|
||||
HOMEPAGE="http://mariadb.org/"
|
||||
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
|
||||
LICENSE="GPL-2 LGPL-2.1+"
|
||||
SLOT="0/${SUBSLOT:-0}"
|
||||
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
|
||||
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
|
||||
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
|
||||
sst-rsync sst-mariabackup sst-xtrabackup static static-libs systemd systemtap tcmalloc
|
||||
test tokudb xml yassl"
|
||||
|
||||
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
|
||||
RESTRICT="!bindist? ( bindist ) libressl? ( test )"
|
||||
|
||||
REQUIRED_USE="jdbc? ( extraengine server !static )
|
||||
server? ( tokudb? ( jemalloc !tcmalloc ) )
|
||||
?? ( tcmalloc jemalloc )
|
||||
static? ( yassl !pam )"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# Shorten the path because the socket path length must be shorter than 107 chars
|
||||
# and we will run a mysql server during test phase
|
||||
S="${WORKDIR}/mysql"
|
||||
|
||||
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
|
||||
EGIT_CLONE_TYPE=shallow
|
||||
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
|
||||
else
|
||||
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
|
||||
"${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
|
||||
"${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
|
||||
"${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
|
||||
"${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch
|
||||
)
|
||||
|
||||
# Be warned, *DEPEND are version-dependant
|
||||
# These are used for both runtime and compiletime
|
||||
# MULTILIB_USEDEP only set for libraries used by the client library
|
||||
COMMON_DEPEND="
|
||||
kernel_linux? (
|
||||
sys-process/procps:0=
|
||||
dev-libs/libaio:0=
|
||||
)
|
||||
>=sys-apps/sed-4
|
||||
>=sys-apps/texinfo-4.7-r1
|
||||
jemalloc? ( dev-libs/jemalloc:0= )
|
||||
tcmalloc? ( dev-util/google-perftools:0= )
|
||||
systemtap? ( >=dev-util/systemtap-1.3:0= )
|
||||
>=sys-libs/zlib-1.2.3:0=
|
||||
kerberos? ( virtual/krb5 )
|
||||
yassl? ( net-libs/gnutls:0= )
|
||||
!yassl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
sys-libs/ncurses:0=
|
||||
!bindist? (
|
||||
sys-libs/binutils-libs:0=
|
||||
>=sys-libs/readline-4.1:0=
|
||||
)
|
||||
server? (
|
||||
backup? ( app-arch/libarchive:0= )
|
||||
cracklib? ( sys-libs/cracklib:0= )
|
||||
extraengine? (
|
||||
odbc? ( dev-db/unixODBC:0= )
|
||||
xml? ( dev-libs/libxml2:2= )
|
||||
)
|
||||
innodb-lz4? ( app-arch/lz4 )
|
||||
innodb-lzo? ( dev-libs/lzo )
|
||||
innodb-snappy? ( app-arch/snappy )
|
||||
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
|
||||
numa? ( sys-process/numactl )
|
||||
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
|
||||
pam? ( virtual/pam:0= )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
tokudb? ( app-arch/snappy )
|
||||
)
|
||||
>=dev-libs/libpcre-8.41-r1:3=
|
||||
dev-db/mariadb-connector-c[${MULTILIB_USEDEP},static-libs?] dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
|
||||
"
|
||||
DEPEND="virtual/yacc
|
||||
static? ( sys-libs/ncurses[static-libs] )
|
||||
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="selinux? ( sec-policy/selinux-mysql )
|
||||
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
|
||||
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
|
||||
!<virtual/mysql-5.6-r11
|
||||
${COMMON_DEPEND}
|
||||
server? ( galera? (
|
||||
sys-apps/iproute2
|
||||
=sys-cluster/galera-25*
|
||||
sst-rsync? ( sys-process/lsof )
|
||||
sst-mariabackup? ( net-misc/socat[ssl] )
|
||||
sst-xtrabackup? ( net-misc/socat[ssl] )
|
||||
) )
|
||||
perl? ( !dev-db/mytop
|
||||
virtual/perl-Getopt-Long
|
||||
dev-perl/TermReadKey
|
||||
virtual/perl-Term-ANSIColor
|
||||
virtual/perl-Time-HiRes )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
|
||||
"
|
||||
# For other stuff to bring us in
|
||||
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
|
||||
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
|
||||
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
|
||||
server? ( ~virtual/mysql-5.6[static=]
|
||||
galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
local GCC_MAJOR_SET=$(gcc-major-version)
|
||||
local GCC_MINOR_SET=$(gcc-minor-version)
|
||||
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
|
||||
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
|
||||
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
|
||||
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
|
||||
die
|
||||
fi
|
||||
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
|
||||
# non x86{,_64} arches
|
||||
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
|
||||
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
|
||||
eerror "${PN} needs to be built with gcc-4.7 or later."
|
||||
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
|
||||
die
|
||||
fi
|
||||
fi
|
||||
java-pkg-opt-2_pkg_setup
|
||||
if has test ${FEATURES} && \
|
||||
use server && ! has userpriv ${FEATURES} ; then
|
||||
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
|
||||
# This should come after all of the die statements
|
||||
enewgroup mysql 60 || die "problem adding 'mysql' group"
|
||||
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
java-pkg-opt-2_pkg_preinst
|
||||
|
||||
# Here we need to see if the implementation switched client libraries
|
||||
# We check if this is a new instance of the package and a client library already exists
|
||||
local SHOW_ABI_MESSAGE libpath
|
||||
if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
|
||||
libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
|
||||
elog "Due to ABI changes when switching between different client libraries,"
|
||||
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
|
||||
elog "Please run: revdep-rebuild --library ${libpath}"
|
||||
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
# Create log directory securely if it does not exist
|
||||
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
|
||||
|
||||
if use server ; then
|
||||
if use pam; then
|
||||
einfo
|
||||
elog "This install includes the PAM authentication plugin."
|
||||
elog "To activate and configure the PAM plugin, please read:"
|
||||
elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
|
||||
einfo
|
||||
fi
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
|
||||
einfo
|
||||
elog "You might want to run:"
|
||||
elog "\"emerge --config =${CATEGORY}/${PF}\""
|
||||
elog "if this is a new install."
|
||||
elog
|
||||
elog "If you are switching server implentations, you should run the"
|
||||
elog "mysql_upgrade tool."
|
||||
einfo
|
||||
else
|
||||
einfo
|
||||
elog "If you are upgrading major versions, you should run the"
|
||||
elog "mysql_upgrade tool."
|
||||
einfo
|
||||
fi
|
||||
|
||||
if use galera ; then
|
||||
einfo
|
||||
elog "Be sure to edit the my.cnf file to activate your cluster settings."
|
||||
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
|
||||
elog "The first time the cluster is activated, you should add"
|
||||
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
|
||||
elog "This option should then be removed for subsequent starts."
|
||||
einfo
|
||||
fi
|
||||
fi
|
||||
|
||||
# Note about configuration change
|
||||
einfo
|
||||
elog "This version of mariadb reorganizes the configuration from a single my.cnf"
|
||||
elog "to several files in /etc/mysql/${PN}.d."
|
||||
elog "Please backup any changes you made to /etc/mysql/my.cnf"
|
||||
elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
|
||||
elog "You may have as many files as needed and they are read alphabetically."
|
||||
elog "Be sure the options have the appropitate section headers, i.e. [mysqld]."
|
||||
einfo
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
|
||||
# Initialize the proper variables first
|
||||
mysql_init_vars
|
||||
|
||||
unpack ${A}
|
||||
# Grab the patches
|
||||
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
|
||||
|
||||
mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
_disable_plugin() {
|
||||
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
|
||||
}
|
||||
_disable_engine() {
|
||||
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
|
||||
}
|
||||
|
||||
java-pkg-opt-2_src_prepare
|
||||
if use tcmalloc; then
|
||||
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
|
||||
fi
|
||||
|
||||
# Don't build bundled xz-utils for tokudb
|
||||
echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
|
||||
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
|
||||
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
|
||||
|
||||
local plugin
|
||||
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
|
||||
locale_info qc_info server_audit sql_errlog )
|
||||
local test_plugins=( audit_null auth_examples daemon_example fulltext
|
||||
debug_key_management example_key_management versioning )
|
||||
if ! use server; then # These plugins are for the server
|
||||
for plugin in "${server_plugins[@]}" ; do
|
||||
_disable_plugin "${plugin}"
|
||||
done
|
||||
fi
|
||||
|
||||
if ! use test; then # These plugins are only used during testing
|
||||
for plugin in "${test_plugins[@]}" ; do
|
||||
_disable_plugin "${plugin}"
|
||||
done
|
||||
_disable_engine test_sql_discovery
|
||||
fi
|
||||
|
||||
_disable_engine example
|
||||
|
||||
if ! use oqgraph ; then # avoids extra library checks
|
||||
_disable_engine oqgraph
|
||||
fi
|
||||
|
||||
if use mroonga ; then
|
||||
# Remove the bundled groonga
|
||||
# There is no CMake flag, it simply checks for existance
|
||||
rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
|
||||
else
|
||||
_disable_engine mroonga
|
||||
fi
|
||||
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure(){
|
||||
# bug 508724 mariadb cannot use ld.gold
|
||||
tc-ld-disable-gold
|
||||
# Bug #114895, bug #110149
|
||||
filter-flags "-O" "-O[01]"
|
||||
|
||||
append-cxxflags -felide-constructors
|
||||
|
||||
# bug #283926, with GCC4.4, this is required to get correct behavior.
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||
|
||||
# debug hack wrt #497532
|
||||
mycmakeargs=(
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
|
||||
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
|
||||
-DSYSCONFDIR="${EPREFIX}/etc/mysql"
|
||||
-DINSTALL_BINDIR=bin
|
||||
-DINSTALL_DOCDIR=share/doc/${PF}
|
||||
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
|
||||
-DINSTALL_INCLUDEDIR=include/mysql
|
||||
-DINSTALL_INFODIR=share/info
|
||||
-DINSTALL_LIBDIR=$(get_libdir)
|
||||
-DINSTALL_MANDIR=share/man
|
||||
-DINSTALL_MYSQLSHAREDIR=share/mariadb
|
||||
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
|
||||
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
|
||||
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
|
||||
-DINSTALL_SBINDIR=sbin
|
||||
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
|
||||
-DWITH_COMMENT="Gentoo Linux ${PF}"
|
||||
-DWITH_UNIT_TESTS=$(usex test ON OFF)
|
||||
-DWITH_LIBEDIT=0
|
||||
-DWITH_ZLIB=system
|
||||
-DWITHOUT_LIBWRAP=1
|
||||
-DENABLED_LOCAL_INFILE=1
|
||||
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
-DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
-DWITH_DEFAULT_COMPILER_OPTIONS=0
|
||||
-DWITH_DEFAULT_FEATURE_SET=0
|
||||
-DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
|
||||
# The build forces this to be defined when cross-compiling. We pass it
|
||||
# all the time for simplicity and to make sure it is actually correct.
|
||||
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
|
||||
-DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
|
||||
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
|
||||
-DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
|
||||
-DCONC_WITH_EXTERNAL_ZLIB=YES
|
||||
-DWITH_EXTERNAL_ZLIB=YES
|
||||
-DSUFFIX_INSTALL_DIR=""
|
||||
-DWITH_UNITTEST=OFF
|
||||
-DWITHOUT_CLIENTLIBS=YES
|
||||
-DCLIENT_PLUGIN_DIALOG=OFF
|
||||
-DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
|
||||
-DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
|
||||
)
|
||||
if use test ; then
|
||||
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
|
||||
else
|
||||
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
|
||||
fi
|
||||
|
||||
if ! use yassl ; then
|
||||
mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
|
||||
else
|
||||
mycmakeargs+=( -DWITH_SSL=bundled )
|
||||
fi
|
||||
|
||||
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
|
||||
mycmakeargs+=(
|
||||
-DWITH_READLINE=$(usex bindist 1 0)
|
||||
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
|
||||
-DENABLE_DTRACE=$(usex systemtap)
|
||||
)
|
||||
|
||||
if use server ; then
|
||||
|
||||
# Federated{,X} must be treated special otherwise they will not be built as plugins
|
||||
if ! use extraengine ; then
|
||||
mycmakeargs+=(
|
||||
-DPLUGIN_FEDERATED=NO
|
||||
-DPLUGIN_FEDERATEDX=NO )
|
||||
fi
|
||||
|
||||
mycmakeargs+=(
|
||||
-DWITH_JEMALLOC=$(usex jemalloc system)
|
||||
-DWITH_PCRE=system
|
||||
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
|
||||
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
|
||||
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
|
||||
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
|
||||
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
|
||||
-DPLUGIN_CASSANDRA=NO
|
||||
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
|
||||
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
|
||||
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
|
||||
-DCONNECT_WITH_MYSQL=1
|
||||
-DCONNECT_WITH_LIBXML2=$(usex xml)
|
||||
-DCONNECT_WITH_ODBC=$(usex odbc)
|
||||
-DCONNECT_WITH_JDBC=$(usex jdbc)
|
||||
# Build failure and autodep wrt bug 639144
|
||||
-DCONNECT_WITH_MONGO=OFF
|
||||
-DWITH_WSREP=$(usex galera)
|
||||
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
|
||||
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
|
||||
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
|
||||
-DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
|
||||
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
|
||||
-DWITH_MARIABACKUP=$(usex backup ON OFF)
|
||||
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
|
||||
-DINSTALL_SQLBENCHDIR=""
|
||||
-DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
|
||||
# systemd is only linked to for server notification
|
||||
-DWITH_SYSTEMD=$(usex systemd yes no)
|
||||
-DWITH_NUMA=$(usex numa ON OFF)
|
||||
)
|
||||
|
||||
# Workaround for MDEV-14524
|
||||
use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
|
||||
|
||||
if use test ; then
|
||||
# This is needed for the new client lib which tests a real, open server
|
||||
mycmakeargs+=( -DSKIP_TESTS=ON )
|
||||
fi
|
||||
|
||||
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
|
||||
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
|
||||
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
|
||||
ewarn "You MUST file bugs without these variables set."
|
||||
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
|
||||
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
|
||||
)
|
||||
|
||||
elif ! use latin1 ; then
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=utf8
|
||||
-DDEFAULT_COLLATION=utf8_general_ci
|
||||
)
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=latin1
|
||||
-DDEFAULT_COLLATION=latin1_swedish_ci
|
||||
)
|
||||
fi
|
||||
mycmakeargs+=(
|
||||
-DEXTRA_CHARSETS=all
|
||||
-DMYSQL_USER=mysql
|
||||
-DDISABLE_SHARED=$(usex static YES NO)
|
||||
-DWITH_DEBUG=$(usex debug)
|
||||
-DWITH_EMBEDDED_SERVER=OFF
|
||||
-DWITH_PROFILING=$(usex profiling)
|
||||
)
|
||||
|
||||
if use static; then
|
||||
mycmakeargs+=( -DWITH_PIC=1 )
|
||||
fi
|
||||
|
||||
if use jemalloc || use tcmalloc ; then
|
||||
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
|
||||
fi
|
||||
|
||||
# Storage engines
|
||||
mycmakeargs+=(
|
||||
-DWITH_ARCHIVE_STORAGE_ENGINE=1
|
||||
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
|
||||
-DWITH_CSV_STORAGE_ENGINE=1
|
||||
-DWITH_HEAP_STORAGE_ENGINE=1
|
||||
-DWITH_INNOBASE_STORAGE_ENGINE=1
|
||||
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
|
||||
-DWITH_MYISAM_STORAGE_ENGINE=1
|
||||
-DWITH_PARTITION_STORAGE_ENGINE=1
|
||||
)
|
||||
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DWITHOUT_SERVER=1
|
||||
-DWITH_EMBEDDED_SERVER=OFF
|
||||
-DEXTRA_CHARSETS=none
|
||||
-DINSTALL_SQLBENCHDIR=
|
||||
-DWITH_SYSTEMD=no
|
||||
)
|
||||
fi
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
|
||||
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
|
||||
if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
|
||||
rm "${ED}/usr/include/mysql/server/private/config.h" || die
|
||||
fi
|
||||
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
# Convenience links
|
||||
einfo "Making Convenience links for mysqlcheck multi-call binary"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
|
||||
|
||||
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
|
||||
if [[ -d "${ED}/usr/data" ]] ; then
|
||||
rm -Rf "${ED}/usr/data" || die
|
||||
fi
|
||||
|
||||
# Unless they explicitly specific USE=test, then do not install the
|
||||
# testsuite. It DOES have a use to be installed, esp. when you want to do a
|
||||
# validation of your database configuration after tuning it.
|
||||
if ! use test ; then
|
||||
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
|
||||
fi
|
||||
|
||||
# Configuration stuff
|
||||
einfo "Building default configuration ..."
|
||||
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
|
||||
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
|
||||
cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
|
||||
eprefixify "${TMPDIR}/my.cnf"
|
||||
doins "${TMPDIR}/my.cnf"
|
||||
insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
|
||||
cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
|
||||
eprefixify "${TMPDIR}/50-distro-client.cnf"
|
||||
doins "${TMPDIR}/50-distro-client.cnf"
|
||||
|
||||
if use server ; then
|
||||
mycnf_src="my.cnf.distro-server"
|
||||
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
|
||||
"${FILESDIR}/${mycnf_src}" \
|
||||
> "${TMPDIR}/my.cnf.ok" || die
|
||||
if use prefix ; then
|
||||
sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
|
||||
"${TMPDIR}/my.cnf.ok" || die
|
||||
fi
|
||||
if use latin1 ; then
|
||||
sed -i \
|
||||
-e "/character-set/s|utf8|latin1|g" \
|
||||
"${TMPDIR}/my.cnf.ok" || die
|
||||
fi
|
||||
eprefixify "${TMPDIR}/my.cnf.ok"
|
||||
newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
|
||||
|
||||
einfo "Including support files and sample configurations"
|
||||
docinto "support-files"
|
||||
local script
|
||||
for script in \
|
||||
"${S}"/support-files/magic
|
||||
do
|
||||
[[ -f "$script" ]] && dodoc "${script}"
|
||||
done
|
||||
|
||||
docinto "scripts"
|
||||
for script in "${S}"/scripts/mysql* ; do
|
||||
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
|
||||
done
|
||||
fi
|
||||
|
||||
#Remove mytop if perl is not selected
|
||||
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='extraengine perl server' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mariadb-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
src_test() {
|
||||
|
||||
_disable_test() {
|
||||
local rawtestname reason
|
||||
rawtestname="${1}" ; shift
|
||||
reason="${@}"
|
||||
ewarn "test '${rawtestname}' disabled: '${reason}'"
|
||||
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
|
||||
}
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
if ! use server ; then
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might run out of order
|
||||
mkdir -p "${T}"/var-tests{,/log} || die
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}" > /dev/null || die
|
||||
|
||||
touch "${T}/disabled.def"
|
||||
# These are failing in MariaDB 10.0 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.mysql_client_test, main.mysql_client_test_nonblock
|
||||
# main.mysql_client_test_comp:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
|
||||
local t
|
||||
for t in plugins.cracklib_password_check plugins.two_password_validations ; do
|
||||
_disable_test "$t" "False positive due to varying policies"
|
||||
done
|
||||
|
||||
for t in main.mysql_client_test main.mysql_client_test_nonblock \
|
||||
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
|
||||
_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
_disable_test main.plugin_auth "Needs client libraries built"
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
|
||||
retstatus_tests=$?
|
||||
|
||||
popd > /dev/null || die
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
local failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
}
|
||||
|
||||
mysql_init_vars() {
|
||||
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
|
||||
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
|
||||
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
|
||||
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
|
||||
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR=""
|
||||
if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
|
||||
MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
|
||||
| sed -ne '/datadir/s|^--datadir=||p' \
|
||||
| tail -n1`
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
|
||||
| sed -e 's/.*=\s*//' \
|
||||
| tail -n1`
|
||||
fi
|
||||
fi
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR="${MY_LOCALSTATEDIR}"
|
||||
einfo "Using default MY_DATADIR"
|
||||
fi
|
||||
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
|
||||
|
||||
if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
|
||||
if [[ -e "${MY_DATADIR}" ]] ; then
|
||||
# If you get this and you're wondering about it, see bug #207636
|
||||
elog "MySQL datadir found in ${MY_DATADIR}"
|
||||
elog "A new one will not be created."
|
||||
PREVIOUS_DATADIR="yes"
|
||||
else
|
||||
PREVIOUS_DATADIR="no"
|
||||
fi
|
||||
export PREVIOUS_DATADIR
|
||||
fi
|
||||
else
|
||||
if [[ ${EBUILD_PHASE} == "config" ]]; then
|
||||
local new_MY_DATADIR
|
||||
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
|
||||
| sed -ne '/datadir/s|^--datadir=||p' \
|
||||
| tail -n1`
|
||||
|
||||
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
|
||||
ewarn "MySQL MY_DATADIR has changed"
|
||||
ewarn "from ${MY_DATADIR}"
|
||||
ewarn "to ${new_MY_DATADIR}"
|
||||
MY_DATADIR="${new_MY_DATADIR}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
|
||||
export MY_LOCALSTATEDIR MY_LOGDIR
|
||||
export MY_DATADIR
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
_getoptval() {
|
||||
local mypd="${EROOT}"/usr/bin/my_print_defaults
|
||||
local section="$1"
|
||||
local flag="--${2}="
|
||||
local extra_options="${3}"
|
||||
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
|
||||
}
|
||||
local old_MY_DATADIR="${MY_DATADIR}"
|
||||
local old_HOME="${HOME}"
|
||||
# my_print_defaults needs to read stuff in $HOME/.my.cnf
|
||||
export HOME=${EPREFIX}/root
|
||||
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
|
||||
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
|
||||
die "Minimal builds do NOT include the MySQL server"
|
||||
fi
|
||||
|
||||
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
|
||||
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
|
||||
MY_DATADIR_s="${MY_DATADIR_s%%/}"
|
||||
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
|
||||
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
|
||||
|
||||
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
|
||||
if [[ -d "${MY_DATADIR_s}" ]]; then
|
||||
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
|
||||
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
|
||||
else
|
||||
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
|
||||
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|
||||
|| die "Moving MY_DATADIR failed"
|
||||
fi
|
||||
else
|
||||
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
|
||||
if [[ -d "${MY_DATADIR_s}" ]]; then
|
||||
ewarn "Attempting to use ${MY_DATADIR_s}"
|
||||
else
|
||||
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
|
||||
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
local pwd1="a"
|
||||
local pwd2="b"
|
||||
local maxtry=15
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
local tmp_mysqld_password_source=
|
||||
|
||||
for tmp_mysqld_password_source in mysql client; do
|
||||
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
|
||||
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
|
||||
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
|
||||
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
|
||||
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
|
||||
MYSQL_ROOT_PASSWORD=
|
||||
continue
|
||||
fi
|
||||
|
||||
einfo "Found password in '${tmp_mysqld_password_source}' section!"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
|
||||
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
|
||||
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
|
||||
fi
|
||||
|
||||
unset tmp_mysqld_password_source
|
||||
fi
|
||||
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
|
||||
# These are dir+prefix
|
||||
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
|
||||
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
|
||||
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
|
||||
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
|
||||
|
||||
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
|
||||
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
|
||||
fi
|
||||
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
|
||||
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
|
||||
fi
|
||||
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
|
||||
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
|
||||
fi
|
||||
|
||||
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
|
||||
ewarn "You have already a MySQL database in place."
|
||||
ewarn "(${ROOT}/${MY_DATADIR}/*)"
|
||||
ewarn "Please rename or delete it if you wish to replace it."
|
||||
die "MySQL database already exists!"
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
|
||||
einfo "Please provide a password for the mysql 'root' user now"
|
||||
einfo "or through the ${HOME}/.my.cnf file."
|
||||
ewarn "Avoid [\"'\\_%] characters in the password"
|
||||
read -rsp " >" pwd1 ; echo
|
||||
|
||||
einfo "Retype the password"
|
||||
read -rsp " >" pwd2 ; echo
|
||||
|
||||
if [[ "x$pwd1" != "x$pwd2" ]] ; then
|
||||
die "Passwords are not the same"
|
||||
fi
|
||||
MYSQL_ROOT_PASSWORD="${pwd1}"
|
||||
unset pwd1 pwd2
|
||||
fi
|
||||
|
||||
local options
|
||||
local sqltmp="$(emktemp)"
|
||||
|
||||
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
|
||||
# see http://bugs.mysql.com/bug.php?id=31312
|
||||
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
|
||||
|
||||
# Figure out which options we need to disable to do the setup
|
||||
local helpfile="${TMPDIR}/mysqld-help"
|
||||
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
|
||||
for opt in 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
|
||||
# http://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"
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/client_load.cpp tokumx-enterprise-2.0.2/src/mongo/db/client_load.cpp
|
||||
--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/client_load.cpp 2018-07-03 15:57:40.709360944 +0100
|
||||
+++ tokumx-enterprise-2.0.2/src/mongo/db/client_load.cpp 2018-07-03 15:57:48.127361253 +0100
|
||||
@@ -74,7 +74,7 @@
|
||||
}
|
||||
|
||||
bool Client::loadInProgress() const {
|
||||
- return _loadInfo;
|
||||
+ return bool(_loadInfo);
|
||||
}
|
||||
|
||||
} // namespace mongo
|
||||
diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/collection_map.h tokumx-enterprise-2.0.2/src/mongo/db/collection_map.h
|
||||
--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/collection_map.h 2018-07-03 15:57:40.709360944 +0100
|
||||
+++ tokumx-enterprise-2.0.2/src/mongo/db/collection_map.h 2018-07-03 15:57:48.127361253 +0100
|
||||
@@ -66,7 +66,7 @@
|
||||
// which must succeed, by the first invariant.
|
||||
Collection *getCollection(const StringData &ns);
|
||||
|
||||
- bool allocated() const { return _metadb; }
|
||||
+ bool allocated() const { return bool(_metadb); }
|
||||
|
||||
void getNamespaces( list<string>& tofill );
|
||||
|
||||
diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/ops/query.cpp tokumx-enterprise-2.0.2/src/mongo/db/ops/query.cpp
|
||||
--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/ops/query.cpp 2018-07-03 15:57:40.703360944 +0100
|
||||
+++ tokumx-enterprise-2.0.2/src/mongo/db/ops/query.cpp 2018-07-03 15:58:08.348362094 +0100
|
||||
@@ -635,7 +635,7 @@
|
||||
shared_ptr<ExplainRecordingStrategy> ret
|
||||
( new SimpleCursorExplainStrategy( ancillaryInfo, _cursor ) );
|
||||
ret->notePlan( queryPlan.valid() && queryPlan.scanAndOrderRequired,
|
||||
- queryPlan.keyFieldsOnly );
|
||||
+ bool(queryPlan.keyFieldsOnly) );
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/pipeline/document_source_sort.cpp tokumx-enterprise-2.0.2/src/mongo/db/pipeline/document_source_sort.cpp
|
||||
--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/pipeline/document_source_sort.cpp 2018-07-03 15:57:40.707360944 +0100
|
||||
+++ tokumx-enterprise-2.0.2/src/mongo/db/pipeline/document_source_sort.cpp 2018-07-03 15:57:48.128361253 +0100
|
||||
@@ -106,7 +106,7 @@
|
||||
bool DocumentSourceSort::coalesce(const intrusive_ptr<DocumentSource> &pNextSource) {
|
||||
if (!limitSrc) {
|
||||
limitSrc = dynamic_cast<DocumentSourceLimit*>(pNextSource.get());
|
||||
- return limitSrc; // false if next is not a $limit
|
||||
+ return bool(limitSrc); // false if next is not a $limit
|
||||
}
|
||||
else {
|
||||
return limitSrc->coalesce(pNextSource);
|
||||
diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/queryoptimizercursorimpl.cpp tokumx-enterprise-2.0.2/src/mongo/db/queryoptimizercursorimpl.cpp
|
||||
--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/queryoptimizercursorimpl.cpp 2018-07-03 15:57:40.702360944 +0100
|
||||
+++ tokumx-enterprise-2.0.2/src/mongo/db/queryoptimizercursorimpl.cpp 2018-07-03 15:57:48.128361253 +0100
|
||||
@@ -370,7 +370,7 @@
|
||||
|
||||
// The query plan must have a matcher. The matcher's constructor performs some aspects
|
||||
// of query validation that should occur before a cursor is returned.
|
||||
- fassert( 16449, singlePlan->matcher() );
|
||||
+ fassert( 16449, bool(singlePlan->matcher()) );
|
||||
|
||||
if ( needMatcher ) {
|
||||
single->setMatcher( singlePlan->matcher() );
|
||||
diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_optimizer_internal.cpp tokumx-enterprise-2.0.2/src/mongo/db/query_optimizer_internal.cpp
|
||||
--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_optimizer_internal.cpp 2018-07-03 15:57:40.707360944 +0100
|
||||
+++ tokumx-enterprise-2.0.2/src/mongo/db/query_optimizer_internal.cpp 2018-07-03 15:57:48.129361253 +0100
|
||||
@@ -234,7 +234,7 @@
|
||||
// The query plan must have a matcher. The matcher's constructor performs some aspects
|
||||
// of query validation that should occur as part of this class's init() if not handled
|
||||
// already.
|
||||
- fassert( 16249, queryPlan().matcher() );
|
||||
+ fassert( 16249, bool(queryPlan().matcher()) );
|
||||
|
||||
// TODO This violates the current Cursor interface abstraction, but for now it's simpler to keep our own set of
|
||||
// dups rather than avoid poisoning the cursor's dup set with unreturned documents. Deduping documents
|
||||
@@ -257,7 +257,7 @@
|
||||
_explainPlanInfo.reset( new ExplainPlanInfo() );
|
||||
_explainPlanInfo->notePlan( *_c,
|
||||
queryPlan().scanAndOrderRequired(),
|
||||
- queryPlan().keyFieldsOnly() );
|
||||
+ bool(queryPlan().keyFieldsOnly()) );
|
||||
return _explainPlanInfo;
|
||||
}
|
||||
|
||||
@@ -1226,7 +1226,7 @@
|
||||
_explainPlanInfo.reset( new ExplainPlanInfo() );
|
||||
_explainPlanInfo->notePlan( *_c,
|
||||
_queryPlan->scanAndOrderRequired(),
|
||||
- _queryPlan->keyFieldsOnly() );
|
||||
+ bool(_queryPlan->keyFieldsOnly()) );
|
||||
shared_ptr<ExplainClauseInfo> clauseInfo( new ExplainClauseInfo() );
|
||||
clauseInfo->addPlanInfo( _explainPlanInfo );
|
||||
_mps->addClauseInfo( clauseInfo );
|
||||
diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_plan_summary.h tokumx-enterprise-2.0.2/src/mongo/db/query_plan_summary.h
|
||||
--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_plan_summary.h 2018-07-03 15:57:40.705360944 +0100
|
||||
+++ tokumx-enterprise-2.0.2/src/mongo/db/query_plan_summary.h 2018-07-03 15:57:48.129361253 +0100
|
||||
@@ -35,7 +35,7 @@
|
||||
* The 'fieldRangeMulti' attribute is required, and its presence indicates the object has
|
||||
* been configured with a query plan.
|
||||
*/
|
||||
- bool valid() const { return fieldRangeSetMulti; }
|
||||
+ bool valid() const { return bool(fieldRangeSetMulti); }
|
||||
|
||||
// A description of the valid values for the fields of a query, in the context of a multikey
|
||||
// index or in memory sort.
|
@ -0,0 +1,15 @@
|
||||
diff -uNr a/src/third_party/backup/CMakeLists.txt b/src/third_party/backup/CMakeLists.txt
|
||||
--- a/src/third_party/backup/CMakeLists.txt 2018-07-06 20:36:58.242767167 +0200
|
||||
+++ b/src/third_party/backup/CMakeLists.txt 2018-07-06 20:37:31.575390786 +0200
|
||||
@@ -1,11 +1,6 @@
|
||||
cmake_minimum_required(VERSION 2.8.8)
|
||||
project(HotBackup)
|
||||
|
||||
-# No implicit templates, since that's how mysql compiles.
|
||||
-if (NOT CMAKE_CXX_COMPILER_ID MATCHES Clang)
|
||||
- set(CMAKE_CXX_FLAGS "-fno-implicit-templates ${CMAKE_CXX_FLAGS}")
|
||||
-endif ()
|
||||
-
|
||||
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS
|
||||
_FILE_OFFSET_BITS=64
|
||||
_LARGEFILE64_SOURCE)
|
Binary file not shown.
@ -0,0 +1,743 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic versionator systemd
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://secure.php.net/"
|
||||
SRC_URI="https://downloads.php.net/~cmb/${PN}-${MY_PV}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(get_version_component_range 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage +ctype curl debug
|
||||
enchant exif +fileinfo +filter firebird
|
||||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
|
||||
mhash mssql mysql mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline recode selinux +session session-mm sharedmem
|
||||
+simplexml snmp soap sockets sodium spell sqlite ssl
|
||||
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# 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.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre2-10.30[unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[threads=] ) )
|
||||
argon2? ( app-crypt/argon2:= )
|
||||
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 ) )
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
coverage? ( dev-util/lcov )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
|
||||
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
session-mm? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
sodium? ( dev-libs/libsodium:= )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
|
||||
tokyocabinet? ( dev-db/tokyocabinet )
|
||||
truetype? ( =media-libs/freetype-2* )
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
xml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
|
||||
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( >=sys-libs/zlib-1.2.0.4:0= )
|
||||
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
|
||||
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
# Bison isn't actually needed when building from a release tarball
|
||||
# However, the configure script will warn if it's absent or if you
|
||||
# have an incompatible version installed. See bug 593278.
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd )
|
||||
webp? ( gd )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
zip-encryption? ( zip )
|
||||
"
|
||||
PATCHES=(
|
||||
"${FILESDIR}/php-freetype-2.9.1.patch"
|
||||
)
|
||||
|
||||
PHP_MV="$(get_major_version)"
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
$(use_enable threads maintainer-zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
|
||||
$(use_enable bcmath bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl intl)
|
||||
$(use_enable ipv6 ipv6)
|
||||
$(use_enable json json)
|
||||
$(use_with kerberos kerberos "${EPREFIX}/usr")
|
||||
$(use_enable xml libxml)
|
||||
$(use_with xml libxml-dir "${EPREFIX}/usr")
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with unicode onig "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl-dir "${EPREFIX}/usr")
|
||||
$(use_enable pcntl pcntl)
|
||||
$(use_enable phar phar)
|
||||
$(use_enable pdo pdo)
|
||||
$(use_enable opcache opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_with recode recode "${EPREFIX}/usr")
|
||||
$(use_enable simplexml simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap soap)
|
||||
$(use_enable sockets sockets)
|
||||
$(use_with sodium sodium "${EPREFIX}/usr")
|
||||
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer tokenizer)
|
||||
$(use_enable wddx wddx)
|
||||
$(use_enable xml xml)
|
||||
$(use_enable xmlreader xmlreader)
|
||||
$(use_enable xmlwriter xmlwriter)
|
||||
$(use_with xmlrpc xmlrpc)
|
||||
$(use_with xslt xsl "${EPREFIX}/usr")
|
||||
$(use_enable zip zip)
|
||||
$(use_with zip-encryption libzip "${EPREFIX}/usr")
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm || use lmdb || use tokyocabinet ; then
|
||||
our_conf+=( "--enable-dba${shared}" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
$(use_with lmdb lmdb "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype-dir "${EPREFIX}/usr")
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg-dir "${EPREFIX}/usr")
|
||||
$(use_with gd png-dir "${EPREFIX}/usr")
|
||||
$(use_with xpm xpm-dir "${EPREFIX}/usr")
|
||||
)
|
||||
if use webp; then
|
||||
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
|
||||
fi
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_with gd gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# Interbase/firebird support
|
||||
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
local mysqllib="mysqlnd"
|
||||
local mysqlilib="mysqlnd"
|
||||
|
||||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
our_conf+=(
|
||||
$(use_with odbc unixODBC "${EPREFIX}/usr")
|
||||
$(use_with iodbc iodbc "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
# --with-pcre-valgrind cannot be enabled with system pcre
|
||||
# Many arches don't support pcre-jit
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
--without-pcre-valgrind
|
||||
--without-pcre-jit
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
if [[ "fpm" == "${sapi}" ]] ; then
|
||||
sapi_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with systemd fpm-systemd)
|
||||
)
|
||||
fi
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local sapi="", file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp${PHP_MV}$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp${PHP_MV}$(get_libname)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST hashit-0.9.7.tar.bz2 16368 BLAKE2B 99db8e0c83c63835d5265ef0d4bf39223214210a1762a869f1bccf08ce345a42f5bd0d4ec2dec7824e05c081e18f0b24c84254f4d3527fb67926ddbd8c1dbe21 SHA512 ce692cc1dfec12f2173f39c32f24ab96223feae6fca5c5ea1bc9dc815be4113936741c620e08cba35feeea26288503d1a42e6a4fe14cf2f854915e5bebcf4eff
|
||||
DIST hashit-0.9.8.tar.bz2 18127 BLAKE2B 63a36e644dced8dfbf0bb049adc811ac526c519c4fe85f47ae631eba8d989b06325199fafa43abd0e98d014c7adc90c97bde75fbaacd5a215384a9e6e2f6b505 SHA512 b6a85cb8a7c97d2214fe91409006973de1b452dc7f5b412ad870a5a8d2b937957947ca47c314fd4d05b2683b20a9b8eb4241e0cbbc57e3b68b5cdfa024b80dce
|
||||
|
@ -0,0 +1,15 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Generic C hash library which supports multiple collision handling methods"
|
||||
HOMEPAGE="http://www.pleyades.net/david/projects/hashit"
|
||||
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE="debug"
|
@ -1 +1,2 @@
|
||||
DIST libmirage-3.1.0.tar.bz2 234649 BLAKE2B 1b0194fc6271454481ba752f2e7241d9aa69b8d1608dc059b17eb32ad78ee7721d0f85677511e97ccc6fd708690950d0ed6ab662cdff4ccd94804b1a5756542b SHA512 fcf49b171b6f84ad32cdeeb63def76e8bd5c5f33aadcc678e06d7388d0c351e8047beae6db9db7b69f704ab4db86aca4e8fb9817b2450c70b5f1d3d7a3760394
|
||||
DIST libmirage-3.2.0.tar.bz2 234214 BLAKE2B f2b8c42eed89efaeddb8051160c51814b4df45c1ca7cdb4cef683b86ea73dcd1446c6806588a9df0410da5b3971ce8945f2479022f21177237ee8b0d4b18d2d3 SHA512 15507154441b660f5a58e1101d4e6f9931a7640b90d3de5e387274c72be07f367b54a6be34dd31442bc504459414f611ffc39f86ff6a7381a820d059aef1d6d6
|
||||
|
@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit cmake-utils xdg-utils
|
||||
|
||||
DESCRIPTION="CD and DVD image access library"
|
||||
HOMEPAGE="http://cdemu.org"
|
||||
SRC_URI="mirror://sourceforge/cdemu/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0/11" # subslot = libmirage soname version
|
||||
KEYWORDS="~amd64 ~hppa ~x86"
|
||||
IUSE="doc +introspection"
|
||||
|
||||
RDEPEND=">=app-arch/bzip2-1:=
|
||||
>=app-arch/xz-utils-5:=
|
||||
>=dev-libs/glib-2.28:2
|
||||
>=media-libs/libsamplerate-0.1:=
|
||||
>=media-libs/libsndfile-1.0:=
|
||||
sys-libs/zlib:=
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.30 )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/intltool
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-util/gtk-doc )"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DGTKDOC_ENABLED="$(usex doc)"
|
||||
-DINTROSPECTION_ENABLED="$(usex introspection)"
|
||||
-DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( AUTHORS README )
|
||||
cmake-utils_src_install
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
https://bugs.gentoo.org/659804
|
||||
|
||||
diff --git a/numba/tests/test_linalg.py b/numba/tests/test_linalg.py
|
||||
index 46bff63e8..53056ab23 100644
|
||||
--- a/numba/tests/test_linalg.py
|
||||
+++ b/numba/tests/test_linalg.py
|
||||
@@ -1282,6 +1282,7 @@ class TestLinalgLstsq(TestLinalgSystems):
|
||||
# Suggestions for improvements are welcomed!
|
||||
|
||||
@needs_lapack
|
||||
+ @unittest.skipIf(sys.maxsize < 2 ** 31, "errors with 32-bit address space")
|
||||
def test_linalg_lstsq(self):
|
||||
"""
|
||||
Test np.linalg.lstsq
|
Binary file not shown.
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_RUBY="ruby23 ruby24 ruby25"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="none"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
RUBY_FAKEGEM_EXTRADOC="CONTRIBUTORS README.md"
|
||||
|
||||
inherit ruby-fakegem eutils
|
||||
|
||||
DESCRIPTION="A fake filesystem. Use it in your tests"
|
||||
HOMEPAGE="https://github.com/defunkt/fakefs"
|
||||
SRC_URI="https://github.com/defunkt/fakefs/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
ruby_add_bdepend "
|
||||
test? (
|
||||
>=dev-ruby/rspec-3.1:3
|
||||
>=dev-ruby/minitest-5.5
|
||||
)"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Remove bundler
|
||||
rm Gemfile || die
|
||||
|
||||
# Avoid unneeded minitest-rg dependency.
|
||||
sed -i -e '1igem "minitest", "~>5.5"' \
|
||||
-e '/bundler/ s:^:#:' \
|
||||
-e '/minitest\/rg/ s:^:#:' test/test_helper.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
RSPEC_VERSION=3 ruby-ng_rspec
|
||||
${RUBY} -Ilib:.:test -e 'Dir["test/**/*_test.rb"].each{|f| require f}' || die
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST cutter-1.0.tar.gz 614826 BLAKE2B 8f75343e57bf986d80dde3dc3ceb59675d28854744d8cc5fac783514e9c200595990d4860ee45db6544537d4f367df5b62a034e298bf273e44302edfa1647c84 SHA512 af6be59be7871d21d4f665e8ecb7f8224d99ccf7d62793e989ccd780ee521641c6ec0d941b46bb82770f5d44e5c0ef2efc29f9be303385e8e757e62a54bf53b1
|
||||
DIST cutter-1.4.tar.gz 1067162 BLAKE2B 2f7eceffcfb3c542695e03ec72de1c99451f8278e91f50abc2e87542efbd2cc73d5a52b0e5303b9cea751edf91bc71b63295edd5b32d1b2b9ed3a1443cfc92e7 SHA512 54caec67e57f2ff3908942c1ebd1e909c65204c6f31d0ec95e31f46e03364f309898006b93555ba81287c0d74faf407272226e5ec65b3148ecde8feec11ca3be
|
||||
|
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit qmake-utils
|
||||
|
||||
DESCRIPTION="A Qt and C++ GUI for radare2 reverse engineering framework"
|
||||
HOMEPAGE="https://www.radare.org"
|
||||
SRC_URI="https://github.com/radareorg/cutter/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="jupyter webengine"
|
||||
REQUIRED_USE="webengine? ( jupyter )"
|
||||
|
||||
DEPEND="
|
||||
>=dev-qt/qtcore-5.9.1:5
|
||||
>=dev-qt/qtgui-5.9.1:5
|
||||
>=dev-qt/qtsvg-5.9.1:5
|
||||
>=dev-qt/qtwidgets-5.9.1:5
|
||||
>=dev-util/radare2-2.6.0
|
||||
jupyter? ( dev-python/jupyter )
|
||||
webengine? ( >=dev-qt/qtwebengine-5.9.1:5[widgets] )
|
||||
"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-python3-config.patch"
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local myqmakeargs=(
|
||||
CUTTER_ENABLE_JUPYTER=$(usex jupyter true false)
|
||||
CUTTER_ENABLE_QTWEBENGINE=$(usex webengine true false)
|
||||
PREFIX=\'${EPREFIX}/usr\'
|
||||
)
|
||||
|
||||
eqmake5 "${myqmakeargs[@]}" src
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
--- a/src/Cutter.pro 2018-04-24 17:43:11.000000000 +0900
|
||||
+++ b/src/Cutter.pro 2018-07-08 21:21:34.280748499 +0900
|
||||
@@ -74,11 +74,13 @@
|
||||
LIBS += -F$$PYTHON_FRAMEWORK_DIR -framework Python
|
||||
DEFINES += MACOS_PYTHON_FRAMEWORK_BUNDLED
|
||||
} else {
|
||||
- CONFIG += link_pkgconfig
|
||||
- !packagesExist(python3) {
|
||||
- error("ERROR: Python 3 could not be found. Make sure it is available to pkg-config.")
|
||||
+ system(type python3-config) {
|
||||
+ LIBS += $$system(python3-config --libs)
|
||||
+ TMP = $$system(python3-config --includes)
|
||||
+ INCLUDEPATH += $$replace(TMP, "-I", "")
|
||||
+ } else {
|
||||
+ error("ERROR: Python 3 could not be found. Make sure it is available to python3-config.")
|
||||
}
|
||||
- PKGCONFIG += python3
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,10 +1,10 @@
|
||||
DIST ImageMagick-6.9.10-1.tar.xz 8918684 BLAKE2B 62e77bed14b2a82f2fd2e429142c4200d7b243caa3ed8ff11be672d1c0a9094b7916dcbac11f0876cf46e6aa4753044e0cbe0c25dacafe5966f49d3f586bb747 SHA512 570edd18299982769a471ae37b7458401b13aa7802fd9f6ae8a72a2ece34cbf9b30e42a9f06abe62a6b01cc3573fc16d4c43a732260e0dedc8da54fef82f74a4
|
||||
DIST ImageMagick-6.9.10-3.tar.xz 8922536 BLAKE2B 36936b28aac025bd948d9925707877b6f6b5a9eb50f1afc2f318a0596c9096b7853f4db44c42994fe32b7ba0fe42eafb9d705ead0faf6f75eb9e7e07bc1c97e4 SHA512 760e8b003415fcf6c83e542346800f1f2d8834cd47ba343eead1f0fa228f2f44af7ca9b4379de52498a3da76aa35f25d0ec939cefa71718400702bc6801fffbe
|
||||
DIST ImageMagick-6.9.10-5.tar.xz 8921204 BLAKE2B b11c6dded5b42b797585e8253441fa6265de9f06241206b9ce29781df6c8896e9dd0ec967191ff28fcae445130d38e7e781728cbc27752b33b3422d971459952 SHA512 b6c068918a2c23bc86d84a1fd81bd8c0aea83fee0c33b5c686c7c6180231be2b27c1c43be111555017d2065fa97ba36c084e1479ff771846b73d500d67c7f85b
|
||||
DIST ImageMagick-6.9.9-31.tar.xz 8819864 BLAKE2B f6cdb19bff58a0b318a9af78f3fa429137cc4e79bbe075f9c6444204ce8a4324dde5792ab7232e6898a4993ad558c514a143c14469370de822038d1d669fdffa SHA512 85cbe4e4991a08a5c11c01b4276525fa1d63bcef9a9814fee1f8ede3a5ed432da8d3d84965ed75105723948d07ad879f7cf07d5121f0d624df9275dd4e41cb8f
|
||||
DIST ImageMagick-6.9.9-40.tar.xz 8919136 BLAKE2B 04b9585948194e6ba03efa549d9ef6a8b12fce141346ddd7dc1b40e72349dc603bc6154a3826496dae47ff8c0eb5b6a5b80ae51a60d0d8a632debcd9229cf3da SHA512 416c2e248e3d1c6d89b930b8179194a9e1dfd160b9de1a75f98ceeb4199dd1b5f3b1d0ce646c26429054e7970680c40b77e2bf0a97ca82bbe84aa66648393fb4
|
||||
DIST ImageMagick-6.9.9-47.tar.xz 8918196 BLAKE2B f28948d5728cbd2b011091ded2c12b507d1939ae5f2e0872c098ea488a3668d5f15782de023a6775a60790feeabcbab3ae62917f5f160bbc5ec59b65527775d5 SHA512 7bf7ae7fc276c2857f546370851ef7aaf1704c1b5bbad1a739d964e8e48a4ece9d9274e154a5aaa18c24f31e60e03d2df661cca922a3fff780cbcddd86524cb5
|
||||
DIST ImageMagick-7.0.7-19.tar.xz 8546416 BLAKE2B 6750dba45f7971f7a7e74ac7ae3ec94732a2bd31f638afac8a91abd595e81aadca1372ddb46dcc3bf2dcb258ececfa69a8e8ad5ff753930462d46804863c0f4e SHA512 656520f719a375c837b2ddebb7e5920e9c06a9f81f3529b8a7c405958ca75f7464790ff931b7a32e104ef500570e71ff80d3dfb7c5cf777b2a5ad8207fde7928
|
||||
DIST ImageMagick-7.0.7-28.tar.xz 8611096 BLAKE2B f4e70f32c5716f5e4673d9b938ea3924fbfc1005084bfad06afab493d50bcee2e43cd8b5ca0f83945dbc80f731c914633c2a401172e8d4e0289c7c9afe4b1209 SHA512 0a370ee3b8eb42c563bb15fa469208ee70520aa148af1752721e29be90a6a95a5773674f2d685d1f2fca77903f9592ffcbb9d7214ea96818848ea9dd135aef08
|
||||
DIST ImageMagick-7.0.7-35.tar.xz 8614296 BLAKE2B 7c3c65d3fa630040febd40370fe93d3ba946b3d71cfef4daa340154a111f58af8e5028813fd35d1db99796d691f4d13999c3030b8ab7dc82494d0d89e2853359 SHA512 65aac1f1b4546212608acc1bf8b7b0a6fc7e45c9273183725dcfaf04e16948112fd4cfb295d88e5860dff66f04c54cc504af067e32c46cf8662f4ff72c64688a
|
||||
DIST ImageMagick-7.0.8-1.tar.xz 8606196 BLAKE2B fd7bd794793cd9bb063023f2f7f36272efb99a1b75082dd3f71a244b7cb0e28971ff091af5b8a575084f42bd5a4639641b44831dae0cc52ea03d6624a650f01e SHA512 e7f2acb9a7912bb68dced74b7a0381d4909b13aa4fa36e4f3c56479b7b24f8f91ff21c171e542bec63e2873a94adea4673c5351ce1d641f72e8279886eb4b224
|
||||
DIST ImageMagick-7.0.8-3.tar.xz 8613672 BLAKE2B c3ad7bb2d0917d2551b7c8ae0d80a8ab95e31d40cf18c26d7df363c3df209d7923a62a7fb90aec581fc4101139bc369a82289a96f51965f533b1956a9cfa4eed SHA512 0594de337c9eb1d116b15eeac0f1bceefeb86f13a41bc6721b120fa2e58f0ca5e2e1454b4e2b670c93545f13406f8bdbf54e5b3470e34841b5e9ac9d26821b70
|
||||
DIST ImageMagick-7.0.8-5.tar.xz 8611448 BLAKE2B 7a4f38ec458d010644d88cda605355d5871952b055ba9e088fe164448e2a0332e44e1545fc5929df455298ee56be65b66846faae4738912314177be050c683b0 SHA512 d760e630fd82b7636a031728e1f078efb8bb962e60cdc912cdfad29d3e6f74c1b5047941e711db89aa847d2e7c8c6ed44f451fa8ccff431c20d92ef49ef1915d
|
||||
|
@ -0,0 +1,193 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils flag-o-matic libtool multilib toolchain-funcs
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/ImageMagick/ImageMagick.git"
|
||||
inherit git-r3
|
||||
MY_P="imagemagick-9999"
|
||||
else
|
||||
inherit eapi7-ver
|
||||
MY_P=ImageMagick-$(ver_rs 3 '-')
|
||||
SRC_URI="mirror://${PN}/${MY_P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A collection of tools and libraries for many image formats"
|
||||
HOMEPAGE="https://www.imagemagick.org/"
|
||||
|
||||
LICENSE="imagemagick"
|
||||
SLOT="0/${PV}"
|
||||
IUSE="bzip2 corefonts cxx djvu fftw fontconfig fpx graphviz hdri jbig jpeg jpeg2k lcms lqr lzma opencl openexr openmp pango perl png postscript q32 q8 raw static-libs svg test tiff truetype webp wmf X xml zlib"
|
||||
|
||||
RESTRICT="perl? ( userpriv )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/libltdl:0
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
corefonts? ( media-fonts/corefonts )
|
||||
djvu? ( app-text/djvu )
|
||||
fftw? ( sci-libs/fftw:3.0 )
|
||||
fontconfig? ( media-libs/fontconfig )
|
||||
fpx? ( >=media-libs/libfpx-1.3.0-r1 )
|
||||
graphviz? ( media-gfx/graphviz )
|
||||
jbig? ( >=media-libs/jbigkit-2:= )
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
lqr? ( media-libs/liblqr )
|
||||
opencl? ( virtual/opencl )
|
||||
openexr? ( media-libs/openexr:0= )
|
||||
pango? ( x11-libs/pango )
|
||||
perl? ( >=dev-lang/perl-5.8.8:0= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
postscript? ( app-text/ghostscript-gpl )
|
||||
raw? ( media-libs/libraw:= )
|
||||
svg? ( gnome-base/librsvg )
|
||||
tiff? ( media-libs/tiff:0= )
|
||||
truetype? (
|
||||
media-fonts/urw-fonts
|
||||
>=media-libs/freetype-2
|
||||
)
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
wmf? ( media-libs/libwmf )
|
||||
X? (
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
)
|
||||
xml? ( dev-libs/libxml2:= )
|
||||
lzma? ( app-arch/xz-utils )
|
||||
zlib? ( sys-libs/zlib:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
!media-gfx/graphicsmagick[imagemagick]
|
||||
virtual/pkgconfig
|
||||
X? ( x11-base/xorg-proto )"
|
||||
|
||||
REQUIRED_USE="corefonts? ( truetype )
|
||||
test? ( corefonts )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
local ati_cards mesa_cards nvidia_cards render_cards
|
||||
default
|
||||
|
||||
elibtoolize # for Darwin modules
|
||||
|
||||
# For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
|
||||
shopt -s nullglob
|
||||
ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
|
||||
if test -n "${ati_cards}"; then
|
||||
addpredict "${ati_cards}"
|
||||
fi
|
||||
mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
|
||||
if test -n "${mesa_cards}"; then
|
||||
addpredict "${mesa_cards}"
|
||||
fi
|
||||
nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
|
||||
if test -n "${nvidia_cards}"; then
|
||||
addpredict "${nvidia_cards}"
|
||||
fi
|
||||
render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
|
||||
if test -n "${render_cards}"; then
|
||||
addpredict "${render_cards}"
|
||||
fi
|
||||
shopt -u nullglob
|
||||
addpredict /dev/nvidiactl
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local depth=16
|
||||
use q8 && depth=8
|
||||
use q32 && depth=32
|
||||
|
||||
local openmp=disable
|
||||
use openmp && { tc-has-openmp && openmp=enable; }
|
||||
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
|
||||
|
||||
local myeconfargs=(
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable hdri)
|
||||
$(use_enable opencl)
|
||||
--with-threads
|
||||
--with-modules
|
||||
--with-quantum-depth=${depth}
|
||||
$(use_with cxx magick-plus-plus)
|
||||
$(use_with perl)
|
||||
--with-perl-options='INSTALLDIRS=vendor'
|
||||
--with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
|
||||
$(use_with bzip2 bzlib)
|
||||
$(use_with X x)
|
||||
$(use_with zlib)
|
||||
--without-autotrace
|
||||
$(use_with postscript dps)
|
||||
$(use_with djvu)
|
||||
--with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
|
||||
$(use_with fftw)
|
||||
$(use_with fpx)
|
||||
$(use_with fontconfig)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with postscript gslib)
|
||||
$(use_with graphviz gvc)
|
||||
$(use_with jbig)
|
||||
$(use_with jpeg)
|
||||
$(use_with jpeg2k openjp2)
|
||||
$(use_with lcms)
|
||||
$(use_with lqr)
|
||||
$(use_with lzma)
|
||||
$(use_with openexr)
|
||||
$(use_with pango)
|
||||
$(use_with png)
|
||||
$(use_with raw)
|
||||
$(use_with svg rsvg)
|
||||
$(use_with tiff)
|
||||
$(use_with webp)
|
||||
$(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
|
||||
$(use_with wmf)
|
||||
$(use_with xml)
|
||||
--${openmp}-openmp
|
||||
--with-gcc-arch=no-automagic
|
||||
)
|
||||
CONFIG_SHELL=$(type -P bash) econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
LD_LIBRARY_PATH="${S}/coders/.libs:${S}/filters/.libs:${S}/Magick++/lib/.libs:${S}/magick/.libs:${S}/wand/.libs" \
|
||||
emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Ensure documentation installation files and paths with each release!
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
install
|
||||
|
||||
rm -f "${ED%/}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
|
||||
dodoc {AUTHORS,README}.txt ChangeLog
|
||||
|
||||
if use perl; then
|
||||
find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
|
||||
find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
|
||||
fi
|
||||
|
||||
find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
|
||||
|
||||
if use opencl; then
|
||||
cat <<-EOF > "${T}"/99${PN}
|
||||
SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/renderD128"
|
||||
EOF
|
||||
|
||||
insinto /etc/sandbox.d
|
||||
doins "${T}"/99${PN} #472766
|
||||
fi
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins config/*icm
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue