parent
cfa3133be2
commit
1f7b9b94ca
@ -1,3 +1,4 @@
|
||||
DIST logstash-2.3.2.tar.gz 74898843 SHA256 b3c9d943fa273c8087386736ef6809df9c5959bab870a6ab4723f58d48dd38c1 SHA512 87b97ae0548328fe56ab4f2104b4c63db6a424bb5937e7be043f5835d08bcd02fbcb403d5cc9312b72d5314abfce2b4b00016b9b380fb88abed690d8d80e8c55 WHIRLPOOL afa2a53230b3e5390c4c4d2a84a168ed2d6c56babf927fe4b8c3cb2dab49def8457e8df45d33ca020b11d49b52397f5abb6604fb1d8fecd3c9b033f426130bd9
|
||||
DIST logstash-2.3.3.tar.gz 78887475 SHA256 51a20fbfe2aa0c5ea49ceda8278a4667289fd1871cf7be4ba1c32bd6cbc71d74 SHA512 b1b6ab8e323a01a905c923c24916efe7a1b1165c82d692dbd856b8cdb30ab2e3378c5dfec2e6424c8d44813a1bd8a787075a6f9d82ecbd0d6973d8cdfb1b8193 WHIRLPOOL d280c413bdcf50d5cc7151fe9a5385d974405b69f51df5f12fbb1eb8facc90682cc884d8d79d84968d0a7ae8c63eb688e50832208c647e7e2b05d4f21b8f189a
|
||||
DIST logstash-2.3.4.tar.gz 79779303 SHA256 7f62a03ddc3972e33c343e982ada1796b18284f43ed9c0089a2efee78b239583 SHA512 cc5d6c04e414daf63c836141df87204e0cbc63f71ee02abb69496e29587d5b0803dd738949de559a597979c9f6c6bf9d11d55f4b084ce875f24fb362f2c9bd3b WHIRLPOOL 71b6d915153d80d9bc81d10454ffd14af4643c61557964d7fd8edf50bf1a5d1c53ce0b09c2aec9b079918df596bbb5b07420b8661572bf7ea659e9703694f07c
|
||||
DIST logstash-all-plugins-2.3.3.tar.gz 134888154 SHA256 b60a6f59616a54f07f47155b6962cd4d7eb8af8c0ceebfe5fc7d471670c02612 SHA512 41df6c94aa27c86b394580fc426d0c0c0db6ce91157fa250a67a8a72db681770ba3cdd257788cfaf9947704bba1a61308a9bc843204b80dcd739b5082972cf6d WHIRLPOOL 0644f49a6ea76add4a3522b5fd8ec519ea49cc554cfd00f96f0b223840d886dfb8781f59a7fc3d0bef2484266aea168c0a9700b63f8aede9d649106d19b494a9
|
||||
|
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit user
|
||||
|
||||
MY_PN="${PN/-bin}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Tool for managing events and logs"
|
||||
HOMEPAGE="https://www.elastic.co/products/logstash"
|
||||
SRC_URI="https://download.elastic.co/${MY_PN}/${MY_PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RESTRICT="strip"
|
||||
QA_PREBUILT="opt/logstash/vendor/jruby/lib/jni/*/libjffi*.so"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="|| ( virtual/jre:1.8 virtual/jre:1.7 )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${MY_PN}
|
||||
enewuser ${MY_PN} -1 -1 /var/lib/${MY_PN} ${MY_PN} -m
|
||||
}
|
||||
|
||||
src_install() {
|
||||
keepdir /etc/"${MY_PN}"/{conf.d,patterns,plugins}
|
||||
keepdir "/var/log/${MY_PN}"
|
||||
|
||||
insinto "/usr/share/${MY_PN}"
|
||||
doins "${FILESDIR}/agent.conf.sample"
|
||||
|
||||
insinto "/opt/${MY_PN}"
|
||||
doins -r .
|
||||
fperms 0755 "/opt/${MY_PN}/bin/${MY_PN}" "/opt/${MY_PN}/vendor/jruby/bin/jruby"
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/${MY_PN}.logrotate" "${MY_PN}"
|
||||
|
||||
newconfd "${FILESDIR}/${MY_PN}.confd" "${MY_PN}"
|
||||
newinitd "${FILESDIR}/${MY_PN}.initd" "${MY_PN}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "The default user changed from root to ${MY_PN}. If you wish to run as root (for"
|
||||
ewarn "example to read local logs), be sure to change LS_USER and LS_GROUP in"
|
||||
ewarn "/etc/conf.d/${MY_PN}"
|
||||
einfo
|
||||
einfo "Getting started with logstash:"
|
||||
einfo " https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html"
|
||||
einfo ""
|
||||
einfo "Packages that might be interesting:"
|
||||
einfo " app-misc/elasticsearch"
|
||||
einfo " dev-python/elasticsearch-curator"
|
||||
einfo " www-apps/kibana-bin"
|
||||
}
|
@ -1,93 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
inherit eutils flag-o-matic multilib systemd toolchain-funcs
|
||||
|
||||
DESCRIPTION="System performance tools for Linux"
|
||||
HOMEPAGE="http://pagesperso-orange.fr/sebastien.godard/"
|
||||
SRC_URI="${HOMEPAGE}${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug isag nls lm_sensors selinux static"
|
||||
|
||||
CDEPEND="
|
||||
isag? (
|
||||
dev-lang/tk:0
|
||||
dev-vcs/rcs
|
||||
sci-visualization/gnuplot
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
lm_sensors? ( sys-apps/lm_sensors )
|
||||
"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-sysstat )
|
||||
"
|
||||
|
||||
SYSSTAT_FAKE_RC_DIR=Gentoo-does-not-use-rc.d
|
||||
|
||||
src_prepare() {
|
||||
if use nls; then
|
||||
strip-linguas -i nls/
|
||||
local lingua pofile
|
||||
for pofile in nls/*.po; do
|
||||
lingua=${pofile/nls\/}
|
||||
lingua=${lingua/.po}
|
||||
if ! has ${lingua} ${LINGUAS}; then
|
||||
rm "nls/${lingua}.po" || die
|
||||
fi
|
||||
done
|
||||
fi
|
||||
epatch \
|
||||
"${FILESDIR}"/${PN}-10.0.4-flags.patch \
|
||||
"${FILESDIR}"/${PN}-11.0.4-cron.patch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR
|
||||
use static && append-ldflags -static
|
||||
|
||||
sa_lib_dir=/usr/$(get_libdir)/sa \
|
||||
conf_dir=/etc \
|
||||
rcdir=${SYSSTAT_FAKE_RC_DIR} \
|
||||
econf \
|
||||
$(use_enable debug debuginfo) \
|
||||
$(use_enable isag install-isag) \
|
||||
$(use_enable lm_sensors sensors) \
|
||||
$(use_enable nls) \
|
||||
--enable-copy-only \
|
||||
--enable-documentation \
|
||||
--enable-install-cron \
|
||||
--with-systemdsystemunitdir=$(systemd_get_unitdir)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake LFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
keepdir /var/log/sa
|
||||
|
||||
emake \
|
||||
CHOWN=true \
|
||||
DESTDIR="${D}" \
|
||||
DOC_DIR=/usr/share/doc/${PF} \
|
||||
MANGRPARG='' \
|
||||
install
|
||||
|
||||
dodoc contrib/sargraph/sargraph
|
||||
|
||||
rm -r "${D}/${SYSSTAT_FAKE_RC_DIR}" || die
|
||||
newinitd "${FILESDIR}"/${PN}.init.d ${PN}
|
||||
systemd_dounit ${PN}.service
|
||||
|
||||
rm -f "${D}"usr/share/doc/${PF}/COPYING
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST clamav-unofficial-sigs-3.7.2.tar.gz 38549 SHA256 96e98e6e4434c5950fa9831c6a43236fed7eabae44beded16171305cf3f9bdb9 SHA512 ee07bf521cca229bc85acb887c8e520149955732797a9d220e24f09cb9e89f9bd189ad77dc781c03c60bdaaec2bfa91a6c96cf7a0b689759cddf3ff231b8b0a4 WHIRLPOOL af4925c8a9bb8c09472131f98026b809da13e122a530c4a48614014b8156a259d37303cb1042da98d0bd8b0f4abef3cd7c05f2d549f87e1b7cd533d4a8d4d188
|
||||
DIST clamav-unofficial-sigs-4.9.2.tar.gz 40301 SHA256 70e05f63add7e03d5af2dba6bcd31fda98646577798d99e6902e5f264c302e93 SHA512 46ec2e59c3838f4cff88562eacbd00ee1ad108f8f45500b9cde268c3d46bd3f6be68ff6136b7f3a4f6b628ff0b24f5dd10b2199e611b473acd7df82abf27b2c8 WHIRLPOOL 3029ee278629c3e8cf5471564e7ff054fc335e066d03653df82d07a87fa0dda76e41c5572c93fd0f28a434d002f3bdadd60043540378504c289333092aca412a
|
||||
DIST clamav-unofficial-sigs-5.3.1.tar.gz 113191 SHA256 f2b613c8fdc5197ab73fa499d5a5a82cc68889bf3c8b45bd90363e6f21154599 SHA512 2bd1d9dc8c1fb0490cc9c7776181a6e7cb180168cfa58ed0dd82901d41858cc463805fe7851f888bacdbfece5c46b012f85aad6e1966eb900a935f1d395ebdc5 WHIRLPOOL 4da9118e53f1af3cc7e88a64babad221c665678a5ccac4cb6c707286cf543414d12227d81d9fcae5c01361b8a15eca72e59df7669d47a6cf3662b813eacf2717
|
||||
DIST clamav-unofficial-sigs-5.3.2.tar.gz 113714 SHA256 3abe1c22133d879318cebc18d3224a820ea1747524425d4a2efd337749596589 SHA512 9db139bf64c51dd33c89b54d00cde5be939fa815d968f88e0e2d4ec4264e09e4f7bac0b5795d90800bc042498e1d271113e009fc4b6f925a8e81e915f0b1d5b4 WHIRLPOOL 63baf144d32eff715546643edb3182c26e7a51297dda7186fcf6aeef3dcfc8287ae6d71073718e96ac639e8974b83bfc5c2e74174b684642de22a580686fcf3d
|
||||
|
@ -0,0 +1,410 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils multilib qt4-r2 systemd user libtool
|
||||
|
||||
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 examples ipv6 libressl logwatch mysql postgres qt4 readline +sqlite ssl static tcpd vim-syntax X"
|
||||
|
||||
DEPEND="
|
||||
dev-libs/gmp:0
|
||||
!bacula-clientonly? (
|
||||
postgres? ( dev-db/postgresql:*[threads] )
|
||||
mysql? ( virtual/mysql )
|
||||
sqlite? ( dev-db/sqlite:3 )
|
||||
!bacula-nodir? ( virtual/mta )
|
||||
)
|
||||
qt4? (
|
||||
dev-qt/qtsvg:4
|
||||
x11-libs/qwt:5
|
||||
)
|
||||
logwatch? ( sys-apps/logwatch )
|
||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||
readline? ( sys-libs/readline:0 )
|
||||
static? (
|
||||
acl? ( virtual/acl[static-libs] )
|
||||
sys-libs/zlib[static-libs]
|
||||
dev-libs/lzo[static-libs]
|
||||
sys-libs/ncurses:=[static-libs]
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0=[static-libs] )
|
||||
libressl? ( dev-libs/libressl:0=[static-libs] )
|
||||
)
|
||||
)
|
||||
!static? (
|
||||
acl? ( virtual/acl )
|
||||
sys-libs/zlib
|
||||
dev-libs/lzo
|
||||
sys-libs/ncurses:=
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
)"
|
||||
RDEPEND="${DEPEND}
|
||||
!bacula-clientonly? (
|
||||
!bacula-nosd? (
|
||||
sys-block/mtx
|
||||
app-arch/mt-st
|
||||
)
|
||||
)
|
||||
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
|
||||
|
||||
REQUIRED_USE="|| ( ^^ ( mysql postgres sqlite ) bacula-clientonly )
|
||||
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 qt4; then
|
||||
ewarn
|
||||
ewarn "Building statically linked 'bat' is not supported. Ignorig 'qt4' 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)
|
||||
epatch "${FILESDIR}"/7.2.0/${PN}-7.2.0-doc.patch
|
||||
|
||||
# bug #310087
|
||||
epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-as-needed.patch
|
||||
|
||||
# bug #311161
|
||||
epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-lib-search-path.patch
|
||||
|
||||
# bat needs to respect LDFLAGS
|
||||
epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-ldflags.patch
|
||||
|
||||
# bug #328701
|
||||
epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch
|
||||
|
||||
epatch "${FILESDIR}"/7.2.0/${PN}-7.2.0-fix-static.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
|
||||
epatch "${FILESDIR}"/7.0.2/${PN}-7.0.2-depend.patch
|
||||
|
||||
# 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
|
||||
|
||||
# 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} \
|
||||
--enable-batch-insert"
|
||||
fi
|
||||
|
||||
# do not build bat if 'static' clientonly
|
||||
if ! use bacula-clientonly || ! use static; then
|
||||
myconf="${myconf} \
|
||||
$(use_enable qt4 bat)"
|
||||
fi
|
||||
|
||||
myconf="${myconf} \
|
||||
$(use_with X x) \
|
||||
$(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-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_unitdir) \
|
||||
--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 \
|
||||
--host=${CHOST} \
|
||||
${myconf}
|
||||
# correct configuration for QT based bat
|
||||
if use qt4 ; then
|
||||
pushd src/qt-console
|
||||
eqmake4
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
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 qt4 && ! 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 /etc/log.d/scripts/services
|
||||
dodir /etc/log.d/scripts/shared
|
||||
dodir /etc/log.d/conf/logfiles
|
||||
dodir /etc/log.d/conf/services
|
||||
pushd "${S}"/scripts/logwatch >&/dev/null || die
|
||||
emake DESTDIR="${D}" install
|
||||
popd >&/dev/null || die
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use qt4; 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/share/man/man8/bacula-dir.8*
|
||||
rm -vf "${D}"/usr/share/man/man8/dbcheck.8*
|
||||
rm -vf "${D}"/usr/share/man/man1/bsmtp.1*
|
||||
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/share/man/man8/bacula-sd.8*
|
||||
rm -vf "${D}"/usr/share/man/man8/bcopy.8*
|
||||
rm -vf "${D}"/usr/share/man/man8/bextract.8*
|
||||
rm -vf "${D}"/usr/share/man/man8/bls.8*
|
||||
rm -vf "${D}"/usr/share/man/man8/bscan.8*
|
||||
rm -vf "${D}"/usr/share/man/man8/btape.8*
|
||||
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 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}/${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 7.2.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=qt4'."
|
||||
einfo
|
||||
}
|
@ -0,0 +1,116 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools eutils user
|
||||
|
||||
DESCRIPTION="Network backup and restore client and server for Unix and Windows"
|
||||
HOMEPAGE="http://burp.grke.org/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
|
||||
http://burp.grke.org/downloads/${P}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="acl afs ipv6 libressl nls tcpd xattr"
|
||||
|
||||
DEPEND="
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
dev-libs/uthash
|
||||
sys-libs/libcap
|
||||
>net-libs/librsync-2.0.0:0=
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/zlib
|
||||
acl? ( sys-apps/acl )
|
||||
afs? ( net-fs/openafs )
|
||||
nls? ( sys-devel/gettext )
|
||||
tcpd? ( sys-apps/tcp-wrappers )
|
||||
xattr? ( sys-apps/attr )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
virtual/logger
|
||||
"
|
||||
|
||||
DOCS=( CONTRIBUTORS DONATIONS UPGRADING )
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PV}-non-zero-or-build-failure.patch"
|
||||
"${FILESDIR}/${PV}-bedup-conf-path.patch"
|
||||
"${FILESDIR}/${PV}-tinfo.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup "${PN}"
|
||||
enewuser "${PN}" -1 "" "" "${PN}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${PATCHES[@]}"
|
||||
eautoreconf
|
||||
sed -e '/autoupgrade/d' -i "${S}"/Makefile.in || die
|
||||
rm "${S}"/docs/autoupgrade.txt || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--sbindir=/usr/sbin
|
||||
--sysconfdir=/etc/burp
|
||||
--enable-largefile
|
||||
$(use_enable acl)
|
||||
$(use_enable afs)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable nls)
|
||||
$(use_enable xattr)
|
||||
$(use_with tcpd tcp-wrappers)
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
fowners root:burp /etc/burp
|
||||
fperms 0775 /etc/burp
|
||||
fowners root:burp /etc/burp/burp-server.conf
|
||||
fperms 0640 /etc/burp/burp-server.conf
|
||||
fowners root:burp /etc/burp/clientconfdir
|
||||
fperms 0750 /etc/burp/clientconfdir
|
||||
fowners root:burp /var/spool/burp
|
||||
fperms 0770 /var/spool/burp
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||
dodoc docs/*
|
||||
|
||||
local scripts_dir=/usr/share/burp/scripts
|
||||
dodir "${scripts_dir}"
|
||||
local script
|
||||
for script in notify_script ssl_extra_checks_script summary_script \
|
||||
timer_script; do
|
||||
mv "${D}etc/burp/${script}" "${D}${scripts_dir}/" || die
|
||||
sed -r \
|
||||
-e "s|(=\\s*)/etc/burp/${script}\\s*$|\1${scripts_dir}/${script}|" \
|
||||
-i "${D}etc/burp/burp-server.conf" \
|
||||
|| die
|
||||
done
|
||||
|
||||
sed -e '/autoupgrade/d' -i "${D}etc/burp/burp.conf" || die
|
||||
sed -e '/autoupgrade/,+1d' -i "${D}etc/burp/burp-server.conf" || die
|
||||
|
||||
sed -e 's|^# user=graham|user = burp|' \
|
||||
-e 's|^# group=nogroup|group = burp|' \
|
||||
-e 's|^pidfile = .*|lockfile = /run/lock/burp/server.lock|' \
|
||||
-i "${D}etc/burp/burp-server.conf" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -e /etc/burp/CA/index.txt ]]; then
|
||||
elog "At first run burp server will generate DH parameters and SSL"
|
||||
elog "certificates. You should adjust configuration before."
|
||||
elog "Server configuration is located at"
|
||||
elog ""
|
||||
elog " /etc/burp/burp-server.conf"
|
||||
elog ""
|
||||
fi
|
||||
}
|
@ -0,0 +1,335 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python2_7)
|
||||
PYTHON_REQ_USE="ipv6(+)?"
|
||||
|
||||
inherit user autotools bash-completion-r1 python-single-r1 versionator
|
||||
|
||||
MY_PV="${PV/_rc/~rc}"
|
||||
MY_PV="${MY_PV/_beta/~beta}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
SERIES="$(get_version_component_range 1-2)"
|
||||
|
||||
if [[ ${PV} =~ [9]{4,} ]] ; then
|
||||
EGIT_REPO_URI="git://git.ganeti.org/ganeti.git"
|
||||
inherit git-2
|
||||
KEYWORDS=""
|
||||
PATCHES=()
|
||||
else
|
||||
DEBIAN_PATCH=4
|
||||
SRC_URI="
|
||||
http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz
|
||||
mirror://ubuntu/pool/universe/${PN:0:1}/${PN}/${PN}_${PV}-${DEBIAN_PATCH}.debian.tar.xz
|
||||
"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
PATCHES=(
|
||||
"${WORKDIR}"/debian/patches/do-not-backup-export-dir.patch
|
||||
"${WORKDIR}"/debian/patches/Makefile.am-use-C.UTF-8
|
||||
"${WORKDIR}"/debian/patches/relax-deps
|
||||
"${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch
|
||||
"${WORKDIR}"/debian/patches/zlib-0.6-compatibility
|
||||
"${WORKDIR}"/debian/patches/fix_FTBFS_with_sphinx-1.3.5
|
||||
"${WORKDIR}"/debian/patches/fix_ftbfs_with_sphinx_1.4
|
||||
)
|
||||
fi
|
||||
|
||||
DESCRIPTION="Ganeti is a virtual server management software tool"
|
||||
HOMEPAGE="http://www.ganeti.org/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
|
||||
|
||||
REQUIRED_USE="|| ( kvm xen lxc )
|
||||
test? ( ipv6 )
|
||||
kvm? ( || ( amd64 x86 ) )
|
||||
${PYTHON_REQUIRED_USE}"
|
||||
|
||||
USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}"
|
||||
GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}"
|
||||
|
||||
DEPEND="
|
||||
dev-libs/openssl:0
|
||||
dev-python/paramiko[${PYTHON_USEDEP}]
|
||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
||||
dev-python/simplejson[${PYTHON_USEDEP}]
|
||||
dev-python/pyparsing[${PYTHON_USEDEP}]
|
||||
dev-python/pyinotify[${PYTHON_USEDEP}]
|
||||
dev-python/pycurl[${PYTHON_USEDEP}]
|
||||
dev-python/ipaddr[${PYTHON_USEDEP}]
|
||||
dev-python/bitarray[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
net-analyzer/arping
|
||||
net-analyzer/fping
|
||||
net-misc/bridge-utils
|
||||
net-misc/curl[ssl]
|
||||
net-misc/openssh
|
||||
net-misc/socat
|
||||
sys-apps/iproute2
|
||||
sys-fs/lvm2
|
||||
>=sys-apps/baselayout-2.0
|
||||
dev-lang/ghc:0=
|
||||
dev-haskell/cabal:0=
|
||||
dev-haskell/cabal-install:0=
|
||||
>=dev-haskell/mtl-2.1.1:0=
|
||||
>=dev-haskell/old-time-1.1.0.0:0=
|
||||
>=dev-haskell/random-1.0.1.1:0=
|
||||
haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= )
|
||||
>=dev-haskell/transformers-0.4.3.0:0=
|
||||
|
||||
>=dev-haskell/attoparsec-0.10.1.1:0=
|
||||
<dev-haskell/attoparsec-0.14:0
|
||||
>=dev-haskell/base64-bytestring-1.0.0.1:0=
|
||||
<dev-haskell/base64-bytestring-1.1:0=
|
||||
>=dev-haskell/crypto-4.2.4:0=
|
||||
<dev-haskell/crypto-4.3:0=
|
||||
>=dev-haskell/curl-1.3.7:0=
|
||||
<dev-haskell/curl-1.4:0=
|
||||
>=dev-haskell/hinotify-0.3.2:0=
|
||||
<dev-haskell/hinotify-0.4:0=
|
||||
>=dev-haskell/hslogger-1.1.4:0=
|
||||
<dev-haskell/hslogger-1.3:0=
|
||||
>=dev-haskell/json-0.5:0=
|
||||
>=dev-haskell/lens-3.10:0=
|
||||
>=dev-haskell/lifted-base-0.2.0.3:0=
|
||||
<dev-haskell/lifted-base-0.3:0=
|
||||
>=dev-haskell/monad-control-0.3.1.3:0=
|
||||
<dev-haskell/monad-control-1.1:0=
|
||||
>=dev-haskell/network-2.3.0.13:0=
|
||||
<dev-haskell/network-2.7:0=
|
||||
>=dev-haskell/parallel-3.2.0.2:3=
|
||||
<dev-haskell/parallel-3.3:3=
|
||||
>=dev-haskell/temporary-1.1.2.3:0=
|
||||
<dev-haskell/temporary-1.3:0=
|
||||
>=dev-haskell/regex-pcre-0.94.2:0=
|
||||
<dev-haskell/regex-pcre-0.95:0=
|
||||
>=dev-haskell/transformers-base-0.4.1:0=
|
||||
<dev-haskell/transformers-base-0.5:0=
|
||||
>=dev-haskell/utf8-string-0.3.7:0=
|
||||
>=dev-haskell/zlib-0.5.3.3:0=
|
||||
<dev-haskell/zlib-0.7:0=
|
||||
|
||||
>=dev-haskell/psqueue-1.1:0=
|
||||
<dev-haskell/psqueue-1.2:0=
|
||||
>=dev-haskell/snap-core-0.8.1:0=
|
||||
<dev-haskell/snap-core-0.10:0=
|
||||
>=dev-haskell/snap-server-0.8.1:0=
|
||||
<dev-haskell/snap-server-0.10:0=
|
||||
>=dev-haskell/case-insensitive-0.4.0.1
|
||||
|
||||
dev-haskell/vector:0=
|
||||
xen? ( >=app-emulation/xen-3.0 )
|
||||
kvm? (
|
||||
dev-python/psutil
|
||||
app-emulation/qemu
|
||||
)
|
||||
lxc? ( app-emulation/lxc )
|
||||
drbd? (
|
||||
|| (
|
||||
<sys-cluster/drbd-8.5
|
||||
sys-cluster/drbd-utils
|
||||
)
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
ipv6? ( net-misc/ndisc6 )
|
||||
${PYTHON_DEPS}"
|
||||
RDEPEND="${DEPEND}
|
||||
!app-emulation/ganeti-htools"
|
||||
DEPEND+="
|
||||
sys-devel/m4
|
||||
app-text/pandoc
|
||||
<=dev-python/sphinx-1.3.5[${PYTHON_USEDEP}]
|
||||
media-fonts/urw-fonts
|
||||
media-gfx/graphviz
|
||||
>=dev-haskell/test-framework-0.6:0=
|
||||
<dev-haskell/test-framework-0.9:0=
|
||||
>=dev-haskell/test-framework-hunit-0.2.7:0=
|
||||
<dev-haskell/test-framework-hunit-0.4:0=
|
||||
>=dev-haskell/test-framework-quickcheck2-0.2.12.1:0=
|
||||
<dev-haskell/test-framework-quickcheck2-0.4:0=
|
||||
test? (
|
||||
dev-python/mock
|
||||
dev-python/pyyaml
|
||||
dev-haskell/haddock:0=
|
||||
>=dev-haskell/hunit-1.2.4.2:0=
|
||||
<dev-haskell/hunit-1.3:0=
|
||||
>=dev-haskell/quickcheck-2.4.2:2=
|
||||
<dev-haskell/quickcheck-2.8.3:2=
|
||||
sys-apps/fakeroot
|
||||
>=net-misc/socat-1.7
|
||||
dev-util/shelltestrunner
|
||||
)"
|
||||
|
||||
PATCHES+=(
|
||||
"${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch"
|
||||
"${FILESDIR}/${PN}-2.11-add-pgrep.patch"
|
||||
"${FILESDIR}/${PN}-2.15-daemon-util.patch"
|
||||
"${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
|
||||
"${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
|
||||
"${FILESDIR}/${PN}-2.10-rundir.patch"
|
||||
"${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch"
|
||||
"${FILESDIR}/${PN}-2.11-tests.patch"
|
||||
"${FILESDIR}/${PN}-lockdir.patch"
|
||||
"${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch"
|
||||
"${FILESDIR}/${PN}-2.11-dont-print-man-help.patch"
|
||||
"${FILESDIR}/${PN}-2.11-daemon-util-tests.patch"
|
||||
"${FILESDIR}/${PN}-2.13-process_unittest.patch"
|
||||
"${FILESDIR}/${PN}-2.15-python-mock.patch"
|
||||
"${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch"
|
||||
"${FILESDIR}/${PN}-2.15-noded-must-run-as-root.patch"
|
||||
"${FILESDIR}/${PN}-2.15-kvmd-run-as-daemon-user.patch"
|
||||
"${FILESDIR}/${PN}-2.15-dont-invert-return-values-for-man-warnings.patch"
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
QA_WX_LOAD="
|
||||
usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d
|
||||
usr/lib*/${PN}/${SERIES}/usr/bin/htools
|
||||
"
|
||||
|
||||
pkg_setup () {
|
||||
local user
|
||||
python-single-r1_pkg_setup
|
||||
|
||||
if use multiple-users; then
|
||||
for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do
|
||||
enewgroup ${user}
|
||||
enewuser ${user} -1 -1 -1 ${user}
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local testfile
|
||||
eapply "${PATCHES[@]}"
|
||||
# Upstream commits:
|
||||
# 4c3c2ca2a97a69c0287a3d23e064bc17978105eb
|
||||
# 24618882737fd7c189adf99f4acc767d48f572c3
|
||||
sed -i \
|
||||
-e '/QuickCheck/s,< 2.8,< 2.8.3,g' \
|
||||
cabal/ganeti.template.cabal
|
||||
# Neuter -Werror
|
||||
sed -i \
|
||||
-e '/^if DEVELOPER_MODE/,/^endif/s/-Werror//' \
|
||||
Makefile.am
|
||||
|
||||
# not sure why these tests are failing
|
||||
# should remove this on next version bump if possible
|
||||
for testfile in test/py/import-export_unittest.bash; do
|
||||
printf '#!/bin/bash\ntrue\n' > "${testfile}"
|
||||
done
|
||||
|
||||
# take the sledgehammer approach to bug #526270
|
||||
grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g'
|
||||
|
||||
eapply_user
|
||||
|
||||
[[ ${PV} =~ [9]{4,} ]] && ./autogen.sh
|
||||
rm autotools/missing
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure () {
|
||||
# this is kind of a hack to work around the removal of the qemu-kvm wrapper
|
||||
local kvm_arch
|
||||
|
||||
if use amd64; then
|
||||
kvm_arch=x86_64
|
||||
elif use x86; then
|
||||
kvm_arch=i386
|
||||
elif use kvm; then
|
||||
die "Could not determine qemu system to use for kvm"
|
||||
fi
|
||||
|
||||
econf --localstatedir=/var \
|
||||
--sharedstatedir=/var \
|
||||
--disable-symlinks \
|
||||
--with-ssh-initscript=/etc/init.d/sshd \
|
||||
--with-export-dir=/var/lib/ganeti-storage/export \
|
||||
--with-os-search-path=/usr/share/${PN}/os \
|
||||
$(use_enable restricted-commands) \
|
||||
$(use_enable test haskell-tests) \
|
||||
$(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \
|
||||
$(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \
|
||||
$(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \
|
||||
$(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \
|
||||
$(use_enable syslog) \
|
||||
$(use_enable monitoring) \
|
||||
$(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \
|
||||
$(usex haskell-daemons "--enable-confd=haskell" '' '' '') \
|
||||
--with-haskell-flags="-optl -Wl,-z,relro -optl -Wl,--as-needed" \
|
||||
--enable-socat-escape \
|
||||
--enable-socat-compress
|
||||
}
|
||||
|
||||
src_install () {
|
||||
emake V=1 DESTDIR="${D}" install
|
||||
|
||||
newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN}
|
||||
newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN}
|
||||
|
||||
if use kvm; then
|
||||
newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
|
||||
newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
|
||||
fi
|
||||
|
||||
# ganeti installs it's own docs in a generic location
|
||||
rm -rf "${D}"/{usr/share/doc/${PN},run}
|
||||
|
||||
sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion
|
||||
newbashcomp doc/examples/bash_completion gnt-instance
|
||||
bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \
|
||||
h{space,check,scan,info,ail,arep,roller,squeeze,bal} \
|
||||
gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster}
|
||||
|
||||
use monitoring && bashcomp_alias gnt-instance mon-collector
|
||||
|
||||
dodoc INSTALL UPGRADE NEWS README doc/*.rst
|
||||
|
||||
docinto html
|
||||
dodoc -r doc/html/* doc/css/*.css
|
||||
|
||||
docinto examples
|
||||
dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf
|
||||
|
||||
docinto examples/hooks
|
||||
dodoc doc/examples/hooks/{ipsec,ethers}
|
||||
|
||||
insinto /etc/cron.d
|
||||
newins doc/examples/ganeti.cron ${PN}
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins doc/examples/ganeti.logrotate ${PN}
|
||||
|
||||
# need to dodir rather than keepdir here (bug #552482)
|
||||
dodir /var/lib/${PN}
|
||||
|
||||
keepdir /var/log/${PN}/
|
||||
keepdir /usr/share/${PN}/${SERIES}/os/
|
||||
keepdir /var/lib/ganeti-storage/{export,file,shared}/
|
||||
|
||||
dosym ${SERIES} "/usr/share/${PN}/default"
|
||||
dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default"
|
||||
|
||||
python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use multiple-users; then
|
||||
elog "You have enable multiple user support, the users for this must"
|
||||
elog "be created. You can use the provided tool for this, which is"
|
||||
elog "located at:"
|
||||
elog " /usr/$(get_libdir)/${PN}/tools/users-setup"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test () {
|
||||
PATH="${S}/scripts:${S}/src:${PATH}" \
|
||||
TMPDIR="/tmp" \
|
||||
GANETI_MASTER="$(hostname -f)" \
|
||||
emake check || die "emake check failed"
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
--- lxc-lxc-2.0.1/config/bash/Makefile.am.orig 2016-05-18 20:40:42.238487678 +0000
|
||||
+++ lxc-lxc-2.0.1/config/bash/Makefile.am 2016-05-18 20:43:02.163497779 +0000
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
if ENABLE_BASH
|
||||
install-bash:
|
||||
- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/bash_completion.d/
|
||||
- $(INSTALL_DATA) lxc $(DESTDIR)$(sysconfdir)/bash_completion.d/
|
||||
+ $(MKDIR_P) $(DESTDIR)$(datarootdir)/bash-completion/completions/
|
||||
+ $(INSTALL_DATA) lxc $(DESTDIR)$(datarootdir)/bash-completion/completions/
|
||||
|
||||
uninstall-bash:
|
||||
- rm -f $(DESTDIR)$(sysconfdir)/bash_completion.d/lxc
|
||||
- rmdir $(DESTDIR)$(sysconfdir)/bash_completion.d/ || :
|
||||
+ rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/lxc
|
||||
+ rmdir $(DESTDIR)$(datarootdir)/bash-completion/completions/ || :
|
||||
|
||||
install-data-local: install-bash
|
||||
uninstall-local: uninstall-bash
|
||||
--- lxc-lxc-2.0.1/config/bash/lxc.in.orig 2016-05-18 20:40:51.079488316 +0000
|
||||
+++ lxc-lxc-2.0.1/config/bash/lxc.in 2016-05-18 20:45:03.506506538 +0000
|
||||
@@ -1,4 +1,3 @@
|
||||
-_have lxc-start && {
|
||||
_lxc_names() {
|
||||
COMPREPLY=( $( compgen -W "$( lxc-ls )" "$cur" ) )
|
||||
}
|
||||
@@ -100,4 +99,3 @@
|
||||
|
||||
complete -o default -F _lxc_generic_o lxc-copy
|
||||
complete -o default -F _lxc_generic_o lxc-start-ephemeral
|
||||
-}
|
@ -0,0 +1,5 @@
|
||||
--- lxc-lxc-2.0.1/config/Makefile.am.orig 2016-05-19 02:56:11.891113982 +0000
|
||||
+++ lxc-lxc-2.0.1/config/Makefile.am 2016-05-19 02:56:32.596115476 +0000
|
||||
@@ -1 +1 @@
|
||||
-SUBDIRS = apparmor bash etc init selinux templates yum sysconfig
|
||||
+SUBDIRS = apparmor bash etc init selinux templates yum
|
@ -0,0 +1,197 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
PYTHON_COMPAT=( python{3_3,3_4,3_5} )
|
||||
DISTUTILS_OPTIONAL=1
|
||||
|
||||
inherit autotools bash-completion-r1 distutils-r1 eutils linux-info versionator flag-o-matic systemd
|
||||
|
||||
DESCRIPTION="LinuX Containers userspace utilities"
|
||||
HOMEPAGE="https://linuxcontainers.org/"
|
||||
SRC_URI="https://github.com/lxc/lxc/archive/${MY_P}.tar.gz"
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~arm64"
|
||||
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
IUSE="cgmanager doc examples lua python seccomp"
|
||||
|
||||
RDEPEND="net-libs/gnutls
|
||||
sys-libs/libcap
|
||||
cgmanager? ( app-admin/cgmanager )
|
||||
lua? ( >=dev-lang/lua-5.1:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( app-text/docbook-sgml-utils )
|
||||
>=sys-kernel/linux-headers-3.2"
|
||||
|
||||
RDEPEND="${RDEPEND}
|
||||
sys-process/criu
|
||||
sys-apps/util-linux
|
||||
app-misc/pax-utils
|
||||
virtual/awk"
|
||||
|
||||
CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE
|
||||
~CPUSETS ~CGROUP_CPUACCT
|
||||
~CGROUP_SCHED
|
||||
|
||||
~NAMESPACES
|
||||
~IPC_NS ~USER_NS ~PID_NS
|
||||
|
||||
~NETLINK_DIAG ~PACKET_DIAG
|
||||
~INET_UDP_DIAG ~INET_TCP_DIAG
|
||||
~UNIX_DIAG ~CHECKPOINT_RESTORE
|
||||
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
~CGROUP_FREEZER
|
||||
~UTS_NS ~NET_NS
|
||||
~VETH ~MACVLAN
|
||||
|
||||
~POSIX_MQUEUE
|
||||
~!NETPRIO_CGROUP
|
||||
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS
|
||||
~!GRKERNSEC_PROC
|
||||
~!GRKERNSEC_SYSFS_RESTRICT
|
||||
"
|
||||
|
||||
ERROR_DEVPTS_MULTIPLE_INSTANCES="CONFIG_DEVPTS_MULTIPLE_INSTANCES: needed for pts inside container"
|
||||
|
||||
ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers"
|
||||
|
||||
ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info"
|
||||
ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network"
|
||||
|
||||
ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking"
|
||||
ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking"
|
||||
|
||||
ERROR_NETLINK_DIAG="CONFIG_NETLINK_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_PACKET_DIAG="CONFIG_PACKET_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_INET_UDP_DIAG="CONFIG_INET_UDP_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_INET_TCP_DIAG="CONFIG_INET_TCP_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_UNIX_DIAG="CONFIG_UNIX_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_CHECKPOINT_RESTORE="CONFIG_CHECKPOINT_RESTORE: needed for lxc-checkpoint"
|
||||
|
||||
ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command"
|
||||
|
||||
ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting."
|
||||
|
||||
ERROR_GRKERNSEC_CHROOT_MOUNT="CONFIG_GRKERNSEC_CHROOT_MOUNT: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_CHROOT_DOUBLE="CONFIG_GRKERNSEC_CHROOT_DOUBLE: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_CHROOT_PIVOT="CONFIG_GRKERNSEC_CHROOT_PIVOT: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_CHROOT_CHMOD="CONFIG_GRKERNSEC_CHROOT_CHMOD: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_CHROOT_CAPS="CONFIG_GRKERNSEC_CHROOT_CAPS: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_PROC="CONFIG_GRKERNSEC_PROC: this GRSEC feature is incompatible with unprivileged containers"
|
||||
ERROR_GRKERNSEC_SYSFS_RESTRICT="CONFIG_GRKERNSEC_SYSFS_RESTRICT: this GRSEC feature is incompatible with unprivileged containers"
|
||||
|
||||
DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt)
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_P}"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${P}-bash-completion.patch
|
||||
#558854
|
||||
epatch "${FILESDIR}"/${P}-omit-sysconfig.patch
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
if use python; then
|
||||
#541932
|
||||
python_setup "python3*"
|
||||
export PKG_CONFIG_PATH="${T}/${EPYTHON}/pkgconfig:${PKG_CONFIG_PATH}"
|
||||
fi
|
||||
|
||||
# I am not sure about the --with-rootfs-path
|
||||
# /var/lib/lxc is probably more appropriate than
|
||||
# /usr/lib/lxc.
|
||||
econf \
|
||||
--localstatedir=/var \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/bin \
|
||||
--docdir=/usr/share/doc/${PF} \
|
||||
--with-config-path=/var/lib/lxc \
|
||||
--with-rootfs-path=/var/lib/lxc/rootfs \
|
||||
--with-distro=gentoo \
|
||||
--with-runtime-path=/run \
|
||||
--disable-apparmor \
|
||||
$(use_enable cgmanager) \
|
||||
$(use_enable doc) \
|
||||
$(use_enable examples) \
|
||||
$(use_enable lua) \
|
||||
$(use_enable python) \
|
||||
$(use_enable seccomp)
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
distutils-r1_python_compile build_ext -I ../ -L ../${PN}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use python; then
|
||||
pushd "${S}/src/python-${PN}" > /dev/null
|
||||
distutils-r1_src_compile
|
||||
popd > /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die
|
||||
# start-ephemeral is no longer a command but removing it here
|
||||
# generates QA warnings (still in upstream completion script)
|
||||
bashcomp_alias ${PN}-start \
|
||||
${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,start-ephemeral,stop,unfreeze,wait}
|
||||
|
||||
if use python; then
|
||||
pushd "${S}/src/python-lxc" > /dev/null
|
||||
# Unset DOCS. This has been handled by the default target
|
||||
unset DOCS
|
||||
distutils-r1_src_install
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc
|
||||
|
||||
find "${D}" -name '*.la' -delete
|
||||
|
||||
# Gentoo-specific additions!
|
||||
newinitd "${FILESDIR}/${PN}.initd.4" ${PN}
|
||||
|
||||
# Remember to compare our systemd unit file with the upstream one
|
||||
# config/init/systemd/lxc.service.in
|
||||
systemd_newunit "${FILESDIR}"/${PN}_at.service.3 "lxc@.service"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog ""
|
||||
elog "Starting from version ${PN}-1.1.0-r3, the default lxc path has been"
|
||||
elog "moved from /etc/lxc to /var/lib/lxc. If you still want to use /etc/lxc"
|
||||
elog "please add the following to your /etc/lxc/default.conf"
|
||||
elog "lxc.lxcpath = /etc/lxc"
|
||||
elog ""
|
||||
elog "There is an init script provided with the package now; no documentation"
|
||||
elog "is currently available though, so please check out /etc/init.d/lxc ."
|
||||
elog "You _should_ only need to symlink it to /etc/init.d/lxc.configname"
|
||||
elog "to start the container defined into /etc/lxc/configname.conf ."
|
||||
elog "For further information about LXC development see"
|
||||
elog "http://blog.flameeyes.eu/tag/lxc" # remove once proper doc is available
|
||||
elog ""
|
||||
}
|
@ -0,0 +1,522 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1-2)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
|
||||
VANILLA_GV="2.40"
|
||||
VANILLA_MV="4.5.6"
|
||||
STAGING_GV="2.40"
|
||||
STAGING_MV="4.5.6"
|
||||
[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
GST_P="wine-1.8-gstreamer-1.0"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
!staging? (
|
||||
gecko? (
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
|
||||
)
|
||||
staging? (
|
||||
gecko? (
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
|
||||
)
|
||||
https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2
|
||||
https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]]; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_compiler_check || die
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
local oss_vers=$(best_version media-sound/oss)
|
||||
if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
if ! use staging; then
|
||||
GV=${VANILLA_GV}
|
||||
MV=${VANILLA_MV}
|
||||
else
|
||||
GV=${STAGING_GV}
|
||||
MV=${STAGING_MV}
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging; then
|
||||
local WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
|
||||
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
|
||||
local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${WINE_COMMIT}" != "${STAGING_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var EGIT_COMMIT."
|
||||
einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
unpack ${P}.tar.bz2
|
||||
use staging && unpack "${STAGING_P}.tar.gz"
|
||||
fi
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
unpack "${GST_P}.patch.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
|
||||
"${WORKDIR}/${GST_P}.patch"
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $?
|
||||
|
||||
# To differentiate unofficial staging releases
|
||||
if [[ ! -z ${SUFFIX} ]]; then
|
||||
sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
local l
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
|
||||
use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
|
||||
if use gstreamer; then
|
||||
ewarn "This package uses a Gentoo specific patchset to provide"
|
||||
ewarn "GStreamer 1.0 support. Any bugs related to GStreamer should"
|
||||
ewarn "be filed at Gentoo's bugzilla, not upstream's."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,531 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1-2)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
|
||||
VANILLA_GV="2.44"
|
||||
VANILLA_MV="4.6.3"
|
||||
STAGING_GV="2.47-beta1"
|
||||
STAGING_MV="4.6.3"
|
||||
[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
!staging? (
|
||||
gecko? (
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
|
||||
)
|
||||
staging? (
|
||||
gecko? (
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
|
||||
)
|
||||
https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )
|
||||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]]; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_compiler_check || die
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
local oss_vers=$(best_version media-sound/oss)
|
||||
if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
if ! use staging; then
|
||||
GV=${VANILLA_GV}
|
||||
MV=${VANILLA_MV}
|
||||
else
|
||||
GV=${STAGING_GV}
|
||||
MV=${STAGING_MV}
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging; then
|
||||
local WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
|
||||
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
|
||||
local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${WINE_COMMIT}" != "${STAGING_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var EGIT_COMMIT."
|
||||
einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
if use d3d9; then
|
||||
EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
|
||||
unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
|
||||
EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${P}.tar.bz2
|
||||
use staging && unpack "${STAGING_P}.tar.gz"
|
||||
use d3d9 && unpack "${D3D9_P}.tar.gz"
|
||||
fi
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $?
|
||||
|
||||
# To differentiate unofficial staging releases
|
||||
if [[ ! -z ${SUFFIX} ]]; then
|
||||
sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die
|
||||
fi
|
||||
fi
|
||||
if use d3d9; then
|
||||
if use staging; then
|
||||
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
|
||||
else
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
fi
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
local l
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
|
||||
use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,530 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1-2)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
|
||||
VANILLA_GV="2.47"
|
||||
VANILLA_MV="4.6.3"
|
||||
STAGING_GV="2.47"
|
||||
STAGING_MV="4.6.3"
|
||||
[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
!staging? (
|
||||
gecko? (
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi )
|
||||
)
|
||||
staging? (
|
||||
gecko? (
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
|
||||
)
|
||||
https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )
|
||||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
eend $?
|
||||
if [[ $? -ne 0 ]]; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_compiler_check || die
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
local oss_vers=$(best_version media-sound/oss)
|
||||
if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
if ! use staging; then
|
||||
GV=${VANILLA_GV}
|
||||
MV=${VANILLA_MV}
|
||||
else
|
||||
GV=${STAGING_GV}
|
||||
MV=${STAGING_MV}
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging; then
|
||||
local WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
|
||||
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
|
||||
local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${WINE_COMMIT}" != "${STAGING_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var EGIT_COMMIT."
|
||||
einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
if use d3d9; then
|
||||
EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}"
|
||||
unset ${PN}_LIVE_{REPO,BRANCH,COMMIT} EGIT_COMMIT;
|
||||
EGIT_CHECKOUT_DIR="${D3D9_DIR}" git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${P}.tar.bz2
|
||||
use staging && unpack "${STAGING_P}.tar.gz"
|
||||
use d3d9 && unpack "${D3D9_P}.tar.gz"
|
||||
fi
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $?
|
||||
|
||||
# To differentiate unofficial staging releases
|
||||
if [[ ! -z ${SUFFIX} ]]; then
|
||||
sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die
|
||||
fi
|
||||
fi
|
||||
if use d3d9; then
|
||||
if use staging; then
|
||||
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
|
||||
else
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
fi
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
local l
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
|
||||
use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="A set of eselect modules for Java"
|
||||
HOMEPAGE="https://www.gentoo.org/proj/en/java/"
|
||||
SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
!app-eselect/eselect-ecj
|
||||
!app-eselect/eselect-maven
|
||||
!<dev-java/java-config-2.2
|
||||
app-admin/eselect"
|
||||
|
||||
src_prepare() {
|
||||
eautoreconf
|
||||
|
||||
# Bug 549498: "eselect XXX show" should never send output to stderr.
|
||||
sed -i \
|
||||
-e '/^do_show.. {$/,/^}$/{ /echo/s,>&2$,, }' \
|
||||
"${S}"/src/modules/maven.eselect.in \
|
||||
"${S}"/src/modules/ecj.eselect.in
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local REMOVED=0
|
||||
|
||||
rm -v "${EROOT}"usr/lib*/nsbrowser/plugins/javaplugin.so 2>/dev/null && REMOVED=1
|
||||
rm -v "${EROOT}"etc/java-config-2/current-icedtea-web-vm 2>/dev/null && REMOVED=1
|
||||
|
||||
if [[ "${REMOVED}" = 1 ]]; then
|
||||
elog "The eselect java-nsplugin module has been removed and your configuration"
|
||||
elog "has been cleaned up. From now on, you may only install either Oracle or"
|
||||
elog "IcedTea's plugin but not both. Note you can use IcedTea's plugin with an"
|
||||
elog "Oracle VM. See the README installed with icedtea-web for more details."
|
||||
fi
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils systemd user
|
||||
|
||||
MY_PN="${PN%-bin}"
|
||||
DESCRIPTION="Open Source, Distributed, RESTful, Search Engine"
|
||||
HOMEPAGE="https://www.elastic.co/products/elasticsearch"
|
||||
SRC_URI="https://download.elasticsearch.org/${MY_PN}/release/org/${MY_PN}/distribution/tar/${MY_PN}/${PV}/${P}.tar.gz"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
RDEPEND="|| ( virtual/jre:1.8 virtual/jre:1.7 )"
|
||||
|
||||
pkg_preinst() {
|
||||
if has_version '<app-misc/elasticsearch-2.3.2'; then
|
||||
export UPDATE_NOTES=1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${MY_PN}
|
||||
enewuser ${MY_PN} -1 /bin/bash /usr/share/${MY_PN} ${MY_PN}
|
||||
esethome ${MY_PN} /usr/share/${MY_PN}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -rf bin/*.{bat,exe}
|
||||
rm LICENSE.txt
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /etc/${MY_PN}
|
||||
dodir /etc/${MY_PN}/scripts
|
||||
|
||||
insinto /etc/${MY_PN}
|
||||
doins config/*
|
||||
rm -rf config
|
||||
|
||||
insinto /usr/share/${MY_PN}
|
||||
doins -r ./*
|
||||
|
||||
insinto /usr/share/${MY_PN}/bin
|
||||
doins "${FILESDIR}/elasticsearch-systemd-pre-exec"
|
||||
|
||||
chmod +x "${D}"/usr/share/${MY_PN}/bin/*
|
||||
|
||||
keepdir /var/{lib,log}/${MY_PN}
|
||||
keepdir /usr/share/${MY_PN}/plugins
|
||||
|
||||
newinitd "${FILESDIR}/elasticsearch.init6" "${MY_PN}"
|
||||
newconfd "${FILESDIR}/${MY_PN}.conf2" "${MY_PN}"
|
||||
systemd_newunit "${FILESDIR}"/${PN}.service5 "${PN}.service"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "You may create multiple instances of ${MY_PN} by"
|
||||
elog "symlinking the init script:"
|
||||
elog "ln -sf /etc/init.d/${MY_PN} /etc/init.d/${MY_PN}.instance"
|
||||
elog
|
||||
elog "Please make sure you put elasticsearch.yml and logging.yml"
|
||||
elog "into the configuration directory of the instance:"
|
||||
elog "/etc/${MY_PN}/instance"
|
||||
elog
|
||||
if ! [ -z ${UPDATE_NOTES} ]; then
|
||||
elog "This update changes some configuration variables. Please review"
|
||||
elog "/etc/conf.d/elasticsearch before restarting your services."
|
||||
fi
|
||||
}
|
@ -1,354 +0,0 @@
|
||||
diff -Nru gateway-1.4.1.orig/gw/bb_udp.c gateway-1.4.1/gw/bb_udp.c
|
||||
--- gateway-1.4.1.orig/gw/bb_udp.c 2005-02-11 17:35:48.000000000 +0200
|
||||
+++ gateway-1.4.1/gw/bb_udp.c 2006-11-16 00:28:56.346802750 +0200
|
||||
@@ -78,7 +78,7 @@
|
||||
#include "gwlib/gwlib.h"
|
||||
#include "msg.h"
|
||||
#include "bearerbox.h"
|
||||
-
|
||||
+#include "custports.h"
|
||||
/* passed from bearerbox core */
|
||||
|
||||
extern volatile sig_atomic_t bb_status;
|
||||
@@ -352,13 +352,13 @@
|
||||
while (gwlist_len(ifs) > 0) {
|
||||
iface = gwlist_extract_first(ifs);
|
||||
info(0, "Adding interface %s", octstr_get_cstr(iface));
|
||||
- add_service(9200, octstr_get_cstr(iface)); /* wsp */
|
||||
- add_service(9201, octstr_get_cstr(iface)); /* wsp/wtp */
|
||||
+ add_service(port_wsp, octstr_get_cstr(iface)); /* wsp */
|
||||
+ add_service(port_wtp, octstr_get_cstr(iface)); /* wsp/wtp */
|
||||
|
||||
#ifdef HAVE_WTLS_OPENSSL
|
||||
if (allow_wtls) {
|
||||
- add_service(9202, octstr_get_cstr(iface)); /* wsp/wtls */
|
||||
- add_service(9203, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
|
||||
+ add_service(port_wsps, octstr_get_cstr(iface)); /* wsp/wtls */
|
||||
+ add_service(port_wtps, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
|
||||
}
|
||||
#else
|
||||
if (allow_wtls)
|
||||
diff -Nru gateway-1.4.1.orig/gw/bearerbox.c gateway-1.4.1/gw/bearerbox.c
|
||||
--- gateway-1.4.1.orig/gw/bearerbox.c 2006-05-09 08:44:31.000000000 +0300
|
||||
+++ gateway-1.4.1/gw/bearerbox.c 2006-11-16 00:28:56.346802750 +0200
|
||||
@@ -77,6 +77,7 @@
|
||||
#include "bearerbox.h"
|
||||
#include "shared.h"
|
||||
#include "dlr.h"
|
||||
+#include "custports.h"
|
||||
|
||||
/* global variables; included to other modules as needed */
|
||||
|
||||
@@ -280,7 +281,6 @@
|
||||
{
|
||||
static int started = 0;
|
||||
if (started) return 0;
|
||||
-
|
||||
udp_start(cfg);
|
||||
|
||||
start_wap(cfg);
|
||||
@@ -353,6 +353,7 @@
|
||||
int ssl_enabled = 0;
|
||||
#endif /* HAVE_LIBSSL */
|
||||
|
||||
+ ReadCustomPorts(cfg);
|
||||
/* defaults: use localtime and markers for access-log */
|
||||
lf = m = 1;
|
||||
|
||||
diff -Nru gateway-1.4.1.orig/gw/custports.c gateway-1.4.1/gw/custports.c
|
||||
--- gateway-1.4.1.orig/gw/custports.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ gateway-1.4.1/gw/custports.c 2006-11-16 00:28:56.346802750 +0200
|
||||
@@ -0,0 +1,88 @@
|
||||
+/* ====================================================================
|
||||
+ * The Kannel Software License, Version 1.0
|
||||
+ *
|
||||
+ * Copyright (c) 2001-2004 Kannel Group
|
||||
+ * Copyright (c) 1998-2001 WapIT Ltd.
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions
|
||||
+ * are met:
|
||||
+ *
|
||||
+ * 1. Redistributions of source code must retain the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer.
|
||||
+ *
|
||||
+ * 2. Redistributions in binary form must reproduce the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer in
|
||||
+ * the documentation and/or other materials provided with the
|
||||
+ * distribution.
|
||||
+ *
|
||||
+ * 3. The end-user documentation included with the redistribution,
|
||||
+ * if any, must include the following acknowledgment:
|
||||
+ * "This product includes software developed by the
|
||||
+ * Kannel Group (http://www.kannel.org/)."
|
||||
+ * Alternately, this acknowledgment may appear in the software itself,
|
||||
+ * if and wherever such third-party acknowledgments normally appear.
|
||||
+ *
|
||||
+ * 4. The names "Kannel" and "Kannel Group" must not be used to
|
||||
+ * endorse or promote products derived from this software without
|
||||
+ * prior written permission. For written permission, please
|
||||
+ * contact org@kannel.org.
|
||||
+ *
|
||||
+ * 5. Products derived from this software may not be called "Kannel",
|
||||
+ * nor may "Kannel" appear in their name, without prior written
|
||||
+ * permission of the Kannel Group.
|
||||
+ *
|
||||
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
|
||||
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
||||
+ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ====================================================================
|
||||
+ *
|
||||
+ * This software consists of voluntary contributions made by many
|
||||
+ * individuals on behalf of the Kannel Group. For more information on
|
||||
+ * the Kannel Group, please see <http://www.kannel.org/>.
|
||||
+ *
|
||||
+ * Portions of this software are based upon software originally written at
|
||||
+ * WapIT Ltd., Helsinki, Finland for the Kannel project.
|
||||
+ */
|
||||
+
|
||||
+/*
|
||||
+ * gw/custports.c
|
||||
+ *
|
||||
+ * Implementation of reading custom UDP ports used by wapbox
|
||||
+ *
|
||||
+ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
|
||||
+ */
|
||||
+
|
||||
+#include <custports.h>
|
||||
+
|
||||
+long port_wsp = 9200; // connectionless default
|
||||
+long port_wtp = 9201; // connection-oriented default
|
||||
+long port_wsps = 9202; // connectionless secure default
|
||||
+long port_wtps = 9203; // connection-oriented secure
|
||||
+
|
||||
+
|
||||
+void ReadCustomPorts(Cfg *config)
|
||||
+{
|
||||
+ CfgGroup *grp;
|
||||
+ grp = cfg_get_single_group(config, octstr_imm("wapbox"));
|
||||
+ if(grp == NULL)
|
||||
+ return;
|
||||
+
|
||||
+ if(cfg_get_integer(&port_wsp, grp, octstr_imm("wsp-port")) != -1)
|
||||
+ info(0, "Using custom WSP port %ld", port_wsp);
|
||||
+ if(cfg_get_integer(&port_wtp, grp, octstr_imm("wtp-port")) != -1)
|
||||
+ info(0, "Using custom WSP/WTP port %ld", port_wtp);
|
||||
+ if(cfg_get_integer(&port_wsps, grp, octstr_imm("wsps-port")) != -1)
|
||||
+ info(0, "Using custom WSP/WTLS port %ld", port_wsps);
|
||||
+ if(cfg_get_integer(&port_wtps, grp, octstr_imm("wtps-port")) != -1)
|
||||
+ info(0, "Using custom WSP/WTP/WTLS port %ld", port_wtps);
|
||||
+}
|
||||
diff -Nru gateway-1.4.1.orig/gw/custports.h gateway-1.4.1/gw/custports.h
|
||||
--- gateway-1.4.1.orig/gw/custports.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ gateway-1.4.1/gw/custports.h 2006-11-16 00:28:56.346802750 +0200
|
||||
@@ -0,0 +1,77 @@
|
||||
+/* ====================================================================
|
||||
+ * The Kannel Software License, Version 1.0
|
||||
+ *
|
||||
+ * Copyright (c) 2001-2004 Kannel Group
|
||||
+ * Copyright (c) 1998-2001 WapIT Ltd.
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions
|
||||
+ * are met:
|
||||
+ *
|
||||
+ * 1. Redistributions of source code must retain the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer.
|
||||
+ *
|
||||
+ * 2. Redistributions in binary form must reproduce the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer in
|
||||
+ * the documentation and/or other materials provided with the
|
||||
+ * distribution.
|
||||
+ *
|
||||
+ * 3. The end-user documentation included with the redistribution,
|
||||
+ * if any, must include the following acknowledgment:
|
||||
+ * "This product includes software developed by the
|
||||
+ * Kannel Group (http://www.kannel.org/)."
|
||||
+ * Alternately, this acknowledgment may appear in the software itself,
|
||||
+ * if and wherever such third-party acknowledgments normally appear.
|
||||
+ *
|
||||
+ * 4. The names "Kannel" and "Kannel Group" must not be used to
|
||||
+ * endorse or promote products derived from this software without
|
||||
+ * prior written permission. For written permission, please
|
||||
+ * contact org@kannel.org.
|
||||
+ *
|
||||
+ * 5. Products derived from this software may not be called "Kannel",
|
||||
+ * nor may "Kannel" appear in their name, without prior written
|
||||
+ * permission of the Kannel Group.
|
||||
+ *
|
||||
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
|
||||
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
||||
+ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ====================================================================
|
||||
+ *
|
||||
+ * This software consists of voluntary contributions made by many
|
||||
+ * individuals on behalf of the Kannel Group. For more information on
|
||||
+ * the Kannel Group, please see <http://www.kannel.org/>.
|
||||
+ *
|
||||
+ * Portions of this software are based upon software originally written at
|
||||
+ * WapIT Ltd., Helsinki, Finland for the Kannel project.
|
||||
+ */
|
||||
+
|
||||
+/*
|
||||
+ * gw/custports.h
|
||||
+ *
|
||||
+ * Implementation of wapbox custom UDP ports)
|
||||
+ *
|
||||
+ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
|
||||
+ */
|
||||
+
|
||||
+#ifndef CUSTPORTS_H
|
||||
+#define CUSTPORTS_H
|
||||
+
|
||||
+#include "gwlib/gwlib.h"
|
||||
+
|
||||
+extern long port_wsp; // connectionless
|
||||
+extern long port_wtp; // connection-oriented
|
||||
+extern long port_wsps; // connectionless secure
|
||||
+extern long port_wtps; // connection-oriented secure
|
||||
+
|
||||
+void ReadCustomPorts(Cfg *config);
|
||||
+#endif /* CUSTPORTS_H */
|
||||
+
|
||||
diff -Nru gateway-1.4.1.orig/gw/wapbox.c gateway-1.4.1/gw/wapbox.c
|
||||
--- gateway-1.4.1.orig/gw/wapbox.c 2006-03-28 15:00:19.000000000 +0300
|
||||
+++ gateway-1.4.1/gw/wapbox.c 2006-11-16 00:28:56.350803000 +0200
|
||||
@@ -84,17 +84,11 @@
|
||||
#include "gwlib/pki.h"
|
||||
#endif
|
||||
#include "radius/radius_acct.h"
|
||||
+#include "custports.h"
|
||||
|
||||
static void config_reload(int reload);
|
||||
static long logfilelevel=-1;
|
||||
|
||||
-enum {
|
||||
- CONNECTIONLESS_PORT = 9200,
|
||||
- CONNECTION_ORIENTED_PORT = 9201,
|
||||
- WTLS_CONNECTIONLESS_PORT = 9202,
|
||||
- WTLS_CONNECTION_ORIENTED_PORT = 9203
|
||||
-};
|
||||
-
|
||||
enum { DEFAULT_TIMER_FREQ = 1};
|
||||
|
||||
static Octstr *bearerbox_host;
|
||||
@@ -131,6 +125,8 @@
|
||||
|
||||
cfg_dump(cfg);
|
||||
|
||||
+ ReadCustomPorts(cfg);
|
||||
+
|
||||
/*
|
||||
* Extract info from the core group.
|
||||
*/
|
||||
@@ -772,9 +768,9 @@
|
||||
* XXXX here should be suspend/resume, add RSN
|
||||
*/
|
||||
} else if (msg_type(msg) == wdp_datagram) {
|
||||
- switch (msg->wdp_datagram.destination_port) {
|
||||
- case CONNECTIONLESS_PORT:
|
||||
- case CONNECTION_ORIENTED_PORT:
|
||||
+ if(msg->wdp_datagram.destination_port == port_wsp
|
||||
+ || msg->wdp_datagram.destination_port == port_wtp)
|
||||
+ {
|
||||
dgram = wap_event_create(T_DUnitdata_Ind);
|
||||
dgram->u.T_DUnitdata_Ind.addr_tuple = wap_addr_tuple_create(
|
||||
msg->wdp_datagram.source_address,
|
||||
@@ -785,19 +781,22 @@
|
||||
msg->wdp_datagram.user_data = NULL;
|
||||
|
||||
wap_dispatch_datagram(dgram);
|
||||
- break;
|
||||
- case WTLS_CONNECTIONLESS_PORT:
|
||||
- case WTLS_CONNECTION_ORIENTED_PORT:
|
||||
+ }
|
||||
+ else
|
||||
+ if(msg->wdp_datagram.destination_port == port_wsps
|
||||
+ || msg->wdp_datagram.destination_port == port_wtps)
|
||||
+ {
|
||||
#if (HAVE_WTLS_OPENSSL)
|
||||
dgram = wtls_unpack_wdp_datagram(msg);
|
||||
if (dgram != NULL)
|
||||
wtls_dispatch_event(dgram);
|
||||
#endif
|
||||
- break;
|
||||
- default:
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
panic(0,"Bad packet received! This shouldn't happen!");
|
||||
break;
|
||||
- }
|
||||
+ }
|
||||
} else {
|
||||
warning(0, "Received other message than wdp/admin, ignoring!");
|
||||
}
|
||||
diff -Nru gateway-1.4.1.orig/gw/wap_push_ppg.c gateway-1.4.1/gw/wap_push_ppg.c
|
||||
--- gateway-1.4.1.orig/gw/wap_push_ppg.c 2005-10-06 15:48:26.000000000 +0300
|
||||
+++ gateway-1.4.1/gw/wap_push_ppg.c 2006-11-16 00:28:56.350803000 +0200
|
||||
@@ -88,6 +88,7 @@
|
||||
#include "wap_push_pap_compiler.h"
|
||||
#include "wap_push_pap_mime.h"
|
||||
#include "wap_push_ppg_pushuser.h"
|
||||
+#include "custports.h"
|
||||
|
||||
enum {
|
||||
TIME_EXPIRED = 0,
|
||||
@@ -1768,10 +1769,10 @@
|
||||
|
||||
if (!cless_accepted) {
|
||||
cliport = CONNECTED_CLIPORT;
|
||||
- servport = CONNECTED_SERVPORT;
|
||||
+ servport = port_wtp;
|
||||
} else {
|
||||
cliport = CONNECTIONLESS_PUSH_CLIPORT;
|
||||
- servport = CONNECTIONLESS_SERVPORT;
|
||||
+ servport = port_wsp;
|
||||
}
|
||||
|
||||
address_type = (**e).u.Push_Message.address_type;
|
||||
diff -Nru gateway-1.4.1.orig/gw/wap_push_ppg.h gateway-1.4.1/gw/wap_push_ppg.h
|
||||
--- gateway-1.4.1.orig/gw/wap_push_ppg.h 2005-02-11 17:35:48.000000000 +0200
|
||||
+++ gateway-1.4.1/gw/wap_push_ppg.h 2006-11-16 00:28:56.350803000 +0200
|
||||
@@ -167,9 +167,7 @@
|
||||
*/
|
||||
enum {
|
||||
CONNECTIONLESS_PUSH_CLIPORT = 2948,
|
||||
- CONNECTIONLESS_SERVPORT = 9200,
|
||||
CONNECTED_CLIPORT = 9209,
|
||||
- CONNECTED_SERVPORT = 9201
|
||||
};
|
||||
|
||||
struct PPGSessionMachine {
|
||||
diff -Nru gateway-1.4.1.orig/gwlib/cfg.def gateway-1.4.1/gwlib/cfg.def
|
||||
--- gateway-1.4.1.orig/gwlib/cfg.def 2006-08-28 15:06:13.000000000 +0300
|
||||
+++ gateway-1.4.1/gwlib/cfg.def 2006-11-16 00:30:55.042220750 +0200
|
||||
@@ -153,6 +153,10 @@
|
||||
OCTSTR(concatenation)
|
||||
OCTSTR(max-messages)
|
||||
OCTSTR(wml-strict)
|
||||
+ OCTSTR(wsp-port)
|
||||
+ OCTSTR(wtp-port)
|
||||
+ OCTSTR(wsps-port)
|
||||
+ OCTSTR(wtps-port)
|
||||
)
|
||||
|
||||
|
@ -1,22 +0,0 @@
|
||||
diff -Nru gateway-1.4.1.orig/configure.in gateway-1.4.1/configure.in
|
||||
--- gateway-1.4.1.orig/configure.in 2008-06-24 02:00:07.000000000 +0200
|
||||
+++ gateway-1.4.1/configure.in 2008-06-24 02:06:05.000000000 +0200
|
||||
@@ -108,7 +108,6 @@
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_YACC
|
||||
-AC_PROG_LEX
|
||||
AC_PATH_PROG(CONVERT, convert)
|
||||
AC_PATH_PROG(PERL, perl)
|
||||
|
||||
diff -Nru gateway-1.4.1.orig/Makefile.in gateway-1.4.1/Makefile.in
|
||||
--- gateway-1.4.1.orig/Makefile.in 2006-05-09 07:46:56.000000000 +0200
|
||||
+++ gateway-1.4.1/Makefile.in 2008-06-24 02:06:21.000000000 +0200
|
||||
@@ -60,7 +60,6 @@
|
||||
SHELL = @SHELL@
|
||||
VERSION = @VERSION@
|
||||
SUFFIX = @SUFFIX@
|
||||
-LEX = @LEX@
|
||||
PERL = @PERL@
|
||||
YACC = @YACC@
|
||||
|
@ -1,10 +0,0 @@
|
||||
START_SMSBOX=yes
|
||||
START_WAPBOX=yes
|
||||
|
||||
#See the documentation for setting proper options
|
||||
#Note: verbosity codes are strange!
|
||||
# Default is 0, which means 'debug'. 1 is 'info, 2 'warning', 3 'error' and 4 'panic'
|
||||
|
||||
BEARERBOX_OPTS="--verbosity 1 --logfile bearerbox.log"
|
||||
SMSBOX_OPTS="--verbosity 1 --logfile smsbox.log"
|
||||
WAPBOX_OPTS="--verbosity 1 --logfile wapbox.log"
|
@ -1,68 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
need net
|
||||
after mysql postgresql sshd
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f /etc/kannel/kannel.conf ] ; then
|
||||
eerror "/etc/kannel/kannel.conf file doesn't exists!"
|
||||
return 1
|
||||
fi
|
||||
#set the location of logs
|
||||
if ! cd /var/log/kannel ; then
|
||||
eerror "/var/log/kannel directory doesn't exists!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
checkconfig || return 1
|
||||
|
||||
einfo "Starting Kannel"
|
||||
ebegin " - Bearer Box"
|
||||
start-stop-daemon --start --quiet --chuid kannel --exec /usr/sbin/bearerbox \
|
||||
--background -- $BEARERBOX_OPTS /etc/kannel/kannel.conf
|
||||
eend $? || return 1
|
||||
|
||||
if [ "$START_SMSBOX" = "yes" ] ; then
|
||||
ebegin " - SMS Box"
|
||||
start-stop-daemon --start --quiet --chuid kannel --exec /usr/sbin/smsbox \
|
||||
--background -- $SMSBOX_OPTS /etc/kannel/kannel.conf
|
||||
eend $?
|
||||
fi
|
||||
|
||||
if [ "$START_WAPBOX" = "yes" ] ; then
|
||||
ebegin " - WAP Box"
|
||||
start-stop-daemon --start --quiet --chuid kannel --exec /usr/sbin/wapbox \
|
||||
--background -- $WAPBOX_OPTS /etc/kannel/kannel.conf
|
||||
eend $?
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ "$START_WAPBOX" = "yes" ] ; then
|
||||
einfo "Stopping Kannel"
|
||||
ebegin " - WAP Box"
|
||||
start-stop-daemon --stop --quiet --exec /usr/sbin/wapbox
|
||||
eend $?
|
||||
fi
|
||||
|
||||
if [ "$START_SMSBOX" = "yes" ] ; then
|
||||
ebegin " - SMS Box"
|
||||
start-stop-daemon --stop --quiet --exec /usr/sbin/smsbox
|
||||
eend $?
|
||||
fi
|
||||
|
||||
ebegin " - Bearer Box"
|
||||
start-stop-daemon --stop --quiet --exec /usr/sbin/bearerbox
|
||||
eend $?
|
||||
|
||||
#stopping any other processes owned by kannel user
|
||||
start-stop-daemon --stop --quiet --user kannel
|
||||
|
||||
return 0
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
--- src/extras.c.orig 2006-06-15 10:45:59.000000000 +0100
|
||||
+++ src/extras.c 2006-06-15 10:45:39.000000000 +0100
|
||||
@@ -178,20 +178,21 @@
|
||||
stat(filename,&statbuf);
|
||||
if (S_ISDIR(statbuf.st_mode)==0) /* Is this a directory? */
|
||||
{
|
||||
- /* File found, check for lock file */
|
||||
- if (strstr(filename,".LOCK")==0) /* Is the file a lock file itself? */
|
||||
- if (!islocked(filename)) /* no, is there a lock file for this file? */
|
||||
- {
|
||||
- /* check if the file grows at the moment (another program writes to it) */
|
||||
- int groesse1;
|
||||
- int groesse2;
|
||||
- groesse1=statbuf.st_size;
|
||||
- sleep(1);
|
||||
- stat(filename,&statbuf);
|
||||
- groesse2=statbuf.st_size;
|
||||
- if (groesse1==groesse2)
|
||||
- found=1;
|
||||
- }
|
||||
+ /* File found, check for lock file and skip portage directory locks */
|
||||
+ if (strstr(filename,".keep")==0) /* Is it a portage directory lock? */
|
||||
+ if (strstr(filename,".LOCK")==0) /* Is the file a lock file itself? */
|
||||
+ if (!islocked(filename)) /* no, is there a lock file for this file? */
|
||||
+ {
|
||||
+ /* check if the file grows at the moment (another program writes to it) */
|
||||
+ int groesse1;
|
||||
+ int groesse2;
|
||||
+ groesse1=statbuf.st_size;
|
||||
+ sleep(1);
|
||||
+ stat(filename,&statbuf);
|
||||
+ groesse2=statbuf.st_size;
|
||||
+ if (groesse1==groesse2)
|
||||
+ found=1;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
closedir(dirdata);
|
@ -1,9 +0,0 @@
|
||||
diff -uNr smstools.ORIG/scripts/sendsms smstools/scripts/sendsms
|
||||
--- smstools.ORIG/scripts/sendsms 2006-12-02 15:26:09.000000000 +0000
|
||||
+++ smstools/scripts/sendsms 2006-12-02 15:26:52.000000000 +0000
|
||||
@@ -26,3 +26,5 @@
|
||||
echo "" >> $FILE
|
||||
echo -n "$TEXT" >> $FILE
|
||||
|
||||
+chmod 660 $FILE
|
||||
+
|
@ -1,21 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2005 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting smsd"
|
||||
start-stop-daemon -b -m -p /var/run/smsd.pid -c smsd:sms --start --exec /usr/bin/smsd -- \
|
||||
-c /etc/smsd.conf
|
||||
eend ${?}
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping smsd"
|
||||
start-stop-daemon --stop -p /var/run/smsd.pid
|
||||
eend ${?}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
}
|
||||
|
||||
start() {
|
||||
chown smsd:sms /var/log/smsd.log
|
||||
ebegin "Starting smsd"
|
||||
start-stop-daemon -b -u smsd:sms --start --exec /usr/bin/smsd -- \
|
||||
-c /etc/smsd.conf
|
||||
eend ${?}
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping smsd"
|
||||
start-stop-daemon --stop -n smsd
|
||||
eend ${?}
|
||||
}
|
@ -1,183 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
MY_EXTRAS_VER="20151223-1501Z"
|
||||
# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number
|
||||
WSREP_REVISION="25"
|
||||
SUBSLOT="18"
|
||||
MYSQL_PV_MAJOR="5.6"
|
||||
|
||||
inherit toolchain-funcs mysql-multilib-r1
|
||||
|
||||
HOMEPAGE="http://mariadb.org/"
|
||||
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
|
||||
|
||||
IUSE="bindist odbc oqgraph pam sphinx tokudb xml"
|
||||
RESTRICT="!bindist? ( bindist )"
|
||||
|
||||
REQUIRED_USE="tokudb? ( jemalloc ) static? ( !pam )"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
EPATCH_EXCLUDE='20004_all_mariadb-filter-tokudb-flags-10.0.7.patch'
|
||||
|
||||
COMMON_DEPEND="
|
||||
!bindist? ( >=sys-libs/readline-4.1:0= )
|
||||
server? (
|
||||
extraengine? (
|
||||
odbc? ( dev-db/unixODBC:0= )
|
||||
xml? ( dev-libs/libxml2:2= )
|
||||
)
|
||||
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
|
||||
pam? ( virtual/pam:0= )
|
||||
tokudb? ( app-arch/snappy )
|
||||
)
|
||||
>=dev-libs/libpcre-8.35:3=
|
||||
"
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="${RDEPEND} ${COMMON_DEPEND}
|
||||
perl? ( !dev-db/mytop
|
||||
virtual/perl-Getopt-Long
|
||||
dev-perl/TermReadKey
|
||||
virtual/perl-Term-ANSIColor
|
||||
virtual/perl-Time-HiRes )
|
||||
"
|
||||
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h )
|
||||
|
||||
src_configure(){
|
||||
# bug 508724 mariadb cannot use ld.gold
|
||||
tc-ld-disable-gold
|
||||
local MYSQL_CMAKE_NATIVE_DEFINES=(
|
||||
-DWITH_JEMALLOC=$(usex jemalloc system)
|
||||
-DWITH_PCRE=system
|
||||
)
|
||||
if use server ; then
|
||||
# Federated{,X} must be treated special otherwise they will not be built as plugins
|
||||
if ! use extraengine ; then
|
||||
MYSQL_CMAKE_NATIVE_DEFINES+=(
|
||||
-DWITHOUT_FEDERATED=1
|
||||
-DWITHOUT_FEDERATEDX=1 )
|
||||
fi
|
||||
|
||||
MYSQL_CMAKE_NATIVE_DEFINES+=(
|
||||
$(mysql-cmake_use_plugin oqgraph OQGRAPH)
|
||||
$(mysql-cmake_use_plugin sphinx SPHINX)
|
||||
$(mysql-cmake_use_plugin tokudb TOKUDB)
|
||||
$(mysql-cmake_use_plugin pam AUTH_PAM)
|
||||
-DWITHOUT_CASSANDRA=0
|
||||
$(mysql-cmake_use_plugin extraengine SEQUENCE)
|
||||
$(mysql-cmake_use_plugin extraengine SPIDER)
|
||||
$(mysql-cmake_use_plugin extraengine CONNECT)
|
||||
-DCONNECT_WITH_MYSQL=1
|
||||
-DCONNECT_WITH_LIBXML2=$(usex xml)
|
||||
-DCONNECT_WITH_ODBC=$(usex odbc)
|
||||
-DWITHOUT_MROONGA=1
|
||||
)
|
||||
fi
|
||||
mysql-multilib-r1_src_configure
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='embedded extraengine perl server openssl static-libs' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mariadb-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
multilib_src_test() {
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
einfo "Server tests not available on non-native abi".
|
||||
return 0;
|
||||
fi
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
if use server ; then
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
addpredict /this-dir-does-not-exist/t9.MYI
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might run out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# These are failing in MariaDB 10.0 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.information_schema, binlog.binlog_statement_insert_delayed,
|
||||
# main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
|
||||
# funcs_1.is_columns_mysql main.bootstrap
|
||||
# fails due to USE=-latin1 / utf8 default
|
||||
#
|
||||
# main.mysql_client_test, main.mysql_client_test_nonblock
|
||||
# main.mysql_client_test_comp:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
#
|
||||
# archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam
|
||||
# fails due to bad cleanup of previous tests when run in parallel
|
||||
# The tool is deprecated anyway
|
||||
# Bug 532288
|
||||
|
||||
for t in main.mysql_client_test main.mysql_client_test_nonblock \
|
||||
main.mysql_client_test_comp \
|
||||
binlog.binlog_statement_insert_delayed main.information_schema \
|
||||
main.mysqld--help main.bootstrap \
|
||||
archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
|
||||
funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do
|
||||
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}" || die
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder
|
||||
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd || die
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
@ -1,183 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
MY_EXTRAS_VER="20151223-1501Z"
|
||||
# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number
|
||||
WSREP_REVISION="25"
|
||||
SUBSLOT="18"
|
||||
MYSQL_PV_MAJOR="5.6"
|
||||
|
||||
inherit toolchain-funcs mysql-multilib-r1
|
||||
|
||||
HOMEPAGE="http://mariadb.org/"
|
||||
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
|
||||
|
||||
IUSE="bindist odbc oqgraph pam sphinx tokudb xml"
|
||||
RESTRICT="!bindist? ( bindist )"
|
||||
|
||||
REQUIRED_USE="tokudb? ( jemalloc ) static? ( !pam )"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
EPATCH_EXCLUDE=''
|
||||
|
||||
COMMON_DEPEND="
|
||||
!bindist? ( >=sys-libs/readline-4.1:0= )
|
||||
server? (
|
||||
extraengine? (
|
||||
odbc? ( dev-db/unixODBC:0= )
|
||||
xml? ( dev-libs/libxml2:2= )
|
||||
)
|
||||
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
|
||||
pam? ( virtual/pam:0= )
|
||||
tokudb? ( app-arch/snappy )
|
||||
)
|
||||
>=dev-libs/libpcre-8.35:3=
|
||||
"
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="${RDEPEND} ${COMMON_DEPEND}
|
||||
perl? ( !dev-db/mytop
|
||||
virtual/perl-Getopt-Long
|
||||
dev-perl/TermReadKey
|
||||
virtual/perl-Term-ANSIColor
|
||||
virtual/perl-Time-HiRes )
|
||||
"
|
||||
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h )
|
||||
|
||||
src_configure(){
|
||||
# bug 508724 mariadb cannot use ld.gold
|
||||
tc-ld-disable-gold
|
||||
local MYSQL_CMAKE_NATIVE_DEFINES=(
|
||||
-DWITH_JEMALLOC=$(usex jemalloc system)
|
||||
-DWITH_PCRE=system
|
||||
)
|
||||
if use server ; then
|
||||
# Federated{,X} must be treated special otherwise they will not be built as plugins
|
||||
if ! use extraengine ; then
|
||||
MYSQL_CMAKE_NATIVE_DEFINES+=(
|
||||
-DWITHOUT_FEDERATED=1
|
||||
-DWITHOUT_FEDERATEDX=1 )
|
||||
fi
|
||||
|
||||
MYSQL_CMAKE_NATIVE_DEFINES+=(
|
||||
$(mysql-cmake_use_plugin oqgraph OQGRAPH)
|
||||
$(mysql-cmake_use_plugin sphinx SPHINX)
|
||||
$(mysql-cmake_use_plugin tokudb TOKUDB)
|
||||
$(mysql-cmake_use_plugin pam AUTH_PAM)
|
||||
-DWITHOUT_CASSANDRA=0
|
||||
$(mysql-cmake_use_plugin extraengine SEQUENCE)
|
||||
$(mysql-cmake_use_plugin extraengine SPIDER)
|
||||
$(mysql-cmake_use_plugin extraengine CONNECT)
|
||||
-DCONNECT_WITH_MYSQL=1
|
||||
-DCONNECT_WITH_LIBXML2=$(usex xml)
|
||||
-DCONNECT_WITH_ODBC=$(usex odbc)
|
||||
-DWITHOUT_MROONGA=1
|
||||
)
|
||||
fi
|
||||
mysql-multilib-r1_src_configure
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='embedded extraengine perl server openssl static-libs' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mariadb-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
multilib_src_test() {
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
einfo "Server tests not available on non-native abi".
|
||||
return 0;
|
||||
fi
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
if use server ; then
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
addpredict /this-dir-does-not-exist/t9.MYI
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might run out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# These are failing in MariaDB 10.0 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.information_schema, binlog.binlog_statement_insert_delayed,
|
||||
# main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
|
||||
# funcs_1.is_columns_mysql main.bootstrap
|
||||
# fails due to USE=-latin1 / utf8 default
|
||||
#
|
||||
# main.mysql_client_test, main.mysql_client_test_nonblock
|
||||
# main.mysql_client_test_comp:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
#
|
||||
# archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam
|
||||
# fails due to bad cleanup of previous tests when run in parallel
|
||||
# The tool is deprecated anyway
|
||||
# Bug 532288
|
||||
|
||||
for t in main.mysql_client_test main.mysql_client_test_nonblock \
|
||||
main.mysql_client_test_comp \
|
||||
binlog.binlog_statement_insert_delayed main.information_schema \
|
||||
main.mysqld--help main.bootstrap \
|
||||
archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
|
||||
funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do
|
||||
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}" || die
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder
|
||||
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd || die
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
@ -1,9 +1,4 @@
|
||||
DIST mysql-5.5.47.tar.gz 21187802 SHA256 77d0997e7ef47885a6682888e6d1282419687d333b2bd2365cb909a089b8db7b SHA512 807d140764ec18f4a7edb8de3ceff24b2003f1b30cf59cce315b6c1f2475a3f3f92bf369e9fe5704611dd45ee5fb676c0c187851230dcb419adde22436678ce3 WHIRLPOOL db188a23b470fc4d556dfeee6feb2a248dcbffe027018c99e28f3a47c2783cfe473378fb96aefbf5a263a6bd4676e62e77f9e6c1e3aac6325f732d9517a4a867
|
||||
DIST mysql-5.5.48.tar.gz 21201193 SHA256 cc3f8745879eee0508de1a70fc2d267a2d06b7433faa8bb07a787768dcfed781 SHA512 ac13cdfd89dea70f9ffb443affd5b9abf9984c5ea126b58d7833568e985478a667b73b1c9a4c8c80d80ce8da53168ee720191829ed035cff3f9482f58b5510e4 WHIRLPOOL d4d53f00e370c8c54ac42e30bafc2a4e37a24bba16b7f8d000836c50dfded358371c363bee51dd6bea60cbf4eb1cbcf2f32f61c70e908e344fc1dbcf299c0e84
|
||||
DIST mysql-5.5.49.tar.gz 21202609 SHA256 cd9ca49b01a76bca635f2888b9d4d30fa6583dd198994d407cdd0dd7170e9e1f SHA512 2c4db3003718cf0c8b02986e7daff00653cf1cba57cdc6b157189050f1d4c41c04c4c43f81e4121a9730b1d28e27af81651bc9dc379fa2e049f49bab7dee1fab WHIRLPOOL 8eefce7f4b6d36156184eadf2289a7386566318dd0bf028e5725904bdd77054c2fe422973e4c50438666ab0fe1dfef388dd7e9c06fab7cbc662f88c8ef5c55f2
|
||||
DIST mysql-5.6.28.tar.gz 32182980 SHA256 217cd96921abdd709b9b4ff3ce2af4cbd237de43679cf19385d19df03a037b21 SHA512 f02f91586567cb240ec882108ed5cc9e49a4e96545738cf00d43ba6c1fbe8d08b3726dccbe6f7b2412136a1bd50098543975d68ed2322f4cdeb7cd9572d48fcc WHIRLPOOL 039bb2af811d13c573d1a62cd9c8c043b03fba9a369a6afd30336dcc5ba999e90e2e86f1d1b5d4e5944d76eed1c2893e515705aa384cec98e24e2e8a8f7437c2
|
||||
DIST mysql-5.6.29.tar.gz 32220131 SHA256 6ac85b75b2dfa8c232725dda25469df37bf4e48b408cc0978d0dfc34c25a817f SHA512 d0efb3a03274639e3e585d8af338f8907094643dfeeee457de99d5cd7feabb6d69a8b884ccf9625b10df7531a76bc36df25a3e8713dcb657b578fac991ade8c5 WHIRLPOOL 808c3beaf3873e5e8a4a50bf94f511e2327daee39dad675f87370174dda51604e46a2d4f09e16e0c651092600165bcb65fba650f835d93a5983bb2fcb19b9c94
|
||||
DIST mysql-5.6.30.tar.gz 32223818 SHA256 48464df00aad9b9dfc26c903529ddad944a7562aa28e66e98e4f3f0c35179deb SHA512 b9f5b22a0557fbdd765fd3c379395584dd35bbec2d7504eb132f734129c0d95d24dc538c9b64524870bbecb92fa2f1e95b49ccfe22531ed17ec1e754f08d491b WHIRLPOOL f56d4e9d2ac801605bb941d1a8ba4b876d838a5e3bdac2e644477e87f2e5d439594c28d0e1c1d0c45ebb38fbf4183c429dc8c53bd7aa76aeea95acd1774ca71e
|
||||
DIST mysql-extras-20150127-1351Z.tar.bz2 1494648 SHA256 74497659f1fb3b0cb620e38a911cf2e59a084149dd175199eb7cf4be18b4c328 SHA512 886e42697b3b0a90d8542bafaf3a7ccedf075f9f0065fec995bf58f645edff3a5d62f29be1cfa2e01d002d6382ee02279832cea8c21db6a774c2567c75ab6a35 WHIRLPOOL 9ddb5ccd914a6a6a19741ff93df78534d2273cf918f24af427c018b7c4f424a90d9f57f167633c48e2fa4102a4fae0873fd6dec7529839f229af855cbddf82d4
|
||||
DIST mysql-extras-20151105-2051Z.tar.bz2 1490187 SHA256 129d79c2064b08b0afad69e04e27991bf4103c20ccea39c133239b1dd822a49f SHA512 af34a44275b06c1626eb5952b3643b5663b8a1fb1d9ff18a67d51c02daaa51c4476df407d38ab607cc41842b47e5dd7b4cef8ae380a41eb80923df8052b9e521 WHIRLPOOL 01702ca4e2033fbc70db3ab2dd166b2e31072ea0f6bdd42d00c27ae0c0afab5c8451c4dcc90cce6d46f9ea056017e273f7c719e1cfabf969293bdcd15241f5b3
|
||||
DIST mysql-extras-20160212-0233Z.tar.bz2 297332 SHA256 01a52587ef1335b2795197d2e547c0b3a1e4b705db09f96cdfb45d2152b6536b SHA512 956dbdcb987556c0625944848f97a36d096cd1f1712a2e051dd027f2856d3c6e94a18d23faca71882260c4b12ee329e3a5f569443b877a3c3e5e88146bfac916 WHIRLPOOL e3837d329ddd137be60fe9d0b37f35ed2e0e7fe1383f38ee45617be288ae318a444e6befdfbaf64b07d4a88ec47fec5cd88d733ecd5bb32ce40f3ba8d09573cd
|
||||
|
@ -1,126 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
MY_EXTRAS_VER="20150127-1351Z"
|
||||
MY_PV="${PV//_alpha_pre/-m}"
|
||||
MY_PV="${MY_PV//_/-}"
|
||||
|
||||
# Build type
|
||||
BUILD="cmake"
|
||||
|
||||
inherit toolchain-funcs mysql-v2
|
||||
# only to make repoman happy. it is really set in the eclass
|
||||
IUSE="$IUSE"
|
||||
|
||||
# Define the mysql-extras source
|
||||
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
EPATCH_EXCLUDE=''
|
||||
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
|
||||
RDEPEND="${RDEPEND}"
|
||||
|
||||
# Please do not add a naive src_unpack to this ebuild
|
||||
# If you want to add a single patch, copy the ebuild to an overlay
|
||||
# and create your own mysql-extras tarball, looking at 000_index.txt
|
||||
|
||||
# Official test instructions:
|
||||
# USE='embedded extraengine perl ssl static-libs community' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mysql-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
src_test() {
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if ! use "minimal" ; then
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
addpredict /this-dir-does-not-exist/t9.MYI
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might right out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# create symlink for the tests to find mysql_tzinfo_to_sql
|
||||
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
|
||||
|
||||
# These are failing in MySQL 5.5 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.information_schema, binlog.binlog_statement_insert_delayed,
|
||||
# main.mysqld--help-notwin
|
||||
# fails due to USE=-latin1 / utf8 default
|
||||
#
|
||||
# main.mysql_client_test:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
#
|
||||
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
|
||||
# fails due to bad cleanup of previous tests when run in parallel
|
||||
# The tool is deprecated anyway
|
||||
# Bug 532288
|
||||
|
||||
for t in main.mysql_client_test \
|
||||
binlog.binlog_statement_insert_delayed main.information_schema \
|
||||
main.mysqld--help-notwin main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
|
||||
mysql-v2_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}"
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
|
||||
--testcase-timeout=30 --reorder
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
@ -1,126 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
MY_EXTRAS_VER="20150127-1351Z"
|
||||
MY_PV="${PV//_alpha_pre/-m}"
|
||||
MY_PV="${MY_PV//_/-}"
|
||||
|
||||
# Build type
|
||||
BUILD="cmake"
|
||||
|
||||
inherit toolchain-funcs mysql-v2
|
||||
# only to make repoman happy. it is really set in the eclass
|
||||
IUSE="$IUSE"
|
||||
|
||||
# Define the mysql-extras source
|
||||
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
EPATCH_EXCLUDE=''
|
||||
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
|
||||
RDEPEND="${RDEPEND}"
|
||||
|
||||
# Please do not add a naive src_unpack to this ebuild
|
||||
# If you want to add a single patch, copy the ebuild to an overlay
|
||||
# and create your own mysql-extras tarball, looking at 000_index.txt
|
||||
|
||||
# Official test instructions:
|
||||
# USE='embedded extraengine perl ssl static-libs community' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mysql-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
src_test() {
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if ! use "minimal" ; then
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
addpredict /this-dir-does-not-exist/t9.MYI
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might right out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# create symlink for the tests to find mysql_tzinfo_to_sql
|
||||
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
|
||||
|
||||
# These are failing in MySQL 5.5 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.information_schema, binlog.binlog_statement_insert_delayed,
|
||||
# main.mysqld--help-notwin
|
||||
# fails due to USE=-latin1 / utf8 default
|
||||
#
|
||||
# main.mysql_client_test:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
#
|
||||
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
|
||||
# fails due to bad cleanup of previous tests when run in parallel
|
||||
# The tool is deprecated anyway
|
||||
# Bug 532288
|
||||
|
||||
for t in main.mysql_client_test \
|
||||
binlog.binlog_statement_insert_delayed main.information_schema \
|
||||
main.mysqld--help-notwin main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
|
||||
mysql-v2_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}"
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
|
||||
--testcase-timeout=30 --reorder
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
@ -1,166 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
MY_EXTRAS_VER="20151105-2051Z"
|
||||
MY_PV="${PV//_alpha_pre/-m}"
|
||||
MY_PV="${MY_PV//_/-}"
|
||||
HAS_TOOLS_PATCH="1"
|
||||
SUBSLOT="18"
|
||||
|
||||
inherit mysql-multilib-r1
|
||||
# only to make repoman happy. it is really set in the eclass
|
||||
IUSE="$IUSE"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
EPATCH_EXCLUDE=''
|
||||
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
|
||||
RDEPEND="${RDEPEND}"
|
||||
|
||||
# Please do not add a naive src_unpack to this ebuild
|
||||
# If you want to add a single patch, copy the ebuild to an overlay
|
||||
# and create your own mysql-extras tarball, looking at 000_index.txt
|
||||
|
||||
# validate_password plugin uses exceptions when it shouldn't yet (until 5.7)
|
||||
# disable until we see what happens with it
|
||||
MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 )
|
||||
|
||||
src_prepare() {
|
||||
mysql-multilib-r1_src_prepare
|
||||
if use libressl ; then
|
||||
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
|
||||
"${S}/cmake/ssl.cmake" || die
|
||||
fi
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='server embedded extraengine perl openssl static-libs' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mysql-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
multilib_src_test() {
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
einfo "Server tests not available on non-native abi".
|
||||
return 0;
|
||||
fi
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if use server ; then
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
addpredict /this-dir-does-not-exist/t9.MYI
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might right out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# create symlink for the tests to find mysql_tzinfo_to_sql
|
||||
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
|
||||
|
||||
# These are failing in MySQL 5.5/5.6 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.information_schema, binlog.binlog_statement_insert_delayed,
|
||||
# funcs_1.is_triggers funcs_1.is_tables_mysql,
|
||||
# funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter,
|
||||
# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt,
|
||||
# mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql
|
||||
# perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter
|
||||
# fails due to USE=-latin1 / utf8 default
|
||||
#
|
||||
# main.mysql_client_test:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
#
|
||||
# rpl.rpl_plugin_load
|
||||
# fails due to included file not listed in expected result
|
||||
# appears to be poor planning
|
||||
#
|
||||
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
|
||||
# fails due to bad cleanup of previous tests when run in parallel
|
||||
# The tool is deprecated anyway
|
||||
# Bug 532288
|
||||
for t in \
|
||||
binlog.binlog_mysqlbinlog_filter \
|
||||
binlog.binlog_statement_insert_delayed \
|
||||
funcs_1.is_columns_mysql \
|
||||
funcs_1.is_tables_mysql \
|
||||
funcs_1.is_triggers \
|
||||
main.information_schema \
|
||||
main.mysql_client_test \
|
||||
main.mysqld--help-notwin \
|
||||
perfschema.binlog_edge_mix \
|
||||
perfschema.binlog_edge_stmt \
|
||||
rpl.rpl_plugin_load \
|
||||
main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
|
||||
; do
|
||||
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
if ! use extraengine ; then
|
||||
# bug 401673, 530766
|
||||
for t in federated.federated_plugin ; do
|
||||
mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
|
||||
done
|
||||
fi
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}"
|
||||
|
||||
# Set file limits higher so tests run
|
||||
ulimit -n 3000
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
|
||||
--suite-timeout=5000 --reorder
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
@ -1,166 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
MY_EXTRAS_VER="20160212-0233Z"
|
||||
MY_PV="${PV//_alpha_pre/-m}"
|
||||
MY_PV="${MY_PV//_/-}"
|
||||
HAS_TOOLS_PATCH="1"
|
||||
SUBSLOT="18"
|
||||
|
||||
inherit mysql-multilib-r1
|
||||
# only to make repoman happy. it is really set in the eclass
|
||||
IUSE="$IUSE"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
EPATCH_EXCLUDE=''
|
||||
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
|
||||
RDEPEND="${RDEPEND}"
|
||||
|
||||
# Please do not add a naive src_unpack to this ebuild
|
||||
# If you want to add a single patch, copy the ebuild to an overlay
|
||||
# and create your own mysql-extras tarball, looking at 000_index.txt
|
||||
|
||||
# validate_password plugin uses exceptions when it shouldn't yet (until 5.7)
|
||||
# disable until we see what happens with it
|
||||
MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 )
|
||||
|
||||
src_prepare() {
|
||||
mysql-multilib-r1_src_prepare
|
||||
if use libressl ; then
|
||||
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
|
||||
"${S}/cmake/ssl.cmake" || die
|
||||
fi
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='server embedded extraengine perl openssl static-libs' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mysql-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
multilib_src_test() {
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
einfo "Server tests not available on non-native abi".
|
||||
return 0;
|
||||
fi
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if use server ; then
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
addpredict /this-dir-does-not-exist/t9.MYI
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might right out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# create symlink for the tests to find mysql_tzinfo_to_sql
|
||||
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
|
||||
|
||||
# These are failing in MySQL 5.5/5.6 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.information_schema, binlog.binlog_statement_insert_delayed,
|
||||
# funcs_1.is_triggers funcs_1.is_tables_mysql,
|
||||
# funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter,
|
||||
# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt,
|
||||
# mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql
|
||||
# perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter
|
||||
# fails due to USE=-latin1 / utf8 default
|
||||
#
|
||||
# main.mysql_client_test:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
#
|
||||
# rpl.rpl_plugin_load
|
||||
# fails due to included file not listed in expected result
|
||||
# appears to be poor planning
|
||||
#
|
||||
# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
|
||||
# fails due to bad cleanup of previous tests when run in parallel
|
||||
# The tool is deprecated anyway
|
||||
# Bug 532288
|
||||
for t in \
|
||||
binlog.binlog_mysqlbinlog_filter \
|
||||
binlog.binlog_statement_insert_delayed \
|
||||
funcs_1.is_columns_mysql \
|
||||
funcs_1.is_tables_mysql \
|
||||
funcs_1.is_triggers \
|
||||
main.information_schema \
|
||||
main.mysql_client_test \
|
||||
main.mysqld--help-notwin \
|
||||
perfschema.binlog_edge_mix \
|
||||
perfschema.binlog_edge_stmt \
|
||||
rpl.rpl_plugin_load \
|
||||
main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
|
||||
; do
|
||||
mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
if ! use extraengine ; then
|
||||
# bug 401673, 530766
|
||||
for t in federated.federated_plugin ; do
|
||||
mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
|
||||
done
|
||||
fi
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}"
|
||||
|
||||
# Set file limits higher so tests run
|
||||
ulimit -n 3000
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
|
||||
--suite-timeout=5000 --reorder
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
@ -0,0 +1,815 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils autotools flag-o-matic versionator depend.apache apache-module libtool systemd
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
function php_get_uri ()
|
||||
{
|
||||
case "${1}" in
|
||||
"php-pre")
|
||||
echo "http://downloads.php.net/dsp/${2}"
|
||||
;;
|
||||
"php")
|
||||
echo "http://www.php.net/distributions/${2}"
|
||||
;;
|
||||
"olemarkus")
|
||||
echo "https://dev.gentoo.org/~olemarkus/php/${2}"
|
||||
;;
|
||||
"gentoo")
|
||||
echo "mirror://gentoo/${2}"
|
||||
;;
|
||||
*)
|
||||
die "unhandled case in php_get_uri"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
PHP_MV="$(get_major_version)"
|
||||
SLOT="$(get_version_component_range 1-2)"
|
||||
|
||||
# alias, so we can handle different types of releases (finals, rcs, alphas,
|
||||
# betas, ...) w/o changing the whole ebuild
|
||||
PHP_PV="${PV/_rc/RC}"
|
||||
PHP_PV="${PHP_PV/_alpha/alpha}"
|
||||
PHP_PV="${PHP_PV/_beta/beta}"
|
||||
PHP_RELEASE="php"
|
||||
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
|
||||
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
|
||||
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
|
||||
PHP_P="${PN}-${PHP_PV}"
|
||||
|
||||
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
|
||||
|
||||
PHP_FPM_CONF_VER="1"
|
||||
|
||||
SRC_URI="${PHP_SRC_URI}"
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="http://php.net/"
|
||||
LICENSE="PHP-3"
|
||||
|
||||
S="${WORKDIR}/${PHP_P}"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
|
||||
crypt +ctype curl debug
|
||||
enchant exif frontbase +fileinfo +filter firebird
|
||||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
|
||||
mhash mssql mysql libmysqlclient mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline recode selinux +session sharedmem
|
||||
+simplexml snmp soap sockets spell sqlite ssl
|
||||
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
|
||||
|
||||
DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre-8.32[unicode]
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[threads=] ) )"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
DEPEND="${DEPEND}
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
cjk? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib
|
||||
) )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
exif? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib
|
||||
) )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0 )
|
||||
gmp? ( dev-libs/gmp:0 )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( virtual/imap-c-client[ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
|
||||
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
libmysqlclient? (
|
||||
mysql? ( virtual/mysql )
|
||||
mysqli? ( >=virtual/mysql-4.1 )
|
||||
)
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0 )
|
||||
recode? ( app-text/recode )
|
||||
sharedmem? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
sybase-ct? ( dev-db/freetds )
|
||||
tidy? ( app-text/htmltidy )
|
||||
truetype? (
|
||||
=media-libs/freetype-2*
|
||||
>=media-libs/t1lib-5.0.0
|
||||
!gd? (
|
||||
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
|
||||
)
|
||||
unicode? ( dev-libs/oniguruma )
|
||||
vpx? ( media-libs/libvpx )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
|
||||
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xpm? (
|
||||
x11-libs/libXpm
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0= sys-libs/zlib
|
||||
)
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( sys-libs/zlib )
|
||||
zlib? ( sys-libs/zlib )
|
||||
virtual/mta
|
||||
"
|
||||
|
||||
php="=${CATEGORY}/${PF}"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd )
|
||||
vpx? ( gd )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
libmysqlclient? ( || (
|
||||
mysql
|
||||
mysqli
|
||||
pdo
|
||||
) )
|
||||
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysql !mysqli )
|
||||
sharedmem? ( !threads )
|
||||
|
||||
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
RDEPEND="${RDEPEND}
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
DEPEND="${DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-devel/m4-1.4.3
|
||||
>=sys-devel/libtool-1.5.18"
|
||||
|
||||
# Allow users to install production version if they want to
|
||||
if [[ "${PHP_INI_VERSION}" == "production" ]]; then
|
||||
PHP_INI_UPSTREAM="php.ini-production"
|
||||
else
|
||||
PHP_INI_UPSTREAM="php.ini-development"
|
||||
fi
|
||||
|
||||
PHP_INI_FILE="php.ini"
|
||||
|
||||
want_apache
|
||||
|
||||
pkg_setup() {
|
||||
depend.apache_pkg_setup
|
||||
}
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
|
||||
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" "${PHP_INI_FILE}"
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config file php-fpm.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-development
|
||||
dodoc php.ini-production
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Change PHP branding
|
||||
# Get the alpha/beta/rc version
|
||||
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
|
||||
-i configure.in || die "Unable to change PHP branding"
|
||||
|
||||
# Patch PHP to show Gentoo as the server platform
|
||||
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
|
||||
-i configure.in || die "Failed to fix server platform name"
|
||||
|
||||
# Prevent PHP from activating the Apache config,
|
||||
# as we will do that ourselves
|
||||
sed -i \
|
||||
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
|
||||
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
|
||||
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
|
||||
|| die
|
||||
|
||||
# Patch PHP to support heimdal instead of mit-krb5
|
||||
if has_version "app-crypt/heimdal" ; then
|
||||
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|
||||
|| die "Failed to fix heimdal libname"
|
||||
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|
||||
|| die "Failed to fix heimdal crypt library reference"
|
||||
fi
|
||||
|
||||
# Add user patches #357637
|
||||
epatch_user
|
||||
|
||||
# Force rebuilding aclocal.m4
|
||||
rm -f aclocal.m4 || die
|
||||
eautoreconf
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# http://bugs.php.net/bug.php?id=48795, bug #343481
|
||||
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
$(use_enable threads maintainer-zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_enable bcmath bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar calendar)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl intl)
|
||||
$(use_enable ipv6 ipv6)
|
||||
$(use_enable json json)
|
||||
$(use_with kerberos kerberos "${EPREFIX}/usr")
|
||||
$(use_enable xml libxml)
|
||||
$(use_with xml libxml-dir "${EPREFIX}/usr")
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with crypt mcrypt "${EPREFIX}/usr")
|
||||
$(use_with mssql mssql "${EPREFIX}/usr")
|
||||
$(use_with unicode onig "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl-dir "${EPREFIX}/usr")
|
||||
$(use_enable pcntl pcntl)
|
||||
$(use_enable phar phar)
|
||||
$(use_enable pdo pdo)
|
||||
$(use_enable opcache opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_with recode recode "${EPREFIX}/usr")
|
||||
$(use_enable simplexml simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap soap)
|
||||
$(use_enable sockets sockets)
|
||||
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
|
||||
$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with systemd fpm-systemd)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer tokenizer)
|
||||
$(use_enable wddx wddx)
|
||||
$(use_enable xml xml)
|
||||
$(use_enable xmlreader xmlreader)
|
||||
$(use_enable xmlwriter xmlwriter)
|
||||
$(use_with xmlrpc xmlrpc)
|
||||
$(use_with xslt xsl "${EPREFIX}/usr")
|
||||
$(use_enable zip zip)
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm ; then
|
||||
our_conf+=( "--enable-dba${shared}" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype-dir "${EPREFIX}/usr")
|
||||
$(use_with truetype t1lib "${EPREFIX}/usr")
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg-dir "${EPREFIX}/usr")
|
||||
$(use_with gd png-dir "${EPREFIX}/usr")
|
||||
$(use_with xpm xpm-dir "${EPREFIX}/usr")
|
||||
$(use_with vpx vpx-dir "${EPREFIX}/usr")
|
||||
)
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_with gd gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# Interbase/firebird support
|
||||
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
local mysqllib="mysqlnd"
|
||||
local mysqlilib="mysqlnd"
|
||||
use libmysqlclient && mysqllib="${EPREFIX}/usr"
|
||||
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
|
||||
|
||||
our_conf+=( $(use_with mysql mysql "${mysqllib}") )
|
||||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
our_conf+=(
|
||||
$(use_with odbc unixODBC "${EPREFIX}/usr")
|
||||
$(use_with iodbc iodbc "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib)
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -r "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/sbin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local sapi="", file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp5$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp${PHP_MV}$(get_libname)"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
APACHE2_MOD_DEFINE="PHP"
|
||||
APACHE2_MOD_CONF="70_mod_php" # Provided by app-eselect/eselect-php
|
||||
apache-module_pkg_postinst
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Only mention PHP_INI_VERSION if the user doesn't have it set.
|
||||
case "${PHP_INI_VERSION}" in
|
||||
production|development)
|
||||
;;
|
||||
*)
|
||||
elog "This ebuild installed a version of php.ini based on"
|
||||
elog "${PHP_INI_UPSTREAM}. You can choose which version of"
|
||||
elog "php.ini to install by default by setting PHP_INI_VERSION"
|
||||
elog "to either 'production' or 'development' in your make.conf."
|
||||
elog "Both versions of php.ini can be found with the PHP docs in"
|
||||
elog "${EPREFIX}/usr/share/doc/${PF}"
|
||||
elog
|
||||
;;
|
||||
esac
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
DIST sdformat-3.6.0.tar.bz2 426280 SHA256 c7ddf7958aaae2b143c713a44a4e83210f9753bce8f0dccbaf9cfc41293896cd SHA512 01d765b4dbcc53a0c8f6e3bee738a7ebd1d3c14f5485848ddaa620ef150fe10f4ea891a5b10eb82308e83063b7467b2a84004b19825b7f3798ab049ebca9ee68 WHIRLPOOL 4ca9d2d9de6977fc61c2b12681800b9cb880cee97e6ee2f77af5a408905ece67e902165715e1a3768b95a5c3fb2758b0eafb4a498b748eac048b7c9ce8eff3c8
|
||||
DIST sdformat-3.7.0.tar.bz2 437218 SHA256 18251b133e4fde105f883518691f15fc9f1fc2af8b89ab6de4bc26b9df42761e SHA512 574132d91e20cf5a049d4d90602021f402ba9a6712d1db9ea513119ceb619af8efef0b5c637a755675896ba46e6325b8a038d4074e11b1de80a577696c73d650 WHIRLPOOL 5302c75b26ffd5517bf1254afef2e38ce0d845fb7a7db761f65cb6b03a27a86672a99b6610af257948074bfbbe13cc24042ed7699b4f2d0dacb5157aa8cd6026
|
||||
DIST sdformat-4.0.0.tar.bz2 443383 SHA256 b0f94bb40b0d83e35ff250a7916fdfd6df5cdc1e60c47bc53dd2da5e2378163e SHA512 1717695adad041ba1dac9407412ffd7a40bc41483dd637c40a7a9f8773197f5b16d670b2bbb511e88d90b7806f4b81f271084ece787e398d554ab95443bd81c9 WHIRLPOOL d35fc6af8edefe0271fd363605675c85ff7860bab18e50bed980daf2a76a4c8d63bb3198e774b51269525373a4c9ee69d20c6fad2bf208e345396a1caee6c135
|
||||
DIST sdformat-4.1.0.tar.bz2 455347 SHA256 0f63e446a29073affed2427214aa04d23c1cb8331cdd1bd7d48768d7eee5862a SHA512 ce9b89c39b636de12811181dd9f52a7e6ff3abd1ac3ca9195cd93dd2665eadd455a5e989c063046ea5c1db3eb1898017a2546189027ed93e240f1457b47cd604 WHIRLPOOL c55353b8531a787092ac5ad4d225a38fcc5a0825792422a44a8d81e8e69ec22e9cd6a05948e68ff5756df3691c0ee12d596ce577b66b52566713a6fc69a39107
|
||||
DIST sdformat-4.1.1.tar.bz2 443491 SHA256 e2656984ea0411f5132363c2722b1016524195853b05fdd99e9b7dd3fa4031b1 SHA512 c124d8d4cde4dddd289ce2a83708fe3c6db31df186697b9c8c9d7fbec136cbd8f0418576590897089288885688369dae3ecb0993d74a2228077c7928499bfb32 WHIRLPOOL 3f3ba54d5bda89da87d9d8ff254b153929dd900d7611f36d92e2c5ea930b96416ff7c41b303aa04fb43c464e21739ada48fbfa175ef6dacdb53dfb034ad5cd67
|
||||
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Simulation Description Format (SDF) parser"
|
||||
HOMEPAGE="http://sdformat.org/"
|
||||
SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/urdfdom
|
||||
dev-libs/tinyxml
|
||||
dev-libs/boost:=
|
||||
sci-libs/ignition-math:2=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-lang/ruby:*
|
||||
virtual/pkgconfig
|
||||
"
|
||||
CMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
|
||||
src_configure() {
|
||||
echo "set (CMAKE_C_FLAGS_ALL \"${CXXFLAGS} \${CMAKE_C_FLAGS_ALL}\")" > "${S}/cmake/HostCFlags.cmake"
|
||||
sed -i -e "s/LINK_FLAGS_RELWITHDEBINFO \" \"/LINK_FLAGS_RELWITHDEBINFO \" ${LDFLAGS} \"/" cmake/DefaultCFlags.cmake || die
|
||||
local mycmakeargs=(
|
||||
"-DUSE_EXTERNAL_URDF=ON"
|
||||
"-DUSE_EXTERNAL_TINYXML=ON"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Simulation Description Format (SDF) parser"
|
||||
HOMEPAGE="http://sdformat.org/"
|
||||
SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/urdfdom
|
||||
dev-libs/tinyxml
|
||||
dev-libs/boost:=
|
||||
sci-libs/ignition-math:2=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-lang/ruby:*
|
||||
virtual/pkgconfig
|
||||
"
|
||||
CMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
|
||||
src_configure() {
|
||||
echo "set (CMAKE_C_FLAGS_ALL \"${CXXFLAGS} \${CMAKE_C_FLAGS_ALL}\")" > "${S}/cmake/HostCFlags.cmake"
|
||||
sed -i -e "s/LINK_FLAGS_RELWITHDEBINFO \" \"/LINK_FLAGS_RELWITHDEBINFO \" ${LDFLAGS} \"/" cmake/DefaultCFlags.cmake || die
|
||||
local mycmakeargs=(
|
||||
"-DUSE_EXTERNAL_URDF=ON"
|
||||
"-DUSE_EXTERNAL_TINYXML=ON"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
@ -1 +1,2 @@
|
||||
DIST biniou-1.0.12.tar.gz 24262 SHA256 b946e720d94d524b95bb0401d9e47a971e9234df808fe5f12601140ab09ec686 SHA512 df729e4064f6726efa409ceb5e6ff1987923d9cd28339d6e1c4c185a07c0738b027cafba33a139483eeb8f88e58f66fbb6a57d8e748e7355073a7622fb4d7a07 WHIRLPOOL ae337546d7737a733cedc78fd515bf55603edf9b49be3587ca97d45887ecaac82d072aa8391c72b8142aaadbe7b7d1e4394da1c28ee3d16eb8985c85d665f8fd
|
||||
DIST biniou-1.0.9.tar.gz 23963 SHA256 eb47c48f61b169e652629e7f2ee582dfd5965e640ee51bf28fab63b960864392 SHA512 8bc640da28ad8f95952b7a0965f8b40c6128264fb4cd5b517cba2e65b432803a01dc75e42d9d339376dbb962285c7e4ad8290f2536f58d092fe7269b731fb332 WHIRLPOOL aa7cf2486886cd26513028065d654f7c1b768e4950f568147758d5fa61cb6fcdc11a2f3da5ed6b60b8eadee14e3b8885e5197d52e01c8a61b284712cea7e9aa9
|
||||
|
@ -0,0 +1,32 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit findlib
|
||||
|
||||
DESCRIPTION="A binary data serialization format inspired by JSON for OCaml"
|
||||
HOMEPAGE="https://github.com/mjambon/biniou"
|
||||
SRC_URI="https://github.com/mjambon/biniou/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
SLOT="0/${PV}"
|
||||
LICENSE="BSD"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+ocamlopt"
|
||||
|
||||
RDEPEND=">=dev-lang/ocaml-3.11:=[ocamlopt?]
|
||||
dev-ml/easy-format:=[ocamlopt?]
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_compile() {
|
||||
emake all
|
||||
use ocamlopt && emake opt
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use ocamlopt && dodir /usr/bin
|
||||
findlib_src_install BINDIR="${ED}"/usr/bin
|
||||
dodoc README.md Changes
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST js_of_ocaml-2.7.tar.gz 1304487 SHA256 52922f55428a1d8a55ec2493c4989152e06efd29a981adf8ac9f343f558854b5 SHA512 ab6e5d16342bf763c10eb5c2e7589610622034eee2ad82aa09c6f68448f155a5c56584702307852b251bde80146c1b7115ed6add1358ad96b130c9dd2b96118b WHIRLPOOL 278c17432fdf9bf670df33479c68705868be39eb4d53f67fc489fe44ac2e7645dd5e2ed3e6e71752a2387b516ce0ab6dc99ac1d870fc75ffdad9df87031e9de4
|
||||
DIST js_of_ocaml-2.8.1.tar.gz 1329825 SHA256 954ed80b3f37e10666e36ffa3c1d846e1913b8c7be9f0af79889f829b1333e1e SHA512 bce4b173c29396ce7f28f12afd3185cdf402150a7390b9f5a21f14f71e72b3e5ae16234ed65e9d7b18ed2c0de524b658495d62d4673dfe3e61d5f0556b5a125c WHIRLPOOL ac66e7fa70e7365dc5a404d95b9f14186d727756df3aaebfa5d433237d33cb1f070ad74db12136b2a2b2db75b3eac127729343838f361000f962f2a5bc309d79
|
||||
DIST js_of_ocaml-2.8.tar.gz 1330364 SHA256 98564d9a36025edb5edd9d58c565fc7b38a3b49f9b8e32d7dc29289d443894b0 SHA512 914b2a1a452acd494c3373fa65e858c2747bd7d946d6077320429160d4172f627978a0b4ee526fc6e39378dffc9c965b81e5a1f16eba1f60529e4a6b5f474c1e WHIRLPOOL cfb71c97c3c43e873dc1f83b26ccacf93be846940596e99f004e6539c5bfa15e810d290b254c4bfecce65133dc6b79247c3cb2cd301297b6062ac6526147f94d
|
||||
|
@ -0,0 +1,57 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit findlib eutils
|
||||
|
||||
DESCRIPTION="A compiler from OCaml bytecode to javascript"
|
||||
HOMEPAGE="http://ocsigen.org/js_of_ocaml/"
|
||||
SRC_URI="https://github.com/ocsigen/js_of_ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1-with-linking-exception"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+async +ocamlopt doc +deriving +ppx +ppx-deriving +react +xml X"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-lang/ocaml-3.12:=[ocamlopt?,X?]
|
||||
>=dev-ml/lwt-2.4.4:=
|
||||
async? ( dev-ml/async_kernel:= )
|
||||
react? ( dev-ml/react:= dev-ml/reactiveData:= )
|
||||
xml? ( >=dev-ml/tyxml-4:= )
|
||||
ppx? ( dev-ml/ppx_tools:= )
|
||||
ppx-deriving? ( dev-ml/ppx_deriving:= )
|
||||
dev-ml/cmdliner:=
|
||||
dev-ml/menhir:=
|
||||
dev-ml/ocaml-base64:=
|
||||
dev-ml/camlp4:=
|
||||
dev-ml/cppo:=
|
||||
deriving? ( >=dev-ml/deriving-0.6:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-ml/ocamlbuild"
|
||||
|
||||
src_configure() {
|
||||
printf "\n\n" >> Makefile.conf
|
||||
use ocamlopt || echo "BEST := byte" >> Makefile.conf
|
||||
use ocamlopt || echo "NATDYNLINK := NO" >> Makefile.conf
|
||||
use deriving || echo "WITH_DERIVING := NO" >> Makefile.conf
|
||||
use X || echo "WITH_GRAPHICS := NO" >> Makefile.conf
|
||||
use react || echo "WITH_REACT := NO" >> Makefile.conf
|
||||
use ppx || echo "WITH_PPX := NO" >> Makefile.conf
|
||||
use ppx-deriving || echo "WITH_PPX_PPX_DERIVING := NO" >> Makefile.conf
|
||||
use async || echo "WITH_ASYNC := NO" >> Makefile.conf
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1
|
||||
use doc && emake doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
findlib_src_preinst
|
||||
emake BINDIR="${ED}/usr/bin/" install
|
||||
dodoc CHANGES README.md
|
||||
use doc && dohtml -r doc/api/html/
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST ocaml-redis-0.2.3.tar.gz 61333 SHA256 954b498944b0340b8ea83e7af3740a34e3212cd0fcce5b3c02ba253836fcd374 SHA512 8f1c582778fc3cc8dd1e46b7369b66dc33692d7e836703fe8649ce16070469a5d7adbae8e198087e820b2254056edbb815de5c43fbf5fd7cb66d02b2e303018c WHIRLPOOL a34df4e5726ffa8cc3228a9099fbc03063d422753b3a60c1fd2e48a048066e4fe4d94f66ac346fdba64e3c618fc03b1b6fe107fd94c0e9e29059722123979c99
|
||||
DIST ocaml-redis-0.3.0.tar.gz 69120 SHA256 8ff583321aea5398af98688eb84d3c3581aba0df1d2c34b437e2ba5e70585e3d SHA512 84e57763d23b309adc7d112ff5c3b79307f4d3077ed177166b57d09b249062466c48b269bddf647438af760981c909e26296669a80778198832bf79151b29e2b WHIRLPOOL 57cf2a1644ebd93d15b8b9432de040026a7c0cbf9542405198bdf0a6b180cbc469005ca44cd9da1a010682df88b9e608dbcb366315fd47a2b8f91b4306ec8e32
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
OASIS_BUILD_TESTS=1
|
||||
OASIS_BUILD_DOCS=1
|
||||
|
||||
inherit oasis
|
||||
|
||||
DESCRIPTION="Redis bindings for OCaml"
|
||||
HOMEPAGE="http://0xffea.github.io/ocaml-redis/"
|
||||
SRC_URI="https://github.com/0xffea/ocaml-redis/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+lwt"
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/ocaml-re:=
|
||||
dev-ml/uuidm:=
|
||||
lwt? ( dev-ml/lwt:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-ml/ounit )"
|
||||
|
||||
src_configure() {
|
||||
oasis_configure_opts="$(use_enable lwt)" oasis_src_configure
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
DIST_AUTHOR=MLEHMANN
|
||||
DIST_VERSION=6.511
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="The only real threads in perl"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="vanilla"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-perl/AnyEvent-5
|
||||
>=dev-perl/Guard-0.500.0
|
||||
virtual/perl-Scalar-List-Utils
|
||||
>=virtual/perl-Storable-2.150.0
|
||||
dev-perl/common-sense
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-perl/Canary-Stability
|
||||
>=virtual/perl-ExtUtils-MakeMaker-6.520.0
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
if ! use vanilla; then
|
||||
ewarn "This release includes a 3rd party argarray patch for Perl 5.24 Compat."
|
||||
ewarn "Please do not contact upstream directly regarding problems arising from this."
|
||||
eapply "${FILESDIR}/${PV}-argarray.patch"
|
||||
fi
|
||||
perl-module_src_prepare
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST Coro-6.4801.tar.gz 190759 SHA256 e20d4987244ee982ffab00fc66f4897e6c9d4c8b7aa86889c19228006a60789c SHA512 2b53a4feb4d187d74d09c30c95765c2f8b416f95f7026f1d7e6fd37bc300f041fd8f72a44017036920c242d0ba7ab21bc32cf7183570fad9eeab706df60f7684 WHIRLPOOL be44764aa5a42c510721b7b7a6b17bd79acf1127667c8fd3eb8c0d92fc47e4c0110505b06425ee03ef56df5a9e8871c8f14abc9d29fa704e0628bd52521a1d78
|
||||
DIST Coro-6.511.tar.gz 195173 SHA256 7e3ed48cdb3f3742d94ae3ab3d088c3ab818c521f8681da6c5f656bd49ac53ea SHA512 c3e591539e3313403496d3396e68147942e45590732bbaed7b3020fdc79e1e726c3addc3fc5d5d3e173c2b3faff4de2a9d0bae19f91cdc684285c2751b809681 WHIRLPOOL 3a56fca3116d1b2b6cd727078ebed9811aa627756c08c439ee6bceabba75117c904b692bf147f251dcd978abcf63e0d0f24e9ef068adf1592c4ff9539ae64daf
|
||||
|
@ -0,0 +1,42 @@
|
||||
From 38fe74765a4cbf1003cc2011559bf83b05b10e46 Mon Sep 17 00:00:00 2001
|
||||
From: David Mitchell <davem@iabyn.com>
|
||||
Date: Tue, 3 May 2016 22:25:48 +0100
|
||||
Subject: [PATCH 3/5] Coro: handle argarray removal in 5.23.8
|
||||
|
||||
---
|
||||
Coro/State.xs | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Coro/State.xs b/Coro/State.xs
|
||||
index 93c2c5b..28264c5 100644
|
||||
--- a/Coro/State.xs
|
||||
+++ b/Coro/State.xs
|
||||
@@ -1415,6 +1415,7 @@ runops_trace (pTHX)
|
||||
if (CxTYPE (cx) == CXt_SUB && oldcxix < cxstack_ix)
|
||||
{
|
||||
dSP;
|
||||
+ AV *argarray;
|
||||
GV *gv = CvGV (cx->blk_sub.cv);
|
||||
SV *fullname = sv_2mortal (newSV (0));
|
||||
|
||||
@@ -1428,7 +1429,16 @@ runops_trace (pTHX)
|
||||
PUSHMARK (SP);
|
||||
PUSHs (&PL_sv_yes);
|
||||
PUSHs (fullname);
|
||||
- PUSHs (CxHASARGS (cx) ? sv_2mortal (newRV_inc ((SV *)cx->blk_sub.argarray)) : &PL_sv_undef);
|
||||
+ argarray =
|
||||
+# if PERL_VERSION_ATLEAST(5,23,8)
|
||||
+ ((AV*)(AvARRAY(MUTABLE_AV(
|
||||
+ PadlistARRAY(CvPADLIST(cx->blk_sub.cv))[
|
||||
+ CvDEPTH(cx->blk_sub.cv)]))[0]));
|
||||
+#else
|
||||
+ cx->blk_sub.argarray;
|
||||
+#endif
|
||||
+
|
||||
+ PUSHs (CxHASARGS (cx) ? sv_2mortal (newRV_inc ((SV *)argarray)) : &PL_sv_undef);
|
||||
PUTBACK;
|
||||
cb = hv_fetch ((HV *)SvRV (coro_current), "_trace_sub_cb", sizeof ("_trace_sub_cb") - 1, 0);
|
||||
if (cb) call_sv (*cb, G_KEEPERR | G_EVAL | G_VOID | G_DISCARD);
|
||||
--
|
||||
2.4.11
|
||||
|
@ -1 +1,2 @@
|
||||
DIST Test-Dependencies-0.12.tar.gz 23960 SHA256 c801e440550b8bc6e111d3add8ce0b6d97ce03cfe9f450845a95b43761b41d20 SHA512 9d08602a28c9b20ef63de1111f7c0d3a0908fc148e354a9fc04166f56f6bdbe69543b106b09a902cb7fb88912f83ed40bb8da7a74b3f48f1d14f6abb9204ccdd WHIRLPOOL d930a6b2bcd086fe1e34787fcff41dae2de0e0c07d2bd393bb146a53bc8f502532e17c1b7250f0c83c0f5d1ba997444c3aaa7652bc4322b65a00b9f825d5af44
|
||||
DIST Test-Dependencies-0.21.tar.gz 42936 SHA256 ccd56e400be33bb198228909efc2516539607701401fb369ac90c724b84c2012 SHA512 0da1004cdd5fbfb68f4f19ec2013ef37ae4ce85921532b80717ae91d6e5332cae6c5b6511768105945ccb35eccb1f450602a5c5309e511591f0f7c57a02c3788 WHIRLPOOL 84e80cd09faa5d9aa307828aeeb96df21c03d0c79a41b4f6f4d1ea9024248a6ae7b08fcbbfa2cbd50bec9f0348b7e7c59e177fab9ca88af00589ada79d3a99df
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
DIST_AUTHOR=EHUELS
|
||||
DIST_VERSION=0.21
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Ensure that your dependency listing is complete"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PV}-require-ok.patch" )
|
||||
RDEPEND="
|
||||
dev-perl/rpm-build-perl
|
||||
virtual/perl-CPAN-Meta
|
||||
dev-perl/File-Find-Rule-Perl
|
||||
virtual/perl-Module-CoreList
|
||||
dev-perl/Pod-Strip
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=virtual/perl-CPAN-Meta-Requirements-2.120.620
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
virtual/perl-Module-Metadata
|
||||
test? (
|
||||
dev-perl/Test-Needs
|
||||
>=virtual/perl-Test-Simple-0.980.0
|
||||
)
|
||||
"
|
@ -0,0 +1,23 @@
|
||||
This bug only affects certain Test::More implementations.
|
||||
|
||||
https://github.com/ehuelsmann/perl-Test-Dependencies/issues/5
|
||||
|
||||
diff -Naur Test-Dependencies-0.21/t/00-load-basic.t Test-Dependencies-0.21b/t/00-load-basic.t
|
||||
--- Test-Dependencies-0.21/t/00-load-basic.t 2016-07-10 14:10:43.000000000 +0000
|
||||
+++ Test-Dependencies-0.21b/t/00-load-basic.t 2016-07-10 15:11:40.007701860 +0000
|
||||
@@ -3,12 +3,12 @@
|
||||
use Test::More 0.98;
|
||||
use Test::Needs;
|
||||
|
||||
-use_ok('Test::Dependencies');
|
||||
-use_ok('Test::Dependencies::Light');
|
||||
+require_ok('Test::Dependencies');
|
||||
+require_ok('Test::Dependencies::Light');
|
||||
|
||||
subtest "Heavy Loading" => sub {
|
||||
test_needs 'B::PerlReq', 'PerlReq::Utils';
|
||||
- use_ok('Test::Dependencies::Heavy');
|
||||
+ require_ok('Test::Dependencies::Heavy');
|
||||
};
|
||||
|
||||
done_testing;
|
@ -0,0 +1 @@
|
||||
DIST Test-Needs-0.002002.tar.gz 8106 SHA256 97e9827e1b14a61151509a229b153010811831437fa24db49ea76f73bed05e05 SHA512 ac8e1a14e55bbce3747a6bc424216ebf2f35eb657b107492ff47afb3a1fc909bf385dcd79114a0be4b9bbbe0f3a60a56d6f9b4998f7394b6b96d80f46c63a875 WHIRLPOOL 49b4e2b92aae184ca56ecccb9e37da048aa8e489d37763128a4f8fd216c3fc33c9672a49282751dc15493c02a8d6705a5bea749a970355a22ceeae50b185e279
|
@ -0,0 +1,20 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
DIST_AUTHOR=HAARG
|
||||
DIST_VERSION=0.002002
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Skip tests when modules not available"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? ( >=virtual/perl-Test-Simple-0.450.0 )
|
||||
"
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>perl@gentoo.org</email>
|
||||
<name>Gentoo Perl Project</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpan">Test-Needs</remote-id>
|
||||
<remote-id type="cpan-module">Test::Needs</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,2 +1,3 @@
|
||||
DIST XML-LibXML-2.0121.tar.gz 464562 SHA256 ec431011cb37a04640fd2316f64d0405a274eece2c6f3847f7fbd336eb1c0dc9 SHA512 1833d1e14d8a3b361bcacde910807a56e21cd08204f3fa58888a8c9219bd9228bfdc211af8f74b91ceda3135b4e72cbc60ef1d783afbe0febd100117904f29f1 WHIRLPOOL 8168fcb40e9cfd7d9802f443124a1a38419b5e74b5560b95cfb66f4bc37110a2ac11515b365c4c90bd6007cb5a98c0045bc460566e7f52f758958019953411fe
|
||||
DIST XML-LibXML-2.0124.tar.gz 465948 SHA256 f053434d68d94586ba062c8ded33a448b2943f9ae9e46db4293a97673e755240 SHA512 aa4b72ddf10ca1dab917b7988f8c715659d7659ccf6150eb88d9f6c64823daa2e5500f9b7031ec3abe88de647c7e2bc87da79d37086a1cf3d0b94de082981f71 WHIRLPOOL 545d9d494b43e4aff2951a9598194c116c25adeef58d9003b0e56cf8b179347fc10d09061a03119ca3c306b638444c75bb0f44fdc2a90cc3e667e89404c09076
|
||||
DIST XML-LibXML-2.0126.tar.gz 465800 SHA256 0e735ab72e2ba77070a58a737fd6c61fa6aa198527abc59a5d5627f0650a60af SHA512 b7e5cfdf299c6eabbecacf3a8b5192439b251aa15304a08296481daae2ff01f4d2fab74c38b42c2c63a2fa9f485d287a72ea06ebc58e679ac39cf6544f3cf60c WHIRLPOOL 341b49339342abdf93df0d7dd322b0209bd9a3fca2ffdfdb8e51055d1adab5093f221deaf43330668d17b4795a6c65e029e6bc51bda34184dd91f28e723d7de9
|
||||
|
@ -0,0 +1,66 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
DIST_AUTHOR=SHLOMIF
|
||||
DIST_VERSION=2.0126
|
||||
DIST_EXAMPLES=("example/*")
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Perl binding for libxml2"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="test minimal"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-perl/XML-SAX-0.120.0
|
||||
>=dev-libs/libxml2-2.6.21
|
||||
dev-perl/XML-SAX-Base
|
||||
>=dev-perl/XML-NamespaceSupport-1.70.0
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? (
|
||||
!minimal? (
|
||||
dev-perl/Test-LeakTrace
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
src_compile() {
|
||||
export SKIP_SAX_INSTALL=1
|
||||
perl-module_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
perl_rm_files t/pod.t t/style-trailing-space.t t/cpan-changes.t t/release-kwalitee.t
|
||||
perl-module_src_test
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
pkg_update_parser add XML::LibXML::SAX::Parser
|
||||
pkg_update_parser add XML::LibXML::SAX
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
pkg_update_parser remove XML::LibXML::SAX::Parser
|
||||
pkg_update_parser remove XML::LibXML::SAX
|
||||
}
|
||||
|
||||
pkg_update_parser() {
|
||||
# pkg_update_parser [add|remove] $parser_module
|
||||
local action=$1
|
||||
local parser_module=$2
|
||||
|
||||
if [[ "$ROOT" = "/" ]] ; then
|
||||
einfo "Update Parser: $1 $2"
|
||||
perl -MXML::SAX -e "XML::SAX->${action}_parser(q(${parser_module}))->save_parsers()" \
|
||||
|| ewarn "Update Parser: $1 $2 failed"
|
||||
else
|
||||
elog "To $1 $2 run:"
|
||||
elog "perl -MXML::SAX -e 'XML::SAX->${action}_parser(q(${parser_module}))->save_parsers()'"
|
||||
fi
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
PHP_EXT_NAME="xcache"
|
||||
PHP_EXT_SAPIS="apache2 cgi fpm"
|
||||
USE_PHP="php5-5 php5-6"
|
||||
|
||||
inherit php-ext-source-r3 confutils
|
||||
|
||||
DESCRIPTION="A fast and stable PHP opcode cacher"
|
||||
HOMEPAGE="http://xcache.lighttpd.net/"
|
||||
SRC_URI="http://xcache.lighttpd.net/pub/Releases/${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="coverage"
|
||||
|
||||
# make test would just run php's test and as such need the full php source
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND="
|
||||
!dev-php/eaccelerator
|
||||
!dev-php/pecl-apc
|
||||
virtual/httpd-php:*
|
||||
php_targets_php5-5? ( !dev-lang/php:5.5[opcache] )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README THANKS )
|
||||
|
||||
src_configure() {
|
||||
PHP_EXT_ECONF_ARGS=(
|
||||
--enable-xcache=shared
|
||||
--enable-xcache-constant \
|
||||
--enable-xcache-optimizer \
|
||||
$(use_enable coverage xcache-coverager) \
|
||||
--enable-xcache-assembler \
|
||||
--enable-xcache-encoder \
|
||||
--enable-xcache-decoder )
|
||||
|
||||
php-ext-source-r3_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
php-ext-source-r3_src_install
|
||||
|
||||
insinto "${PHP_EXT_SHARED_DIR}"
|
||||
doins lib/Decompiler.class.php
|
||||
|
||||
# Install the admin interface somewhere where it can be
|
||||
# copied/symlinked into a document root.
|
||||
insinto "/usr/share/${PN}"
|
||||
doins -r htdocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "The lib/Decompiler.class.php file shipped with this release"
|
||||
elog "was installed into ${PHP_EXT_SHARED_DIR}. The htdocs/ admin"
|
||||
elog "interface directory can be found under ${EPREFIX}/usr/share/${PN}."
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PHP_EXT_NAME="xcache"
|
||||
PHP_EXT_INI="yes"
|
||||
PHPSAPILIST="apache2 cgi fpm"
|
||||
USE_PHP="php5-4 php5-5 php5-6"
|
||||
|
||||
inherit php-ext-source-r2 confutils
|
||||
|
||||
DESCRIPTION="A fast and stable PHP opcode cacher"
|
||||
HOMEPAGE="http://xcache.lighttpd.net/"
|
||||
SRC_URI="http://xcache.lighttpd.net/pub/Releases/${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
# make test would just run php's test and as such need the full php source
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND="
|
||||
!dev-php/eaccelerator
|
||||
!dev-php/pecl-apc
|
||||
virtual/httpd-php
|
||||
php_targets_php5-5? ( !dev-lang/php:5.5[opcache] )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_configure() {
|
||||
|
||||
my_conf="--enable-xcache=shared \
|
||||
--enable-xcache-constant \
|
||||
--enable-xcache-optimizer \
|
||||
--enable-xcache-coverager \
|
||||
--enable-xcache-assembler \
|
||||
--enable-xcache-encoder \
|
||||
--enable-xcache-decoder"
|
||||
|
||||
php-ext-source-r2_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
php-ext-source-r2_src_install
|
||||
dodoc AUTHORS ChangeLog NEWS README THANKS
|
||||
|
||||
insinto "${PHP_EXT_SHARED_DIR}"
|
||||
doins lib/Decompiler.class.php
|
||||
insinto "${PHP_EXT_SHARED_DIR}"
|
||||
doins -r htdocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "lib/Decompiler.class.php, and the htdocs/ directory shipped with this"
|
||||
elog "release were installed into ${PHP_EXT_SHARED_DIR}."
|
||||
}
|
@ -1,6 +1,3 @@
|
||||
DIST oslo.concurrency-1.8.0.tar.gz 52531 SHA256 2070e04106d9d3bdffdd9729a1f0b62a101680001534ba91aa2fdc3967509285 SHA512 38741fe0a1807a33483ed67cc5119a1f7052eb546583ed812bb61d1c3ff7844e9024278b72da40992bc0de2ecd35e2a49439d4f69cf394dcb74122961e916b66 WHIRLPOOL 5d7e2d03d390577e16f2eae3519e0fad61bf19aacc015fb8770d32227092238fb99b94f52247b4a626f381f053097e7457757542428ce24651810177e2efd679
|
||||
DIST oslo.concurrency-1.8.1.tar.gz 53044 SHA256 12c5339c9263c994feb5c59290f7fb0eab12d6b729284efd01dd324c95bdecbb SHA512 227c16dd6916bd48ec937520650196b80bbbdf3988e7d6095eecd1ded601e207f24f63598881276591403e3b7c6e85f9adcce5a8ca210f82cffc75eff2351422 WHIRLPOOL 48bf1ffd9b04d0c5f199a8a6ff2deec6e25557a5af680450d30441b715edf0fea986c6620fb9a0ab722b13ca5f4664d39450db5e23cc96a331ed65532abf7a5a
|
||||
DIST oslo.concurrency-1.8.2.tar.gz 53278 SHA256 149f4c972916f14c14c97d7be7b92ba59497c1bbd09c114ee3681bef0773daca SHA512 b73b52cef9dca932b8d0b737bd544f0a6d138de701aa9d2309d6e7698af337e4aea5cbb47c78c2ebda14abc164b8cc2b40fee6c8e92a30ee674318f436cf3b94 WHIRLPOOL 1ad6cc6dc0d339b2bec4959539fdadfb0914b1677005e250b4e74da3be97310474d20514003b0c0f50a4c6dff021ac8efa25e1f9b4502f419ab9763117caa16e
|
||||
DIST oslo.concurrency-2.5.0.tar.gz 35903 SHA256 279c7cca885f69cfb7b3b50d686cd3d7c8d50dfb8eb13aada01bf733ef5ccc45 SHA512 866c3b7ea938c2b1fed7a004a34398b99fd6b084ca3c709a8448464f4845445a16fc1a016ea30b391190625ac53bf6756509dfbee28c89000f689743622246e0 WHIRLPOOL 0067b6d3089d94c41491e5e208392bad7cd7eebb9d7ba9c5300b985cfbad924273c30ec575674ba2177fe4ba3b17fe2dcd709c778753b013989bfb285070aa2b
|
||||
DIST oslo.concurrency-3.7.0.tar.gz 39703 SHA256 30021612be662827b92cddbd522e922b038a88b2e071d3a7c489c89523f6ac32 SHA512 6be8b6e07278d53d076d382fed92ac5c79e957279791193aeee5023ce0beb466e76819ba0659178554994ae6af9968ce8a3d6159c5c03bb9f50222eeb6430c9f WHIRLPOOL cc196fd07c99c15fcc8747099273c4b8d38e4d785b0f58fa647035a748e3a71f9ff545249ca6e7dc66ca41d1e433d2ee40f1329f2a53fadb97db023be6c9cdb7
|
||||
DIST oslo.concurrency-3.7.1.tar.gz 39914 SHA256 254a42d9f0a5f21e9d56e5fd5ca7c3e355ba22d06ea47f6eb094155242ccc0f6 SHA512 8146f22c06fd75202d0bae75a99e77a613675359cab1f6221ff68f89035b105cc6d96b6a1d8013c983a94166d826fbeaa4502fd307af9707d0a1462db678fb4f WHIRLPOOL 03c55b366199e0c7a2af895fe0ad3a769778be58382ee5a40ce1e0220f80bb6273b8615d7fc295f1e25111487772291597dfc8a54ebdbe44deff68ab94916923
|
||||
|
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="library for running multi-thread, multi-process applications"
|
||||
HOMEPAGE="https://pypi.python.org/pypi/oslo.concurrency"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/oslo.concurrency/oslo.concurrency-${PV}.tar.gz"
|
||||
S="${WORKDIR}/oslo.concurrency-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="test"
|
||||
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
>=dev-python/pbr-0.8[${PYTHON_USEDEP}]
|
||||
<dev-python/pbr-1.0[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
>=dev-python/hacking-0.10[${PYTHON_USEDEP}]
|
||||
<dev-python/hacking-0.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
|
||||
virtual/python-futures[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
|
||||
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
|
||||
<dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
|
||||
)"
|
||||
RDEPEND="
|
||||
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
|
||||
>=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
|
||||
dev-python/posix_ipc[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
|
||||
!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
sed -i '/futures/d' test-requirements.txt || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests tests/ || die "test failed under ${EPYTHON}"
|
||||
}
|
@ -1,61 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="library for running multi-thread, multi-process applications"
|
||||
HOMEPAGE="https://pypi.python.org/pypi/oslo.concurrency"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/oslo.concurrency/oslo.concurrency-${PV}.tar.gz"
|
||||
S="${WORKDIR}/oslo.concurrency-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
>=dev-python/pbr-0.8[${PYTHON_USEDEP}]
|
||||
<dev-python/pbr-1.0[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
>=dev-python/hacking-0.10[${PYTHON_USEDEP}]
|
||||
<dev-python/hacking-0.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
|
||||
<dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
|
||||
virtual/python-futures[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
|
||||
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
|
||||
<dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
|
||||
!~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
|
||||
)"
|
||||
RDEPEND="
|
||||
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
|
||||
>=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
|
||||
<dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
|
||||
dev-python/posix_ipc[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
|
||||
!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
sed -i '/futures/d' test-requirements.txt || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests tests/ || die "test failed under ${EPYTHON}"
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="library for running multi-thread, multi-process applications"
|
||||
HOMEPAGE="https://pypi.python.org/pypi/oslo.concurrency"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/oslo.concurrency/oslo.concurrency-${PV}.tar.gz"
|
||||
S="${WORKDIR}/oslo.concurrency-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64 x86"
|
||||
IUSE="test"
|
||||
|
||||
CDPEND="
|
||||
>=dev-python/pbr-1.6[${PYTHON_USEDEP}]
|
||||
<dev-python/pbr-2.0[${PYTHON_USEDEP}]"
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
${CDEPEND}
|
||||
test? (
|
||||
>=dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
|
||||
virtual/python-futures[${PYTHON_USEDEP}]
|
||||
>=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
|
||||
!~dev-python/oslo-sphinx-3.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
|
||||
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
|
||||
<dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
|
||||
)"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
|
||||
virtual/python-enum34[${PYTHON_USEDEP}]
|
||||
>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-config-3.7.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-utils-3.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/fasteners-0.7[${PYTHON_USEDEP}]
|
||||
>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
|
||||
!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
sed -i '/^futures/d' test-requirements.txt || die
|
||||
sed -i '/^hacking/d' test-requirements.txt || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests tests/ || die "test failed under ${EPYTHON}"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST pycapnp-0.5.7.tar.gz 433772 SHA256 28e2335f8b50f07f853e108038b33ccf2cbf356822f37582dc8e84f9535a1446 SHA512 fe61e49a7d83fc81c773be5b50c58b354c9b3bde0413f931602d9b8f490a35ab0f5648e9515454e3bcfbb1687dea554a989468014eaf0920a3c0a39c06ab7f57 WHIRLPOOL 7c84f5b5689b8e8af2e3b7e357ab3b2c19e928fb392f0e173b56d84bfcff2e408547017debf10b68d3b67534c91a95e3881822fdb96a301a9b20c3e762ac6e56
|
||||
DIST pycapnp-0.5.8.tar.gz 449833 SHA256 23e897649f912fbb01d5f8ca8f12dc04a0e0015555dfdd44def46ac63ee50c75 SHA512 676db409dc28a80f519b6c448c5bb0b293403a850e01d21f366503b951d128973dc8b11fa3bb0ddfce018179a3b59dc2f811f4eaf0521ce3f9a7c4667d91e72d WHIRLPOOL f17ba5c140a931075b4edeb8c98cc166e8d0fbb192bfa0cd4435e4921c981b78217767804cef4414dd50cd4ac142d9d4eee517ef0a586c34f107c1246a5670c7
|
||||
DIST pycapnp-0.5.9.tar.gz 455156 SHA256 18dc9fb57928d2cb4d0387fc679d99e42ff08251539f2cadd86365f9768c874e SHA512 742e5ef0c4b8b9dea04a056004011494d2d719364fd6ecdd387f8929cbe85d98c9bdd16e0d79b15a3ebe783bf0906882c978e6b037b4aec92a35acf971c3b508 WHIRLPOOL cbd8305b4171c83a5224b70d3f268bd98970c3bb9559aa6516914a6c677100a3fab940fd13cb2b0c2d23a57d699de11689945349a8b5313f261c37448aeec9d7
|
||||
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python wrapping of the Cap'n Proto library"
|
||||
HOMEPAGE="http://jparyani.github.io/pycapnp/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
dev-libs/capnproto
|
||||
dev-python/cython[${PYTHON_USEDEP}]
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue