parent
3d3c82ed2d
commit
4a92a23b25
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
DIST passwordsafe-1.06_beta.tar.gz 14295034 BLAKE2B 83f480eee16938e396fa01797f67f5bc61984414b7f38b91404caea3dd6b3d31ba0e2ce4d198da048dff9cf1b5c8ba04e8bb9c93351fc21552bbc05a3b9ba486 SHA512 2a5be46e0e90f98c519bf9137f32298672359d1bfeb081a71d67251b35da6c1157e18c35a2c84321ed3fa077cb15ebf9cee763ba13b201ce02965d6642bb246c
|
||||
DIST passwordsafe-1.07_beta.tar.gz 14385043 BLAKE2B aaac006fa381487e281c9c7385569002743f809007bb542f9dcb503a5d5678c6456cc604b20ce01de46b647819fd0f08017a2c9eecf932d1c52efd416670448f SHA512 229599e684963d3a9f6ad724292d4f723bb8395742d5037b1b67d059a2258a65b52e56ecdafa44b420e69f7c861d46c20b73e98974dc29151c22ceb84eb40934
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,435 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit desktop libtool qmake-utils systemd user
|
||||
|
||||
MY_PV=${PV/_beta/-b}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
DESCRIPTION="Featureful client/server network backup suite"
|
||||
HOMEPAGE="http://www.bacula.org/"
|
||||
SRC_URI="mirror://sourceforge/bacula/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
|
||||
IUSE="acl bacula-clientonly bacula-nodir bacula-nosd +batch-insert examples ipv6 libressl logwatch mysql postgres qt5 readline +sqlite ssl static tcpd vim-syntax X"
|
||||
|
||||
DEPEND="
|
||||
!bacula-clientonly? (
|
||||
!bacula-nodir? ( virtual/mta )
|
||||
postgres? ( dev-db/postgresql:=[threads] )
|
||||
mysql? ( || ( dev-db/mysql-connector-c dev-db/mariadb-connector-c ) )
|
||||
sqlite? ( dev-db/sqlite:3 )
|
||||
)
|
||||
dev-libs/gmp:0
|
||||
qt5? (
|
||||
dev-qt/qtsvg:5
|
||||
x11-libs/qwt:6
|
||||
)
|
||||
logwatch? ( sys-apps/logwatch )
|
||||
readline? ( sys-libs/readline:0 )
|
||||
static? (
|
||||
dev-libs/lzo[static-libs]
|
||||
sys-libs/ncurses:=[static-libs]
|
||||
sys-libs/zlib[static-libs]
|
||||
acl? ( virtual/acl[static-libs] )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0=[static-libs] )
|
||||
libressl? ( dev-libs/libressl:0=[static-libs] )
|
||||
)
|
||||
)
|
||||
!static? (
|
||||
dev-libs/lzo
|
||||
sys-libs/ncurses:=
|
||||
sys-libs/zlib
|
||||
acl? ( virtual/acl )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
)
|
||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
!bacula-clientonly? (
|
||||
!bacula-nosd? (
|
||||
app-arch/mt-st
|
||||
sys-block/mtx
|
||||
)
|
||||
)
|
||||
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
!bacula-clientonly? ( ^^ ( mysql postgres sqlite ) )
|
||||
static? ( bacula-clientonly )
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
pkg_setup() {
|
||||
#XOR and !bacula-clientonly controlled by REQUIRED_USE
|
||||
use mysql && export mydbtype="mysql"
|
||||
use postgres && export mydbtype="postgresql"
|
||||
use sqlite && export mydbtype="sqlite3"
|
||||
|
||||
# create the daemon group and user
|
||||
if [ -z "$(egetent group bacula 2>/dev/null)" ]; then
|
||||
enewgroup bacula
|
||||
einfo
|
||||
einfo "The group 'bacula' has been created. Any users you add to this"
|
||||
einfo "group have access to files created by the daemons."
|
||||
einfo
|
||||
fi
|
||||
|
||||
if use bacula-clientonly && use static && use qt5; then
|
||||
ewarn
|
||||
ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt5' useflag."
|
||||
ewarn
|
||||
fi
|
||||
|
||||
if ! use bacula-clientonly; then
|
||||
if [ -z "$(egetent passwd bacula 2>/dev/null)" ]; then
|
||||
enewuser bacula -1 -1 /var/lib/bacula bacula,disk,tape,cdrom,cdrw
|
||||
einfo
|
||||
einfo "The user 'bacula' has been created. Please see the bacula manual"
|
||||
einfo "for information about running bacula as a non-root user."
|
||||
einfo
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# adjusts default configuration files for several binaries
|
||||
# to /etc/bacula/<config> instead of ./<config>
|
||||
pushd src >&/dev/null || die
|
||||
for f in console/console.c dird/dird.c filed/filed.c \
|
||||
stored/bcopy.c stored/bextract.c stored/bls.c \
|
||||
stored/bscan.c stored/btape.c stored/stored.c \
|
||||
qt-console/main.cpp; do
|
||||
sed -i -e 's|^\(#define CONFIG_FILE "\)|\1/etc/bacula/|g' "${f}" \
|
||||
|| die "sed on ${f} failed"
|
||||
done
|
||||
popd >&/dev/null || die
|
||||
|
||||
# bug 466688 drop deprecated categories from Desktop file
|
||||
sed -i -e 's/Application;//' scripts/bat.desktop.in || die
|
||||
|
||||
# bug 466690 Use CXXFLAGS instead of CFLAGS
|
||||
sed -i -e 's/@CFLAGS@/@CXXFLAGS@/' autoconf/Make.common.in || die
|
||||
|
||||
# drop automatic install of unneeded documentation (for bug 356499)
|
||||
eapply -p0 "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch
|
||||
|
||||
# bug #310087
|
||||
eapply "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch
|
||||
|
||||
# bug #311161
|
||||
eapply -p0 "${FILESDIR}"/9.0.2/${PN}-9.0.2-lib-search-path.patch
|
||||
|
||||
# bat needs to respect LDFLAGS and CFLAGS
|
||||
eapply -p0 "${FILESDIR}"/9.0.6/${PN}-9.0.6-bat-pro.patch
|
||||
|
||||
# bug #328701
|
||||
eapply -p0 "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch
|
||||
|
||||
eapply -p0 "${FILESDIR}"/9.0.8/${PN}-9.0.8-fix-static.patch
|
||||
|
||||
# fix soname in libbaccat.so bug #602952
|
||||
eapply -p0 "${FILESDIR}/bacula-fix-sonames.patch"
|
||||
|
||||
# do not strip binaries
|
||||
sed -i -e "s/strip /# strip /" src/filed/Makefile.in || die
|
||||
sed -i -e "s/strip /# strip /" src/console/Makefile.in || die
|
||||
|
||||
# fix file not found error during make depend
|
||||
eapply -p0 "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch
|
||||
|
||||
eapply_user
|
||||
|
||||
# Fix systemd unit files:
|
||||
# bug 497748
|
||||
sed -i -e '/Requires/d' platforms/systemd/*.service.in || die
|
||||
sed -i -e '/StandardOutput/d' platforms/systemd/*.service.in || die
|
||||
# bug 504370
|
||||
sed -i -e '/Alias=bacula-dir/d' platforms/systemd/bacula-dir.service.in || die
|
||||
# bug 584442 and 504368
|
||||
sed -i -e 's/@dir_user@/root/g' platforms/systemd/bacula-dir.service.in || die
|
||||
|
||||
# build 'bat' for Qt5
|
||||
export QMAKE="$(qt5_get_bindir)"/qmake
|
||||
|
||||
# adapt to >=Qt-5.9 (see bug #644566)
|
||||
# qmake needs an existing target file to generate install instructions
|
||||
sed -i -e 's#bins.files = bat#bins.files = .libs/bat#g' \
|
||||
src/qt-console/bat.pro.in || die
|
||||
mkdir src/qt-console/.libs || die
|
||||
touch src/qt-console/.libs/bat || die
|
||||
chmod 755 src/qt-console/.libs/bat || die
|
||||
|
||||
# fix handling of libressl version
|
||||
# needs separate handling for <libressl-2.7 and >=libressl2.7
|
||||
# (see bug #655520)
|
||||
if has_version "<dev-libs/libressl-2.7"; then
|
||||
eapply -p0 "${FILESDIR}"/9.4.0/${PN}-9.4.0-libressl26.patch
|
||||
else
|
||||
eapply -p0 "${FILESDIR}"/9.4.0/${PN}-9.4.0-libressl27.patch
|
||||
fi
|
||||
|
||||
# Don't let program install man pages directly
|
||||
rm "${S}"/manpages/Makefile.in || die "Unable to remove man pages Makefile.in"
|
||||
eapply -p1 "${FILESDIR}/bacula-fix-manpages.patch"
|
||||
|
||||
# fix bundled libtool (bug 466696)
|
||||
# But first move directory with M4 macros out of the way.
|
||||
# It is only needed by autoconf and gives errors during elibtoolize.
|
||||
mv autoconf/libtool autoconf/libtool1 || die
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=''
|
||||
|
||||
if use bacula-clientonly; then
|
||||
myconf="${myconf} \
|
||||
$(use_enable bacula-clientonly client-only) \
|
||||
$(use_enable !static libtool) \
|
||||
$(use_enable static static-cons) \
|
||||
$(use_enable static static-fd)"
|
||||
else
|
||||
myconf="${myconf} \
|
||||
$(use_enable !bacula-nodir build-dird) \
|
||||
$(use_enable !bacula-nosd build-stored)"
|
||||
# bug #311099
|
||||
# database support needed by dir-only *and* sd-only
|
||||
# build as well (for building bscan, btape, etc.)
|
||||
myconf="${myconf}
|
||||
--with-${mydbtype}"
|
||||
fi
|
||||
|
||||
# do not build bat if 'static' clientonly
|
||||
if ! use bacula-clientonly || ! use static; then
|
||||
myconf="${myconf} \
|
||||
$(use_enable qt5 bat)"
|
||||
fi
|
||||
|
||||
myconf="${myconf} \
|
||||
$(use_with X x) \
|
||||
$(use_enable batch-insert) \
|
||||
$(use_enable !readline conio) \
|
||||
$(use_enable readline) \
|
||||
$(use_with readline readline /usr) \
|
||||
$(use_with ssl openssl) \
|
||||
$(use_enable ipv6) \
|
||||
$(use_enable acl) \
|
||||
$(use_with tcpd tcp-wrappers)"
|
||||
|
||||
econf \
|
||||
--libdir=/usr/$(get_libdir) \
|
||||
--docdir=/usr/share/doc/${PF} \
|
||||
--htmldir=/usr/share/doc/${PF}/html \
|
||||
--with-pid-dir=/var/run \
|
||||
--sysconfdir=/etc/bacula \
|
||||
--with-archivedir=/var/lib/bacula/tmp \
|
||||
--with-subsys-dir=/var/lock/subsys \
|
||||
--with-working-dir=/var/lib/bacula \
|
||||
--with-logdir=/var/lib/bacula \
|
||||
--with-scriptdir=/usr/libexec/bacula \
|
||||
--with-systemd=$(systemd_get_systemunitdir) \
|
||||
--with-dir-user=bacula \
|
||||
--with-dir-group=bacula \
|
||||
--with-sd-user=root \
|
||||
--with-sd-group=bacula \
|
||||
--with-fd-user=root \
|
||||
--with-fd-group=bacula \
|
||||
--enable-smartalloc \
|
||||
--disable-afs \
|
||||
--without-s3 \
|
||||
--host=${CHOST} \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Make build log verbose (bug #447806)
|
||||
emake NO_ECHO=""
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
doicon scripts/bacula.png
|
||||
|
||||
# install bat icon and desktop file when enabled
|
||||
# (for some reason ./configure doesn't pick this up)
|
||||
if use qt5 && ! use static ; then
|
||||
doicon src/qt-console/images/bat_icon.png
|
||||
domenu scripts/bat.desktop
|
||||
fi
|
||||
|
||||
# remove some scripts we don't need at all
|
||||
rm -f "${D}"/usr/libexec/bacula/{bacula,bacula-ctl-dir,bacula-ctl-fd,bacula-ctl-sd,startmysql,stopmysql}
|
||||
|
||||
# rename statically linked apps
|
||||
if use bacula-clientonly && use static ; then
|
||||
pushd "${D}"/usr/sbin || die
|
||||
mv static-bacula-fd bacula-fd || die
|
||||
mv static-bconsole bconsole || die
|
||||
popd || die
|
||||
fi
|
||||
|
||||
# extra files which 'make install' doesn't cover
|
||||
if ! use bacula-clientonly; then
|
||||
# the database update scripts
|
||||
diropts -m0750
|
||||
insinto /usr/libexec/bacula/updatedb
|
||||
insopts -m0754
|
||||
doins "${S}"/updatedb/*
|
||||
fperms 0640 /usr/libexec/bacula/updatedb/README
|
||||
|
||||
# the logrotate configuration
|
||||
# (now unconditional wrt bug #258187)
|
||||
diropts -m0755
|
||||
insinto /etc/logrotate.d
|
||||
insopts -m0644
|
||||
newins "${S}"/scripts/logrotate bacula
|
||||
|
||||
# the logwatch scripts
|
||||
if use logwatch; then
|
||||
diropts -m0750
|
||||
dodir /usr/share/logwatch/scripts/services
|
||||
dodir /usr/share/logwatch/scripts/shared
|
||||
dodir /etc/logwatch/conf/logfiles
|
||||
dodir /etc/logwatch/conf/services
|
||||
pushd "${S}"/scripts/logwatch >&/dev/null || die
|
||||
emake DESTDIR="${D}" install
|
||||
popd >&/dev/null || die
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use qt5; then
|
||||
rm -vf "${D}"/usr/share/man/man1/bat.1*
|
||||
fi
|
||||
rm -vf "${D}"/usr/share/man/man1/bacula-tray-monitor.1*
|
||||
|
||||
if use bacula-clientonly || use bacula-nodir ; then
|
||||
rm -vf "${D}"/usr/libexec/bacula/create_*_database
|
||||
rm -vf "${D}"/usr/libexec/bacula/drop_*_database
|
||||
rm -vf "${D}"/usr/libexec/bacula/make_*_tables
|
||||
rm -vf "${D}"/usr/libexec/bacula/update_*_tables
|
||||
rm -vf "${D}"/usr/libexec/bacula/drop_*_tables
|
||||
rm -vf "${D}"/usr/libexec/bacula/grant_*_privileges
|
||||
rm -vf "${D}"/usr/libexec/bacula/*_catalog_backup
|
||||
fi
|
||||
if use bacula-clientonly || use bacula-nosd; then
|
||||
rm -vf "${D}"/usr/libexec/bacula/disk-changer
|
||||
rm -vf "${D}"/usr/libexec/bacula/mtx-changer
|
||||
rm -vf "${D}"/usr/libexec/bacula/dvd-handler
|
||||
fi
|
||||
|
||||
# documentation
|
||||
dodoc ChangeLog ReleaseNotes SUPPORT
|
||||
|
||||
# Install all man pages
|
||||
doman "${S}"/manpages/*
|
||||
|
||||
# install examples (bug #457504)
|
||||
if use examples; then
|
||||
docinto examples/
|
||||
dodoc -r examples/*
|
||||
fi
|
||||
|
||||
# vim-files
|
||||
if use vim-syntax; then
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins scripts/bacula.vim
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
newins scripts/filetype.vim bacula_ft.vim
|
||||
fi
|
||||
|
||||
# setup init scripts
|
||||
myscripts="bacula-fd"
|
||||
if ! use bacula-clientonly; then
|
||||
if ! use bacula-nodir; then
|
||||
myscripts="${myscripts} bacula-dir"
|
||||
fi
|
||||
if ! use bacula-nosd; then
|
||||
myscripts="${myscripts} bacula-sd"
|
||||
fi
|
||||
fi
|
||||
for script in ${myscripts}; do
|
||||
# copy over init script and config to a temporary location
|
||||
# so we can modify them as needed
|
||||
cp "${FILESDIR}/${script}".confd "${T}/${script}".confd || die "failed to copy ${script}.confd"
|
||||
cp "${FILESDIR}/newscripts/${script}".initd "${T}/${script}".initd || die "failed to copy ${script}.initd"
|
||||
|
||||
# now set the database dependancy for the director init script
|
||||
case "${script}" in
|
||||
bacula-dir)
|
||||
case "${mydbtype}" in
|
||||
sqlite3)
|
||||
# sqlite databases don't have a daemon
|
||||
sed -i -e 's/need "%database%"/:/g' "${T}/${script}".initd || die
|
||||
;;
|
||||
*)
|
||||
# all other databases have daemons
|
||||
sed -i -e "s:%database%:${mydbtype}:" "${T}/${script}".initd || die
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# install init script and config
|
||||
newinitd "${T}/${script}".initd "${script}"
|
||||
newconfd "${T}/${script}".confd "${script}"
|
||||
done
|
||||
|
||||
systemd_dounit "${S}"/platforms/systemd/bacula-{dir,fd,sd}.service
|
||||
|
||||
# make sure the working directory exists
|
||||
diropts -m0750
|
||||
keepdir /var/lib/bacula
|
||||
|
||||
# make sure bacula group can execute bacula libexec scripts
|
||||
fowners -R root:bacula /usr/libexec/bacula
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use bacula-clientonly; then
|
||||
fowners root:bacula /var/lib/bacula
|
||||
else
|
||||
fowners bacula:bacula /var/lib/bacula
|
||||
fi
|
||||
|
||||
if ! use bacula-clientonly && ! use bacula-nodir; then
|
||||
einfo
|
||||
einfo "If this is a new install, you must create the ${mydbtype} databases with:"
|
||||
einfo " /usr/libexec/bacula/create_${mydbtype}_database"
|
||||
einfo " /usr/libexec/bacula/make_${mydbtype}_tables"
|
||||
einfo " /usr/libexec/bacula/grant_${mydbtype}_privileges"
|
||||
einfo
|
||||
|
||||
ewarn "ATTENTION!"
|
||||
ewarn "The format of the database may have changed."
|
||||
ewarn "If you just upgraded from a version below 9.0.0 you must run"
|
||||
ewarn "'update_bacula_tables' now."
|
||||
ewarn "Make sure to have a backup of your catalog before."
|
||||
ewarn
|
||||
fi
|
||||
|
||||
if use sqlite; then
|
||||
einfo
|
||||
einfo "Be aware that Bacula does not officially support SQLite database anymore."
|
||||
einfo "Best use it only for a client-only installation. See Bug #445540."
|
||||
einfo
|
||||
fi
|
||||
|
||||
einfo "Please note that 'bconsole' will always be installed. To compile 'bat'"
|
||||
einfo "you have to enable 'USE=qt5'."
|
||||
einfo
|
||||
einfo "/var/lib/bacula/tmp was configured for archivedir. This dir will be used during"
|
||||
einfo "restores, so be sure to set it to an appropriate in dir in the bacula config."
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,4 +1,6 @@
|
||||
DIST unicode-data-10.0.0-UCD.zip 5991193 BLAKE2B 4724c6f11156b8d97c924c1e08232d2f13ac331f386585289e148adb70f1a070bb8b71718232e29b4f7bd1ec47d016e44072bd7336c171c56bd7e88b15110d72 SHA512 4e232ddd01c5c85175f29cbda61d6a87f274669a3184e885cb44410c26f25eee70da984b3f4798f8d6c304b05333e9245e2eb6e3830ee7b16b2f2e50d32c9ee0
|
||||
DIST unicode-data-10.0.0-Unihan.zip 6632227 BLAKE2B 2bd290b083c87752c3462b8fe7a8c13e3943c69083ba7fbbcc659ca40476e984de1d49a102648d0a669bdaac81babb4c15d0ccba7769e3e4eb1db9efba778f67 SHA512 377f53ddc9ae514e8866c0e6b79f9b1d3613fad5a7e29c57a06baf8be84cbada0703b1c660401e7dbd2bb861b09fa9159b77322f42b34f5a0dc0d8f70ac4db12
|
||||
DIST unicode-data-11.0.0-UCD.zip 5751718 BLAKE2B e9ad8eb47b5b5753e345836b19b72b5bf34d51b45369e79330992e1426a971e75715675ec24bbc4200a969516811b1a80b81503b52fae7f6abc5f6dab8a573ea SHA512 954a499ff072727c8778e711fb1753834adf09277c9e9a2592c02b59971860f9a407c7e9985ed1e6bdda7a3cf3b1cd6316599c4bffe8b0625413f874486830c1
|
||||
DIST unicode-data-11.0.0-Unihan.zip 6747669 BLAKE2B 522291be19f68978f6701c0e624d6d0589b94798d0c1099f8c554c778497383c04422b0ff3613c59af9ea496243f4aa4354ea5b85e66f601a24435da96a3ec00 SHA512 a045e79545f1ec3529a8556d41c73b20809979e002f98314068c6f91daa79abb2ab3ab383090651b55fb55e343d8fcf67bea822d93d6e3221a206d58ef9e3a7b
|
||||
DIST unicode-data-9.0.0-UCD.zip 5655592 BLAKE2B bacfd82142e2327d5633a927d6283d1bf3d43d0476b43ca5b23190abafba5aec3f29a59f096a651acc320a7bbf5f511aaa39e1f09b9fe24e96b0623610bec6a0 SHA512 e9bdf8ed6647b4d0bd83c6fcd885cb450fddbf84dac376e9771bddbb7ee1e8ea1ca8c2ca79e23832c26a4819dd62f86fcfa6eb6a1fcc7294185f5bc78be8fa2a
|
||||
DIST unicode-data-9.0.0-Unihan.zip 6558824 BLAKE2B 18900bacb9ec84eef99758a1647f657685f2fc40d705b7cd8f88ea727d9494aab38cf4d40829d52afca7c11087e6b2b2c03547c14980b7d206ba241bff3d3e47 SHA512 9856d30afe5d7b0b088bde36c12431eae267992b315944ca8a7ddb3559adee7474fedd2d0d6b22716439f9cddad573a4bb45c6209036b0066a85fbd19412852e
|
||||
|
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Unicode data from unicode.org"
|
||||
HOMEPAGE="http://www.unicode.org/ucd/"
|
||||
SRC_URI="http://www.unicode.org/Public/zipped/${PV}/UCD.zip -> ${P}-UCD.zip
|
||||
http://www.unicode.org/Public/zipped/${PV}/Unihan.zip -> ${P}-Unihan.zip"
|
||||
|
||||
LICENSE="unicode"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="app-arch/unzip"
|
||||
RDEPEND=""
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack() {
|
||||
# Unihan.zip needs to be installed as a zip for reverse deps
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=768210
|
||||
unpack ${P}-UCD.zip
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/${PN}
|
||||
doins -r "${S}"/*
|
||||
newins "${DISTDIR}"/${P}-Unihan.zip Unihan.zip
|
||||
}
|
Binary file not shown.
@ -0,0 +1,49 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
DEB_PATCH_VER=${PV#*_p}
|
||||
MY_VER=${PV%_p*}
|
||||
|
||||
DESCRIPTION="Move/copy/append/link multiple files according to a set of wildcard patterns"
|
||||
HOMEPAGE="https://packages.debian.org/unstable/utils/mmv"
|
||||
SRC_URI="
|
||||
mirror://debian/pool/main/m/mmv/${PN}_${MY_VER}.orig.tar.gz
|
||||
mirror://debian/pool/main/m/mmv/${PN}_${MY_VER}-${DEB_PATCH_VER}.debian.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_VER}.orig"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
epatch "${WORKDIR}"/debian/patches/*.diff
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# i wonder how this works on other platforms if CFLAGS from makefile are
|
||||
# overridden, see bug #218082
|
||||
[[ ${CHOST} == *-interix* ]] && append-flags -DIS_SYSV -DHAS_RENAME -DHAS_DIRENT
|
||||
[[ ${CHOST} == *-interix* ]] || append-lfs-flags
|
||||
|
||||
emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin "${PN}"
|
||||
dosym "${PN}" /usr/bin/mcp
|
||||
dosym "${PN}" /usr/bin/mln
|
||||
dosym "${PN}" /usr/bin/mad
|
||||
|
||||
doman "${PN}.1"
|
||||
newman "${PN}.1" mcp.1
|
||||
newman "${PN}.1" mln.1
|
||||
newman "${PN}.1" mad.1
|
||||
|
||||
dodoc ANNOUNCE "${WORKDIR}"/debian/{changelog,control}
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST tracker-1.12.4.tar.xz 5051884 BLAKE2B 99cc85fc4d49691eb0a73e4f1776d9971b5cbe5844478825e473137b4d7b13e2578065be497da57285abc2d3cf4c6d1ed1b077a01cd68dc093e18ddd7674c1f1 SHA512 e81af22733c7d80535c79e23a4b3edbbcf888eede1dff071d466518054e90d4c207af76bcb4d8c73dc20729ae2eab60444ca91ee7ae09e96c0da2fdab97752c1
|
||||
DIST tracker-2.1.7.tar.xz 2572740 BLAKE2B 0db8379502a37d0fc0c4b905a55a8642011c76368a94609b71afa5b6d59fa8a9220c302588a8217ea8626faccedd6b62e8fc96b19d4fb2cbaf1b550fbc55cf0d SHA512 75203af91ec43641caf2a3870100b8c5affb613e442e5a271edafe68ac7c6551256f288e435ce4fc8cb6f9ee0ea54871ebba90e085d0baeba4914815d3be15a0
|
||||
|
@ -0,0 +1,66 @@
|
||||
From cff7f988fd2ed7894c3d16144e799d994637d3cf Mon Sep 17 00:00:00 2001
|
||||
From: Mart Raudsepp <leio@gentoo.org>
|
||||
Date: Wed, 13 Feb 2019 12:28:53 +0200
|
||||
Subject: [PATCH 1/5] build: Separate options for manpages install and gtk-doc
|
||||
generation
|
||||
---
|
||||
docs/meson.build | 10 +++++++---
|
||||
meson.build | 6 +-----
|
||||
meson_options.txt | 6 ++++--
|
||||
3 files changed, 12 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/docs/meson.build b/docs/meson.build
|
||||
index 76e59797e..5e1d541bd 100644
|
||||
--- a/docs/meson.build
|
||||
+++ b/docs/meson.build
|
||||
@@ -1,3 +1,7 @@
|
||||
-subdir('tools')
|
||||
-subdir('manpages')
|
||||
-subdir('reference')
|
||||
+if get_option('man')
|
||||
+ subdir('manpages')
|
||||
+endif
|
||||
+if get_option('gtk-doc')
|
||||
+ subdir('tools')
|
||||
+ subdir('reference')
|
||||
+endif
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 7d61fe1a7..0fda24151 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -320,11 +320,7 @@ typelib_dir = gobject_introspection.get_pkgconfig_variable('typelibdir',
|
||||
define_variable: [ 'libdir', libdir ])
|
||||
|
||||
subdir('src')
|
||||
-
|
||||
-if get_option('docs')
|
||||
- subdir('docs')
|
||||
-endif
|
||||
-
|
||||
+subdir('docs')
|
||||
subdir('examples')
|
||||
subdir('utils')
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index b36ba1d1e..0eb48aac4 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -1,11 +1,13 @@
|
||||
-option('docs', type: 'boolean', value: true,
|
||||
- description: 'Enable the documentation')
|
||||
option('fts', type: 'boolean', value: true,
|
||||
description: 'Enable the Tracker full-text search feature')
|
||||
option('functional_tests', type: 'boolean', value: true,
|
||||
description: 'Enable the Tracker functional test suite')
|
||||
+option('gtk-doc', type: 'boolean', value: true,
|
||||
+ description: 'Generate API documentation with gtk-doc')
|
||||
option('journal', type: 'boolean', value: true,
|
||||
description: 'Enable database journal backup mechanism')
|
||||
+option('man', type: 'boolean', value: true,
|
||||
+ description: 'Install man pages')
|
||||
|
||||
option('network_manager', type: 'combo', choices: ['auto', 'no', 'yes'], value: 'auto',
|
||||
description: 'Enable connection detection through NetworkManager')
|
||||
--
|
||||
2.17.0
|
||||
|
@ -0,0 +1,71 @@
|
||||
From d52a7bed9fdeef77bdcafd66c748adce14fde42d Mon Sep 17 00:00:00 2001
|
||||
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
||||
Date: Tue, 6 Nov 2018 07:11:37 +0000
|
||||
Subject: [PATCH 5/5] build: Restore right soversion to libraries
|
||||
|
||||
The previous change did not leave the expected .0 symlinks.
|
||||
|
||||
'soversion' is the actual version linked against. To match the scheme
|
||||
used by libtool, we need to give the libraries a 'version' as well.
|
||||
|
||||
(cherry picked from commit 282cd5aa85852cc7f9e603dae435f6b528c4712a)
|
||||
---
|
||||
meson.build | 3 ++-
|
||||
src/libtracker-control/meson.build | 1 +
|
||||
src/libtracker-miner/meson.build | 1 +
|
||||
src/libtracker-sparql-backend/meson.build | 1 +
|
||||
4 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 0fda24151..593b9db44 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -15,7 +15,8 @@ tracker_interface_age = 0
|
||||
tracker_binary_age = 100 * tracker_minor_version + tracker_micro_version - tracker_interface_age
|
||||
|
||||
# This the .Z used in libtracker-sparql-2.0.so.Z
|
||||
-soversion = '0.@0@.@1@'.format(tracker_binary_age - tracker_interface_age, tracker_interface_age)
|
||||
+soversion = '0'
|
||||
+libversion = '@0@.@1@.@2@'.format(soversion, tracker_binary_age - tracker_interface_age, tracker_interface_age)
|
||||
|
||||
libdir = join_paths(get_option('prefix'), get_option('libdir'))
|
||||
datadir = join_paths(get_option('prefix'), get_option('datadir'))
|
||||
diff --git a/src/libtracker-control/meson.build b/src/libtracker-control/meson.build
|
||||
index 81578e306..533ac538e 100644
|
||||
--- a/src/libtracker-control/meson.build
|
||||
+++ b/src/libtracker-control/meson.build
|
||||
@@ -10,6 +10,7 @@ libtracker_control = library('tracker-control-' + tracker_api_version,
|
||||
tracker_common_enum_header,
|
||||
c_args: tracker_c_args,
|
||||
soversion: soversion,
|
||||
+ version: libversion,
|
||||
install: true,
|
||||
install_rpath: tracker_internal_libs_dir,
|
||||
# This doesn't depend on tracker_common_dep because of
|
||||
diff --git a/src/libtracker-miner/meson.build b/src/libtracker-miner/meson.build
|
||||
index e53b21cf9..49c879057 100644
|
||||
--- a/src/libtracker-miner/meson.build
|
||||
+++ b/src/libtracker-miner/meson.build
|
||||
@@ -60,6 +60,7 @@ libtracker_miner = library(
|
||||
miner_enums[0], miner_enums[1], miner_sources,
|
||||
c_args: tracker_c_args,
|
||||
soversion: soversion,
|
||||
+ version: libversion,
|
||||
install: true,
|
||||
install_rpath: tracker_internal_libs_dir,
|
||||
# This doesn't depend on tracker_common_dep because of
|
||||
diff --git a/src/libtracker-sparql-backend/meson.build b/src/libtracker-sparql-backend/meson.build
|
||||
index c8415efb8..e54333bec 100644
|
||||
--- a/src/libtracker-sparql-backend/meson.build
|
||||
+++ b/src/libtracker-sparql-backend/meson.build
|
||||
@@ -8,6 +8,7 @@ libtracker_sparql = library('tracker-sparql-' + tracker_api_version,
|
||||
'tracker-backend.vala',
|
||||
|
||||
soversion: soversion,
|
||||
+ version: libversion,
|
||||
|
||||
install: true,
|
||||
install_rpath: tracker_internal_libs_dir,
|
||||
--
|
||||
2.17.0
|
||||
|
@ -0,0 +1,169 @@
|
||||
From 43b10233d4cce38230c357d885662291d2e5e978 Mon Sep 17 00:00:00 2001
|
||||
From: Iain Lane <iainl@gnome.org>
|
||||
Date: Mon, 11 Feb 2019 15:42:14 +0000
|
||||
Subject: [PATCH 4/5] libtracker-data: Don't rely on hash table iteration order
|
||||
being stable
|
||||
|
||||
This is the same problem that was fixed by
|
||||
c58f7aa419e2c3a69fa7fe583a1fd5e0b9bd0839 on master. Instead of relying
|
||||
on hash table iteration being stable, pass the GVariantBuilder down and
|
||||
add directly to it in the right order.
|
||||
|
||||
Forwarded: https://gitlab.gnome.org/GNOME/tracker/merge_requests/55
|
||||
---
|
||||
.../tracker-sparql-pattern.vala | 4 +--
|
||||
src/libtracker-data/tracker-sparql-query.vala | 31 ++++++++++++-------
|
||||
2 files changed, 21 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/libtracker-data/tracker-sparql-pattern.vala b/src/libtracker-data/tracker-sparql-pattern.vala
|
||||
index e03ed6f16..033b138a5 100644
|
||||
--- a/src/libtracker-data/tracker-sparql-pattern.vala
|
||||
+++ b/src/libtracker-data/tracker-sparql-pattern.vala
|
||||
@@ -542,7 +542,7 @@ class Tracker.Sparql.Pattern : Object {
|
||||
} else if (accept (SparqlTokenType.BLANK_NODE)) {
|
||||
// _:foo
|
||||
expect (SparqlTokenType.COLON);
|
||||
- result = query.generate_bnodeid (get_last_string ().substring (1));
|
||||
+ result = query.generate_bnodeid (get_last_string ().substring (1), null);
|
||||
} else if (current () == SparqlTokenType.STRING_LITERAL1) {
|
||||
result = expression.parse_string_literal ();
|
||||
} else if (current () == SparqlTokenType.STRING_LITERAL2) {
|
||||
@@ -569,7 +569,7 @@ class Tracker.Sparql.Pattern : Object {
|
||||
} else if (current () == SparqlTokenType.OPEN_BRACKET) {
|
||||
next ();
|
||||
|
||||
- result = query.generate_bnodeid (null);
|
||||
+ result = query.generate_bnodeid (null, null);
|
||||
|
||||
string old_subject = current_subject;
|
||||
bool old_subject_is_var = current_subject_is_var;
|
||||
diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala
|
||||
index 7944e78e5..69a7e9eba 100644
|
||||
--- a/src/libtracker-data/tracker-sparql-query.vala
|
||||
+++ b/src/libtracker-data/tracker-sparql-query.vala
|
||||
@@ -284,7 +284,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
sha1, sha1.substring (8), sha1.substring (12), sha1.substring (16), sha1.substring (20));
|
||||
}
|
||||
|
||||
- internal string generate_bnodeid (string? user_bnodeid) {
|
||||
+ internal string generate_bnodeid (string? user_bnodeid, GLib.VariantBuilder? builder) {
|
||||
// user_bnodeid is NULL for anonymous nodes
|
||||
if (user_bnodeid == null) {
|
||||
return ":%d".printf (++bnodeid);
|
||||
@@ -310,6 +310,9 @@ public class Tracker.Sparql.Query : Object {
|
||||
}
|
||||
|
||||
blank_nodes.insert (user_bnodeid, uri);
|
||||
+
|
||||
+ if (builder != null)
|
||||
+ builder.add ("{ss}", user_bnodeid, uri);
|
||||
}
|
||||
|
||||
return uri;
|
||||
@@ -774,7 +777,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
for (int i = 0; i < n_solutions; i++) {
|
||||
solution.solution_index = i;
|
||||
set_location (delete_location);
|
||||
- parse_construct_triples_block (solution, UpdateType.DELETE);
|
||||
+ parse_construct_triples_block (solution, UpdateType.DELETE, null);
|
||||
data_update.update_buffer_might_flush ();
|
||||
}
|
||||
|
||||
@@ -790,16 +793,20 @@ public class Tracker.Sparql.Query : Object {
|
||||
for (int i = 0; i < n_solutions; i++) {
|
||||
uuid_generate (base_uuid);
|
||||
blank_nodes = new HashTable<string,string>.full (str_hash, str_equal, g_free, g_free);
|
||||
+ if (update_blank_nodes != null)
|
||||
+ update_blank_nodes.open (new GLib.VariantType("a{ss}"));
|
||||
+
|
||||
solution.solution_index = i;
|
||||
|
||||
set_location (insert_location);
|
||||
parse_construct_triples_block (solution,
|
||||
insert_is_update ?
|
||||
UpdateType.UPDATE :
|
||||
- UpdateType.INSERT);
|
||||
+ UpdateType.INSERT,
|
||||
+ update_blank_nodes);
|
||||
|
||||
if (blank && update_blank_nodes != null) {
|
||||
- update_blank_nodes.add_value (blank_nodes);
|
||||
+ update_blank_nodes.close ();
|
||||
}
|
||||
|
||||
data_update.update_buffer_might_flush ();
|
||||
@@ -870,7 +877,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
}
|
||||
}
|
||||
|
||||
- private void parse_construct_triples_block (Solution var_value_map, UpdateType type) throws Sparql.Error, DateError {
|
||||
+ private void parse_construct_triples_block (Solution var_value_map, UpdateType type, GLib.VariantBuilder? builder) throws Sparql.Error, DateError {
|
||||
expect (SparqlTokenType.OPEN_BRACE);
|
||||
|
||||
while (current () != SparqlTokenType.CLOSE_BRACE) {
|
||||
@@ -878,7 +885,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
|
||||
if (accept (SparqlTokenType.GRAPH)) {
|
||||
var old_graph = current_graph;
|
||||
- current_graph = parse_construct_var_or_term (var_value_map, type, out is_null);
|
||||
+ current_graph = parse_construct_var_or_term (var_value_map, type, out is_null, builder);
|
||||
|
||||
if (is_null) {
|
||||
throw get_error ("'null' not supported for graph");
|
||||
@@ -887,7 +894,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
expect (SparqlTokenType.OPEN_BRACE);
|
||||
|
||||
while (current () != SparqlTokenType.CLOSE_BRACE) {
|
||||
- current_subject = parse_construct_var_or_term (var_value_map, type, out is_null);
|
||||
+ current_subject = parse_construct_var_or_term (var_value_map, type, out is_null, builder);
|
||||
|
||||
if (is_null) {
|
||||
throw get_error ("'null' not supported for subject");
|
||||
@@ -906,7 +913,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
|
||||
optional (SparqlTokenType.DOT);
|
||||
} else {
|
||||
- current_subject = parse_construct_var_or_term (var_value_map, type, out is_null);
|
||||
+ current_subject = parse_construct_var_or_term (var_value_map, type, out is_null, builder);
|
||||
|
||||
if (is_null) {
|
||||
throw get_error ("'null' not supported for subject");
|
||||
@@ -925,7 +932,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
|
||||
bool anon_blank_node_open = false;
|
||||
|
||||
- private string? parse_construct_var_or_term (Solution var_value_map, UpdateType type, out bool is_null) throws Sparql.Error, DateError {
|
||||
+ private string? parse_construct_var_or_term (Solution var_value_map, UpdateType type, out bool is_null, GLib.VariantBuilder? builder) throws Sparql.Error, DateError {
|
||||
string result = "";
|
||||
is_null = false;
|
||||
if (current () == SparqlTokenType.VAR) {
|
||||
@@ -947,7 +954,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
} else if (accept (SparqlTokenType.BLANK_NODE)) {
|
||||
// _:foo
|
||||
expect (SparqlTokenType.COLON);
|
||||
- result = generate_bnodeid (get_last_string ().substring (1));
|
||||
+ result = generate_bnodeid (get_last_string ().substring (1), builder);
|
||||
} else if (current () == SparqlTokenType.MINUS) {
|
||||
next ();
|
||||
if (current () == SparqlTokenType.INTEGER ||
|
||||
@@ -994,7 +1001,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
anon_blank_node_open = true;
|
||||
next ();
|
||||
|
||||
- result = generate_bnodeid (null);
|
||||
+ result = generate_bnodeid (null, builder);
|
||||
|
||||
string old_subject = current_subject;
|
||||
bool old_subject_is_var = current_subject_is_var;
|
||||
@@ -1061,7 +1068,7 @@ public class Tracker.Sparql.Query : Object {
|
||||
|
||||
private void parse_construct_object (Solution var_value_map, UpdateType type) throws Sparql.Error, DateError {
|
||||
bool is_null = false;
|
||||
- string object = parse_construct_var_or_term (var_value_map, type, out is_null);
|
||||
+ string object = parse_construct_var_or_term (var_value_map, type, out is_null, null);
|
||||
var data = manager.get_data ();
|
||||
if (current_subject == null || current_predicate == null || object == null) {
|
||||
// the SPARQL specification says that triples containing unbound variables
|
||||
--
|
||||
2.17.0
|
||||
|
@ -0,0 +1,39 @@
|
||||
From 4238b0a27a3621f4181d38821a4eaee9f0ac1244 Mon Sep 17 00:00:00 2001
|
||||
From: Andrea Azzarone <andrea.azzarone@canonical.com>
|
||||
Date: Fri, 18 Jan 2019 16:14:57 +0000
|
||||
Subject: [PATCH 3/5] tracker-monitor: Prevent stack smashing
|
||||
|
||||
Make sure to use GPOINTER_TO_UINT when using g_hash_table_lookup_extended() to
|
||||
prevent stack smashing. This will make sure that in the architectures where
|
||||
sizeof(GFileMonitorEvent) < sizeof(gpointer), g_hash_table_lookup_extended()
|
||||
will not write more bytes than prev_event_type can hold.
|
||||
|
||||
Bug-Upstream: https://gitlab.gnome.org/GNOME/tracker/issues/71
|
||||
Origin: upstream, commit:63c0a5d4413e53cb76089fda6f56b2d623c5de15
|
||||
Applied-Upstream: 2.2.0
|
||||
---
|
||||
src/libtracker-miner/tracker-monitor.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/libtracker-miner/tracker-monitor.c b/src/libtracker-miner/tracker-monitor.c
|
||||
index 54cd3e8fb..f2431b646 100644
|
||||
--- a/src/libtracker-miner/tracker-monitor.c
|
||||
+++ b/src/libtracker-miner/tracker-monitor.c
|
||||
@@ -611,10 +611,12 @@ flush_cached_event (TrackerMonitor *monitor,
|
||||
GFile *file,
|
||||
gboolean is_directory)
|
||||
{
|
||||
- GFileMonitorEvent prev_event_type;
|
||||
+ gpointer value = NULL;
|
||||
|
||||
if (g_hash_table_lookup_extended (monitor->priv->cached_events,
|
||||
- file, NULL, (gpointer*) &prev_event_type)) {
|
||||
+ file, NULL, &value)) {
|
||||
+ GFileMonitorEvent prev_event_type = GPOINTER_TO_UINT (value);
|
||||
+
|
||||
g_hash_table_remove (monitor->priv->cached_events, file);
|
||||
emit_signal_for_event (monitor, prev_event_type,
|
||||
is_directory, file, NULL);
|
||||
--
|
||||
2.17.0
|
||||
|
@ -0,0 +1,49 @@
|
||||
From 77059dd4b98f422c1e474b9ee53cc05dde875cce Mon Sep 17 00:00:00 2001
|
||||
From: Mart Raudsepp <leio@gentoo.org>
|
||||
Date: Wed, 13 Feb 2019 20:09:45 +0200
|
||||
Subject: [PATCH 2/5] libtracker-common: improve test_path_evaluate_name
|
||||
environment handling
|
||||
|
||||
Under some environments $PWD might not point where we expect, so simply
|
||||
use g_get_current_dir() instead.
|
||||
g_getenv() is documented to return a pointer that may get overwritten
|
||||
by subsequent calls to g_getenv, g_setenv of g_unsetenv. As even after
|
||||
removing the second g_getenv, there's still g_setenv calls, take a copy.
|
||||
---
|
||||
tests/libtracker-common/tracker-file-utils-test.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tests/libtracker-common/tracker-file-utils-test.c b/tests/libtracker-common/tracker-file-utils-test.c
|
||||
index d1ddf3004..71a82a5c8 100644
|
||||
--- a/tests/libtracker-common/tracker-file-utils-test.c
|
||||
+++ b/tests/libtracker-common/tracker-file-utils-test.c
|
||||
@@ -131,14 +131,14 @@ test_path_list_filter_duplicates_with_exceptions ()
|
||||
static void
|
||||
test_path_evaluate_name (void)
|
||||
{
|
||||
- gchar *result, *expected;
|
||||
+ gchar *result, *expected, *pwd, *home;
|
||||
|
||||
- const gchar *home = g_getenv ("HOME");
|
||||
- const gchar *pwd = g_getenv ("PWD");
|
||||
|
||||
const gchar *test = "/one/two";
|
||||
gchar *parent_dir;
|
||||
|
||||
+ home = g_strdup (g_getenv ("HOME"));
|
||||
+ pwd = g_get_current_dir ();
|
||||
g_setenv ("TEST_TRACKER_DIR", test, TRUE);
|
||||
|
||||
|
||||
@@ -216,6 +216,8 @@ test_path_evaluate_name (void)
|
||||
result = tracker_path_evaluate_name (tracker_test_helpers_get_nonutf8 ());
|
||||
g_assert_cmpstr (result, ==, tracker_test_helpers_get_nonutf8 ());
|
||||
|
||||
+ g_free (home);
|
||||
+ g_free (pwd);
|
||||
g_unsetenv ("TEST_TRACKER_DIR");
|
||||
}
|
||||
|
||||
--
|
||||
2.17.0
|
||||
|
@ -0,0 +1,94 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python3_{4,5,6,7} )
|
||||
|
||||
inherit bash-completion-r1 gnome.org linux-info meson python-any-r1 systemd vala xdg
|
||||
|
||||
DESCRIPTION="A tagging metadata database, search tool and indexer"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+"
|
||||
SLOT="0/2.0"
|
||||
IUSE="gtk-doc networkmanager stemmer"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
# In 2.2.0 util-linux should only be necessary if glib is older than 2.52 at compile-time
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.46:2
|
||||
>=sys-apps/dbus-1.3.2
|
||||
>=dev-libs/gobject-introspection-1.54:=
|
||||
>=dev-libs/icu-4.8.1.2:=
|
||||
>=dev-libs/json-glib-1.0
|
||||
>=net-libs/libsoup-2.40.1:2.4
|
||||
>=dev-libs/libxml2-2.7
|
||||
>=dev-db/sqlite-3.20.0
|
||||
networkmanager? ( >=net-misc/networkmanager-0.8 )
|
||||
stemmer? ( dev-libs/snowball-stemmer )
|
||||
sys-apps/util-linux
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/glib-utils
|
||||
>=dev-util/intltool-0.40.0
|
||||
$(vala_depend)
|
||||
gtk-doc? ( >=dev-util/gtk-doc-1.8
|
||||
app-text/docbook-xml-dtd:4.1.2 )
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig
|
||||
${PYTHON_DEPS}
|
||||
" # g-ir-merge needs py3; functional tests need py2, so disabled for now due to mixup
|
||||
# intltool-merge manually called in meson.build in 2.1.7; properly gone by 2.2.0
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PV}-doc-options.patch # https://gitlab.gnome.org/GNOME/tracker/merge_requests/58
|
||||
"${FILESDIR}"/${PV}-test-fix.patch # https://gitlab.gnome.org/GNOME/tracker/merge_requests/59
|
||||
"${FILESDIR}"/${PV}-prevent-stack-smashing.patch
|
||||
"${FILESDIR}"/${PV}-glib-2.60-compat.patch
|
||||
"${FILESDIR}"/${PV}-fix-library-symlinks.patch
|
||||
)
|
||||
|
||||
function inotify_enabled() {
|
||||
if linux_config_exists; then
|
||||
if ! linux_chkconfig_present INOTIFY_USER; then
|
||||
ewarn "You should enable the INOTIFY support in your kernel."
|
||||
ewarn "Check the 'Inotify support for userland' under the 'File systems'"
|
||||
ewarn "option. It is marked as CONFIG_INOTIFY_USER in the config"
|
||||
die 'missing CONFIG_INOTIFY'
|
||||
fi
|
||||
else
|
||||
einfo "Could not check for INOTIFY support in your kernel."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
linux-info_pkg_setup
|
||||
inotify_enabled
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
xdg_src_prepare
|
||||
vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Dfts=true
|
||||
-Dfunctional_tests=false # python2, but g-ir-merge needs py3; https://gitlab.gnome.org/GNOME/tracker/merge_requests/40
|
||||
$(meson_use gtk-doc)
|
||||
-Dman=true
|
||||
-Dnetwork_manager=$(usex networkmanager yes no)
|
||||
-Dstemmer=$(usex stemmer yes no)
|
||||
-Dunicode_support=icu
|
||||
-Dbash_completion="$(get_bashcompdir)"
|
||||
-Dsystemd_user_services="$(systemd_get_userunitdir)"
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST de1b48a013b6f4bdf68f7edf333db63a0994ef20.patch 4533 BLAKE2B 39a2ef3b9e6a8e495837376c8a36c9276fbf58bd4ff45a07926e71ca40d65ddb5761e107752247fa2986e63d454e6461bdf0a3bc7bc773db97dcd3027091a841 SHA512 019c862fecb3f3a0682c2f1237ecebec40eafae0b38d6b5d8e56f9829155353569f889dac468ff5b1b2e23f15ae9fe538a0b027f628776f27ea818c12fd1d0b2
|
||||
DIST ledger-3.1.1.tar.gz 842364 BLAKE2B 83f9008f6daf4da39ece192388e0231719bc7297d2a911f1209662f57d2963b9ea09a5b6de9450ed29c5973efa47d9d6a250e052c155d9ba742cdb3ee075f341 SHA512 3f81b98a414cdfc0e272de4e958770149fb1acc8bda880d270e1459ce35294a220c52820bb9af49a751ac3a80b878f81fc7799ba41e0a1be43eba72081351bf5
|
||||
DIST ledger-3.1.2.tar.gz 801112 BLAKE2B 71b907a83fe10857d17de746c0d124572859c9eca237130ebbfa5b730406470a5d31025736e80516feaac7daf14a4edb8b644ed72a0827f9714ac9cb2b79c0fb SHA512 445d9a9c70aa3e59718f8fb75e4110c73f2f476436149fdd456b5fe7b9cee9333c09647080049989599dfac491e5bdd0d143717e58e15989db0fcaad4e5a958d
|
||||
|
@ -0,0 +1,127 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit check-reqs cmake-utils elisp-common python-single-r1
|
||||
|
||||
DESCRIPTION="A double-entry accounting system with a command-line reporting interface"
|
||||
HOMEPAGE="https://www.ledger-cli.org/"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="BSD"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SLOT="0"
|
||||
IUSE="debug doc emacs python"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
RESTRICT="test"
|
||||
|
||||
SITEFILE=50${PN}-gentoo-${PV}.el
|
||||
|
||||
CHECKREQS_MEMORY=8G
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/boost:=[python?]
|
||||
dev-libs/gmp:0=
|
||||
dev-libs/mpfr:0=
|
||||
emacs? ( virtual/emacs )
|
||||
python? (
|
||||
dev-libs/boost:=[${PYTHON_USEDEP}]
|
||||
dev-python/cheetah
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
dev-libs/utfcpp
|
||||
doc? (
|
||||
sys-apps/texinfo
|
||||
virtual/texi2dvi
|
||||
dev-texlive/texlive-fontsrecommended
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=()
|
||||
|
||||
# Building with python integration seems to fail without 8G available
|
||||
# RAM(!) Since the memory check in check-reqs doesn't count swap, it
|
||||
# may be unfair to fail the build entirely on the memory test alone.
|
||||
# Therefore check-reqs_pkg_pretend is deliberately omitted so that we
|
||||
# ewarn but not eerror.
|
||||
pkg_pretend() {
|
||||
:
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use python; then
|
||||
check-reqs_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
sed -r -i \
|
||||
-e '/set.BOOST_PYTHON/s/python27/python-2.7/g' \
|
||||
"${S}/CMakeLists.txt" \
|
||||
|| die "Failed to update CMakeLists.txt for python2.7 boost"
|
||||
|
||||
# Want to type "info ledger" not "info ledger3"
|
||||
sed -i -e 's/ledger3/ledger/g' \
|
||||
doc/ledger3.texi \
|
||||
doc/CMakeLists.txt \
|
||||
test/CheckTexinfo.py \
|
||||
tools/cleanup.sh \
|
||||
tools/gendocs.sh \
|
||||
tools/prepare-commit-msg \
|
||||
tools/spellcheck.sh \
|
||||
|| die "Failed to update info file name in file contents"
|
||||
|
||||
mv doc/ledger{3,}.texi || die "Failed to rename info file name"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_EMACSLISP="$(usex emacs)"
|
||||
-DBUILD_DOCS="$(usex doc)"
|
||||
-DBUILD_WEB_DOCS="$(usex doc)"
|
||||
-DUSE_PYTHON="$(usex python)"
|
||||
-DCMAKE_INSTALL_DOCDIR="/usr/share/doc/${PF}"
|
||||
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
|
||||
-DBUILD_DEBUG="$(usex debug)"
|
||||
-DUSE_PYTHON27_COMPONENT=yes
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
|
||||
use doc && cmake-utils_src_make doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
|
||||
use emacs && elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
|
||||
einfo
|
||||
einfo "Since version 3, vim support is released separately."
|
||||
einfo "See https://github.com/ledger/vim-ledger"
|
||||
einfo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
||||
|
||||
# rainy day TODO:
|
||||
# - IUSE test
|
Binary file not shown.
@ -1,6 +1,5 @@
|
||||
DIST qpdf-7.0.0.tar.gz 7053781 BLAKE2B 1abd54a3cdc24c3e56ac81cabaa56be8d2217961abfc026cbd0c0141aea3efb6c75b9daf2fe9f6fc0f09efd224d241fa859bd37bcd972df4e4837318497d774e SHA512 7b52d67b4d2c428a7b0c1cd03b03a23f05d38d7e3c81041079a137919019ea5158f12bf95fdcfcff6b43ffdefe93a85127ced2a363a6b4b380cbaa02a3840256
|
||||
DIST qpdf-7.1.1.tar.gz 7099282 BLAKE2B 9658dd1cc6f8d0e3dd13137db147e0f954f747b5bb6b1577f70a236b1f67c5513713889dca77181a9b25f1a2054a8ec5cbfda60866e97b2d43e60b494752c9fd SHA512 a75f988c7dd7ac174bdc981cd3696ca8b539ac6c581e3afecf601dc67277014cb4fe3f0e5cb75a67412cafa4eb645b2fc2d8a0ec203834464baf0c7e80baa0b4
|
||||
DIST qpdf-8.0.2.tar.gz 7952979 BLAKE2B a9c81f41d6b5e3e9f80dab8325fffbedb8740ae500efbf4f4d2c27aca1778b1e2c438b7aba7846bd62874e2ff4265bb50b3b3d3d32302fb3e4583ba0251bf8f4 SHA512 f6d062f011d87f3f1df44e96e5dec0cd4b1b5f800dc6c088bf1313b2c96922d2f3c1b6eb1109a6ef00c558144b85dc20aeb85f937b73a3b594633aa67104f5e3
|
||||
DIST qpdf-8.1.0.tar.gz 8243624 BLAKE2B 6db64282353bedca91225f2f5a9bc2a568872209d9c6b392374412e561bcb37d8e17223ecb34b332ebc7a83aa826bf2e85fbb0b3eeee3f055b24f343a26eed9d SHA512 1831bcaaed87dae268db5d61805d1483ec5c101f6ce594be660664c119597ae67cf011c2b50092964d785a814d5f6c780935127a89401fe37a1026ae4d3af15c
|
||||
DIST qpdf-8.2.1.tar.gz 8256216 BLAKE2B 67e9b897ed938b9dd2e8508efaddd4dd6f63568aa23332ef72918a0888cc1e1b8fe844f0c1424b8ab568ee5ce42f8efd04293cd525e9d8de0c5fe7b352f49367 SHA512 ef3aeb4a7ca3ec48ab62341533eedcb2a6d0985767317ab72c22f0c0ecfef6849bfdc34b1bcec6427c7bde166143adb409c895ff40d8be6628e6323e27697a8c
|
||||
DIST qpdf-8.3.0.tar.gz 8915504 BLAKE2B 961e6534a389f2f42ce86f5f7cab9534bdda32c998622cd7fcf1f2d62cf42444f8a3dc7d1582e691b81b9571d5578ad78e278136ac6ace23a31113fe177ba34e SHA512 9982a489cc6b9c880adc7decb18f1941930a86f430a00505f230364fbadf83c5afd832a1ccf7966a9453cdbb40b7c60db438f7b27d836a242eefb07a77d7284d
|
||||
DIST qpdf-8.4.0.tar.gz 16981811 BLAKE2B ac0f7b6ab0ca5b421229bf3813cba6b59cc5b7472080246b1384db468e14a4e634f00e1e9e9347e2f8ac8d7e5c15c1b1c18e954f4249298e5ee4778f996fc4ee SHA512 13225c6285311e8fe89970971b082b9613e70d474ee71dd5572f1ae268234d366c2c9c7bf427c4758a746a1a27ecc0127d31044ab501dbc08885c8aa0a514028
|
||||
|
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Command-line tool for structural, content-preserving transformation of PDF files"
|
||||
HOMEPAGE="http://qpdf.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/qpdf/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 Artistic-2 )"
|
||||
|
||||
# subslot = libqpdf soname version
|
||||
SLOT="0/21"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint ~sparc-solaris"
|
||||
IUSE="doc examples perl static-libs test"
|
||||
|
||||
CDEPEND="
|
||||
sys-libs/zlib
|
||||
virtual/jpeg:0=
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
test? (
|
||||
sys-apps/diffutils
|
||||
media-libs/tiff
|
||||
app-text/ghostscript-gpl[tiff]
|
||||
)
|
||||
"
|
||||
# Only need perl for the installed tools.
|
||||
RDEPEND="${CDEPEND}
|
||||
perl? ( >=dev-lang/perl-5.8 )
|
||||
"
|
||||
|
||||
DOCS=( ChangeLog README.md TODO )
|
||||
|
||||
src_configure() {
|
||||
CONFIG_SHELL=/bin/bash econf \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable test test-compare-images)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if ! use perl ; then
|
||||
rm "${ED%/}"/usr/bin/fix-qdf || die
|
||||
rm "${ED%/}"/usr/share/man/man1/fix-qdf.1 || die
|
||||
fi
|
||||
|
||||
if use examples ; then
|
||||
dobin examples/build/.libs/*
|
||||
fi
|
||||
|
||||
find "${ED}" -name '*.la' -exec rm -f {} +
|
||||
}
|
Binary file not shown.
@ -0,0 +1,848 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
MY_EXTRAS_VER="20180809-1700Z"
|
||||
SUBSLOT="18"
|
||||
|
||||
JAVA_PKG_OPT_USE="jdbc"
|
||||
|
||||
# Keeping eutils in EAPI=6 for emktemp in pkg_config
|
||||
|
||||
inherit eutils flag-o-matic prefix toolchain-funcs java-pkg-opt-2 user cmake-utils multilib-build
|
||||
|
||||
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
|
||||
|
||||
# Gentoo patches to MySQL
|
||||
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
|
||||
SRC_URI="${SRC_URI}
|
||||
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
|
||||
fi
|
||||
|
||||
HOMEPAGE="https://mariadb.org/"
|
||||
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/${SUBSLOT:-0}"
|
||||
IUSE="bindist client-libs debug extraengine jdbc jemalloc latin1 libressl
|
||||
numa odbc oqgraph pam +perl profiling selinux +server sphinx
|
||||
static static-libs 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 )"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# Shorten the path because the socket path length must be shorter than 107 chars
|
||||
# and we will run a mysql server during test phase
|
||||
S="${WORKDIR}/mysql"
|
||||
|
||||
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
|
||||
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
|
||||
EGIT_CLONE_TYPE=shallow
|
||||
else
|
||||
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
|
||||
"${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-10.0.33.patch"
|
||||
"${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
|
||||
"${MY_PATCH_DIR}/20018_all_mariadb-10.0.20-without-clientlibs-tools.patch"
|
||||
)
|
||||
|
||||
# Be warned, *DEPEND are version-dependant
|
||||
# These are used for both runtime and compiletime
|
||||
COMMON_DEPEND="
|
||||
kernel_linux? (
|
||||
sys-process/procps:0=
|
||||
dev-libs/libaio:0=
|
||||
)
|
||||
>=sys-apps/sed-4
|
||||
>=sys-apps/texinfo-4.7-r1
|
||||
jemalloc? ( dev-libs/jemalloc:0= )
|
||||
tcmalloc? ( dev-util/google-perftools:0= )
|
||||
systemtap? ( >=dev-util/systemtap-1.3:0= )
|
||||
!yassl? (
|
||||
!libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
>=sys-libs/zlib-1.2.3:0=
|
||||
sys-libs/ncurses:0=
|
||||
!bindist? (
|
||||
>=sys-libs/readline-4.1:0=
|
||||
)
|
||||
server? (
|
||||
extraengine? (
|
||||
odbc? ( dev-db/unixODBC:0= )
|
||||
xml? ( dev-libs/libxml2:2= )
|
||||
)
|
||||
numa? ( sys-process/numactl )
|
||||
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
|
||||
pam? ( virtual/pam:0= )
|
||||
tokudb? ( app-arch/snappy )
|
||||
)
|
||||
>=dev-libs/libpcre-8.41-r1:3=
|
||||
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
|
||||
"
|
||||
DEPEND="virtual/yacc
|
||||
static? ( sys-libs/ncurses[static-libs] )
|
||||
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="selinux? ( sec-policy/selinux-mysql )
|
||||
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
|
||||
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
|
||||
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
|
||||
${COMMON_DEPEND}
|
||||
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
|
||||
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
local GCC_MAJOR_SET=$(gcc-major-version)
|
||||
local GCC_MINOR_SET=$(gcc-minor-version)
|
||||
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
|
||||
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
|
||||
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
|
||||
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
|
||||
die
|
||||
fi
|
||||
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
|
||||
# non x86{,_64} arches
|
||||
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
|
||||
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
|
||||
eerror "${PN} needs to be built with gcc-4.7 or later."
|
||||
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
|
||||
die
|
||||
fi
|
||||
fi
|
||||
java-pkg-opt-2_pkg_setup
|
||||
if has test ${FEATURES} && \
|
||||
use server && ! has userpriv ${FEATURES} ; then
|
||||
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
|
||||
# This should come after all of the die statements
|
||||
enewgroup mysql 60 || die "problem adding 'mysql' group"
|
||||
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
java-pkg-opt-2_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
# Create log directory securely if it does not exist
|
||||
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
|
||||
|
||||
if use server ; then
|
||||
if use pam; then
|
||||
einfo
|
||||
elog "This install includes the PAM authentication plugin."
|
||||
elog "To activate and configure the PAM plugin, please read:"
|
||||
elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
|
||||
einfo
|
||||
fi
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
|
||||
einfo
|
||||
elog "You might want to run:"
|
||||
elog "\"emerge --config =${CATEGORY}/${PF}\""
|
||||
elog "if this is a new install."
|
||||
elog
|
||||
elog "If you are switching server implentations, you should run the"
|
||||
elog "mysql_upgrade tool."
|
||||
einfo
|
||||
else
|
||||
einfo
|
||||
elog "If you are upgrading major versions, you should run the"
|
||||
elog "mysql_upgrade tool."
|
||||
einfo
|
||||
fi
|
||||
|
||||
einfo
|
||||
elog "Be sure to edit the my.cnf file to activate your cluster settings."
|
||||
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
|
||||
elog "The first time the cluster is activated, you should add"
|
||||
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
|
||||
elog "This option should then be removed for subsequent starts."
|
||||
einfo
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
# Grab the patches
|
||||
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
|
||||
|
||||
mv -f "${WORKDIR%/}/${P}" "${S}" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
_disable_engine() {
|
||||
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
|
||||
}
|
||||
|
||||
_disable_plugin() {
|
||||
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
|
||||
}
|
||||
|
||||
if use tcmalloc; then
|
||||
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
|
||||
fi
|
||||
|
||||
# Don't build bundled xz-utils for tokudb
|
||||
echo > "${S%/}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
|
||||
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S%/}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
|
||||
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
|
||||
|
||||
local plugin
|
||||
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
|
||||
locale_info qc_info server_audit semisync sql_errlog )
|
||||
local test_plugins=( audit_null auth_examples daemon_example fulltext )
|
||||
if ! use server; then # These plugins are for the server
|
||||
for plugin in "${server_plugins[@]}" ; do
|
||||
_disable_plugin "${plugin}"
|
||||
done
|
||||
fi
|
||||
|
||||
if ! use test; then # These plugins are only used during testing
|
||||
for plugin in "${test_plugins[@]}" ; do
|
||||
_disable_plugin "${plugin}"
|
||||
done
|
||||
fi
|
||||
|
||||
# Collides with mariadb-connector-c bug 655980
|
||||
_disable_plugin auth_dialog
|
||||
|
||||
# Don't build Mroonga or example
|
||||
_disable_engine mroonga
|
||||
_disable_engine example
|
||||
|
||||
if ! use oqgraph ; then # avoids extra library checks
|
||||
_disable_engine oqgraph
|
||||
fi
|
||||
|
||||
cmake-utils_src_prepare
|
||||
java-pkg-opt-2_src_prepare
|
||||
}
|
||||
|
||||
src_configure(){
|
||||
# bug 508724 mariadb cannot use ld.gold
|
||||
tc-ld-disable-gold
|
||||
# Bug #114895, bug #110149
|
||||
filter-flags "-O" "-O[01]"
|
||||
|
||||
append-cxxflags -felide-constructors
|
||||
|
||||
# bug #283926, with GCC4.4, this is required to get correct behavior.
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||
|
||||
# debug hack wrt #497532
|
||||
mycmakeargs=(
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
|
||||
-DDEFAULT_SYSCONFDIR="${EPREFIX%/}/etc/mysql"
|
||||
-DINSTALL_BINDIR=bin
|
||||
-DINSTALL_DOCDIR=share/doc/${PF}
|
||||
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
|
||||
-DINSTALL_INCLUDEDIR=include/mysql
|
||||
-DINSTALL_INFODIR=share/info
|
||||
-DINSTALL_LIBDIR=$(get_libdir)
|
||||
-DINSTALL_MANDIR=share/man
|
||||
-DINSTALL_MYSQLSHAREDIR=share/mariadb
|
||||
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
|
||||
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
|
||||
-DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
|
||||
-DINSTALL_SBINDIR=sbin
|
||||
-DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mariadb"
|
||||
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
|
||||
-DWITH_UNIT_TESTS=$(usex test ON OFF)
|
||||
-DWITH_ZLIB=system
|
||||
-DENABLED_LOCAL_INFILE=1
|
||||
-DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
|
||||
-DINSTALL_UNIX_ADDRDIR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
|
||||
# The build forces this to be defined when cross-compiling. We pass it
|
||||
# all the time for simplicity and to make sure it is actually correct.
|
||||
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
|
||||
-DWITHOUT_CLIENTLIBS=YES
|
||||
-DWITH_READLINE=$(usex bindist 1 0)
|
||||
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
|
||||
-DENABLE_DTRACE=$(usex systemtap)
|
||||
)
|
||||
if use test ; then
|
||||
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
|
||||
else
|
||||
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
|
||||
fi
|
||||
|
||||
if ! use yassl ; then
|
||||
mycmakeargs+=( -DWITH_SSL=system )
|
||||
else
|
||||
mycmakeargs+=( -DWITH_SSL=bundled )
|
||||
fi
|
||||
|
||||
if use server ; then
|
||||
|
||||
# Federated{,X} must be treated special otherwise they will not be built as plugins
|
||||
if ! use extraengine ; then
|
||||
mycmakeargs+=(
|
||||
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
|
||||
-DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 )
|
||||
fi
|
||||
|
||||
mycmakeargs+=(
|
||||
-DWITH_JEMALLOC=$(usex jemalloc system)
|
||||
-DWITH_PCRE=system
|
||||
-D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1
|
||||
-D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1
|
||||
-D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1
|
||||
-D$(usex extraengine WITH WITHOUT)_SEQUENCE_STORAGE_ENGINE=1
|
||||
-D$(usex extraengine WITH WITHOUT)_SPIDER_STORAGE_ENGINE=1
|
||||
-D$(usex extraengine WITH WITHOUT)_CONNECT_STORAGE_ENGINE=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
|
||||
-DINSTALL_SQLBENCHDIR=share/mariadb
|
||||
)
|
||||
|
||||
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
|
||||
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
|
||||
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
|
||||
ewarn "You MUST file bugs without these variables set."
|
||||
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
|
||||
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
|
||||
)
|
||||
|
||||
elif ! use latin1 ; then
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=utf8
|
||||
-DDEFAULT_COLLATION=utf8_general_ci
|
||||
)
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=latin1
|
||||
-DDEFAULT_COLLATION=latin1_swedish_ci
|
||||
)
|
||||
fi
|
||||
mycmakeargs+=(
|
||||
-DEXTRA_CHARSETS=all
|
||||
-DDISABLE_SHARED=$(usex static YES NO)
|
||||
-DWITH_EMBEDDED_SERVER=OFF
|
||||
-DENABLED_PROFILING=$(usex profiling)
|
||||
)
|
||||
|
||||
if use static; then
|
||||
mycmakeargs+=( -DWITH_PIC=1 )
|
||||
fi
|
||||
|
||||
if use jemalloc || use tcmalloc ; then
|
||||
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
|
||||
fi
|
||||
|
||||
# Storage engines
|
||||
mycmakeargs+=(
|
||||
-DWITH_ARCHIVE_STORAGE_ENGINE=1
|
||||
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
|
||||
-DWITH_CSV_STORAGE_ENGINE=1
|
||||
-DWITH_HEAP_STORAGE_ENGINE=1
|
||||
-DWITH_INNOBASE_STORAGE_ENGINE=1
|
||||
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
|
||||
-DWITH_MYISAM_STORAGE_ENGINE=1
|
||||
-DWITH_PARTITION_STORAGE_ENGINE=1
|
||||
)
|
||||
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DWITHOUT_SERVER=1
|
||||
-DEXTRA_CHARSETS=none
|
||||
-DINSTALL_SQLBENCHDIR=
|
||||
)
|
||||
fi
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
|
||||
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
|
||||
if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then
|
||||
rm "${ED%/}/usr/include/mysql/server/private/config.h" || die
|
||||
fi
|
||||
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
# Convenience links
|
||||
einfo "Making Convenience links for mysqlcheck multi-call binary"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
|
||||
|
||||
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
|
||||
if [[ -d "${ED%/}/usr/data" ]] ; then
|
||||
rm -Rf "${ED%/}/usr/data" || die
|
||||
fi
|
||||
|
||||
# Unless they explicitly specific USE=test, then do not install the
|
||||
# testsuite. It DOES have a use to be installed, esp. when you want to do a
|
||||
# validation of your database configuration after tuning it.
|
||||
if ! use test ; then
|
||||
rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test"
|
||||
fi
|
||||
|
||||
# Configuration stuff
|
||||
einfo "Building default configuration ..."
|
||||
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
|
||||
[[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
|
||||
local mycnf_src="my.cnf-5.6-r1"
|
||||
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
|
||||
"${FILESDIR%/}/${mycnf_src}" \
|
||||
> "${TMPDIR%/}/my.cnf.ok" || die
|
||||
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
|
||||
if use latin1 ; then
|
||||
sed -i \
|
||||
-e "/character-set/s|utf8|latin1|g" \
|
||||
"${TMPDIR%/}/my.cnf.ok" || die
|
||||
fi
|
||||
eprefixify "${TMPDIR%/}/my.cnf.ok"
|
||||
newins "${TMPDIR}/my.cnf.ok" my.cnf
|
||||
|
||||
if use server ; then
|
||||
einfo "Including support files and sample configurations"
|
||||
docinto "support-files"
|
||||
local script
|
||||
for script in \
|
||||
"${S%/}"/support-files/magic
|
||||
do
|
||||
[[ -f "$script" ]] && dodoc "${script}"
|
||||
done
|
||||
|
||||
docinto "scripts"
|
||||
for script in "${S%/}"/scripts/mysql* ; do
|
||||
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
|
||||
done
|
||||
# Manually install supporting files that conflict with other packages
|
||||
# but are needed for galera and initial installation
|
||||
exeinto /usr/libexec/mariadb
|
||||
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
|
||||
fi
|
||||
|
||||
#Remove mytop if perl is not selected
|
||||
[[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='extraengine perl server' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mariadb-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
src_test() {
|
||||
|
||||
_disable_test() {
|
||||
local rawtestname reason
|
||||
rawtestname="${1}" ; shift
|
||||
reason="${@}"
|
||||
ewarn "test '${rawtestname}' disabled: '${reason}'"
|
||||
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
|
||||
}
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
if ! use server ; then
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might run out of order
|
||||
mkdir -p "${T}"/var-tests{,/log} || die
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}" > /dev/null || die
|
||||
|
||||
touch "${T}/disabled.def"
|
||||
# These are failing in MariaDB 10.0 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.mysql_client_test, main.mysql_client_test_nonblock
|
||||
# main.mysql_client_test_comp:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
|
||||
local t
|
||||
for t in main.mysql_client_test main.mysql_client_test_nonblock \
|
||||
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam \
|
||||
rpl.rpl_semi_sync_uninstall_plugin ; do
|
||||
_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
if ! use client-libs ; then
|
||||
_disable_test main.plugin_auth "Needs client libraries built"
|
||||
fi
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
|
||||
retstatus_tests=$?
|
||||
|
||||
popd > /dev/null || die
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
local failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
}
|
||||
|
||||
mysql_init_vars() {
|
||||
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
|
||||
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
|
||||
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
|
||||
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
|
||||
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR=""
|
||||
if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
|
||||
MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
|
||||
| sed -ne '/datadir/s|^--datadir=||p' \
|
||||
| tail -n1`
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
|
||||
| sed -e 's/.*=\s*//' \
|
||||
| tail -n1`
|
||||
fi
|
||||
fi
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR="${MY_LOCALSTATEDIR}"
|
||||
einfo "Using default MY_DATADIR"
|
||||
fi
|
||||
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
|
||||
|
||||
if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
|
||||
if [[ -e "${MY_DATADIR}" ]] ; then
|
||||
# If you get this and you're wondering about it, see bug #207636
|
||||
elog "MySQL datadir found in ${MY_DATADIR}"
|
||||
elog "A new one will not be created."
|
||||
PREVIOUS_DATADIR="yes"
|
||||
else
|
||||
PREVIOUS_DATADIR="no"
|
||||
fi
|
||||
export PREVIOUS_DATADIR
|
||||
fi
|
||||
else
|
||||
if [[ ${EBUILD_PHASE} == "config" ]]; then
|
||||
local new_MY_DATADIR
|
||||
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
|
||||
| sed -ne '/datadir/s|^--datadir=||p' \
|
||||
| tail -n1`
|
||||
|
||||
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
|
||||
ewarn "MySQL MY_DATADIR has changed"
|
||||
ewarn "from ${MY_DATADIR}"
|
||||
ewarn "to ${new_MY_DATADIR}"
|
||||
MY_DATADIR="${new_MY_DATADIR}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
|
||||
export MY_LOCALSTATEDIR MY_LOGDIR
|
||||
export MY_DATADIR
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
_getoptval() {
|
||||
local mypd="${EROOT}"/usr/bin/my_print_defaults
|
||||
local section="$1"
|
||||
local flag="--${2}="
|
||||
local extra_options="${3}"
|
||||
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
|
||||
}
|
||||
local old_MY_DATADIR="${MY_DATADIR}"
|
||||
local old_HOME="${HOME}"
|
||||
# my_print_defaults needs to read stuff in $HOME/.my.cnf
|
||||
export HOME=${EPREFIX}/root
|
||||
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
|
||||
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
|
||||
die "Minimal builds do NOT include the MySQL server"
|
||||
fi
|
||||
|
||||
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
|
||||
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
|
||||
MY_DATADIR_s="${MY_DATADIR_s%%/}"
|
||||
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
|
||||
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
|
||||
|
||||
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
|
||||
if [[ -d "${MY_DATADIR_s}" ]]; then
|
||||
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
|
||||
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
|
||||
else
|
||||
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
|
||||
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|
||||
|| die "Moving MY_DATADIR failed"
|
||||
fi
|
||||
else
|
||||
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
|
||||
if [[ -d "${MY_DATADIR_s}" ]]; then
|
||||
ewarn "Attempting to use ${MY_DATADIR_s}"
|
||||
else
|
||||
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
|
||||
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
local pwd1="a"
|
||||
local pwd2="b"
|
||||
local maxtry=15
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
local tmp_mysqld_password_source=
|
||||
|
||||
for tmp_mysqld_password_source in mysql client; do
|
||||
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
|
||||
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
|
||||
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
|
||||
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
|
||||
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
|
||||
MYSQL_ROOT_PASSWORD=
|
||||
continue
|
||||
fi
|
||||
|
||||
einfo "Found password in '${tmp_mysqld_password_source}' section!"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
|
||||
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
|
||||
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
|
||||
fi
|
||||
|
||||
unset tmp_mysqld_password_source
|
||||
fi
|
||||
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
|
||||
# These are dir+prefix
|
||||
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
|
||||
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
|
||||
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
|
||||
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
|
||||
|
||||
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
|
||||
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
|
||||
fi
|
||||
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
|
||||
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
|
||||
fi
|
||||
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
|
||||
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
|
||||
fi
|
||||
|
||||
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
|
||||
ewarn "You have already a MySQL database in place."
|
||||
ewarn "(${ROOT}/${MY_DATADIR}/*)"
|
||||
ewarn "Please rename or delete it if you wish to replace it."
|
||||
die "MySQL database already exists!"
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
|
||||
einfo "Please provide a password for the mysql 'root' user now"
|
||||
einfo "or through the ${HOME}/.my.cnf file."
|
||||
ewarn "Avoid [\"'\\_%] characters in the password"
|
||||
read -rsp " >" pwd1 ; echo
|
||||
|
||||
einfo "Retype the password"
|
||||
read -rsp " >" pwd2 ; echo
|
||||
|
||||
if [[ "x$pwd1" != "x$pwd2" ]] ; then
|
||||
die "Passwords are not the same"
|
||||
fi
|
||||
MYSQL_ROOT_PASSWORD="${pwd1}"
|
||||
unset pwd1 pwd2
|
||||
fi
|
||||
|
||||
local options
|
||||
local sqltmp="$(emktemp)"
|
||||
|
||||
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
|
||||
# see https://bugs.mysql.com/bug.php?id=31312
|
||||
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
|
||||
|
||||
# Figure out which options we need to disable to do the setup
|
||||
local helpfile="${TMPDIR}/mysqld-help"
|
||||
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
|
||||
for opt in grant-tables host-cache name-resolve networking slave-start \
|
||||
federated ssl log-bin relay-log slow-query-log external-locking \
|
||||
log-slave-updates \
|
||||
; do
|
||||
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
|
||||
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
|
||||
done
|
||||
|
||||
einfo "Creating the mysql database and setting proper permissions on it ..."
|
||||
|
||||
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
|
||||
PID_DIR="${EROOT}/var/run/mysqld"
|
||||
if [[ ! -d "${PID_DIR}" ]]; then
|
||||
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
|
||||
fi
|
||||
|
||||
if [[ ! -d "${MY_DATADIR}" ]]; then
|
||||
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
|
||||
fi
|
||||
|
||||
pushd "${TMPDIR}" &>/dev/null || die
|
||||
|
||||
# Filling timezones, see
|
||||
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
|
||||
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
|
||||
|
||||
local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
|
||||
[[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
|
||||
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
|
||||
einfo "Command: ${cmd[*]}"
|
||||
su -s /bin/sh -c "${cmd[*]}" mysql \
|
||||
>"${TMPDIR}"/mysql_install_db.log 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
|
||||
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
|
||||
fi
|
||||
popd &>/dev/null || die
|
||||
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|
||||
|| die "MySQL databases not installed"
|
||||
|
||||
use prefix || options="${options} --user=mysql"
|
||||
|
||||
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
|
||||
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
|
||||
local mysqld="${EROOT}/usr/sbin/mysqld \
|
||||
${options} \
|
||||
--log-warnings=0 \
|
||||
--basedir=${EROOT}/usr \
|
||||
--datadir=${ROOT}/${MY_DATADIR} \
|
||||
--max_allowed_packet=8M \
|
||||
--net_buffer_length=16K \
|
||||
--socket=${socket} \
|
||||
--pid-file=${pidfile} \
|
||||
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
|
||||
#einfo "About to start mysqld: ${mysqld}"
|
||||
ebegin "Starting mysqld"
|
||||
einfo "Command ${mysqld}"
|
||||
${mysqld} &
|
||||
rc=$?
|
||||
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
|
||||
maxtry=$((${maxtry}-1))
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
eend $rc
|
||||
|
||||
if ! [[ -S "${socket}" ]]; then
|
||||
die "Completely failed to start up mysqld with: ${mysqld}"
|
||||
fi
|
||||
|
||||
ebegin "Setting root password"
|
||||
# Do this from memory, as we don't want clear text passwords in temp files
|
||||
local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
|
||||
"${EROOT}/usr/bin/mysql" \
|
||||
"--socket=${socket}" \
|
||||
-hlocalhost \
|
||||
-e "${sql}"
|
||||
eend $?
|
||||
|
||||
if [[ -n "${sqltmp}" ]] ; then
|
||||
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
|
||||
"${EROOT}/usr/bin/mysql" \
|
||||
"--socket=${socket}" \
|
||||
-hlocalhost \
|
||||
-uroot \
|
||||
--password="${MYSQL_ROOT_PASSWORD}" \
|
||||
mysql < "${sqltmp}"
|
||||
rc=$?
|
||||
eend $?
|
||||
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
|
||||
fi
|
||||
|
||||
# Stop the server and cleanup
|
||||
einfo "Stopping the server ..."
|
||||
kill $(< "${pidfile}" )
|
||||
rm -f "${sqltmp}"
|
||||
wait %1
|
||||
einfo "Done"
|
||||
}
|
@ -0,0 +1,887 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
MY_EXTRAS_VER="20181104-2252Z"
|
||||
SUBSLOT="18"
|
||||
|
||||
JAVA_PKG_OPT_USE="jdbc"
|
||||
|
||||
# Keeping eutils in EAPI=6 for emktemp in pkg_config
|
||||
|
||||
inherit eutils systemd flag-o-matic prefix toolchain-funcs java-pkg-opt-2 user cmake-utils multilib-build
|
||||
|
||||
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
|
||||
|
||||
# Gentoo patches to MySQL
|
||||
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
|
||||
SRC_URI="${SRC_URI}
|
||||
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
|
||||
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
|
||||
fi
|
||||
|
||||
HOMEPAGE="https://mariadb.org/"
|
||||
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/${SUBSLOT:-0}"
|
||||
IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos
|
||||
innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam
|
||||
+perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup
|
||||
systemd systemtap static static-libs tcmalloc test tokudb xml yassl"
|
||||
|
||||
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
|
||||
RESTRICT="!bindist? ( bindist ) libressl? ( test )"
|
||||
|
||||
REQUIRED_USE="jdbc? ( extraengine server !static )
|
||||
server? ( tokudb? ( jemalloc !tcmalloc ) )
|
||||
?? ( tcmalloc jemalloc )
|
||||
static? ( yassl !pam )"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# Shorten the path because the socket path length must be shorter than 107 chars
|
||||
# and we will run a mysql server during test phase
|
||||
S="${WORKDIR}/mysql"
|
||||
|
||||
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
|
||||
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
|
||||
EGIT_CLONE_TYPE=shallow
|
||||
else
|
||||
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch
|
||||
"${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch
|
||||
"${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
|
||||
"${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch
|
||||
"${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch
|
||||
"${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch
|
||||
"${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch
|
||||
)
|
||||
|
||||
# Be warned, *DEPEND are version-dependant
|
||||
# These are used for both runtime and compiletime
|
||||
COMMON_DEPEND="
|
||||
kernel_linux? (
|
||||
sys-process/procps:0=
|
||||
dev-libs/libaio:0=
|
||||
)
|
||||
>=sys-apps/sed-4
|
||||
>=sys-apps/texinfo-4.7-r1
|
||||
jemalloc? ( dev-libs/jemalloc:0= )
|
||||
tcmalloc? ( dev-util/google-perftools:0= )
|
||||
systemtap? ( >=dev-util/systemtap-1.3:0= )
|
||||
!yassl? (
|
||||
!libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
>=sys-libs/zlib-1.2.3:0=
|
||||
sys-libs/ncurses:0=
|
||||
!bindist? (
|
||||
sys-libs/binutils-libs:0=
|
||||
>=sys-libs/readline-4.1:0=
|
||||
)
|
||||
server? (
|
||||
backup? ( app-arch/libarchive:0= )
|
||||
cracklib? ( sys-libs/cracklib:0= )
|
||||
extraengine? (
|
||||
odbc? ( dev-db/unixODBC:0= )
|
||||
xml? ( dev-libs/libxml2:2= )
|
||||
sys-libs/zlib[minizip]
|
||||
)
|
||||
innodb-lz4? ( app-arch/lz4 )
|
||||
innodb-lzo? ( dev-libs/lzo )
|
||||
innodb-snappy? ( app-arch/snappy )
|
||||
kerberos? ( virtual/krb5 )
|
||||
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
|
||||
numa? ( sys-process/numactl )
|
||||
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
|
||||
pam? ( virtual/pam:0= )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
tokudb? ( app-arch/snappy )
|
||||
)
|
||||
!yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) )
|
||||
>=dev-libs/libpcre-8.41-r1:3=
|
||||
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
|
||||
"
|
||||
DEPEND="virtual/yacc
|
||||
static? ( sys-libs/ncurses[static-libs] )
|
||||
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="selinux? ( sec-policy/selinux-mysql )
|
||||
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
|
||||
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
|
||||
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
|
||||
${COMMON_DEPEND}
|
||||
server? ( galera? (
|
||||
sys-apps/iproute2
|
||||
=sys-cluster/galera-25*
|
||||
sst-rsync? ( sys-process/lsof )
|
||||
sst-mariabackup? ( net-misc/socat[ssl] )
|
||||
sst-xtrabackup? ( net-misc/socat[ssl] )
|
||||
) )
|
||||
perl? ( !dev-db/mytop
|
||||
virtual/perl-Getopt-Long
|
||||
dev-perl/TermReadKey
|
||||
virtual/perl-Term-ANSIColor
|
||||
virtual/perl-Time-HiRes )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
|
||||
"
|
||||
# For other stuff to bring us in
|
||||
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
|
||||
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
|
||||
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
|
||||
server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
local GCC_MAJOR_SET=$(gcc-major-version)
|
||||
local GCC_MINOR_SET=$(gcc-minor-version)
|
||||
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
|
||||
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
|
||||
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
|
||||
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
|
||||
die
|
||||
fi
|
||||
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
|
||||
# non x86{,_64} arches
|
||||
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
|
||||
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
|
||||
eerror "${PN} needs to be built with gcc-4.7 or later."
|
||||
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
|
||||
die
|
||||
fi
|
||||
fi
|
||||
java-pkg-opt-2_pkg_setup
|
||||
if has test ${FEATURES} && \
|
||||
use server && ! has userpriv ${FEATURES} ; then
|
||||
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
|
||||
# This should come after all of the die statements
|
||||
enewgroup mysql 60 || die "problem adding 'mysql' group"
|
||||
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
java-pkg-opt-2_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
# Create log directory securely if it does not exist
|
||||
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
|
||||
|
||||
if use server ; then
|
||||
if use pam; then
|
||||
einfo
|
||||
elog "This install includes the PAM authentication plugin."
|
||||
elog "To activate and configure the PAM plugin, please read:"
|
||||
elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
|
||||
einfo
|
||||
fi
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
|
||||
einfo
|
||||
elog "You might want to run:"
|
||||
elog "\"emerge --config =${CATEGORY}/${PF}\""
|
||||
elog "if this is a new install."
|
||||
elog
|
||||
elog "If you are switching server implentations, you should run the"
|
||||
elog "mysql_upgrade tool."
|
||||
einfo
|
||||
else
|
||||
einfo
|
||||
elog "If you are upgrading major versions, you should run the"
|
||||
elog "mysql_upgrade tool."
|
||||
einfo
|
||||
fi
|
||||
|
||||
einfo
|
||||
elog "Be sure to edit the my.cnf file to activate your cluster settings."
|
||||
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
|
||||
elog "The first time the cluster is activated, you should add"
|
||||
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
|
||||
elog "This option should then be removed for subsequent starts."
|
||||
einfo
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
# Grab the patches
|
||||
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
|
||||
|
||||
mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
_disable_engine() {
|
||||
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
|
||||
}
|
||||
|
||||
_disable_plugin() {
|
||||
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
|
||||
}
|
||||
|
||||
if use tcmalloc; then
|
||||
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
|
||||
fi
|
||||
|
||||
# Don't build bundled xz-utils for tokudb
|
||||
echo > "${S%/}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
|
||||
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S%/}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
|
||||
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
|
||||
|
||||
local plugin
|
||||
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
|
||||
locale_info qc_info server_audit semisync sql_errlog )
|
||||
local test_plugins=( audit_null auth_examples daemon_example fulltext )
|
||||
if ! use server; then # These plugins are for the server
|
||||
for plugin in "${server_plugins[@]}" ; do
|
||||
_disable_plugin "${plugin}"
|
||||
done
|
||||
fi
|
||||
|
||||
if ! use test; then # These plugins are only used during testing
|
||||
for plugin in "${test_plugins[@]}" ; do
|
||||
_disable_plugin "${plugin}"
|
||||
done
|
||||
fi
|
||||
|
||||
# Collides with mariadb-connector-c bug 655980
|
||||
_disable_plugin auth_dialog
|
||||
|
||||
# Avoid useless library checks
|
||||
use mroonga || _disable_engine mroonga
|
||||
use oqgraph || _disable_engine oqgraph
|
||||
_disable_engine example
|
||||
|
||||
cmake-utils_src_prepare
|
||||
java-pkg-opt-2_src_prepare
|
||||
}
|
||||
|
||||
src_configure(){
|
||||
# bug 508724 mariadb cannot use ld.gold
|
||||
tc-ld-disable-gold
|
||||
# Bug #114895, bug #110149
|
||||
filter-flags "-O" "-O[01]"
|
||||
|
||||
append-cxxflags -felide-constructors
|
||||
|
||||
# bug #283926, with GCC4.4, this is required to get correct behavior.
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||
|
||||
# debug hack wrt #497532
|
||||
mycmakeargs=(
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
|
||||
-DDEFAULT_SYSCONFDIR="${EPREFIX%/}/etc/mysql"
|
||||
-DINSTALL_BINDIR=bin
|
||||
-DINSTALL_DOCDIR=share/doc/${PF}
|
||||
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
|
||||
-DINSTALL_INCLUDEDIR=include/mysql
|
||||
-DINSTALL_INFODIR=share/info
|
||||
-DINSTALL_LIBDIR=$(get_libdir)
|
||||
-DINSTALL_MANDIR=share/man
|
||||
-DINSTALL_MYSQLSHAREDIR=share/mariadb
|
||||
-DINSTALL_MYSQLTESTDIR=$(usex test 'share/mariadb/mysql-test' '')
|
||||
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
|
||||
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
|
||||
-DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
|
||||
-DINSTALL_SBINDIR=sbin
|
||||
-DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mariadb"
|
||||
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
|
||||
-DWITH_UNIT_TESTS=$(usex test ON OFF)
|
||||
-DWITH_ZLIB=system
|
||||
-DENABLED_LOCAL_INFILE=1
|
||||
-DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
|
||||
-DINSTALL_UNIX_ADDRDIR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
|
||||
-DWITH_DEFAULT_COMPILER_OPTIONS=0
|
||||
-DWITH_DEFAULT_FEATURE_SET=0
|
||||
-DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
|
||||
# The build forces this to be defined when cross-compiling. We pass it
|
||||
# all the time for simplicity and to make sure it is actually correct.
|
||||
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
|
||||
-DWITHOUT_CLIENTLIBS=YES
|
||||
-DWITH_READLINE=$(usex bindist 1 0)
|
||||
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
|
||||
-DENABLE_DTRACE=$(usex systemtap)
|
||||
-DWITH_SSL=$(usex yassl bundled system)
|
||||
)
|
||||
|
||||
if use server ; then
|
||||
|
||||
# Federated{,X} must be treated special otherwise they will not be built as plugins
|
||||
if ! use extraengine ; then
|
||||
mycmakeargs+=(
|
||||
-DPLUGIN_FEDERATED=NO
|
||||
-DPLUGIN_FEDERATEDX=NO )
|
||||
fi
|
||||
|
||||
mycmakeargs+=(
|
||||
-DWITH_JEMALLOC=$(usex jemalloc system)
|
||||
-DWITH_PCRE=system
|
||||
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
|
||||
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
|
||||
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
|
||||
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
|
||||
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
|
||||
-DPLUGIN_CASSANDRA=NO
|
||||
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
|
||||
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
|
||||
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
|
||||
-DCONNECT_WITH_MYSQL=1
|
||||
-DCONNECT_WITH_LIBXML2=$(usex xml)
|
||||
-DCONNECT_WITH_ODBC=$(usex odbc)
|
||||
-DCONNECT_WITH_JDBC=$(usex jdbc)
|
||||
# Build failure and autodep wrt bug 639144
|
||||
-DCONNECT_WITH_MONGO=OFF
|
||||
-DWITH_WSREP=$(usex galera)
|
||||
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
|
||||
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
|
||||
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
|
||||
-DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
|
||||
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
|
||||
-DPLUGIN_AUTH_GSSAPI_CLIENT=NO
|
||||
-DWITH_MARIABACKUP=$(usex backup ON OFF)
|
||||
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
|
||||
-DWITH_SYSTEMD=$(usex systemd yes no)
|
||||
-DWITH_NUMA=$(usex numa ON OFF)
|
||||
-DINSTALL_SQLBENCHDIR=''
|
||||
)
|
||||
|
||||
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
|
||||
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
|
||||
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
|
||||
ewarn "You MUST file bugs without these variables set."
|
||||
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
|
||||
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
|
||||
)
|
||||
|
||||
elif ! use latin1 ; then
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=utf8
|
||||
-DDEFAULT_COLLATION=utf8_general_ci
|
||||
)
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DDEFAULT_CHARSET=latin1
|
||||
-DDEFAULT_COLLATION=latin1_swedish_ci
|
||||
)
|
||||
fi
|
||||
mycmakeargs+=(
|
||||
-DEXTRA_CHARSETS=all
|
||||
-DMYSQL_USER=mysql
|
||||
-DDISABLE_SHARED=$(usex static YES NO)
|
||||
-DWITH_DEBUG=$(usex debug)
|
||||
-DWITH_EMBEDDED_SERVER=OFF
|
||||
-DENABLED_PROFILING=$(usex profiling)
|
||||
)
|
||||
|
||||
if use static; then
|
||||
mycmakeargs+=( -DWITH_PIC=1 )
|
||||
fi
|
||||
|
||||
if use jemalloc || use tcmalloc ; then
|
||||
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
|
||||
fi
|
||||
|
||||
# Storage engines
|
||||
mycmakeargs+=(
|
||||
-DWITH_ARCHIVE_STORAGE_ENGINE=1
|
||||
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
|
||||
-DWITH_CSV_STORAGE_ENGINE=1
|
||||
-DWITH_HEAP_STORAGE_ENGINE=1
|
||||
-DWITH_INNOBASE_STORAGE_ENGINE=1
|
||||
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
|
||||
-DWITH_MYISAM_STORAGE_ENGINE=1
|
||||
-DWITH_PARTITION_STORAGE_ENGINE=1
|
||||
)
|
||||
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DWITHOUT_SERVER=1
|
||||
-DWITH_EMBEDDED_SERVER=OFF
|
||||
-DEXTRA_CHARSETS=none
|
||||
-DINSTALL_SQLBENCHDIR=
|
||||
-DWITH_SYSTEMD=no
|
||||
)
|
||||
fi
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
|
||||
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
|
||||
if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
|
||||
rm "${ED}/usr/include/mysql/server/private/config.h" || die
|
||||
fi
|
||||
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
# Convenience links
|
||||
einfo "Making Convenience links for mysqlcheck multi-call binary"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
|
||||
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
|
||||
|
||||
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
|
||||
if [[ -d "${ED}/usr/data" ]] ; then
|
||||
rm -Rf "${ED}/usr/data" || die
|
||||
fi
|
||||
|
||||
# Unless they explicitly specific USE=test, then do not install the
|
||||
# testsuite. It DOES have a use to be installed, esp. when you want to do a
|
||||
# validation of your database configuration after tuning it.
|
||||
if ! use test ; then
|
||||
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
|
||||
fi
|
||||
|
||||
# Configuration stuff
|
||||
einfo "Building default configuration ..."
|
||||
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
|
||||
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
|
||||
local mycnf_src="my.cnf-5.6-r1"
|
||||
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
|
||||
"${FILESDIR}/${mycnf_src}" \
|
||||
> "${TMPDIR}/my.cnf.ok" || die
|
||||
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok"
|
||||
if use latin1 ; then
|
||||
sed -i \
|
||||
-e "/character-set/s|utf8|latin1|g" \
|
||||
"${TMPDIR}/my.cnf.ok" || die
|
||||
fi
|
||||
eprefixify "${TMPDIR}/my.cnf.ok"
|
||||
newins "${TMPDIR}/my.cnf.ok" my.cnf
|
||||
|
||||
if use server ; then
|
||||
einfo "Including support files and sample configurations"
|
||||
docinto "support-files"
|
||||
local script
|
||||
for script in \
|
||||
"${S}"/support-files/magic
|
||||
do
|
||||
[[ -f "$script" ]] && dodoc "${script}"
|
||||
done
|
||||
|
||||
docinto "scripts"
|
||||
for script in "${S}"/scripts/mysql* ; do
|
||||
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
|
||||
done
|
||||
# Manually install supporting files that conflict with other packages
|
||||
# but are needed for galera and initial installation
|
||||
exeinto /usr/libexec/mariadb
|
||||
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
|
||||
fi
|
||||
|
||||
#Remove mytop if perl is not selected
|
||||
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='extraengine perl server' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mariadb-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
src_test() {
|
||||
|
||||
_disable_test() {
|
||||
local rawtestname reason
|
||||
rawtestname="${1}" ; shift
|
||||
reason="${@}"
|
||||
ewarn "test '${rawtestname}' disabled: '${reason}'"
|
||||
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
|
||||
}
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
if ! use server ; then
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
|
||||
# Run CTest (test-units)
|
||||
# cmake-utils_src_test
|
||||
# retstatus_unit=$?
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might run out of order
|
||||
mkdir -p "${T}"/var-tests{,/log} || die
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}" > /dev/null || die
|
||||
|
||||
touch "${T}/disabled.def"
|
||||
# These are failing in MariaDB 10.0 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.mysql_client_test, main.mysql_client_test_nonblock
|
||||
# main.mysql_client_test_comp:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
|
||||
local t
|
||||
for t in plugins.cracklib_password_check plugins.two_password_validations ; do
|
||||
_disable_test "$t" "False positive due to varying policies"
|
||||
done
|
||||
|
||||
for t in main.mysql_client_test main.mysql_client_test_nonblock \
|
||||
rpl.rpl_semi_sync_uninstall_plugin \
|
||||
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
|
||||
_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
if ! use client-libs ; then
|
||||
_disable_test main.plugin_auth "Needs client libraries built"
|
||||
fi
|
||||
|
||||
_disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
|
||||
retstatus_tests=$?
|
||||
|
||||
popd > /dev/null || die
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
local failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
}
|
||||
|
||||
mysql_init_vars() {
|
||||
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
|
||||
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
|
||||
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
|
||||
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
|
||||
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR=""
|
||||
if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
|
||||
MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
|
||||
| sed -ne '/datadir/s|^--datadir=||p' \
|
||||
| tail -n1`
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
|
||||
| sed -e 's/.*=\s*//' \
|
||||
| tail -n1`
|
||||
fi
|
||||
fi
|
||||
if [[ -z "${MY_DATADIR}" ]] ; then
|
||||
MY_DATADIR="${MY_LOCALSTATEDIR}"
|
||||
einfo "Using default MY_DATADIR"
|
||||
fi
|
||||
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
|
||||
|
||||
if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
|
||||
if [[ -e "${MY_DATADIR}" ]] ; then
|
||||
# If you get this and you're wondering about it, see bug #207636
|
||||
elog "MySQL datadir found in ${MY_DATADIR}"
|
||||
elog "A new one will not be created."
|
||||
PREVIOUS_DATADIR="yes"
|
||||
else
|
||||
PREVIOUS_DATADIR="no"
|
||||
fi
|
||||
export PREVIOUS_DATADIR
|
||||
fi
|
||||
else
|
||||
if [[ ${EBUILD_PHASE} == "config" ]]; then
|
||||
local new_MY_DATADIR
|
||||
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
|
||||
| sed -ne '/datadir/s|^--datadir=||p' \
|
||||
| tail -n1`
|
||||
|
||||
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
|
||||
ewarn "MySQL MY_DATADIR has changed"
|
||||
ewarn "from ${MY_DATADIR}"
|
||||
ewarn "to ${new_MY_DATADIR}"
|
||||
MY_DATADIR="${new_MY_DATADIR}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
|
||||
export MY_LOCALSTATEDIR MY_LOGDIR
|
||||
export MY_DATADIR
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
_getoptval() {
|
||||
local mypd="${EROOT}"/usr/bin/my_print_defaults
|
||||
local section="$1"
|
||||
local flag="--${2}="
|
||||
local extra_options="${3}"
|
||||
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
|
||||
}
|
||||
local old_MY_DATADIR="${MY_DATADIR}"
|
||||
local old_HOME="${HOME}"
|
||||
# my_print_defaults needs to read stuff in $HOME/.my.cnf
|
||||
export HOME=${EPREFIX}/root
|
||||
|
||||
# Make sure the vars are correctly initialized
|
||||
mysql_init_vars
|
||||
|
||||
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
|
||||
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
|
||||
die "Minimal builds do NOT include the MySQL server"
|
||||
fi
|
||||
|
||||
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
|
||||
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
|
||||
MY_DATADIR_s="${MY_DATADIR_s%%/}"
|
||||
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
|
||||
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
|
||||
|
||||
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
|
||||
if [[ -d "${MY_DATADIR_s}" ]]; then
|
||||
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
|
||||
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
|
||||
else
|
||||
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
|
||||
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|
||||
|| die "Moving MY_DATADIR failed"
|
||||
fi
|
||||
else
|
||||
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
|
||||
if [[ -d "${MY_DATADIR_s}" ]]; then
|
||||
ewarn "Attempting to use ${MY_DATADIR_s}"
|
||||
else
|
||||
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
|
||||
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
local pwd1="a"
|
||||
local pwd2="b"
|
||||
local maxtry=15
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
local tmp_mysqld_password_source=
|
||||
|
||||
for tmp_mysqld_password_source in mysql client; do
|
||||
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
|
||||
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
|
||||
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
|
||||
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
|
||||
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
|
||||
MYSQL_ROOT_PASSWORD=
|
||||
continue
|
||||
fi
|
||||
|
||||
einfo "Found password in '${tmp_mysqld_password_source}' section!"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
|
||||
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
|
||||
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
|
||||
fi
|
||||
|
||||
unset tmp_mysqld_password_source
|
||||
fi
|
||||
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
|
||||
# These are dir+prefix
|
||||
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
|
||||
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
|
||||
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
|
||||
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
|
||||
|
||||
if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
|
||||
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
|
||||
fi
|
||||
if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
|
||||
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
|
||||
fi
|
||||
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
|
||||
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
|
||||
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
|
||||
fi
|
||||
|
||||
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
|
||||
ewarn "You have already a MySQL database in place."
|
||||
ewarn "(${ROOT}/${MY_DATADIR}/*)"
|
||||
ewarn "Please rename or delete it if you wish to replace it."
|
||||
die "MySQL database already exists!"
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
|
||||
einfo "Please provide a password for the mysql 'root' user now"
|
||||
einfo "or through the ${HOME}/.my.cnf file."
|
||||
ewarn "Avoid [\"'\\_%] characters in the password"
|
||||
read -rsp " >" pwd1 ; echo
|
||||
|
||||
einfo "Retype the password"
|
||||
read -rsp " >" pwd2 ; echo
|
||||
|
||||
if [[ "x$pwd1" != "x$pwd2" ]] ; then
|
||||
die "Passwords are not the same"
|
||||
fi
|
||||
MYSQL_ROOT_PASSWORD="${pwd1}"
|
||||
unset pwd1 pwd2
|
||||
fi
|
||||
|
||||
local options
|
||||
local sqltmp="$(emktemp)"
|
||||
|
||||
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
|
||||
# see https://bugs.mysql.com/bug.php?id=31312
|
||||
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
|
||||
|
||||
# Figure out which options we need to disable to do the setup
|
||||
local helpfile="${TMPDIR}/mysqld-help"
|
||||
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
|
||||
for opt in grant-tables host-cache name-resolve networking slave-start \
|
||||
federated ssl log-bin relay-log slow-query-log external-locking \
|
||||
log-slave-updates \
|
||||
; do
|
||||
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
|
||||
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
|
||||
done
|
||||
|
||||
einfo "Creating the mysql database and setting proper permissions on it ..."
|
||||
|
||||
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
|
||||
PID_DIR="${EROOT}/var/run/mysqld"
|
||||
if [[ ! -d "${PID_DIR}" ]]; then
|
||||
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
|
||||
fi
|
||||
|
||||
if [[ ! -d "${MY_DATADIR}" ]]; then
|
||||
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
|
||||
fi
|
||||
|
||||
pushd "${TMPDIR}" &>/dev/null || die
|
||||
|
||||
# Filling timezones, see
|
||||
# https://dev.mysql.com/doc/mysql/en/time-zone-support.html
|
||||
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
|
||||
|
||||
local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
|
||||
[[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
|
||||
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
|
||||
einfo "Command: ${cmd[*]}"
|
||||
su -s /bin/sh -c "${cmd[*]}" mysql \
|
||||
>"${TMPDIR}"/mysql_install_db.log 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
|
||||
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
|
||||
fi
|
||||
popd &>/dev/null || die
|
||||
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|
||||
|| die "MySQL databases not installed"
|
||||
|
||||
use prefix || options="${options} --user=mysql"
|
||||
|
||||
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
|
||||
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
|
||||
local mysqld="${EROOT}/usr/sbin/mysqld \
|
||||
${options} \
|
||||
--log-warnings=0 \
|
||||
--basedir=${EROOT}/usr \
|
||||
--datadir=${ROOT}/${MY_DATADIR} \
|
||||
--max_allowed_packet=8M \
|
||||
--net_buffer_length=16K \
|
||||
--socket=${socket} \
|
||||
--pid-file=${pidfile} \
|
||||
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
|
||||
#einfo "About to start mysqld: ${mysqld}"
|
||||
ebegin "Starting mysqld"
|
||||
einfo "Command ${mysqld}"
|
||||
${mysqld} &
|
||||
rc=$?
|
||||
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
|
||||
maxtry=$((${maxtry}-1))
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
eend $rc
|
||||
|
||||
if ! [[ -S "${socket}" ]]; then
|
||||
die "Completely failed to start up mysqld with: ${mysqld}"
|
||||
fi
|
||||
|
||||
ebegin "Setting root password"
|
||||
# Do this from memory, as we don't want clear text passwords in temp files
|
||||
local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
|
||||
"${EROOT}/usr/bin/mysql" \
|
||||
"--socket=${socket}" \
|
||||
-hlocalhost \
|
||||
-e "${sql}"
|
||||
eend $?
|
||||
|
||||
if [[ -n "${sqltmp}" ]] ; then
|
||||
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
|
||||
"${EROOT}/usr/bin/mysql" \
|
||||
"--socket=${socket}" \
|
||||
-hlocalhost \
|
||||
-uroot \
|
||||
--password="${MYSQL_ROOT_PASSWORD}" \
|
||||
mysql < "${sqltmp}"
|
||||
rc=$?
|
||||
eend $?
|
||||
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
|
||||
fi
|
||||
|
||||
# Stop the server and cleanup
|
||||
einfo "Stopping the server ..."
|
||||
kill $(< "${pidfile}" )
|
||||
rm -f "${sqltmp}"
|
||||
wait %1
|
||||
einfo "Done"
|
||||
}
|
@ -1,4 +1,3 @@
|
||||
DIST percona-xtrabackup-2.4.10.tar.gz 59217573 BLAKE2B 3a4485b6d8c5b9ad2ca4b60603383b18ec0a3da7e4cca3b5a1ee2d24b6ca17844cc406123bbaf9313fc17570db0168c13af16d17404e075fc8140731ef9b79c2 SHA512 a4ebbebabc8b9b5fec9777fc3569c530b4a88a1b75d3e78d2edf7627a2e8cadf7aa2d8988963136b331a274c80371ff9b7fafcc7d8a129f446eb58777ce1764f
|
||||
DIST percona-xtrabackup-2.4.11.tar.gz 59267058 BLAKE2B 1de9905a2c191a58290e87a90e36c263f66935ce0846af205e1a0accc6e9b2938dd8679f65acc4b51ca956f2bcbca831cd10c9d50c01c2ecfd9d059fde500e20 SHA512 2fa4757fe944fb4c8113dca1fa25beaa23de5d5f9fc830b36a6d9eb4efb7e7fb1eec10f91be5e91fd3b7980bc157832ed52c9da59a342f6aae05ceae8ecdf760
|
||||
DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae
|
||||
DIST percona-xtrabackup-2.4.12.tar.gz 57232309 BLAKE2B 71b1dc0448b521b252463fb68ff111def3b71aebe187d3196e3c82f56539db02347d94713bea3dda5978f13b86b88a564ad6f12e3907134edc49a41dcde98e51 SHA512 228a48617eec3b824c7cb33882796ac2beb6ca1895fe73f7004e8dfd0b8bd1df471c39ba1c3fca2a819140d934a8a884f61dafae7cb56023dc7bc844d2846c8a
|
||||
DIST percona-xtrabackup-2.4.9.tar.gz 58001052 BLAKE2B d2a25a5ca2190ccf82a600245a0e21848abd9a33ea937a81b2ba9c7e518b24291080a3d3c4b8e6d02f51523e5cf2e78680e4b351c4f2bcd8f122c58f62c14418 SHA512 913431f0fa648731efa2e9bc87c9431a28816b0eca12e1c6df6e7ab04a4148ddd8fa03c9792335ad152b05bede5b9fe64ce94a393b5e4e37d4b18f4989b0ccdb
|
||||
DIST percona-xtrabackup-2.4.13.tar.gz 57254236 BLAKE2B 061cbee03374193359ae557909389ec675ed35edf216afc9deeb0b7880705d03024d380d0d6070aabfdb710bbde3664fd73da65ae5980e58290d8c9af29f351c SHA512 19d5fb3d775f1513b931cb2e736b753c1dd82c42fee382fdfa9f183eaee562c32f635db5d569d991cf1c8f7168de55ed863ba2c59db459ab79b80792b21ab298
|
||||
|
@ -1,86 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils flag-o-matic
|
||||
|
||||
DESCRIPTION="Hot backup utility for MySQL based servers"
|
||||
HOMEPAGE="https://www.percona.com/software/mysql-database/percona-xtrabackup"
|
||||
SRC_URI="https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/source/tarball/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DEPEND="
|
||||
app-arch/lz4:0=
|
||||
app-editors/vim-core
|
||||
<dev-libs/boost-1.65.0:=
|
||||
dev-libs/libaio
|
||||
<dev-libs/libedit-20170329.3.1
|
||||
dev-libs/libev
|
||||
dev-libs/libevent:0=
|
||||
dev-libs/libgcrypt:0=
|
||||
dev-libs/libgpg-error
|
||||
dev-python/sphinx
|
||||
net-misc/curl
|
||||
sys-libs/zlib:="
|
||||
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
!dev-db/xtrabackup-bin
|
||||
dev-perl/DBD-mysql"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.4.6-remove-boost-version-check.patch
|
||||
"${FILESDIR}"/${PN}-2.4.10-fix-gcc6-isystem.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
|
||||
# remove bundled boost, libedit, libevent, zlib
|
||||
# just to be safe...
|
||||
# We keep lz4 directory because we use extra/lz4/xxhash.c in cmake/libutils.cmake
|
||||
rm -rv \
|
||||
include/boost_1_59_0 \
|
||||
cmd-line-utils/libedit \
|
||||
libevent \
|
||||
zlib || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Needed, due to broken handling of CMAKE_BUILD_TYPE leading to
|
||||
#
|
||||
# error: 'fts_ast_node_type_get' was not declared in this scope
|
||||
#
|
||||
append-cppflags -DDBUG_OFF
|
||||
|
||||
# Upstream doesn't support C++14 -- build will fail with -fpermissive error
|
||||
# https://bugs.mysql.com/bug.php?id=87956
|
||||
append-cxxflags $(test-flags-CXX -std=gnu++03) -std=gnu++03
|
||||
|
||||
local mycmakeargs=(
|
||||
-DBUILD_CONFIG=xtrabackup_release
|
||||
-DWITH_EDITLINE=system
|
||||
-DWITH_LIBEVENT=system
|
||||
-DWITH_LZ4=system
|
||||
-DWITH_SSL=bundled # uses yassl, which isn't packaged
|
||||
-DWITH_ZLIB=system
|
||||
-DWITH_PIC=ON
|
||||
)
|
||||
|
||||
local CMAKE_BUILD_TYPE="Release"
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local p="${BUILD_DIR}/storage/innobase/xtrabackup"
|
||||
|
||||
dobin "${p}"/src/{xbcloud,xbcrypt,xbstream,xtrabackup}
|
||||
dosym xtrabackup /usr/bin/innobackupex
|
||||
|
||||
einstalldocs
|
||||
doman "${p}"/doc/source/build/man/*
|
||||
}
|
@ -1,82 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils flag-o-matic
|
||||
|
||||
DESCRIPTION="Hot backup utility for MySQL based servers"
|
||||
HOMEPAGE="https://www.percona.com/software/mysql-database/percona-xtrabackup"
|
||||
SRC_URI="https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/source/tarball/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
DEPEND="
|
||||
app-arch/lz4:0=
|
||||
app-editors/vim-core
|
||||
<dev-libs/boost-1.65.0:=
|
||||
dev-libs/libaio
|
||||
<dev-libs/libedit-20170329.3.1
|
||||
dev-libs/libev
|
||||
dev-libs/libevent:0=
|
||||
dev-libs/libgcrypt:0=
|
||||
dev-libs/libgpg-error
|
||||
dev-python/sphinx
|
||||
net-misc/curl
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
!dev-db/xtrabackup-bin
|
||||
dev-perl/DBD-mysql"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.4.6-remove-boost-version-check.patch
|
||||
"${FILESDIR}"/${PN}-2.4.6-fix-gcc6-isystem.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
|
||||
# remove bundled lz4, boost, libedit, libevent, zlib
|
||||
# just to be safe...
|
||||
rm -rv \
|
||||
extra/lz4 \
|
||||
include/boost_1_59_0 \
|
||||
cmd-line-utils/libedit \
|
||||
libevent \
|
||||
zlib || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Needed, due to broken handling of CMAKE_BUILD_TYPE leading to
|
||||
#
|
||||
# error: 'fts_ast_node_type_get' was not declared in this scope
|
||||
#
|
||||
append-cppflags -DDBUG_OFF
|
||||
|
||||
local mycmakeargs=(
|
||||
-DBUILD_CONFIG=xtrabackup_release
|
||||
-DWITH_EDITLINE=system
|
||||
-DWITH_LIBEVENT=system
|
||||
-DWITH_LZ4=system
|
||||
-DWITH_SSL=bundled # uses yassl, which isn't packaged
|
||||
-DWITH_ZLIB=system
|
||||
-DWITH_PIC=ON
|
||||
)
|
||||
|
||||
local CMAKE_BUILD_TYPE="Release"
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local p="${BUILD_DIR}/storage/innobase/xtrabackup"
|
||||
|
||||
dobin "${p}"/src/{xbcloud,xbcrypt,xbstream,xtrabackup}
|
||||
dosym xtrabackup /usr/bin/innobackupex
|
||||
|
||||
einstalldocs
|
||||
doman "${p}"/doc/source/build/man/*
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST appstream-glib-0.7.14.tar.xz 2239240 BLAKE2B d99788b3349df6f40c5dd3d5a6fb90446d1885569c04aedde9848f41916a1407f8397c416e34e87164bad2fa2e71bc93849901b829e71839d0aa1911ca73e485 SHA512 b2b01e529032a684b7864d6c330e9cbefdfe6a4312dc5d2cde8cbe82875218a0d4dc92a4c3129e45605571ab77482a86470d7336c360a0070ea029a1090a60d5
|
||||
DIST appstream-glib-0.7.9.tar.xz 2245728 BLAKE2B fb6f54329bed91f1acaa6218b111fd4527dff7ed412a89cb44a6e4f6cdfb7e0fe4e6f9fb37b6cdc2efa75164dccef323b6d7428a63b08369b941d36b0b9071f0 SHA512 d78cb6f11cad01d67cb33f16e987485177d20b78a8b21cfbabb64ce7b18b813c0d2d1de2faeea199fdc31d12633e899a5596a6cf133cb831a4377d641f79eb7d
|
||||
|
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit xdg meson
|
||||
|
||||
DESCRIPTION="Provides GObjects and helper methods to read and write AppStream metadata"
|
||||
HOMEPAGE="https://people.freedesktop.org/~hughsient/appstream-glib/"
|
||||
SRC_URI="https://people.freedesktop.org/~hughsient/${PN}/releases/${P}.tar.xz"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0/8" # soname version
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="gtk-doc +introspection stemmer"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.45.8:2
|
||||
sys-apps/util-linux
|
||||
app-arch/libarchive
|
||||
>=net-libs/libsoup-2.51.92:2.4
|
||||
>=dev-libs/json-glib-1.1.2
|
||||
>=x11-libs/gdk-pixbuf-2.31.5:2[introspection?]
|
||||
|
||||
x11-libs/gtk+:3
|
||||
>=media-libs/freetype-2.4:2
|
||||
>=media-libs/fontconfig-2.11:1.0
|
||||
dev-libs/libyaml
|
||||
stemmer? ( dev-libs/snowball-stemmer )
|
||||
x11-libs/pango
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.54:= )
|
||||
"
|
||||
# libxml2 required for glib-compile-resources
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/gperf
|
||||
|
||||
dev-libs/libxml2:2
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
dev-libs/libxslt
|
||||
gtk-doc? (
|
||||
>=dev-util/gtk-doc-1.9
|
||||
app-text/docbook-xml-dtd:4.3
|
||||
)
|
||||
>=sys-devel/gettext-0.19.7
|
||||
"
|
||||
# ${PN} superseeds appdata-tools
|
||||
RDEPEND="${RDEPEND}
|
||||
!<dev-util/appdata-tools-0.1.8-r1
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Ddep11=true
|
||||
-Dbuilder=true
|
||||
-Drpm=false
|
||||
-Dalpm=false
|
||||
-Dfonts=true
|
||||
$(meson_use stemmer)
|
||||
-Dman=true
|
||||
$(meson_use gtk-doc)
|
||||
$(meson_use introspection)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Library routines related to building,parsing and iterating BSON documents"
|
||||
HOMEPAGE="https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson"
|
||||
SRC_URI="https://github.com/mongodb/mongo-c-driver/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~hppa ~ppc ~x86"
|
||||
IUSE="examples static-libs"
|
||||
|
||||
DEPEND="dev-python/sphinx"
|
||||
|
||||
S="${WORKDIR}/mongo-c-driver-${PV}"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DENABLE_BSON=ON
|
||||
-DENABLE_EXAMPLES=OFF
|
||||
-DENABLE_MAN_PAGES=ON
|
||||
-DENABLE_MONGOC=OFF
|
||||
-DENABLE_TESTS=OFF
|
||||
-DENABLE_STATIC="$(usex static-libs ON OFF)"
|
||||
-DENABLE_UNINSTALL=OFF
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc src/libbson/examples/*.c
|
||||
fi
|
||||
|
||||
cmake-utils_src_install
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST libgit2-glib-0.26.2.tar.xz 421956 BLAKE2B d38698f00d85b484d17078e78ad051a4c068b87df73fcf4d7b852dc6966628580cc4e5b3899a6edd5dc29fb47ef97ebe2c458992701b7642549f3e411d917dc5 SHA512 35fb3ec7a3757212f53cc884760f69725beff8462018b8e716fad389ba57d1acba99ece0fcd148ff40dc63e1fc7e7d566fe84759bd88d3a0ff9fdf970b0a5563
|
||||
DIST libgit2-glib-0.26.4.tar.xz 138492 BLAKE2B 725c14076fb940186faac079cff1ea87c456ed41e943ae95a4a674632c1be261ab6d4d5bcb5c0800bbde5d86c1ff3095d59045a2fda1342a1cf5c691a2b424aa SHA512 9eb78f292583862890ca0cd27d7621da2f8f633a76f4679f897ce6cf9e06b64a3cb7b0ddda39d231d21d3faa830fe1a9a9326b4abd420df8356d50a734360b37
|
||||
DIST libgit2-glib-0.27.7.tar.xz 137784 BLAKE2B c27511045e81c2bc1dbf0793ae9630358bb13c3fcbb317ccad861e5796772c120895ab6e3dafe7fedc78406d0cd4bd31aee6cb022921ef28bcd45b72f22bdd04 SHA512 33bf9401dd96cc700d0365e51dfa5c81be3930f1ad01d16d878a27efd7e03bb089a23b6db6af500bc20903e6178300ac79fa4e8edfca29e8222aaa2cd3dab63b
|
||||
DIST libgit2-glib-0.27.8.tar.xz 137796 BLAKE2B 4dc6d9b435a662acb3fb51bd7349b9c273bad68073ca05d1c27fa59148a39549036e5e8786ef502e1c5758596bf58a80c7153837c6a5956c764d69d71b860531 SHA512 abeb530971edcdc3e813d34ebffbb5d2edfdea527372976e6495f9370a4a7f63c7f34e61bdec02a602a8b5e687960e33f77dc6cbc8f3b65accee7c195b03b593
|
||||
|
@ -0,0 +1,60 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python{3_4,3_5,3_6,3_7} )
|
||||
VALA_USE_DEPEND="vapigen"
|
||||
|
||||
inherit gnome.org meson python-r1 vala
|
||||
|
||||
DESCRIPTION="Git library for GLib"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="python +ssh +vala"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
# libgit2-glib is now compatible with SONAME 26 and 27 of libgit2.
|
||||
RDEPEND="
|
||||
>=dev-libs/gobject-introspection-0.10.1:=
|
||||
>=dev-libs/glib-2.44.0:2
|
||||
<dev-libs/libgit2-0.28:0=[ssh?]
|
||||
>=dev-libs/libgit2-0.26.0:0
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/pygobject:3[${PYTHON_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/glib-utils
|
||||
virtual/pkgconfig
|
||||
vala? ( $(vala_depend) )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
use vala && vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
# apparently broken; fails to build
|
||||
-Dgtk_doc=false
|
||||
# we install python scripts manually
|
||||
-Dpython=false
|
||||
-Dssh=$(usex ssh true false)
|
||||
-Dvapi=$(usex vala true false)
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
if use python ; then
|
||||
python_moduleinto gi.overrides
|
||||
python_foreach_impl python_domodule libgit2-glib/Ggit.py
|
||||
fi
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
DIST libgit2-0.26.8.tar.gz 4742478 BLAKE2B 31326987961ed42740f6c0ddce6a80c278175899a62cabd65ce9eef60854553e6a91fd9947ca23945104d4e1b46f9ab0bb1a1a793d8dd87bed792528e5c32839 SHA512 efb9229b2882ac36910d75778d7431bec40f3529f2ad2dd6a950d5580ceb0d4dd798242a422ea6cbb880f515df4dfbb7055a65dd5a8106696d3d458851fca56e
|
||||
DIST libgit2-0.27.7.tar.gz 4782856 BLAKE2B c844eca24b5053b3391ace6ebeea047bbba4fd429786e08144151109bfbd22f5c1b2609a176816a5d7eff63f1fe91122f88d89d3613dc4c770051cf095ae5ac3 SHA512 de2e266939bd40bc580603539e1156906b97299523336ddc6a66c3bec26729495bef2daa2d240b83b7e011e93852381e95a4407132b0440a5aa1e1b7642c0011
|
||||
DIST libgit2-0.27.8.tar.gz 4783928 BLAKE2B 0f0f79a43de3e869d593dafc1b506ee0894143d2daedf2fe56683ad8f2edfd7d87bab784354b9fb1796fa8e08a36b9de88af65c7621a90d537cb585c89118197 SHA512 53ab69a0687afd315029fdbe0ce8192b7e88f7f1ff6bc9c4875718e638cecd64755a9942ad605e6c388c58c6b892b351d54c5405de8e0d5ba90406055a25ffaa
|
||||
DIST libgit2-0.28.0-rc1.tar.gz 4981768 BLAKE2B b947abd92d51b408aaaa22418be741329da537e95413be4881fd542edc35ab94387a01d083d4c6c273d250a9e05b848e81f7a3a58eee144b9747d29c6950ba51 SHA512 0190bfb025b459ab484d342ffbaed7a6126acfa7b30bc21a61f77c229cb469175839ee9a2e2a0946ed723a19ec7cb6614bc8c99c1e24d29aaabcdb646948b9f1
|
||||
DIST libgit2-0.28.0.tar.gz 4986225 BLAKE2B 39d3ba0ba8ffc49293e60aa686fd7f2188257ce204efa164f35b461c0c4b7dec3bf83c7c844d1d9c022caccc3ec3100c71acbdd734436ddee1c50ffe88674c63 SHA512 b3e23ac5062febaabb6113440bd4ab75945ae24d277b1713d16442feda146cce9df9220438e142ce7178938196395ced66ec3c41b8fbb2fb81882542f97d8ddf
|
||||
|
@ -0,0 +1,17 @@
|
||||
diff --git a/src/libmongoc/tests/test-mongoc-topology.c b/src/libmongoc/tests/test-mongoc-topology.c
|
||||
index d1ca7cf..245a470 100644
|
||||
--- a/src/libmongoc/tests/test-mongoc-topology.c
|
||||
+++ b/src/libmongoc/tests/test-mongoc-topology.c
|
||||
@@ -1964,12 +1964,6 @@ test_topology_install (TestSuite *suite)
|
||||
NULL,
|
||||
NULL,
|
||||
test_framework_skip_if_slow);
|
||||
- TestSuite_AddFull (suite,
|
||||
- "/Topology/multiple_selection_errors",
|
||||
- test_multiple_selection_errors,
|
||||
- NULL,
|
||||
- NULL,
|
||||
- test_framework_skip_if_offline);
|
||||
TestSuite_AddMockServerTest (
|
||||
suite, "/Topology/connect_timeout/succeed", test_select_after_timeout);
|
||||
TestSuite_AddMockServerTest (
|
@ -0,0 +1,92 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Client library written in C for MongoDB"
|
||||
HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
|
||||
SRC_URI="https://github.com/mongodb/mongo-c-driver/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~hppa ~x86"
|
||||
IUSE="debug examples icu libressl sasl ssl static-libs test"
|
||||
REQUIRED_USE="test? ( static-libs )"
|
||||
|
||||
RDEPEND="app-arch/snappy:=
|
||||
>=dev-libs/libbson-${PV}
|
||||
dev-python/sphinx
|
||||
sys-libs/zlib:=
|
||||
icu? ( dev-libs/icu:= )
|
||||
sasl? ( dev-libs/cyrus-sasl:= )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
test? (
|
||||
dev-db/mongodb
|
||||
dev-libs/libbson[static-libs]
|
||||
)"
|
||||
|
||||
# No tests on x86 because tests require dev-db/mongodb which don't support
|
||||
# x86 anymore (bug #645994)
|
||||
RESTRICT="x86? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.13.0-enable-tests.patch" # enable tests with system libbson
|
||||
"${FILESDIR}/${P}-drop-failing-test.patch" # one test fails
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
|
||||
# copy private headers for tests since we don't build libbson
|
||||
if use test; then
|
||||
mkdir -p src/libbson/tests/bson || die
|
||||
for f in bson-fnv-private.h bson-iso8601-private.h bson-private.h; do
|
||||
cp -v src/libbson/src/bson/${f} src/libbson/tests/bson/ || die
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
|
||||
-DENABLE_BSON=SYSTEM
|
||||
-DENABLE_EXAMPLES=OFF
|
||||
-DENABLE_ICU="$(usex icu ON OFF)"
|
||||
-DENABLE_MAN_PAGES=ON
|
||||
-DENABLE_MONGOC=ON
|
||||
-DENABLE_SNAPPY=SYSTEM
|
||||
-DENABLE_ZLIB=SYSTEM
|
||||
-DENABLE_SASL="$(usex sasl CYRUS OFF)"
|
||||
-DENABLE_SSL="$(usex ssl $(usex libressl LIBRESSL OPENSSL) OFF)"
|
||||
-DENABLE_STATIC="$(usex static-libs ON OFF)"
|
||||
-DENABLE_TESTS="$(usex test ON OFF)"
|
||||
-DENABLE_TRACING="$(usex debug ON OFF)"
|
||||
-DENABLE_UNINSTALL=OFF
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
# FEATURES="test" USE="static-libs" emerge dev-libs/mongo-c-driver
|
||||
src_test() {
|
||||
local PORT=27099
|
||||
mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
|
||||
--dbpath="${T}" --logpath="${T}/mongod.log" || die
|
||||
MONGOC_TEST_URI="mongodb://[127.0.0.1]:${PORT}" ../mongo-c-driver-${PV}_build/src/libmongoc/test-libmongoc || die
|
||||
kill $(<"${T}/mongod.lock")
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc src/libmongoc/examples/*.c
|
||||
fi
|
||||
|
||||
cmake-utils_src_install
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST XML_Util-1.4.2.tgz 18993 BLAKE2B b2667aed3b3ec75dd8fca1625c6fa3d03a7662c24ce0fce69cb983f42fc3f45bc0bf27bdee7353c1d29fe0eabc181f2cbd415883575f5d6cf7163097c10f6d9c SHA512 e0a328f92cdcd09277238e14d68b73cba319ab9b4e9c50ab102b43f73c889599f5933415dc228bd1feb56a48c1527e0e9a86999ee2209b2d84131691aee74cbe
|
||||
DIST XML_Util-1.4.3.tgz 18842 BLAKE2B 1cd0065b84e07a8cbc7f4d44c10362d40e71254b4964b3aa3d4d11cad5cb7e5bce780f926c69cc4fc871ac3c28d8239a428c145389950b4d6f6e626b6215dfc9 SHA512 c21a7cef90743e124c4bc8e0453b634de8f6a6b0aac060acc1a17f481a2eb8757d322b05c69151280b7651cea927b2c64b7d49b9fd815dcdc606d0472d967310
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
MY_PN="${PN/PEAR-/}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="XML utility class"
|
||||
HOMEPAGE="https://pear.php.net/package/${MY_PN}"
|
||||
SRC_URI="https://pear.php.net/get/${MY_P}.tgz"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
IUSE="examples"
|
||||
|
||||
# PCRE is needed for a few calls to preg_replace and preg_match.
|
||||
RDEPEND="dev-lang/php:*[pcre(+)]"
|
||||
PDEPEND="dev-php/PEAR-PEAR"
|
||||
DEPEND=""
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/php
|
||||
doins -r XML
|
||||
|
||||
use examples && dodoc -r examples
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST amqp-1.8.0.tgz 91850 BLAKE2B 35a0f44ce770f3d20adcbacf7a6bfd014014f1a09c2bb006e9e50c6f8f97f6d564f5db5adf0d3bceb08611d1cf3f7a95f5e6256977ed1ed134791c92a01addf6 SHA512 a70873e2f9ad47c2e6b028727e98888746e1eee8bb1007c7272e422f14527ee3e980c6ffc9a94671c548082c380cee4d9a27ac5c4adce382fdcf9251ac6eb7c7
|
||||
DIST amqp-1.9.0.tgz 98248 BLAKE2B 2bf13a72eedb0d46bfba3c5d2ec01d1a85cfd60b2dadfaa8e0475eda52ee6650f8757d7521f808043464f3a32a33e4143153136f08f9c4484316ca06785b5888 SHA512 ce77266d9c95d87c7ddf177c531540e05f9120417e645f4595f204fad2d2ecd9f388f0e1e55d69bee845333b5b5976960cc2a603ea6860708df1eafe0aef9a10
|
||||
DIST amqp-1.9.3.tgz 101342 BLAKE2B 1e9702cfd44035fe8c923cd2766ce49309310da11655e96246133bb7d8f686a661703f5c35053c19dc607a1c6d1afe515c87ceeecc1cdf93acfa6b211c6802bd SHA512 d4731ed5dc760a01621889e8518b5d1258a8335f701d241c453fd553924d83507a0a918b9733e249955fa11b43a1bdacf65c1f1cb55b8ed3c5b661277f5798b9
|
||||
DIST amqp-1.9.4.tgz 102604 BLAKE2B 34bed57e2aa3044ac02949ef0d700af71114fc4dd0007ac7a90fadfe267063d8defd6f0e1fe076aa3680187035b1596c283f3cdab8b27f8d3e59f6abf7246147 SHA512 53f8893c2fdb6f41467c9af4a5e48810d39201150a94dd9d32f542d53387ef5e6d8c614ebe2d82b3ab9febd39aa8759a86975d0dc45092a2772f08cd86d7f739
|
||||
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
USE_PHP="php5-6 php7-0 php7-1 php7-2 php7-3"
|
||||
|
||||
inherit php-ext-pecl-r3
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DESCRIPTION="PHP Bindings for AMQP 0-9-1 compatible brokers"
|
||||
LICENSE="PHP-3.01"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
# Tests require running rabbitmq-server on localhost which requires epmd
|
||||
# which only accepts /var/run/epmd.pid as pidfile.
|
||||
RESTRICT="test"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
RDEPEND=">=net-libs/rabbitmq-c-0.5.2:=[ssl]"
|
||||
DEPEND="${RDEPEND}"
|
||||
PHP_EXT_ECONF_ARGS=()
|
@ -1 +1,2 @@
|
||||
DIST webmozart-assert-1.2.0.tar.gz 11866 BLAKE2B 86cb0f299efff9822ea79964153b17337eac3e17a968b5201680186cfb3f6721b2ca561e041e71b304c6d29d227b446f7f52b65d5a6fc490c8535dd4fee0160c SHA512 36bae648cfe5bbd258d738574a820ea3de2e95b59700d556dd5eadbb1657bc09a7e73000e3436d020e060ecd2a99944199795f315a278acbeeea90570b0a4a22
|
||||
DIST webmozart-assert-1.4.0.tar.gz 9241 BLAKE2B bbe5d42732c99700f11db6a3a8b6d6753d60b3e6fbfb8412383459199139f31e3ec55e4abee03295adea19c9c48edb0f13a11597b654fdd0de0a7823ed545586 SHA512 1ed2328de800bb98b7c00264009182934006ae146d86aa313f3478b9f3a7e6eed9dee026ed80d18393724840711ecd9891ee34178676470d12cac8124f819309
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
MY_PN="${PN/webmozart-//}"
|
||||
|
||||
DESCRIPTION="Assertions to validate method input/output with nice error messages"
|
||||
HOMEPAGE="https://github.com/webmozart/assert"
|
||||
SRC_URI="https://github.com/webmozart/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
IUSE=""
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
RDEPEND="dev-php/fedora-autoloader
|
||||
>=dev-lang/php-5.6:*"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/php/Webmozart/Assert
|
||||
doins -r src/*
|
||||
doins "${FILESDIR}/autoload.php"
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST xdebug-2.5.3.tgz 279085 BLAKE2B cbbfb15e92c3f80cda502340396a6137e2234442fd98bc3fe4b2e08e76cba6292fb5176992aadba7193308ec4c9ab32356922a4416a21b23603e9b48a0d73c06 SHA512 b301a5abb92e123bbe2b36f7838b56d370a0f2c0c4d3c350b5014f4b86d31daa66e9bff995eed67a570558f6a72ca46a097266e6ab94c413f1dcb99c0fbd4f22
|
||||
DIST xdebug-2.5.5.tgz 279491 BLAKE2B 2492911db7afca2bc96761788c4ec7eac92cb22a6d65b69070b74f702df2bae1ba7dff9f5edfe83542229dbb7ebb3850b6ed1cf19a5e5969413aac3f2d39fc73 SHA512 9faab421bd90c03734c047d8c6dcc021c8bc665eb36781c692f194d04c7dca24fe1eb920ca8dc407e5bf4ae0912c4b917587f940f34b07171a8881d4cf8695d1
|
||||
DIST xdebug-2.6.1.tgz 283961 BLAKE2B 4478d591591102a9efa248820831e4d43d89eb9b80379c92fe85c888377a31d855ac4ea98c13ad87da68f7e7f659483cfa36fd4651f245d5603fcada2e2fcf73 SHA512 31f26e592b3888d7cc74c6a7c51e0cc1151cf8a32100dda78098fb5b3e307cf8d0445b97247986c75b303a787f89b3937bc042dc52f19ca995753a6843bbd80b
|
||||
DIST xdebug-2.7.0_rc1.tar.gz 383009 BLAKE2B f8ec78ea1214089fb59cafa8be2f8e4f90c0dbda326a707bd768238da42d23d04cc0dc8e448444e764a1bd474e3bcb98c4b6491d131a28799a01670174e8755a SHA512 38cf59f02953331f16efffa6e6cd9d730fe4b000fe6ae6e364076ae57387b01270b60b0925a516f022bed82165ab448c5c2f52d2108e0231be7a49f1e78a7dbb
|
||||
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
|
||||
|
||||
MY_PN="xdebug"
|
||||
MY_PV="${PV/_/}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Xdebug client for the Common Debugger Protocol (DBGP)"
|
||||
HOMEPAGE="https://xdebug.org/"
|
||||
# Using tarball from GitHub for tests
|
||||
#SRC_URI="http://pecl.php.net/get/xdebug-${MY_PV}.tgz"
|
||||
SRC_URI="https://github.com/xdebug/xdebug/archive/${MY_PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz"
|
||||
LICENSE="Xdebug"
|
||||
SLOT="0"
|
||||
IUSE="libedit"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${MY_PV}/debugclient"
|
||||
|
||||
DEPEND="libedit? ( dev-libs/libedit ) net-libs/libnsl:0="
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf $(use_with libedit)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
newbin debugclient xdebug
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST xdebug-2.5.3.tgz 279085 BLAKE2B cbbfb15e92c3f80cda502340396a6137e2234442fd98bc3fe4b2e08e76cba6292fb5176992aadba7193308ec4c9ab32356922a4416a21b23603e9b48a0d73c06 SHA512 b301a5abb92e123bbe2b36f7838b56d370a0f2c0c4d3c350b5014f4b86d31daa66e9bff995eed67a570558f6a72ca46a097266e6ab94c413f1dcb99c0fbd4f22
|
||||
DIST xdebug-2.5.5.tgz 279491 BLAKE2B 2492911db7afca2bc96761788c4ec7eac92cb22a6d65b69070b74f702df2bae1ba7dff9f5edfe83542229dbb7ebb3850b6ed1cf19a5e5969413aac3f2d39fc73 SHA512 9faab421bd90c03734c047d8c6dcc021c8bc665eb36781c692f194d04c7dca24fe1eb920ca8dc407e5bf4ae0912c4b917587f940f34b07171a8881d4cf8695d1
|
||||
DIST xdebug-2.6.1.tgz 283961 BLAKE2B 4478d591591102a9efa248820831e4d43d89eb9b80379c92fe85c888377a31d855ac4ea98c13ad87da68f7e7f659483cfa36fd4651f245d5603fcada2e2fcf73 SHA512 31f26e592b3888d7cc74c6a7c51e0cc1151cf8a32100dda78098fb5b3e307cf8d0445b97247986c75b303a787f89b3937bc042dc52f19ca995753a6843bbd80b
|
||||
DIST xdebug-2.7.0_rc1.tar.gz 383009 BLAKE2B f8ec78ea1214089fb59cafa8be2f8e4f90c0dbda326a707bd768238da42d23d04cc0dc8e448444e764a1bd474e3bcb98c4b6491d131a28799a01670174e8755a SHA512 38cf59f02953331f16efffa6e6cd9d730fe4b000fe6ae6e364076ae57387b01270b60b0925a516f022bed82165ab448c5c2f52d2108e0231be7a49f1e78a7dbb
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
PHP_EXT_NAME="xdebug"
|
||||
PHP_EXT_INI="yes"
|
||||
PHP_EXT_ZENDEXT="yes"
|
||||
PHP_EXT_INIFILE="2.6.0-xdebug.ini"
|
||||
|
||||
USE_PHP="php7-1 php7-2 php7-3"
|
||||
|
||||
MY_PV="${PV/_/}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
inherit php-ext-source-r3
|
||||
|
||||
KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
|
||||
|
||||
DESCRIPTION="A PHP debugging and profiling extension"
|
||||
HOMEPAGE="https://xdebug.org/"
|
||||
# Using tarball from GitHub for tests
|
||||
#SRC_URI="https://pecl.php.net/get/${PN}-${MY_PV}.tgz"
|
||||
SRC_URI="https://github.com/xdebug/xdebug/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="Xdebug"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}
|
||||
~dev-php/xdebug-client-${PV}"
|
||||
DOCS=( README.rst CREDITS )
|
||||
PHP_EXT_ECONF_ARGS=()
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "We have set xdebug.default_enable to 0 (off), as xdebug can be"
|
||||
ewarn "installed as a dependency, and not all users will want xdebug to be"
|
||||
ewarn "enabled by default. If you want to enable it, you should edit the"
|
||||
ewarn "ini file and set xdebug.default_enable to 1. Alternatively you can"
|
||||
ewarn "call xdebug_enable() in your code."
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST xhprof-0.9.10.tar.gz 850440 BLAKE2B f277c4e798c63337d7319ece9e5405fe2aa87677b146bd0a3c73079cda70b005b8a97647a4bfee66e8263eb413b60d685f617d1f8faefe3aff01c5eb5cbcd364 SHA512 f078c7d025d4712858f55a6a212f888cdb67f862c912639db4bd50b9d601e824c7a0bf9e0f9d1b04673230c7a04d9e00fff42f729055677db021ee47e7128088
|
||||
DIST xhprof-0.9.4_p20150226.tar.gz 855540 BLAKE2B efcf78cb3a5778e7c64543a41a2671fd928fe8f21d5a2a5b2a221ac6fa6855a84946128c93bd35a37c9362cc60c306835aed568eac43ece590ff0c6c94cbebb7 SHA512 6f0f4f76b793746cb37b623b891956c1abe7c08cb56fb0edfa31b7d7a59ccd49b8c3401f067a1f203e188843290afb9f9913729b59026b43e7cf026010ef7fb7
|
||||
|
@ -0,0 +1,23 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
MY_PV="dab44f76da5c8a0d4f1339f7d2ea2bc42408e8e9"
|
||||
PHP_EXT_S="${WORKDIR}/${PN}-${MY_PV}/extension"
|
||||
PHP_EXT_ECONF_ARGS=""
|
||||
USE_PHP="php7-2 php7-3"
|
||||
|
||||
inherit php-ext-pecl-r3
|
||||
|
||||
SRC_URI="https://github.com/phacility/xhprof/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
HOMEPAGE="https://pecl.php.net/package/xhprof"
|
||||
DESCRIPTION="A Hierarchical Profiler for PHP"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
S="${WORKDIR}"
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST miniupnpc-2.0.20180503.tar.gz 88207 BLAKE2B 1d6c6396e805eae3c53263a6856cc119033a645da29471b31705fdee8465808361057804496821f845112fb8490d351f67a5d5c9e1fef522fc6e6df8d4ac34c1 SHA512 68dcf76fe62223de80610afd392f14f46af2465796c3d4d46daa0c6f1f7e99034368b2484e260e718d42eef480644a684e83d4c0f32a6108fdd544cfc48443a3
|
||||
DIST miniupnpc-2.1.20190210.tar.gz 94125 BLAKE2B 1cb8e4cd4d015d82eb15eec20e93b14a9f280aeabfc54e96ff9511db7fddf9713b9bffd0893c17f29beede29c6bfe73e6a459f7b20c9e4b33c88753b39cb7a0e SHA512 51f662c2a7a78cd99a793ff8b89097d895c80aaca696109c06106f8bb2601465207e068a410134cc66a61b4c0e11d4635bac6e9efdfe3fe8c4f813ac9e7a2fc2
|
||||
|
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python bindings for UPnP client library"
|
||||
HOMEPAGE="http://miniupnp.free.fr/"
|
||||
SRC_URI="http://miniupnp.free.fr/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=">=net-libs/miniupnpc-${PV}:0="
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/miniupnpc-2.0.20171102-shared-lib.patch
|
||||
)
|
||||
|
||||
# DOCS are installed by net-libs/miniupnpc.
|
||||
DOCS=()
|
||||
|
||||
# Example test command:
|
||||
# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
|
@ -1 +1 @@
|
||||
DIST twitter-1.17.1.tar.gz 44023 BLAKE2B c647834b658799c0253e58207e433f4d648f71544ec2b81d78bdedb09c5e090ae920c276f1aac3fbead4e54548f4f0e09b2c26aae82bdb11f1fbcb38da2c0ed4 SHA512 17ea867d0c4183cd97aec610c8757def6c23648f18c4bfd3bceca150de6bdbeab036fefe699e976fac11d3d0b0d2c574c0f1726818576a898a92a8335d0342dd
|
||||
DIST twitter-1.18.0.tar.gz 47695 BLAKE2B 2604370a303c479d371dd0c5b6c1855b990c38cf0d9ef710c740ae69740d0cfddb2a18d465deaca2146e43debea0175f9e444c0a7bb5931a95f9124d80237ae6 SHA512 dda752b194efe88df88a2c9e2279cd3045a36c466f05493727a73aaaa74ca99873c1dc1742491f2f4092eff5afb9ad7680a779f16041d9c3dae7c6eea013ea48
|
||||
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST faker-1.9.1.tar.gz 677933 BLAKE2B e26c0af68fec712fe22a4510f4d9e7af689f7473fa6fcc208d7784aa0e50f10834ee6cf4ccfaef5bf63ed26cfe9bbe0c06492fb0aafb5850002b8c26f06cd31b SHA512 f7363d795b3b3462bc331a591740227e1ae0852d2dd02ac9b0648244ee55e52967422b55e38d4b72e1b7a2b2758151481844a83a3461f820f5f434269cda2367
|
||||
DIST faker-1.9.3.tar.gz 974178 BLAKE2B 456cff1c57de07f6f0a5d068e45bcc76db6205bd3ab91aae12584bd5342d6ab0ce7e35f7d681915eab371f4211cc1d24443d5496dd31c8a406d73119aed56828 SHA512 b521372e152ce035363e31b140085210bd78763aa45d9e37867b727accd868fcaea7c5b5c07a5795e859dcdbf48ca49233083de231f771e6b7ae7705487c9e32
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_RUBY="ruby23 ruby24 ruby25"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="none"
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="faker.gemspec"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="A library for generating fake data such as names, addresses, and phone numbers"
|
||||
HOMEPAGE="https://github.com/stympy/faker"
|
||||
SRC_URI="https://github.com/stympy/faker/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="test"
|
||||
|
||||
ruby_add_rdepend ">=dev-ruby/i18n-0.7:*"
|
||||
|
||||
ruby_add_bdepend "test? ( dev-ruby/timecop )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/simplecov/,/^end/ s:^:#:' test/test_helper.rb || die
|
||||
}
|
@ -1,5 +1,2 @@
|
||||
DIST ruby-gnome2-all-3.1.1.tar.gz 2233259 BLAKE2B 2758a2b34bbb96a9b2aba73f576d6213c9add2bd37ac85ed083a2bfb050d5327d7332ee1b9a8445e69aab0c4721ba446b4cb66c26273818ba930cce389eda152 SHA512 be264505d254248e0e6190b28c5311d10384c2ade19ac56f249bd17284b153368e6007862c4e19e6d1015ba3e441f9bc502a5dbcc45b7dc8036611ef554a6de9
|
||||
DIST ruby-gnome2-all-3.2.7.tar.gz 2290033 BLAKE2B 48abafe9c108f3a42b5da05edb6aa7ea6b508e313f65954481d3ce1f1c4497adfce52d83d491314f352fd057ac31fad63d2c1ec4b13fb0f6de1f6f9ab12d35c6 SHA512 94c273941918e49f140cd5dcc413421406e4b15ad244f6a4c29255030162aaae13dacb701c3df20a64ac6945b7cc4a5de0fa8bed21b4f119183641d298bc2030
|
||||
DIST ruby-gnome2-all-3.2.9.tar.gz 2305753 BLAKE2B a7db155431ba45cc35d5aeba1c2cd1d9b9da8dad4fbb914812a5eaa36f25a8f0e947f90c8e71f6d087852621fa139a22be0422af81934dd7b82844cf7fc02183 SHA512 e3f960852d97f2693f1ad6c26655232c74c99d9d98529dfed0ca922c57de1bf3444a7b3595e1a59ebd6b8064b7f5449f1eb774c09c085b74e5ce81b9354fd868
|
||||
DIST ruby-gnome2-all-3.3.0.tar.gz 2337060 BLAKE2B bdbdc081d65d1d41e86b25291a11440fbac5d5cac4bd03d8b665b3b803466788ff967f86b013d76781cfe370a55e126436c0de79c57f7eacd72fefa0b9a074a7 SHA512 0d113872e76c0adb512b97365e986e5c56ad053c1189479116a31a45023ee18af38b7393ef575a068f187b9e23254d0b616ece1c41aa48baf5dd25a39bc2a76a
|
||||
DIST ruby-gnome2-all-3.3.2.tar.gz 2310841 BLAKE2B 8f50dc289cd097fa476a3419ffec623009395384bcfa965803f3e4e857e095866e0233e7546150c5e54d1e35f71c5e72a2880100a881ba037356208e5d3721ce SHA512 4581aad8c69db2b6be3b067ff60994fb3567d68299f634e085319ac81f51e1d681972ccba715f8e93df3adba155fa8cd3a49929cd77f6eb01856be30e551b21c
|
||||
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby23 ruby24 ruby25"
|
||||
|
||||
inherit ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby Glib2 bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
RDEPEND+=" >=dev-libs/glib-2"
|
||||
DEPEND+=" >=dev-libs/glib-2"
|
||||
|
||||
ruby_add_bdepend "dev-ruby/pkg-config
|
||||
test? ( >=dev-ruby/test-unit-2 )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Skip spawn tests since our sandbox also provides items in the environment and this makes the test fragile.
|
||||
rm -f test/test-spawn.rb || die
|
||||
|
||||
# Remove pregenerated Makefile since it will otherwise be shared by all targets.
|
||||
rm -f Makefile Makefile.lib ext/glib2/Makefile || die
|
||||
|
||||
# Avoid native installer
|
||||
sed -i -e '/native-package-installer/ s:^:#:' lib/mkmf-gnome2.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
${RUBY} test/run-test.rb || die
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby23 ruby24 ruby25"
|
||||
|
||||
inherit ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby Glib2 bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
RDEPEND+=" >=dev-libs/glib-2"
|
||||
DEPEND+=" >=dev-libs/glib-2"
|
||||
|
||||
ruby_add_bdepend "dev-ruby/pkg-config
|
||||
test? ( >=dev-ruby/test-unit-2 )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Skip spawn tests since our sandbox also provides items in the environment and this makes the test fragile.
|
||||
rm -f test/test-spawn.rb || die
|
||||
|
||||
# Remove pregenerated Makefile since it will otherwise be shared by all targets.
|
||||
rm -f Makefile Makefile.lib ext/glib2/Makefile || die
|
||||
|
||||
# Avoid native installer
|
||||
sed -i -e '/native-package-installer/ s:^:#:' lib/mkmf-gnome2.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
${RUBY} test/run-test.rb || die
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby23 ruby24 ruby25 ruby26"
|
||||
|
||||
inherit ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby Glib2 bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
RDEPEND+=" >=dev-libs/glib-2"
|
||||
DEPEND+=" >=dev-libs/glib-2"
|
||||
|
||||
ruby_add_bdepend "dev-ruby/pkg-config
|
||||
test? ( >=dev-ruby/test-unit-2 )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Skip spawn tests since our sandbox also provides items in the environment and this makes the test fragile.
|
||||
rm -f test/test-spawn.rb || die
|
||||
|
||||
# Remove pregenerated Makefile since it will otherwise be shared by all targets.
|
||||
rm -f Makefile Makefile.lib ext/glib2/Makefile || die
|
||||
|
||||
# Avoid native installer
|
||||
sed -i -e '/native-package-installer/ s:^:#:' lib/mkmf-gnome2.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
${RUBY} test/run-test.rb || die
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
DIST ruby-gnome2-all-3.1.1.tar.gz 2233259 BLAKE2B 2758a2b34bbb96a9b2aba73f576d6213c9add2bd37ac85ed083a2bfb050d5327d7332ee1b9a8445e69aab0c4721ba446b4cb66c26273818ba930cce389eda152 SHA512 be264505d254248e0e6190b28c5311d10384c2ade19ac56f249bd17284b153368e6007862c4e19e6d1015ba3e441f9bc502a5dbcc45b7dc8036611ef554a6de9
|
||||
DIST ruby-gnome2-all-3.2.7.tar.gz 2290033 BLAKE2B 48abafe9c108f3a42b5da05edb6aa7ea6b508e313f65954481d3ce1f1c4497adfce52d83d491314f352fd057ac31fad63d2c1ec4b13fb0f6de1f6f9ab12d35c6 SHA512 94c273941918e49f140cd5dcc413421406e4b15ad244f6a4c29255030162aaae13dacb701c3df20a64ac6945b7cc4a5de0fa8bed21b4f119183641d298bc2030
|
||||
DIST ruby-gnome2-all-3.2.9.tar.gz 2305753 BLAKE2B a7db155431ba45cc35d5aeba1c2cd1d9b9da8dad4fbb914812a5eaa36f25a8f0e947f90c8e71f6d087852621fa139a22be0422af81934dd7b82844cf7fc02183 SHA512 e3f960852d97f2693f1ad6c26655232c74c99d9d98529dfed0ca922c57de1bf3444a7b3595e1a59ebd6b8064b7f5449f1eb774c09c085b74e5ce81b9354fd868
|
||||
DIST ruby-gnome2-all-3.3.2.tar.gz 2310841 BLAKE2B 8f50dc289cd097fa476a3419ffec623009395384bcfa965803f3e4e857e095866e0233e7546150c5e54d1e35f71c5e72a2880100a881ba037356208e5d3721ce SHA512 4581aad8c69db2b6be3b067ff60994fb3567d68299f634e085319ac81f51e1d681972ccba715f8e93df3adba155fa8cd3a49929cd77f6eb01856be30e551b21c
|
||||
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby23 ruby24 ruby25"
|
||||
|
||||
inherit ruby-ng-gnome2
|
||||
|
||||
RUBY_S=ruby-gnome2-all-${PV}/gobject-introspection
|
||||
|
||||
DESCRIPTION="Ruby GObjectIntrospection bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND+=" dev-libs/gobject-introspection"
|
||||
RDEPEND+=" dev-libs/gobject-introspection"
|
||||
|
||||
ruby_add_rdepend "~dev-ruby/ruby-glib2-${PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Remove pregenerated Makefile since it will otherwise be shared by all targets.
|
||||
rm -f Makefile Makefile.lib ext/gobject-introspection/Makefile || die
|
||||
|
||||
# Avoid native installer
|
||||
sed -i -e '/native-package-installer/ s:^:#: ; /^\s*setup_homebrew_libffi/ s:^:#:' ../glib2/lib/mkmf-gnome2.rb || die
|
||||
|
||||
# Avoid unneeded dependency on test-unit-notify.
|
||||
sed -i -e '/notify/ s:^:#:' test/gobject-introspection-test-utils.rb || die
|
||||
|
||||
# Avoid compilation of dependencies during test.
|
||||
sed -i -e '/system/,/^ end/ s:^:#:' test/run-test.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
${RUBY} test/run-test.rb || die
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby23 ruby24 ruby25"
|
||||
|
||||
inherit ruby-ng-gnome2
|
||||
|
||||
RUBY_S=ruby-gnome2-all-${PV}/gobject-introspection
|
||||
|
||||
DESCRIPTION="Ruby GObjectIntrospection bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND+=" dev-libs/gobject-introspection"
|
||||
RDEPEND+=" dev-libs/gobject-introspection"
|
||||
|
||||
ruby_add_rdepend "~dev-ruby/ruby-glib2-${PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Remove pregenerated Makefile since it will otherwise be shared by all targets.
|
||||
rm -f Makefile Makefile.lib ext/gobject-introspection/Makefile || die
|
||||
|
||||
# Avoid native installer
|
||||
sed -i -e '/native-package-installer/ s:^:#: ; /^\s*setup_homebrew_libffi/ s:^:#:' ../glib2/lib/mkmf-gnome2.rb || die
|
||||
|
||||
# Avoid unneeded dependency on test-unit-notify.
|
||||
sed -i -e '/notify/ s:^:#:' test/gobject-introspection-test-utils.rb || die
|
||||
|
||||
# Avoid compilation of dependencies during test.
|
||||
sed -i -e '/system/,/^ end/ s:^:#:' test/run-test.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
${RUBY} test/run-test.rb || die
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST ruby-gnome2-all-3.1.1.tar.gz 2233259 BLAKE2B 2758a2b34bbb96a9b2aba73f576d6213c9add2bd37ac85ed083a2bfb050d5327d7332ee1b9a8445e69aab0c4721ba446b4cb66c26273818ba930cce389eda152 SHA512 be264505d254248e0e6190b28c5311d10384c2ade19ac56f249bd17284b153368e6007862c4e19e6d1015ba3e441f9bc502a5dbcc45b7dc8036611ef554a6de9
|
||||
DIST ruby-gnome2-all-3.3.2.tar.gz 2310841 BLAKE2B 8f50dc289cd097fa476a3419ffec623009395384bcfa965803f3e4e857e095866e0233e7546150c5e54d1e35f71c5e72a2880100a881ba037356208e5d3721ce SHA512 4581aad8c69db2b6be3b067ff60994fb3567d68299f634e085319ac81f51e1d681972ccba715f8e93df3adba155fa8cd3a49929cd77f6eb01856be30e551b21c
|
||||
|
@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby23 ruby24 ruby25 ruby26"
|
||||
|
||||
inherit virtualx ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby Gtk3 bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND+=" x11-libs/gtk+:3"
|
||||
RDEPEND+=" x11-libs/gtk+:3"
|
||||
|
||||
ruby_add_bdepend ">=dev-ruby/ruby-glib2-${PV}
|
||||
>=dev-ruby/ruby-pango-${PV}"
|
||||
|
||||
ruby_add_rdepend "
|
||||
>=dev-ruby/ruby-atk-${PV}
|
||||
>=dev-ruby/ruby-gdk3-${PV}
|
||||
>=dev-ruby/ruby-gdkpixbuf2-${PV}
|
||||
>=dev-ruby/ruby-gio2-${PV}
|
||||
>=dev-ruby/ruby-pango-${PV}
|
||||
"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Avoid native installer
|
||||
sed -i -e '/native-package-installer/ s:^:#: ; /^\s*setup_homebrew_libffi/ s:^:#:' ../glib2/lib/mkmf-gnome2.rb || die
|
||||
|
||||
# Avoid compilation of dependencies during test.
|
||||
sed -i -e '/which make/,/^ end/ s:^:#:' test/run-test.rb || die
|
||||
|
||||
# Use standard icon
|
||||
sed -i -e 's/"find"/"call-start"/' test/test-gtk-icon-theme.rb || die
|
||||
sed -i -e 's/"search"/"system-search"/' test/test-gtk-icon-theme.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
virtx ${RUBY} test/run-test.rb || die
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST ruby-gnome2-all-3.1.1.tar.gz 2233259 BLAKE2B 2758a2b34bbb96a9b2aba73f576d6213c9add2bd37ac85ed083a2bfb050d5327d7332ee1b9a8445e69aab0c4721ba446b4cb66c26273818ba930cce389eda152 SHA512 be264505d254248e0e6190b28c5311d10384c2ade19ac56f249bd17284b153368e6007862c4e19e6d1015ba3e441f9bc502a5dbcc45b7dc8036611ef554a6de9
|
||||
DIST ruby-gnome2-all-3.3.2.tar.gz 2310841 BLAKE2B 8f50dc289cd097fa476a3419ffec623009395384bcfa965803f3e4e857e095866e0233e7546150c5e54d1e35f71c5e72a2880100a881ba037356208e5d3721ce SHA512 4581aad8c69db2b6be3b067ff60994fb3567d68299f634e085319ac81f51e1d681972ccba715f8e93df3adba155fa8cd3a49929cd77f6eb01856be30e551b21c
|
||||
|
@ -0,0 +1,32 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby23 ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_NAME="gtksourceview2"
|
||||
|
||||
inherit virtualx ruby-ng-gnome2
|
||||
|
||||
RUBY_S=ruby-gnome2-all-${PV}/gtksourceview2
|
||||
|
||||
DESCRIPTION="Ruby bindings for gtksourceview"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND+=" x11-libs/gtksourceview:2.0"
|
||||
DEPEND+=" x11-libs/gtksourceview:2.0"
|
||||
|
||||
ruby_add_rdepend ">=dev-ruby/ruby-gtk2-${PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Avoid native installer
|
||||
sed -i -e '/native-package-installer/ s:^:#: ; /^\s*setup_homebrew_libffi/ s:^:#:' ../glib2/lib/mkmf-gnome2.rb || die
|
||||
|
||||
# Avoid compilation of dependencies during test.
|
||||
sed -i -e '/system/,/^ end/ s:^:#:' test/run-test.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
virtx ${RUBY} test/run-test.rb || die
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue