Sync with portage [Sun Oct 11 21:19:17 MSK 2015].

mhiretskiy
root 9 years ago
parent 875b2802a8
commit bc3aed5f4d

@ -18,9 +18,9 @@ display. It drives the braille display, and provides complete screen review
functionality. Some speech capability has also been incorporated.
</longdescription>
<longdescription lang="ja">
BRLTTYは、盲人用ブライユ点字ディスプレイのためのLinux/Unixコンソールを制御するバ
ックグラウンド・プロセス(デーモン)です。ブライユ点字ディスプレイを動かし、その多
機能な完全なスクリーン・レビューを提供します。幾つかの台詞読み上げ機能も統合され
ています。
BRLTTYは、盲人用ブライユ点字ディスプレイのためのLinux/Unixコンソールを制御するバ
ックグラウンド・プロセス(デーモン)です。ブライユ点字ディスプレイを動かし、その多
機能な完全なスクリーン・レビューを提供します。幾つかの台詞読み上げ機能も統合され
ています。
</longdescription>
</pkgmetadata>

@ -1,2 +1,3 @@
DIST ansible-1.9.2.tar.gz 927525 SHA256 c25ef4738b08fdfb3094247c012f3fd1b29972acbd37f988070b2a85f5fbee00 SHA512 6c0b3eaac11e11bf90f5b63c54da86df0cb33b0ee98c987c48a68fa643b39e9f0817884767f2bd9c0f6e8852d37fd1b197d5299abc574fccc181fbb22985d4ad WHIRLPOOL 19d50845b9920d85c5ce0380303144e7a4237e673dd4beb5ff020042d7bac59dc0706cff88f08155029ce1a3aa9decc3c54261f9f16524b6e5e3b42e599d3a6b
DIST ansible-1.9.3.tar.gz 936633 SHA256 2594f642fd800056a427c1026410dc6ed8dfa7c0033f5c3d187abdb2b0d4eeed SHA512 280d7506417affc11fe8c8715f82ffb011991e48e96db73aca915e1393d51073564c78a98b018c380b7fb8e697ce0fac6208822da44f2bac545f142707325d43 WHIRLPOOL 5738bcd263ca32279bbca30e3f1b5c53e5bd72a18025fdb82393a8d85e5a826b3be4ce78cbbc648133768d212fa49d1c3320af4b34f948c1b1cee40d73147f8a
DIST ansible-1.9.4.tar.gz 937120 SHA256 972c2face49f1577bd0ff7989440bfe2820e66fb10d7579915cc536bccfa6fe3 SHA512 53ef5b3390be620cedc92687c7c9853c42f38547494f9b77056d5ea48ccd8f43d193648a7f4569fcba5afad343a9202b123296ab47c8cd02eecfe455d83b9586 WHIRLPOOL 0b88a27f690ff940eae1969ff163d8f8c26df038d2e9aa76694bdba1448ac9cbe8123795d0787e528c6d22cf66cc01d6b89add8e3e97bbb107a3f1a96860fd8e

@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~x64-macos"
KEYWORDS="amd64 ~x86 ~x64-macos"
IUSE="test"
RDEPEND="

@ -0,0 +1,63 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1 eutils readme.gentoo
DESCRIPTION="Radically simple deployment, model-driven configuration management, and command execution framework"
HOMEPAGE="http://ansible.com/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~x64-macos"
IUSE="test"
RDEPEND="
dev-python/httplib2[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/keyczar[${PYTHON_USEDEP}]
>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
net-misc/sshpass
virtual/ssh
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
${RDEPEND}
dev-python/mock[${PYTHON_USEDEP}]
dev-python/nose[${PYTHON_USEDEP}]
dev-python/passlib[${PYTHON_USEDEP}]
dev-vcs/git
)"
# not included in release tarball
RESTRICT="test"
python_test() {
nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die
}
python_install_all() {
EXAMPLES=( examples )
distutils-r1_python_install_all
doman docs/man/man1/*.1
newenvd "${FILESDIR}"/${PN}.env 95ansible
}
src_install() {
distutils-r1_src_install
readme.gentoo_create_doc
}
pkg_postinst() {
optfeature "Alternative ssh transport" dev-python/paramiko
}

@ -12,7 +12,7 @@ SRC_URI="https://github.com/brndnmtthws/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="GPL-3 BSD LGPL-2.1 MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
IUSE="apcupsd audacious cmus curl debug eve hddtemp ical iconv imlib iostats
ipv6 irc lua-cairo lua-imlib lua-rsvg math moc mpd mysql nano-syntax
ncurses nvidia +portmon rss thinkpad truetype vim-syntax weather-metar

@ -9,7 +9,7 @@ PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
inherit distutils-r1
SRC_URI="https://dev.gentoo.org/~twitch153/${PN}/${P}.tar.bz2"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
DESCRIPTION="Gentoo's installer for web-based applications"
HOMEPAGE="http://sourceforge.net/projects/webapp-config/"

@ -12,7 +12,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ~arm ~hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
IUSE="bzip2 clamdtop iconv ipv6 milter metadata-analysis-api selinux static-libs uclibc"
CDEPEND="bzip2? ( app-arch/bzip2 )

@ -12,7 +12,7 @@ SRC_URI="https://launchpad.net/pbzip2/${PV:0:3}/${PV}/+download/${P}.tar.gz"
LICENSE="BZIP2"
SLOT="0"
KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="static symlink"
LIB_DEPEND="app-arch/bzip2[static-libs(+)]"

@ -32,7 +32,7 @@ S=${WORKDIR}/${MY_P}
src_prepare() {
# Fix for "warning: jobserver unavailable: using -j1."
sed -i -e 's:make -C:$(MAKE) -C:' Makefile || die
sed -i -e 's:make -C:$(MAKE) -C:' Makefile || die
}
src_install() {

@ -3,6 +3,5 @@ DIST gnupg-2.0.26.tar.bz2 4303384 SHA256 7758e30dc382ae7a7167ed41b7f936aa50af5ea
DIST gnupg-2.0.27.tar.bz2 4424679 SHA256 57646d3e4b919fa1e5c8f1c0cf5fe1215333041c493a5ebc4b8f2978dbe930f2 SHA512 b05e75f5ef9881df9472818743c175cfe3254088086f36dc0fcf3d34e61f648f1775d90d404f6c622561df5066d972aadbf99ea8ec1290e5d7f7310f4ef2989e WHIRLPOOL abb353b20655002a0957e38d2b889fb5e6a47ba7b7546e1c70fc1f97cf42deeca8f2b061678983f3a160210f4eaf7529441246df1f9f1d875f5cc090456fdfb7
DIST gnupg-2.0.28.tar.bz2 4435779 SHA256 ce092ee4ab58fd19b9fb34a460c07b06c348f4360dd5dd4886d041eb521a534c SHA512 7e786fe0648d5ea453f9c7524fec4bd7d5eec26d28f723acf3cb2f7ec9c400c339f0926a179411876c3f8e08b06942dcec643dc930caf58239bbd4932f4bd3c1 WHIRLPOOL ccf7427e54a545914e89677618055a114b4c9dc4db48669a2fc726fced98475df4ed27c93bd180f1250d147111ee663c736cdf4e1d8afdc40ed967cdffd0eb66
DIST gnupg-2.0.29.tar.bz2 4416251 SHA256 68ed6b386ba78425b05a60e8ee22785ff0fef190bdc6f1c612f19a58819d4ac9 SHA512 23b452c740ab5c1e1e37337ae0583dd3b15df58a5bb5639c0c2aef1fb603e0a7d90a257ac99b0d9dfb68b81fa061c0c64e0bfd256c00d64e2f432192f5052f37 WHIRLPOOL f3d59a9453b4a65c726788c35b065ffc9cde0b746705080cd3491c73439786d791da29cf8f5bf1e5594a0e39cfaec214e346fe18ec3acf0b425dc396aa189f33
DIST gnupg-2.1.6.tar.bz2 4917722 SHA256 5e599ad542199f3bd733eed2b88a539d1b4c3beda2dbab0ff69f1896f52e92fd SHA512 ae8aafe770336c83badf5610fe37f4ddc488786e3604780627893b636161d8407f3fd782538799e2b2a02e31c97468464372017fa52b5d9ed1bd31c85d9b3763 WHIRLPOOL 2136c526242a4e741c0cbc9aec102ba634234efd679d62db9aae3b2ab8fe9f8ad9b8fdb7d1f2d43982e6a072d5f5072d0744d8bb434d61f49ff24e868c902f80
DIST gnupg-2.1.7.tar.bz2 4918583 SHA256 c18a3776d47fec98892d51d28b6574ef16bf0a25eabb0956231058aaf2e7846e SHA512 7c3efb9bd5d1509a9b2a6264293542b3d5db979bf443754f96d77322a96e18cba2ac6142665459d161eb7222fae44ce5b89eff88dca1c7abf47449fcafd3eb00 WHIRLPOOL da7ef3a02b186736c8d105ca627d2c889781465ecfdb4c4861f8af748a7d68a7c05a106c73bdfe44e7037807deb822c231d615cc1e1fcdd9b01e7632945ac094
DIST gnupg-2.1.8.tar.bz2 4900705 SHA256 a3b8d01e4690715d42e8f289493c85413766f3fa935e4fe7e5ff5b0f6e2781a3 SHA512 80176fda032c921d3716fba3d3a264f9951464fd578a9d8d60673585efef17e20eec4d026921ab7ab2d7bd4dbf0a2b94a33a58c07acb747eebcb758e42bafd57 WHIRLPOOL 32e2e959363529cfd9ca857f823970b6cdd6497a72515aa9e75c2a680c83acea55a38d8de19b16c7327f92c0ab326e76a37952014b317afe2689c211c0d1965b
DIST gnupg-2.1.9.tar.bz2 4925167 SHA256 1cb7633a57190beb66f9249cb7446603229b273d4d89331b75c652fa4a29f7b6 SHA512 c19b8cac42b7060caada230b77f36a0b0ed0a05efd519818c5b4057ef0fcb16602f2f3ade2409de2ef353a9e2acc3e5fa106a4449c6929a36a599a82194c0ee0 WHIRLPOOL 105b83e82330a00084a0e9f3d96c8788ac2c9e7831beea0ea42786df4e378dc9e8f2c1a31f12af9c53d363aa71810cd231afdf8f20eab424fea5f59b103033a9

@ -13,7 +13,7 @@ SRC_URI="mirror://gnupg/gnupg/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="bzip2 doc ldap nls mta readline static selinux smartcard tools usb"
COMMON_DEPEND_LIBS="

@ -1,170 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit eutils flag-o-matic toolchain-funcs
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
HOMEPAGE="http://www.gnupg.org/"
MY_P="${P/_/-}"
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
IUSE="bzip2 doc +gnutls ldap nls readline static selinux smartcard tools usb"
COMMON_DEPEND_LIBS="
dev-libs/npth
>=dev-libs/libassuan-2
>=dev-libs/libgcrypt-1.6.2
>=dev-libs/libgpg-error-1.17
>=dev-libs/libksba-1.0.7
>=net-misc/curl-7.10
gnutls? ( >=net-libs/gnutls-3.0 )
sys-libs/zlib
ldap? ( net-nds/openldap )
bzip2? ( app-arch/bzip2 )
readline? ( sys-libs/readline:= )
smartcard? ( usb? ( virtual/libusb:0 ) )
"
COMMON_DEPEND_BINS="app-crypt/pinentry
!app-crypt/dirmngr"
# Existence of executables is checked during configuration.
DEPEND="${COMMON_DEPEND_LIBS}
${COMMON_DEPEND_BINS}
static? (
>=dev-libs/libassuan-2[static-libs]
>=dev-libs/libgcrypt-1.6.2[static-libs]
>=dev-libs/libgpg-error-1.17[static-libs]
>=dev-libs/libksba-1.0.7[static-libs]
dev-libs/npth[static-libs]
>=net-misc/curl-7.10[static-libs]
sys-libs/zlib[static-libs]
bzip2? ( app-arch/bzip2[static-libs] )
)
nls? ( sys-devel/gettext )
doc? ( sys-apps/texinfo )"
RDEPEND="!static? ( ${COMMON_DEPEND_LIBS} )
${COMMON_DEPEND_BINS}
selinux? ( sec-policy/selinux-gpg )
nls? ( virtual/libintl )"
REQUIRED_USE="smartcard? ( !static )"
S="${WORKDIR}/${MY_P}"
src_prepare() {
epatch "${FILESDIR}/${PN}-2.0.17-gpgsm-gencert.patch"
epatch_user
}
src_configure() {
local myconf=()
# 'USE=static' support was requested:
# gnupg1: bug #29299
# gnupg2: bug #159623
use static && append-ldflags -static
if use smartcard; then
myconf+=(
--enable-scdaemon
$(use_enable usb ccid-driver)
)
else
myconf+=( --disable-scdaemon )
fi
if use elibc_SunOS || use elibc_AIX; then
myconf+=( --disable-symcryptrun )
else
myconf+=( --enable-symcryptrun )
fi
# glib fails and picks up clang's internal stdint.h causing weird errors
[[ ${CC} == clang ]] && export gl_cv_absolute_stdint_h=/usr/include/stdint.h
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
--enable-gpg \
--enable-gpgsm \
--enable-large-secmem \
--without-adns \
"${myconf[@]}" \
$(use_enable bzip2) \
$(use_enable gnutls) \
$(use_with ldap) \
$(use_enable nls) \
$(use_with readline) \
CC_FOR_BUILD="$(tc-getBUILD_CC)"
}
src_compile() {
default
if use doc; then
cd doc
emake html
fi
}
src_install() {
default
use tools && dobin tools/{convert-from-106,gpg-check-pattern} \
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys,make-dns-cert}
emake DESTDIR="${D}" -f doc/Makefile uninstall-nobase_dist_docDATA
rm "${ED}"/usr/share/gnupg/help* || die
dodoc ChangeLog NEWS README THANKS TODO VERSION doc/FAQ doc/DETAILS \
doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER doc/help*
dosym gpg2 /usr/bin/gpg
dosym gpgv2 /usr/bin/gpgv
echo ".so man1/gpg2.1" > "${ED}"/usr/share/man/man1/gpg.1
echo ".so man1/gpgv2.1" > "${ED}"/usr/share/man/man1/gpgv.1
dodir /etc/env.d
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg
if use doc; then
dohtml doc/gnupg.html/* doc/*.png
fi
}
pkg_postinst() {
elog "If you wish to view images emerge:"
elog "media-gfx/xloadimage, media-gfx/xli or any other viewer"
elog "Remember to use photo-viewer option in configuration file to activate"
elog "the right viewer."
elog
if use smartcard; then
elog "To use your OpenPGP smartcard (or token) with GnuPG you need one of"
use usb && elog " - a CCID-compatible reader, used directly through libusb;"
elog " - sys-apps/pcsc-lite and a compatible reader device;"
elog " - dev-libs/openct and a compatible reader device;"
elog " - a reader device and drivers exporting either PC/SC or CT-API interfaces."
elog ""
elog "General hint: you probably want to try installing sys-apps/pcsc-lite and"
elog "app-crypt/ccid first."
fi
ewarn "Please remember to restart gpg-agent if a different version"
ewarn "of the agent is currently used. If you are unsure of the gpg"
ewarn "agent you are using please run 'killall gpg-agent',"
ewarn "and to start a fresh daemon just run 'gpg-agent --daemon'."
if [[ -n ${REPLACING_VERSIONS} ]]; then
elog "If upgrading from a version prior than 2.1 you might have to re-import"
elog "secret keys after restarting the gpg-agent as the new version is using"
elog "a new storage mechanism."
elog "You can migrate the keys using gpg --import \$HOME/.gnupg/secring.gpg"
fi
}

@ -1,169 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit eutils flag-o-matic toolchain-funcs
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
HOMEPAGE="http://www.gnupg.org/"
MY_P="${P/_/-}"
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
IUSE="bzip2 doc +gnutls ldap nls readline static selinux smartcard tools usb"
COMMON_DEPEND_LIBS="
dev-libs/npth
>=dev-libs/libassuan-2
>=dev-libs/libgcrypt-1.6.2
>=dev-libs/libgpg-error-1.17
>=dev-libs/libksba-1.0.7
>=net-misc/curl-7.10
gnutls? ( >=net-libs/gnutls-3.0 )
sys-libs/zlib
ldap? ( net-nds/openldap )
bzip2? ( app-arch/bzip2 )
readline? ( sys-libs/readline:= )
smartcard? ( usb? ( virtual/libusb:0 ) )
"
COMMON_DEPEND_BINS="app-crypt/pinentry
!app-crypt/dirmngr"
# Existence of executables is checked during configuration.
DEPEND="${COMMON_DEPEND_LIBS}
${COMMON_DEPEND_BINS}
static? (
>=dev-libs/libassuan-2[static-libs]
>=dev-libs/libgcrypt-1.6.2[static-libs]
>=dev-libs/libgpg-error-1.17[static-libs]
>=dev-libs/libksba-1.0.7[static-libs]
dev-libs/npth[static-libs]
>=net-misc/curl-7.10[static-libs]
sys-libs/zlib[static-libs]
bzip2? ( app-arch/bzip2[static-libs] )
)
nls? ( sys-devel/gettext )
doc? ( sys-apps/texinfo )"
RDEPEND="!static? ( ${COMMON_DEPEND_LIBS} )
${COMMON_DEPEND_BINS}
selinux? ( sec-policy/selinux-gpg )
nls? ( virtual/libintl )"
REQUIRED_USE="smartcard? ( !static )"
S="${WORKDIR}/${MY_P}"
src_prepare() {
epatch_user
}
src_configure() {
local myconf=()
# 'USE=static' support was requested:
# gnupg1: bug #29299
# gnupg2: bug #159623
use static && append-ldflags -static
if use smartcard; then
myconf+=(
--enable-scdaemon
$(use_enable usb ccid-driver)
)
else
myconf+=( --disable-scdaemon )
fi
if use elibc_SunOS || use elibc_AIX; then
myconf+=( --disable-symcryptrun )
else
myconf+=( --enable-symcryptrun )
fi
# glib fails and picks up clang's internal stdint.h causing weird errors
[[ ${CC} == clang ]] && export gl_cv_absolute_stdint_h=/usr/include/stdint.h
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
--enable-gpg \
--enable-gpgsm \
--enable-large-secmem \
--without-adns \
"${myconf[@]}" \
$(use_enable bzip2) \
$(use_enable gnutls) \
$(use_with ldap) \
$(use_enable nls) \
$(use_with readline) \
CC_FOR_BUILD="$(tc-getBUILD_CC)"
}
src_compile() {
default
if use doc; then
cd doc
emake html
fi
}
src_install() {
default
use tools && dobin tools/{convert-from-106,gpg-check-pattern} \
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys,make-dns-cert}
emake DESTDIR="${D}" -f doc/Makefile uninstall-nobase_dist_docDATA
rm "${ED}"/usr/share/gnupg/help* || die
dodoc ChangeLog NEWS README THANKS TODO VERSION doc/FAQ doc/DETAILS \
doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER doc/help*
dosym gpg2 /usr/bin/gpg
dosym gpgv2 /usr/bin/gpgv
echo ".so man1/gpg2.1" > "${ED}"/usr/share/man/man1/gpg.1
echo ".so man1/gpgv2.1" > "${ED}"/usr/share/man/man1/gpgv.1
dodir /etc/env.d
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg
if use doc; then
dohtml doc/gnupg.html/* doc/*.png
fi
}
pkg_postinst() {
elog "If you wish to view images emerge:"
elog "media-gfx/xloadimage, media-gfx/xli or any other viewer"
elog "Remember to use photo-viewer option in configuration file to activate"
elog "the right viewer."
elog
if use smartcard; then
elog "To use your OpenPGP smartcard (or token) with GnuPG you need one of"
use usb && elog " - a CCID-compatible reader, used directly through libusb;"
elog " - sys-apps/pcsc-lite and a compatible reader device;"
elog " - dev-libs/openct and a compatible reader device;"
elog " - a reader device and drivers exporting either PC/SC or CT-API interfaces."
elog ""
elog "General hint: you probably want to try installing sys-apps/pcsc-lite and"
elog "app-crypt/ccid first."
fi
ewarn "Please remember to restart gpg-agent if a different version"
ewarn "of the agent is currently used. If you are unsure of the gpg"
ewarn "agent you are using please run 'killall gpg-agent',"
ewarn "and to start a fresh daemon just run 'gpg-agent --daemon'."
if [[ -n ${REPLACING_VERSIONS} ]]; then
elog "If upgrading from a version prior than 2.1 you might have to re-import"
elog "secret keys after restarting the gpg-agent as the new version is using"
elog "a new storage mechanism."
elog "You can migrate the keys using gpg --import \$HOME/.gnupg/secring.gpg"
fi
}

@ -13,7 +13,7 @@ SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="bzip2 doc +gnutls ldap nls readline static selinux smartcard tools usb"
COMMON_DEPEND_LIBS="

@ -13,7 +13,7 @@ SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="bzip2 doc +gnutls ldap nls readline static selinux smartcard tools usb"
COMMON_DEPEND_LIBS="

@ -1,5 +1,3 @@
DIST keybase-0.8.10.tar.gz 7055453 SHA256 ce9a22427d40341059071737ace2dacbe0a81e29e783ec2c8324e2704c1f558f SHA512 4701a0c8d88ffc90fa68f24ef4695f7c7b63ec91a41ccc1bf9d25efb182befc0750e1f9f5ec185161d65bdcbaeb3a73ab8f54f7047ab9d1efdca55b5f56957f0 WHIRLPOOL dd6d53154164ac235b89947530f7af4ed9fdc1421c26b2cef92e1721e2dcdf63e43fff054718c58c6a519f24f1766969a0e740f97d9eb17472d1ef8174e1851f
DIST keybase-0.8.12.tar.gz 7057638 SHA256 fa6a8eb6f857d98d4d0f5c97862ba99480b0dd2c85fccd631180c0ab8f3ca97f SHA512 e8c568e0154308d3f0172a5e9b22de31c8a9b07d3a4f324a4afec57972602a3bd957220a96427eefa5df563ce0152495f5c33668536e03f3d6af9344c2061397 WHIRLPOOL e4a2431c05add26645f4ec3f2062a81d38c39ad9f9d6357f62009292f60fe072d67547d6c0a39470c130165bb9491fc7cb17cfe91a3fc1be75ad7a6377da9dad
DIST keybase-0.8.13.tar.gz 7057750 SHA256 a485257b7302d848be41e9c0a79f7b1c0da4c8ceaee70c0cc011838cbd723fd8 SHA512 8a082ff9d61f960a0c4862fba04adf323005b3c70e6d208a38a001716bcc374e10cde315eced6730d90316466244e58a9de0f78a66ab2f9bd91326979f0ef28b WHIRLPOOL b651a48be0ced301991edd03d40182c0b900ea28e2b97630a3ad741b34266dbd95c3d370db636ca8088ce5e781a2cf609255a6b52a5b6bdbfa540b879cdcd778
DIST keybase-0.8.18.tar.gz 7062931 SHA256 c1ef27f959401164e72fbcd5c4054d13258a3f09dcdebb0ac3c447519780d59e SHA512 2d2c019cdf0e1fef496d709f7bf17c0d30d614e017a88b54d2a2198aafcd9ad436a636e1f1de27ac98df9e3ca90432b3cc3ff0b83fbb59d7e3a9acdef589d940 WHIRLPOOL 0d80b47fa8da500ee4886f95c9bfa55f392e4988db887fa8f2fd332c185a6e1be082ed7b2fce01f98ea4fd064f27b3159cf04e19d1ee2ec985d222606f48059a
DIST keybase-0.8.9.tar.gz 7055307 SHA256 2feb54d26afc639f4d4998fbc35aafa2100a9926a6ec4f84343ca56d0284a3dd SHA512 431b3314cf939605a56f163b67226c9027a83159aae7f6b9226a4b5ccf63ecd3f79a873cbb9ab2756d83df2191823b70f884327f160187c00f6a6954b8ca144a WHIRLPOOL 4de64969a1e8898b19903cce391ca599af09b4f3dee6bf2b6bf10fcb39d8b6f939d5aa0320a5efe4b3aaf78217c6b6d7c16f09321af3ed115b6985194a0f0c0e
DIST keybase-0.8.22.tar.gz 7101414 SHA256 4290251ddf7d1f124211731aa8d0dd47f43ba9e1eb9b0b0f326d7986a3f87cb7 SHA512 ed75fc7fa5f97701c6a9e5880a113bdf392f21b1bdfaa63b7070231e10608d755304300b6b5208b2bc363869ffb631e2261df89747ba9b654bc98a420a0511cb WHIRLPOOL e13a4451bdf5962122b54c95d8d35d4570e0475f6012bb5126ff5ec2f48767048600da4f89f9d0ec6b70523b54262c52f5e29d7b766a83c38723ee25ce5acaab

@ -1,33 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils
DESCRIPTION="Client for keybase.io"
HOMEPAGE="https://keybase.io/"
SRC_URI="https://github.com/keybase/node-client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="
net-libs/nodejs
app-crypt/gnupg"
src_unpack() {
unpack "${P}.tar.gz"
mv "node-client-${PV}" "${P}"
}
src_install() {
dodoc CHANGELOG.md README.md SIGNED.md
insinto "/opt/${PN}"
doins -r package.json bin certs json lib node_modules sql
dosym "${D}/opt/${PN}/bin/main.js" "${ROOT}/usr/bin/keybase"
chmod 0755 "${D}/opt/${PN}/bin/main.js" || die
}

@ -1,33 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils
DESCRIPTION="Client for keybase.io"
HOMEPAGE="https://keybase.io/"
SRC_URI="https://github.com/keybase/node-client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="
net-libs/nodejs
app-crypt/gnupg"
src_unpack() {
unpack "${P}.tar.gz"
mv "node-client-${PV}" "${P}"
}
src_install() {
dodoc CHANGELOG.md README.md SIGNED.md
insinto "/opt/${PN}"
doins -r package.json bin certs json lib node_modules sql
dosym "${D}/opt/${PN}/bin/main.js" "${ROOT}/usr/bin/keybase"
chmod 0755 "${D}/opt/${PN}/bin/main.js" || die
}

@ -12,7 +12,7 @@ SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="clipboard emacs gtk ncurses qt4 caps gnome-keyring static"
RDEPEND="

@ -6,11 +6,6 @@
<name>Alice Ferrazzi</name>
<description>Assign bugs to me.</description>
</maintainer>
<maintainer>
<email>mrueg@gentoo.org</email>
<name>Manuel Rüger</name>
<description>CC him on bugs.</description>
</maintainer>
<longdescription>
sign is a file signing and signature verification utility. It's main purpose is
to be a simple and convenient extension to a tar/gz/bzip2 line of tools to check

@ -1,3 +1,4 @@
DIST xca-1.1.0.tar.gz 854925 SHA256 997b62b523f6581f0d96a5f5ba2fa31dcdd2b3cf1ffe924f5c69a931b0dd44df SHA512 c22a594c61f63c71e8bc7c38ccdfabe05903a33bf5116630ca4c5072b725e551a128b10f624d01a464695d739fb9d77a510b3ced99fedc5d5378cb5fd563d954 WHIRLPOOL 1b58ec3dce44e0eb101265f7b1e68695ea2121c795f7d5f6a5349c812469c50f618ce34a5985991432b49a910b2c34fd3eb8e88ac735078a6e063801f1731be0
DIST xca-1.3.0.tar.gz 883772 SHA256 ef5b6e4ed93abb02eb53925edd222bfeb5c26a3b0698af90a416d8e92869414c SHA512 af537154a26fbb8749034b8aa79d0379e5e2567ea2b4c82c8a2f77b0fec7017d01aa0974d013f0d84eb52f2dc18994b29890d9ab63939c91aa9e316f6ef93685 WHIRLPOOL 19ce637f6794b00f7fbc363263768a8b651a21d9dd564ec7ba05fc9c729240ae8edc9d323b899b3641f9bf757b325a77c11a84848606dfe5dec839678a2c0314
DIST xca-1.3.1.tar.gz 883797 SHA256 c2dd8d79b37440126d9fe7281e8c6802b95537c50ad464f6f7799ffa81aa3d83 SHA512 186056638177a01ca2ed1ad6e6e9e142de7d9e4a057c9a6ec691a488cfa094c97b90f1cae6e083c0a92f5492c67afb285946acbab7ec59d21b791e46cf54bc79 WHIRLPOOL c61c67311d3d64d772219a2bd544a720143a6636c8136174a748cd7f8037caa702d2fab6448b717def18de0e9353758bddffbee049fd427724828014a71dcb92
DIST xca-1.3.2.tar.gz 897947 SHA256 04f11f2148c8369c1a1b4e109956ed8cc807ec266d0d936410624ba8ee4b5ce4 SHA512 f0a9c4d47f0c20632f44364cc55293a7d2152772a746a72bc4a46622da4e48ae612bafe918c098a71c29cdfca8e6c03c27cf85a862ca0f356eddf061414c89b2 WHIRLPOOL 11a19800447fe939d1684524c4c0da90dc8dde4dfce4ff8f606d384f976b0d6f067e8455e3a90facfbf99a1cc651affdffa9397a9a8191f1fc8d302944ea730a

@ -0,0 +1,43 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit eutils toolchain-funcs
DESCRIPTION="A GUI to OpenSSL, RSA public keys, certificates, signing requests and revokation lists"
HOMEPAGE="http://xca.sourceforge.net"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="bindist"
RDEPEND=">=dev-libs/openssl-0.9.8:*[bindist=]
dev-qt/qtgui:4"
DEPEND="${RDEPEND}"
src_prepare() {
epatch "${FILESDIR}"/${PN}-1.0.0-desktop.patch
}
src_configure() {
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
STRIP=true
}
src_compile() {
# enforce all to avoid the automatic silent rules
emake all
}
src_install() {
# non standard destdir
emake install destdir="${ED}"
insinto /etc/xca
doins misc/*.txt
}

@ -2,3 +2,4 @@ DIST ReText-4.1.3.tar.gz 129283 SHA256 bb4409982d27ac62cab01b0748fe41d9c66608536
DIST ReText-5.0.2.tar.gz 140853 SHA256 7ef898abc8aed70502fd4d69ed7e8ab43cc978fcbe6864da5771379c1e315bdd SHA512 b28dd24aa5253106880bd6a5a3a16f96670c3145a2cb46da520407d6705f055ee52aaef9c0a8e27c2900b5fdde6a67c599cb8945f7daa6e3ef4456e1fd7c9b0f WHIRLPOOL 0ee1a7497ca3d6fef8356777d93e369d06de542b20974055ddf66cc8e12d33c7716d3b4b5f0360b40037c90d146fddbff4c3b48c96929efafd8f43e278240c0f
DIST ReText-5.1.0.tar.gz 151833 SHA256 09b12892a0520bb8b0692f5aec7aa88911d07a5048a3402a9e9d4ac57322b5ca SHA512 3dbfe4992195119513c571291c344338dccf55c52d000cc69da63d0e51e5f2d9c5a0a2fba6570e525c96f1f9243a7465391a59b840a1fb7dd4513a0b4909ca5c WHIRLPOOL 76826184a3e8ac3ea3f5c10c31a3630ad8bc37a1bce0d771fc250f1f53acb9dd2f888aa67adf946368a5baebcdab0306100ea0e632dcd36edd81cdcd1a247838
DIST ReText-5.2.0.tar.gz 156953 SHA256 463b524435d7b068d90304ae719f96a9c8b957323206549ae5a02ffe5fa82b17 SHA512 9a40fb0e39145ee9bc29945af488e74ea8aa5a78b220f28d1c3de5060daf6f3a6864b4e852165847bb4b5905ca4f0684d56b24864baa05f96468f5d4d0172c6b WHIRLPOOL be4b10f7158de253ac1a104e5053d80afcf5ecc6928ba8a009c8bbdac9166a735cb60d56c268c6f1651f3d7c6c4d9daac46caa4696795e68c1dbf870dc759afd
DIST ReText-5.2.1.tar.gz 157119 SHA256 02164ae2bba6f47a2ec5e11aa06aefbcd96bea1b84a96c5673dbe18d8ccb2a69 SHA512 1d11f6824b64a082425ac2e8b67da15d4df5352539b66a8297dba0cd4f4236b7328966e97104c3fd7a641067a84023f65ba856f932d8489ff4e80722471835d8 WHIRLPOOL 24e7c756f61c210320b0ab9a67c99f43ccf5739310a01d9ee98d779e8b45b27dbc828b0c573973b2e4d2b8e07f2edd56660de685930a7a2ed8ceb50ab6fb6f91

@ -1,4 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>

@ -0,0 +1,53 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python3_{3,4} )
PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk zh_TW"
inherit distutils-r1 l10n
MY_PN="ReText"
MY_P="${MY_PN}-${PV/_/~}"
DESCRIPTION="Simple editor for Markdown and reStructuredText"
HOMEPAGE="https://github.com/retext-project/retext https://github.com/retext-project/retext/wiki"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+spell"
RDEPEND="
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/markdown[${PYTHON_USEDEP}]
dev-python/markups[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}]
spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
"
S="${WORKDIR}"/${MY_P}
remove_locale() {
find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
}
python_test() {
esetup.py test
}
python_install_all() {
distutils-r1_python_install_all
newicon {icons/,}${PN}.png
newicon {icons/,}${PN}.svg
l10n_for_each_disabled_locale_do remove_locale
make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
}

@ -25,7 +25,6 @@ IUSE=""
DEPEND=""
RDEPEND="app-arch/dump
>=app-emulation/ganeti-2.0.3
|| ( >=sys-apps/coreutils-6.10-r1 sys-apps/mktemp )
app-emulation/qemu
sys-apps/util-linux
sys-fs/multipath-tools

@ -10,7 +10,7 @@
<maintainer>
<email>jmfo1982@yahoo.es</email>
<description>Proxied Maintainer. Please CC on bugs.</description>
<name>José Manuel Ferrer Ortiz</name>
<name>José Manuel Ferrer Ortiz</name>
</maintainer>
<longdescription>
libspectrum is a library designed to make the input and output of some ZX

@ -1,4 +1,3 @@
DIST libvirt-1.2.15.tar.gz 29094868 SHA256 5f88041b8c212f8f687c672fe583108833240d6175b512ce4de92ab6660194c6 SHA512 c5dd3af86e89e3804d6c3b527c6dbd98c79d87d2591725a13af33530e0e9a9a2e9aeb9491844469d44ec4f4d17adb036c76391f964158ada23ec042a75556fbc WHIRLPOOL a43aad4caeff707c8d7a6872ff3c46911c96fd90ece02a7f6ceabb4ccd00e467b5341ab9d922912cc2968a2bb8826e970b253b257c5a8981b37364550f9b3616
DIST libvirt-1.2.18.tar.gz 29412554 SHA256 d5a5ff18af4cced21fed986d28fa0a21b782d256920326bf0ff1c7731eeb6ade SHA512 e89d494066ebec4de4c9a53089f015635b7b5ccf4a10ab9749883cc81f6f9607b18ca91a1bd01a9cdacb3a46de86223f0432fae3954106cb92dd275e5b4138c5 WHIRLPOOL dbbbd627ccb9be154bc680407898cd32dfdbc218a67f54560e6b0f0200cbc157a9aa05834de5d9d23e3b6da0625fd5943b4c8e38f8bb9a6ff920bc5820287bfc
DIST libvirt-1.2.19.tar.gz 29644247 SHA256 282c141f03331d640020c15f81464b27400e0ee307ef4c5190393b021caedd6e SHA512 2f3f26b90120a39861683f1b5af93ac661ab561e23514c71c2ebfb1ab88da99d25acee9a5d11bec35478e38b9105f3779bffb4d4649f16a91aeccdcaa61e4aa4 WHIRLPOOL 4262beb2248495746d32bc7b16c3eec69d9cba7d4fb3870fcd560bd4d222827cf90eb9cc3df647f3fe10467d1562e72138cbf871adc5f63d4788069e1b9740ac
DIST libvirt-1.2.20.tar.gz 29725368 SHA256 df0b5d8a150863a86b98cf809a586c91b2d49af25b74a354049ea416b0b27d30 SHA512 2c7f7995d38d15453de99cc34e63db9c39c653fc24a4fd949207e62c0241f2a5ff3ab5505909ffae77f7a91d321396372188aa29124b8271f876d93546c44d07 WHIRLPOOL 553517c8eec3f601987d9a9205668a81ffcaf9081ee0d79de847ce1d2c9bcd9115471adf2022095143d440a07f7d48059cfd88094b7dda7046a784c93c449817

@ -1,464 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
AUTOTOOLIZE=yes
MY_P="${P/_rc/-rc}"
inherit eutils user autotools linux-info systemd readme.gentoo
BACKPORTS=""
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="git://libvirt.org/libvirt.git"
SRC_URI=""
KEYWORDS=""
SLOT="0"
else
# Versions with 4 numbers are stable updates:
if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then
SRC_URI="http://libvirt.org/sources/stable_updates/${MY_P}.tar.gz"
else
SRC_URI="http://libvirt.org/sources/${MY_P}.tar.gz"
fi
SRC_URI+=" ${BACKPORTS:+
https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz
https://dev.gentoo.org/~tamiko/distfiles/${P}-${BACKPORTS}.tar.xz}"
KEYWORDS="amd64 x86"
SLOT="0/${PV}"
fi
S="${WORKDIR}/${P%_rc*}"
DESCRIPTION="C toolkit to manipulate virtual machines"
HOMEPAGE="http://www.libvirt.org/"
LICENSE="LGPL-2.1"
# TODO: Reenable IUSE wireshark-plugins
IUSE="audit avahi +caps firewalld fuse glusterfs iscsi +libvirtd lvm lxc \
+macvtap nfs nls numa openvz parted pcap phyp policykit +qemu rbd sasl \
selinux +udev uml +vepa virtualbox virt-network wireshark-plugins xen \
elibc_glibc systemd"
REQUIRED_USE="libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) )
lxc? ( caps libvirtd )
openvz? ( libvirtd )
qemu? ( libvirtd )
uml? ( libvirtd )
vepa? ( macvtap )
virtualbox? ( libvirtd )
xen? ( libvirtd )
virt-network? ( libvirtd )
firewalld? ( virt-network )"
# gettext.sh command is used by the libvirt command wrappers, and it's
# non-optional, so put it into RDEPEND.
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
# package will use 3 by default. Since we don't have slot pinning in an API,
# we must go with the most recent
RDEPEND="sys-libs/readline:=
sys-libs/ncurses:0=
>=net-misc/curl-7.18.0
dev-libs/libgcrypt:0
>=dev-libs/libxml2-2.7.6
dev-libs/libnl:3
>=net-libs/gnutls-1.0.25
net-libs/libssh2
sys-apps/dmidecode
>=sys-apps/util-linux-2.17
sys-devel/gettext
>=net-analyzer/netcat6-1.0-r2
app-misc/scrub
audit? ( sys-process/audit )
avahi? ( >=net-dns/avahi-0.6[dbus] )
caps? ( sys-libs/libcap-ng )
fuse? ( >=sys-fs/fuse-2.8.6 )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
iscsi? ( sys-block/open-iscsi )
lxc? ( !systemd? ( sys-power/pm-utils ) )
lvm? ( >=sys-fs/lvm2-2.02.48-r2 )
nfs? ( net-fs/nfs-utils )
numa? (
>sys-process/numactl-2.0.2
sys-process/numad
)
openvz? ( sys-kernel/openvz-sources:* )
parted? (
>=sys-block/parted-1.8[device-mapper]
sys-fs/lvm2
)
pcap? ( >=net-libs/libpcap-1.0.0 )
policykit? ( >=sys-auth/polkit-0.9 )
qemu? (
>=app-emulation/qemu-0.13.0
dev-libs/yajl
!systemd? ( sys-power/pm-utils )
)
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl )
selinux? ( >=sys-libs/libselinux-2.0.85 )
systemd? ( sys-apps/systemd )
virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
wireshark-plugins? ( net-analyzer/wireshark:= )
xen? ( app-emulation/xen-tools app-emulation/xen )
udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
virt-network? ( net-dns/dnsmasq[script]
>=net-firewall/iptables-1.4.10[ipv6]
net-misc/radvd
net-firewall/ebtables
sys-apps/iproute2[-minimal]
firewalld? ( net-firewall/firewalld )
)
elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )"
DEPEND="${RDEPEND}
virtual/pkgconfig
app-text/xhtml1
dev-lang/perl
dev-perl/XML-XPath
dev-libs/libxslt"
DOC_CONTENTS="For the basic networking support (bridged and routed networks)
you don't need any extra software. For more complex network modes
including but not limited to NATed network, you can enable the
'virt-network' USE flag.\n\n
If you are using dnsmasq on your system, you will have
to configure /etc/dnsmasq.conf to enable the following settings:\n\n
bind-interfaces\n
interface or except-interface\n\n
Otherwise you might have issues with your existing DNS server."
LXC_CONFIG_CHECK="
~CGROUPS
~CGROUP_FREEZER
~CGROUP_DEVICE
~CGROUP_CPUACCT
~CGROUP_SCHED
~CGROUP_PERF
~BLK_CGROUP
~NET_CLS_CGROUP
~CGROUP_NET_PRIO
~CPUSETS
~NAMESPACES
~UTS_NS
~IPC_NS
~PID_NS
~NET_NS
~USER_NS
~DEVPTS_MULTIPLE_INSTANCES
~VETH
~MACVLAN
~POSIX_MQUEUE
~SECURITYFS
~!GRKERNSEC_CHROOT_MOUNT
~!GRKERNSEC_CHROOT_DOUBLE
~!GRKERNSEC_CHROOT_PIVOT
~!GRKERNSEC_CHROOT_CHMOD
~!GRKERNSEC_CHROOT_CAPS
"
VIRTNET_CONFIG_CHECK="
~BRIDGE_NF_EBTABLES
~BRIDGE_EBT_MARK_T
~NETFILTER_ADVANCED
~NETFILTER_XT_TARGET_CHECKSUM
~NETFILTER_XT_CONNMARK
~NETFILTER_XT_MARK
"
BWLMT_CONFIG_CHECK="
~BRIDGE_EBT_T_NAT
~NET_SCH_HTB
~NET_SCH_SFQ
~NET_SCH_INGRESS
~NET_CLS_FW
~NET_CLS_U32
~NET_ACT_POLICE
"
MACVTAP_CONFIG_CHECK=" ~MACVTAP"
LVM_CONFIG_CHECK=" ~BLK_DEV_DM ~DM_SNAPSHOT ~DM_MULTIPATH"
ERROR_USER_NS="Optional depending on LXC configuration."
pkg_setup() {
enewgroup qemu 77
enewuser qemu 77 -1 -1 qemu kvm
# Some people used the masked ebuild which was not adding the qemu
# user to the kvm group originally. This results in VMs failing to
# start for some users. bug #430808
egetent group kvm | grep -q qemu
if [[ $? -ne 0 ]]; then
gpasswd -a qemu kvm
fi
# Handle specific kernel versions for different features
kernel_is lt 3 6 && LXC_CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
kernel_is ge 3 6 && LXC_CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP ~MEMCG_KMEM"
CONFIG_CHECK=""
use fuse && CONFIG_CHECK+=" ~FUSE_FS"
use lvm && CONFIG_CHECK+="${LVM_CONFIG_CHECK}"
use lxc && CONFIG_CHECK+="${LXC_CONFIG_CHECK}"
use macvtap && CONFIG_CHECK+="${MACVTAP_CONFIG_CHECK}"
use virt-network && CONFIG_CHECK+="${VIRTNET_CONFIG_CHECK}"
# Bandwidth Limiting Support
use virt-network && CONFIG_CHECK+="${BWLMT_CONFIG_CHECK}"
if [[ -n ${CONFIG_CHECK} ]]; then
linux-info_pkg_setup
fi
}
src_prepare() {
touch "${S}/.mailmap"
if [[ ${PV} = *9999* ]]; then
# git checkouts require bootstrapping to create the configure script.
# Additionally the submodules must be cloned to the right locations
# bug #377279
./bootstrap || die "bootstrap failed"
(
git submodule status | sed 's/^[ +-]//;s/ .*//'
git hash-object bootstrap.conf
) >.git-module-status
fi
epatch "${FILESDIR}"/${PN}-1.2.9-do_not_use_sysconf.patch
[[ -n ${BACKPORTS} ]] && \
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" \
EPATCH_SOURCE="${WORKDIR}/patches" epatch
epatch_user
[[ -n ${AUTOTOOLIZE} ]] && eautoreconf
# Tweak the init script
local avahi_init=
local iscsi_init=
local rbd_init=
local firewalld_init=
cp "${FILESDIR}/libvirtd.init-r14" "${S}/libvirtd.init"
use avahi && avahi_init='avahi-daemon'
use iscsi && iscsi_init='iscsid'
use rbd && rbd_init='ceph'
use firewalld && firewalld_init='need firewalld'
sed -e "s/USE_FLAG_FIREWALLD/${firewalld_init}/" -i "${S}/libvirtd.init"
sed -e "s/USE_FLAG_AVAHI/${avahi_init}/" -i "${S}/libvirtd.init"
sed -e "s/USE_FLAG_ISCSI/${iscsi_init}/" -i "${S}/libvirtd.init"
sed -e "s/USE_FLAG_RBD/${rbd_init}/" -i "${S}/libvirtd.init"
}
src_configure() {
local myconf=""
## enable/disable daemon, otherwise client only utils
myconf+=" $(use_with libvirtd)"
## enable/disable the daemon using avahi to find VMs
myconf+=" $(use_with avahi)"
## hypervisors on the local host
myconf+=" $(use_with xen) $(use_with xen xen-inotify)"
myconf+=" --without-xenapi"
if use xen && has_version ">=app-emulation/xen-tools-4.2.0"; then
myconf+=" --with-libxl"
else
myconf+=" --without-libxl"
fi
myconf+=" $(use_with openvz)"
myconf+=" $(use_with lxc)"
if use virtualbox && has_version app-emulation/virtualbox-ose; then
myconf+=" --with-vbox=/usr/lib/virtualbox-ose/"
else
myconf+=" $(use_with virtualbox vbox)"
fi
myconf+=" $(use_with uml)"
myconf+=" $(use_with qemu)"
myconf+=" $(use_with qemu yajl)" # Use QMP over HMP
myconf+=" $(use_with phyp)"
myconf+=" --with-esx"
myconf+=" --with-vmware"
## additional host drivers
myconf+=" $(use_with virt-network network)"
myconf+=" --with-storage-fs"
myconf+=" $(use_with lvm storage-lvm)"
myconf+=" $(use_with iscsi storage-iscsi)"
myconf+=" $(use_with parted storage-disk)"
myconf+=" $(use_with glusterfs)"
myconf+=" $(use_with glusterfs storage-gluster)"
myconf+=" $(use_with lvm storage-mpath)"
myconf+=" $(use_with rbd storage-rbd)"
myconf+=" $(use_with numa numactl)"
myconf+=" $(use_with numa numad)"
myconf+=" $(use_with selinux)"
myconf+=" $(use_with fuse)"
# udev for device support details
myconf+=" $(use_with udev)"
myconf+=" --without-hal"
# linux capability support so we don't need privileged accounts
myconf+=" $(use_with caps capng)"
## auth stuff
myconf+=" $(use_with policykit polkit)"
myconf+=" $(use_with sasl)"
# network bits
myconf+=" $(use_with macvtap)"
myconf+=" $(use_with pcap libpcap)"
myconf+=" $(use_with vepa virtualport)"
myconf+=" $(use_with firewalld)"
## other
myconf+=" $(use_enable nls)"
# user privilege bits fir qemu/kvm
if use caps; then
myconf+=" --with-qemu-user=qemu"
myconf+=" --with-qemu-group=qemu"
else
myconf+=" --with-qemu-user=root"
myconf+=" --with-qemu-group=root"
fi
# audit support
myconf+=" $(use_with audit)"
# wireshark dissector
myconf+=" $(use_with wireshark-plugins wireshark-dissector)"
## stuff we don't yet support
myconf+=" --without-netcf"
# locking support
myconf+=" --without-sanlock"
# systemd unit files
myconf+=" $(use_with systemd systemd-daemon)"
use systemd && myconf+=" --with-init-script=systemd"
# this is a nasty trick to work around the problem in bug
# #275073. The reason why we don't solve this properly is that
# it'll require us to rebuild autotools (and we don't really want
# to do that right now). The proper solution has been sent
# upstream and should hopefully land in 0.7.7, in the mean time,
# mime the same functionality with this.
case ${CHOST} in
*cygwin* | *mingw* )
;;
*)
ac_cv_prog_WINDRES=no
;;
esac
econf \
${myconf} \
--disable-static \
--disable-werror \
--with-remote \
--docdir=/usr/share/doc/${PF} \
--localstatedir=/var
if [[ ${PV} = *9999* ]]; then
# Restore gnulib's config.sub and config.guess
# bug #377279
(cd .gnulib && git reset --hard > /dev/null)
fi
}
src_test() {
# Explicitly allow parallel build of tests
export VIR_TEST_DEBUG=1
HOME="${T}" emake check || die "tests failed"
}
src_install() {
emake install \
DESTDIR="${D}" \
HTML_DIR=/usr/share/doc/${PF}/html \
DOCS_DIR=/usr/share/doc/${PF} \
EXAMPLE_DIR=/usr/share/doc/${PF}/examples \
SYSTEMD_UNIT_DIR="$(systemd_get_unitdir)" \
|| die "emake install failed"
find "${D}" -name '*.la' -delete || die
# Remove bogus, empty directories. They are either not used, or
# libvirtd is able to create them on demand
rm -rf "${D}"/etc/sysconf
rm -rf "${D}"/var/cache
rm -rf "${D}"/var/run
rm -rf "${D}"/var/log
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
use systemd && systemd_install_serviced \
"${FILESDIR}"/libvirtd.service.conf libvirtd.service
systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
newinitd "${S}/libvirtd.init" libvirtd || die
newconfd "${FILESDIR}/libvirtd.confd-r4" libvirtd || die
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
readme.gentoo_create_doc
}
pkg_preinst() {
# we only ever want to generate this once
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml
fi
# We really don't want to use or support old PolicyKit cause it
# screws with the new polkit integration
if has_version sys-auth/policykit; then
rm -rf "${D}"/usr/share/PolicyKit/policy/org.libvirt.unix.policy
fi
# Only sysctl files ending in .conf work
dodir /etc/sysctl.d
mv "${D}"/usr/lib/sysctl.d/libvirtd.conf "${D}"/etc/sysctl.d/libvirtd.conf
}
pkg_postinst() {
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml
fi
if ! use policykit; then
elog "To allow normal users to connect to libvirtd you must change the"
elog "unix sock group and/or perms in /etc/libvirt/libvirtd.conf"
fi
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
readme.gentoo_print_elog
if use caps && use qemu; then
elog "libvirt will now start qemu/kvm VMs with non-root privileges."
elog "Ensure any resources your VMs use are accessible by qemu:qemu"
fi
if [[ -n "${REPLACING_VERSIONS}" ]]; then
elog ""
elog "The systemd service-file configuration under /etc/sysconfig has"
elog "been removed. Please use"
elog " /etc/systemd/system/libvirtd.service.d/00gentoo.conf"
elog "to control the '--listen' parameter for libvirtd. The configuration"
elog "for the libvirt-guests.service is now found under"
elog " /etc/libvirt/libvirt-guests.conf"
elog "The openrc configuration has not been changed. Thus no action is"
elog "required for the openrc service manager."
elog ""
fi
}

@ -71,6 +71,7 @@ RDEPEND="
audit? ( sys-process/audit )
avahi? ( >=net-dns/avahi-0.6[dbus] )
caps? ( sys-libs/libcap-ng )
firewalld? ( net-firewall/firewalld )
fuse? ( >=sys-fs/fuse-2.8.6 )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
iscsi? ( sys-block/open-iscsi )
@ -103,12 +104,17 @@ RDEPEND="
>=net-firewall/iptables-1.4.10[ipv6]
net-misc/radvd
sys-apps/iproute2[-minimal]
firewalld? ( net-firewall/firewalld )
)
virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
wireshark-plugins? ( net-analyzer/wireshark:= )
xen? ( app-emulation/xen-tools app-emulation/xen )
udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
xen? (
app-emulation/xen
app-emulation/xen-tools
)
udev? (
virtual/udev
>=x11-libs/libpciaccess-0.10.9
)
elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )"
DEPEND="${RDEPEND}

@ -71,6 +71,7 @@ RDEPEND="
audit? ( sys-process/audit )
avahi? ( >=net-dns/avahi-0.6[dbus] )
caps? ( sys-libs/libcap-ng )
firewalld? ( net-firewall/firewalld )
fuse? ( >=sys-fs/fuse-2.8.6 )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
iscsi? ( sys-block/open-iscsi )
@ -103,12 +104,17 @@ RDEPEND="
>=net-firewall/iptables-1.4.10[ipv6]
net-misc/radvd
sys-apps/iproute2[-minimal]
firewalld? ( net-firewall/firewalld )
)
virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
wireshark-plugins? ( net-analyzer/wireshark:= )
xen? ( app-emulation/xen-tools app-emulation/xen )
udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
xen? (
app-emulation/xen
app-emulation/xen-tools
)
udev? (
virtual/udev
>=x11-libs/libpciaccess-0.10.9
)
elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )"
DEPEND="${RDEPEND}

@ -71,6 +71,7 @@ RDEPEND="
audit? ( sys-process/audit )
avahi? ( >=net-dns/avahi-0.6[dbus] )
caps? ( sys-libs/libcap-ng )
firewalld? ( net-firewall/firewalld )
fuse? ( >=sys-fs/fuse-2.8.6 )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
iscsi? ( sys-block/open-iscsi )
@ -103,12 +104,17 @@ RDEPEND="
>=net-firewall/iptables-1.4.10[ipv6]
net-misc/radvd
sys-apps/iproute2[-minimal]
firewalld? ( net-firewall/firewalld )
)
virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
wireshark-plugins? ( net-analyzer/wireshark:= )
xen? ( app-emulation/xen-tools app-emulation/xen )
udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
xen? (
app-emulation/xen
app-emulation/xen-tools
)
udev? (
virtual/udev
>=x11-libs/libpciaccess-0.10.9
)
elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )"
DEPEND="${RDEPEND}

@ -1,3 +1,4 @@
DIST lxd-0.13.tar.bz2 3336161 SHA256 4228979ea9a856647f75f0230f58cc577c111a287f148787af766ab36c55f756 SHA512 12cd865ef63702674342df23ebb298b6ba39f0d44e9bfe91c643820be06ff30910145388a4daa2d63fbcb53c236e3cd4eb84e3e0bc617c85247322b0024c4920 WHIRLPOOL 82e788e9b35429df308d498955bd0cab06eb7d1a09c0a20bddad78490900b2cb78a44da9970db149ebfda546250a1d5aa2204e5f6f98b81a228310bfee3003a7
DIST lxd-0.14.tar.bz2 2526939 SHA256 c0c51ac5b3d30c7906323eba965011073b412a3c354ce095e46f14df4298c46c SHA512 d3f9eb38cdf71add270c895c1583dab85b0e0dba0d956900628b519881b41582113d6c25d37b9522493de069ad6a43b197ae895aefeb83391337273a4b60953e WHIRLPOOL 2b9c6931b81df7e60b13e35bfcd5272a46fb29377e11f6326616f55bf6c583db7be82d41273369518e9b9e434bee3b30f989b6816cd8dbdd40cc2cc1effac7b4
DIST lxd-0.16.tar.bz2 2660683 SHA256 bbe2b7542af34c93c7509e9638016a420bfc1daf1f1f45a33fa3d379ae10f14f SHA512 856e5ea1920ec3025cbd308a8e2ef656393a149111a38188f749e7d42a41032d762009d85316815c3f18ac0907fa9380758ca48666b13e900c9bbdf809d57f1c WHIRLPOOL f4bbea69073f2cc0dce65e39d88cdf1a0fadd4629b5b42bdee7ab385df459f78a2e36619c40ace687be124fb8d59c0da043cb1a8195630b2d0a051ab53297b89
DIST lxd-0.18.tar.bz2 2674919 SHA256 cb9c4823fb19ccef4827ee4dc3a105b60d3549b5023f4517d1471487469ea395 SHA512 5bbaae6eef27a0b14f8fee41d113afeea61de5414e5f7ed5011819eb6823a11dff647ac3f9781357304f7c5b04c618d05e4a04197cae6c6e4845cad5476d22ff WHIRLPOOL ca73e587f19491d79b03af2d205ab9f234b5acb1ff1f2d68a05be053cbd1ec89f6b9bc0fc64113980d7f2d6e3c7ece01d7d0c431c08a87b2b0ec555c6ff97914

@ -0,0 +1,18 @@
--- Makefile.orig 2015-09-17 20:37:16.481867339 -0500
+++ Makefile 2015-09-17 20:53:27.715800926 -0500
@@ -12,15 +12,11 @@
.PHONY: default
default:
- -go get -t -v -d ./...
- -go get -t -v -d ./...
go install -v ./...
@echo "LXD built succesfuly"
.PHONY: client
client:
- -go get -t -v -d ./...
- -go get -t -v -d ./...
go install -v ./lxc
@echo "LXD client built succesfuly"

@ -0,0 +1,11 @@
--- lxd/rsync.go.orig 2015-09-17 21:00:29.290772099 -0500
+++ lxd/rsync.go 2015-09-17 21:00:54.737770359 -0500
@@ -73,7 +73,7 @@
* command (i.e. the command to run on --server). However, we're
* hardcoding that at the other end, so we can just ignore it.
*/
- rsyncCmd := fmt.Sprintf("sh -c \"nc -U %s\"", f.Name())
+ rsyncCmd := fmt.Sprintf("sh -c \"nc.openbsd -U %s\"", f.Name())
cmd := exec.Command("rsync", "-arvP", "--devices", "--partial", path, "localhost:/tmp/foo", "-e", rsyncCmd)
if err := cmd.Start(); err != nil {
return nil, nil, err

@ -0,0 +1,27 @@
# Group which owns the shared socket
LXD_OPTIONS+=" --group lxd"
# Enable cpu profiling into the specified file
#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile"
# Enable memory profiling into the specified file
#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile"
# Enables debug mode
#LXD_OPTIONS+=" --debug"
# For debugging, print a complete stack trace every n seconds
#LXD_OPTIONS+=" --print-goroutines-every 5"
# Enables verbose mode
#LXD_OPTIONS+=" -v"
# Logfile to log to
#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log"
# Enables syslog logging
#LXD_OPTIONS+=" --syslog"

@ -0,0 +1,32 @@
#!/sbin/runscript
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
DAEMON=/usr/sbin/lxd
PIDFILE=/run/lxd.pid
depend() {
need cgmanager
need net
}
start() {
ebegin "Starting lxd server"
start-stop-daemon --start \
--pidfile ${PIDFILE} \
--exec ${DAEMON} \
--background \
--make-pidfile \
-- \
${LXD_OPTIONS}
eend $?
}
stop() {
ebegin "Stopping lxd server"
start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
eend $?
}

@ -0,0 +1,166 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
DESCRIPTION="Fast, dense and secure container management"
HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
EGO_PN_PARENT="github.com/lxc"
EGO_PN="${EGO_PN_PARENT}/lxd"
SRC_URI="http://961db08fe45d5f5dd062-b8a7a040508aea6d369676e49b80719d.r29.cf2.rackcdn.com/${P}.tar.bz2"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
PLOCALES="de fr ja"
IUSE="btrfs +criu +daemon lvm nls test"
# IUSE and PLOCALES must be defined before l10n inherited
inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot
DEPEND="
dev-go/go-crypto
>=dev-lang/go-1.4.2:=
dev-libs/protobuf
dev-vcs/git
nls? ( sys-devel/gettext )
test? (
app-misc/jq
dev-db/sqlite
net-misc/curl
sys-devel/gettext
)
"
RDEPEND="
daemon? (
app-admin/cgmanager
app-arch/xz-utils
app-emulation/lxc[cgmanager,seccomp]
net-analyzer/openbsd-netcat
net-misc/bridge-utils
net-misc/rsync[xattr]
sys-apps/iproute2
virtual/acl
btrfs? (
sys-fs/btrfs-progs
)
criu? (
sys-process/criu
)
lvm? (
sys-fs/lvm2
)
)
"
# KNOWN ISSUES:
# - Translations may not work. I've been unsuccessful in forcing
# localized output. Anyway, upstream (Canonical) doesn't install the
# message files.
# TODO:
# - since 0.15 gccgo is a supported compiler ('make gccgo'). It would
# be preferable for that support to go into the golang-build eclass not
# this package directly.
# - Add apparmor USE. There are some exec calls to apparmor_parser
# - Test build with Go 1.4 & 1.5
# - integrate "lxd shutdown" into initscript as custom action (default "stop"
# action should _not_ stop containers amirite?)
# "Perform a clean shutdown of LXD and all running containers"
src_prepare() {
cd "${S}/src/${EGO_PN}"
epatch "${FILESDIR}/${P}-dont-go-get.patch"
# Upstream requires the openbsd flavor of netcat (with -U), but
# Gentoo installs that with a renamed binary
epatch "${FILESDIR}/${P}-nc-binary-name.patch"
# Warn on unhandled locale changes
l10n_find_plocales_changes po "" .po
}
src_compile() {
golang-build_src_compile
cd "${S}/src/${EGO_PN}"
if use daemon; then
# Build binaries
GOPATH="${S}:$(get_golibdir_gopath)" emake
else
# build client tool
GOPATH="${S}:$(get_golibdir_gopath)" emake client
fi
use nls && emake build-mo
}
src_test() {
if use daemon; then
# Go native tests should succeed
golang-build_src_test
fi
}
src_install() {
# Installs all src,pkg to /usr/lib/go-gentoo
golang-build_src_install
cd "${S}"
dobin bin/lxc
if use daemon; then
dobin bin/fuidshift
dosbin bin/lxd
fi
cd "src/${EGO_PN}"
if use nls; then
for lingua in ${PLOCALES}; do
if use linguas_${lingua}; then
domo po/${lingua}.mo
fi
done
fi
if use daemon; then
newinitd "${FILESDIR}"/${P}.initd lxd
newconfd "${FILESDIR}"/${P}.confd lxd
systemd_dounit "${FILESDIR}"/lxd.service
fi
newbashcomp config/bash/lxc.in lxc
dodoc AUTHORS CONTRIBUTING.md README.md
docinto specs
dodoc specs/*
}
pkg_postinst() {
einfo
einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
einfo "including a Quick Start."
# The messaging below only applies to daemon installs
use daemon || return 0
# The control socket will be owned by (and writeable by) this group.
enewgroup lxd
# Ubuntu also defines an lxd user but it appears unused (the daemon
# must run as root)
if test -n "${REPLACING_VERSIONS}"; then
einfo
einfo "If you are upgrading from version 0.14 or older, note that the --tcp"
einfo "is no longer available in /etc/conf.d/lxd. Instead, configure the"
einfo "listen address/port by setting the core.https_address server option."
fi
}

@ -19,6 +19,10 @@
<remote-id type="github">lxc/lxd</remote-id>
</upstream>
<use>
<flag name="btrfs">
Add support for managing instance/snapshot
disk using btrfs subvolumes
</flag>
<flag name="criu">
Add support for live-migrateable containers
</flag>

@ -1,3 +1,4 @@
DIST qemu-2.3.0.tar.bz2 24683085 SHA256 b6bab7f763d5be73e7cb5ee7d4c8365b7a8df2972c52fa5ded18893bd8281588 SHA512 7a40d213c5696b27784abd2a3119e49d42c38c923be431826c73a8f14c19074435d7f1a652686c53baf08e81f5a3005b2ddc92d67c32f6a2b19659ab627e9eaa WHIRLPOOL 9dad6e342027c3be512b4e0b40e810e0a6f1dc84a16847aa5aac74d97f7a347e60d42e770335a090f83e90a1614294f86552a84edc1faafc7093d3e32602f5de
DIST qemu-2.3.1.tar.bz2 24692020 SHA256 661d029809421cae06b4b1bc74ac0e560cb4ed47c9523c676ff277fa26dca15f SHA512 309e6df7dcc0a064d1a17c7dac2f60398700dfa8c6b60b66e4202966248097cbc49af75aa97725bc34773151be6fd75836810e9f0741ba65cdc208414fa78f6b WHIRLPOOL 26750ee00513daa99cdcd585c4b8407b8258a9c3559ae6335266d7754cb6679e7c10c56f8d12ae0ef2b5cd5d6a9a6a536213f8e86e81ced37e46205c796a773e
DIST qemu-2.4.0.1.tar.bz2 25068555 SHA256 ecfe8b88037e41e817d72c460c56c6a0b573d540d6ba38b162d0de4fd22d1bdb SHA512 08eabe92fa9096386ef00f8e9d99eeec1508d15e5a98431e043a729cbaca2d96d6e3afc612e7c4a0fe5a6bba80006276185f1066b4c73105b2ea24b7e9133b84 WHIRLPOOL 1daaec23d6ada6af8bf4902e590fb96375e7149d2f53ff6bf6d8fb39722c182a2d2efcc0d40bee673a8316f621983c512daa54202bb4e632b3a4b09f0268cd09
DIST qemu-2.4.0.tar.bz2 25070979 SHA256 72b0b991bbcc540663a019e1e8c4f714053b691dda32c9b9ee80b25f367e6620 SHA512 8740e0fb2c654ed897dff4649f1f83d14d57cfa9cbde723899f115982f93253ce9a2bddd60aab379d241027d2044137770efe4c0b3c83d5b20f3a2a06f05a5dc WHIRLPOOL 8c6cfae096624e01f0d5daeb86aa2dccbeaa86d2aeab626cf55cf20b7edace82d0b0f3a1d85eeb2dc1fd53abaaa9dccf8f0d7ddc657a1f5ffd72fd68301648f1

@ -0,0 +1,146 @@
https://bugs.gentoo.org/560422
From d9033e1d3aa666c5071580617a57bd853c5d794a Mon Sep 17 00:00:00 2001
From: John Snow <jsnow@redhat.com>
Date: Thu, 17 Sep 2015 14:17:05 -0400
Subject: [PATCH] ide: fix ATAPI command permissions
We're a little too lenient with what we'll let an ATAPI drive handle.
Clamp down on the IDE command execution table to remove CD_OK permissions
from commands that are not and have never been ATAPI commands.
For ATAPI command validity, please see:
- ATA4 Section 6.5 ("PACKET Command feature set")
- ATA8/ACS Section 4.3 ("The PACKET feature set")
- ACS3 Section 4.3 ("The PACKET feature set")
ACS3 has a historical command validity table in Table B.4
("Historical Command Assignments") that can be referenced to find when
a command was introduced, deprecated, obsoleted, etc.
The only reference for ATAPI command validity is by checking that
version's PACKET feature set section.
ATAPI was introduced by T13 into ATA4, all commands retired prior to ATA4
therefore are assumed to have never been ATAPI commands.
Mandatory commands, as listed in ATA8-ACS3, are:
- DEVICE RESET
- EXECUTE DEVICE DIAGNOSTIC
- IDENTIFY DEVICE
- IDENTIFY PACKET DEVICE
- NOP
- PACKET
- READ SECTOR(S)
- SET FEATURES
Optional commands as listed in ATA8-ACS3, are:
- FLUSH CACHE
- READ LOG DMA EXT
- READ LOG EXT
- WRITE LOG DMA EXT
- WRITE LOG EXT
All other commands are illegal to send to an ATAPI device and should
be rejected by the device.
CD_OK removal justifications:
0x06 WIN_DSM Defined in ACS2. Not valid for ATAPI.
0x21 WIN_READ_ONCE Retired in ATA5. Not ATAPI in ATA4.
0x94 WIN_STANDBYNOW2 Retired in ATA4. Did not coexist with ATAPI.
0x95 WIN_IDLEIMMEDIATE2 Retired in ATA4. Did not coexist with ATAPI.
0x96 WIN_STANDBY2 Retired in ATA4. Did not coexist with ATAPI.
0x97 WIN_SETIDLE2 Retired in ATA4. Did not coexist with ATAPI.
0x98 WIN_CHECKPOWERMODE2 Retired in ATA4. Did not coexist with ATAPI.
0x99 WIN_SLEEPNOW2 Retired in ATA4. Did not coexist with ATAPI.
0xE0 WIN_STANDBYNOW1 Not part of ATAPI in ATA4, ACS or ACS3.
0xE1 WIN_IDLEIMMDIATE Not part of ATAPI in ATA4, ACS or ACS3.
0xE2 WIN_STANDBY Not part of ATAPI in ATA4, ACS or ACS3.
0xE3 WIN_SETIDLE1 Not part of ATAPI in ATA4, ACS or ACS3.
0xE4 WIN_CHECKPOWERMODE1 Not part of ATAPI in ATA4, ACS or ACS3.
0xE5 WIN_SLEEPNOW1 Not part of ATAPI in ATA4, ACS or ACS3.
0xF8 WIN_READ_NATIVE_MAX Obsoleted in ACS3. Not ATAPI in ATA4 or ACS.
This patch fixes a divide by zero fault that can be caused by sending
the WIN_READ_NATIVE_MAX command to an ATAPI drive, which causes it to
attempt to use zeroed CHS values to perform sector arithmetic.
Reported-by: Qinghao Tang <luodalongde@gmail.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-id: 1441816082-21031-1-git-send-email-jsnow@redhat.com
CC: qemu-stable@nongnu.org
---
hw/ide/core.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 8ba04df..1cc6945 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1746,11 +1746,11 @@ static const struct {
} ide_cmd_table[0x100] = {
/* NOP not implemented, mandatory for CD */
[CFA_REQ_EXT_ERROR_CODE] = { cmd_cfa_req_ext_error_code, CFA_OK },
- [WIN_DSM] = { cmd_data_set_management, ALL_OK },
+ [WIN_DSM] = { cmd_data_set_management, HD_CFA_OK },
[WIN_DEVICE_RESET] = { cmd_device_reset, CD_OK },
[WIN_RECAL] = { cmd_nop, HD_CFA_OK | SET_DSC},
[WIN_READ] = { cmd_read_pio, ALL_OK },
- [WIN_READ_ONCE] = { cmd_read_pio, ALL_OK },
+ [WIN_READ_ONCE] = { cmd_read_pio, HD_CFA_OK },
[WIN_READ_EXT] = { cmd_read_pio, HD_CFA_OK },
[WIN_READDMA_EXT] = { cmd_read_dma, HD_CFA_OK },
[WIN_READ_NATIVE_MAX_EXT] = { cmd_read_native_max, HD_CFA_OK | SET_DSC },
@@ -1769,12 +1769,12 @@ static const struct {
[CFA_TRANSLATE_SECTOR] = { cmd_cfa_translate_sector, CFA_OK },
[WIN_DIAGNOSE] = { cmd_exec_dev_diagnostic, ALL_OK },
[WIN_SPECIFY] = { cmd_nop, HD_CFA_OK | SET_DSC },
- [WIN_STANDBYNOW2] = { cmd_nop, ALL_OK },
- [WIN_IDLEIMMEDIATE2] = { cmd_nop, ALL_OK },
- [WIN_STANDBY2] = { cmd_nop, ALL_OK },
- [WIN_SETIDLE2] = { cmd_nop, ALL_OK },
- [WIN_CHECKPOWERMODE2] = { cmd_check_power_mode, ALL_OK | SET_DSC },
- [WIN_SLEEPNOW2] = { cmd_nop, ALL_OK },
+ [WIN_STANDBYNOW2] = { cmd_nop, HD_CFA_OK },
+ [WIN_IDLEIMMEDIATE2] = { cmd_nop, HD_CFA_OK },
+ [WIN_STANDBY2] = { cmd_nop, HD_CFA_OK },
+ [WIN_SETIDLE2] = { cmd_nop, HD_CFA_OK },
+ [WIN_CHECKPOWERMODE2] = { cmd_check_power_mode, HD_CFA_OK | SET_DSC },
+ [WIN_SLEEPNOW2] = { cmd_nop, HD_CFA_OK },
[WIN_PACKETCMD] = { cmd_packet, CD_OK },
[WIN_PIDENTIFY] = { cmd_identify_packet, CD_OK },
[WIN_SMART] = { cmd_smart, HD_CFA_OK | SET_DSC },
@@ -1788,19 +1788,19 @@ static const struct {
[WIN_WRITEDMA] = { cmd_write_dma, HD_CFA_OK },
[WIN_WRITEDMA_ONCE] = { cmd_write_dma, HD_CFA_OK },
[CFA_WRITE_MULTI_WO_ERASE] = { cmd_write_multiple, CFA_OK },
- [WIN_STANDBYNOW1] = { cmd_nop, ALL_OK },
- [WIN_IDLEIMMEDIATE] = { cmd_nop, ALL_OK },
- [WIN_STANDBY] = { cmd_nop, ALL_OK },
- [WIN_SETIDLE1] = { cmd_nop, ALL_OK },
- [WIN_CHECKPOWERMODE1] = { cmd_check_power_mode, ALL_OK | SET_DSC },
- [WIN_SLEEPNOW1] = { cmd_nop, ALL_OK },
+ [WIN_STANDBYNOW1] = { cmd_nop, HD_CFA_OK },
+ [WIN_IDLEIMMEDIATE] = { cmd_nop, HD_CFA_OK },
+ [WIN_STANDBY] = { cmd_nop, HD_CFA_OK },
+ [WIN_SETIDLE1] = { cmd_nop, HD_CFA_OK },
+ [WIN_CHECKPOWERMODE1] = { cmd_check_power_mode, HD_CFA_OK | SET_DSC },
+ [WIN_SLEEPNOW1] = { cmd_nop, HD_CFA_OK },
[WIN_FLUSH_CACHE] = { cmd_flush_cache, ALL_OK },
[WIN_FLUSH_CACHE_EXT] = { cmd_flush_cache, HD_CFA_OK },
[WIN_IDENTIFY] = { cmd_identify, ALL_OK },
[WIN_SETFEATURES] = { cmd_set_features, ALL_OK | SET_DSC },
[IBM_SENSE_CONDITION] = { cmd_ibm_sense_condition, CFA_OK | SET_DSC },
[CFA_WEAR_LEVEL] = { cmd_cfa_erase_sectors, HD_CFA_OK | SET_DSC },
- [WIN_READ_NATIVE_MAX] = { cmd_read_native_max, ALL_OK | SET_DSC },
+ [WIN_READ_NATIVE_MAX] = { cmd_read_native_max, HD_CFA_OK | SET_DSC },
};
static bool ide_cmd_permitted(IDEState *s, uint32_t cmd)
--
2.6.0.rc2.230.g3dd15c0

@ -0,0 +1,58 @@
https://bugs.gentoo.org/560760
From ce317461573bac12b10d67699b4ddf1f97cf066c Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Fri, 25 Sep 2015 13:21:28 +0800
Subject: [PATCH 1/3] virtio: introduce virtqueue_unmap_sg()
Factor out sg unmapping logic. This will be reused by the patch that
can discard descriptor.
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Andrew James <andrew.james@hpe.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/virtio/virtio.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 7504f8b..6f2b96c 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -244,14 +244,12 @@ int virtio_queue_empty(VirtQueue *vq)
return vring_avail_idx(vq) == vq->last_avail_idx;
}
-void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
- unsigned int len, unsigned int idx)
+static void virtqueue_unmap_sg(VirtQueue *vq, const VirtQueueElement *elem,
+ unsigned int len)
{
unsigned int offset;
int i;
- trace_virtqueue_fill(vq, elem, len, idx);
-
offset = 0;
for (i = 0; i < elem->in_num; i++) {
size_t size = MIN(len - offset, elem->in_sg[i].iov_len);
@@ -267,6 +265,14 @@ void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
cpu_physical_memory_unmap(elem->out_sg[i].iov_base,
elem->out_sg[i].iov_len,
0, elem->out_sg[i].iov_len);
+}
+
+void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
+ unsigned int len, unsigned int idx)
+{
+ trace_virtqueue_fill(vq, elem, len, idx);
+
+ virtqueue_unmap_sg(vq, elem, len);
idx = (idx + vring_used_idx(vq)) % vq->vring.num;
--
2.6.0.rc2.230.g3dd15c0

@ -0,0 +1,54 @@
https://bugs.gentoo.org/560760
From 29b9f5efd78ae0f9cc02dd169b6e80d2c404bade Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Fri, 25 Sep 2015 13:21:29 +0800
Subject: [PATCH 2/3] virtio: introduce virtqueue_discard()
This patch introduces virtqueue_discard() to discard a descriptor and
unmap the sgs. This will be used by the patch that will discard
descriptor when packet is truncated.
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/virtio/virtio.c | 7 +++++++
include/hw/virtio/virtio.h | 2 ++
2 files changed, 9 insertions(+)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 6f2b96c..d0bc72e 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -267,6 +267,13 @@ static void virtqueue_unmap_sg(VirtQueue *vq, const VirtQueueElement *elem,
0, elem->out_sg[i].iov_len);
}
+void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
+ unsigned int len)
+{
+ vq->last_avail_idx--;
+ virtqueue_unmap_sg(vq, elem, len);
+}
+
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
unsigned int len, unsigned int idx)
{
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index 6201ee8..9d09115 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -146,6 +146,8 @@ void virtio_del_queue(VirtIODevice *vdev, int n);
void virtqueue_push(VirtQueue *vq, const VirtQueueElement *elem,
unsigned int len);
void virtqueue_flush(VirtQueue *vq, unsigned int count);
+void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
+ unsigned int len);
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
unsigned int len, unsigned int idx);
--
2.6.0.rc2.230.g3dd15c0

@ -0,0 +1,47 @@
https://bugs.gentoo.org/560760
From 0cf33fb6b49a19de32859e2cdc6021334f448fb3 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Fri, 25 Sep 2015 13:21:30 +0800
Subject: [PATCH 3/3] virtio-net: correctly drop truncated packets
When packet is truncated during receiving, we drop the packets but
neither discard the descriptor nor add and signal used
descriptor. This will lead several issues:
- sg mappings are leaked
- rx will be stalled if a lots of packets were truncated
In order to be consistent with vhost, fix by discarding the descriptor
in this case.
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/net/virtio-net.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index d388c55..a877614 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1094,13 +1094,7 @@ static ssize_t virtio_net_receive(NetClientState *nc, const uint8_t *buf, size_t
* must have consumed the complete packet.
* Otherwise, drop it. */
if (!n->mergeable_rx_bufs && offset < size) {
-#if 0
- error_report("virtio-net truncated non-mergeable packet: "
- "i %zd mergeable %d offset %zd, size %zd, "
- "guest hdr len %zd, host hdr len %zd",
- i, n->mergeable_rx_bufs,
- offset, size, n->guest_hdr_len, n->host_hdr_len);
-#endif
+ virtqueue_discard(q->rx_vq, &elem, total);
return size;
}
--
2.6.0.rc2.230.g3dd15c0

@ -0,0 +1,643 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="ncurses,readline"
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
user udev fcaps readme.gentoo pax-utils
BACKPORTS=
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
inherit git-2
SRC_URI=""
else
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2
${BACKPORTS:+
https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \
gtk gtk2 infiniband iscsi +jpeg \
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
+png pulseaudio python \
rbd sasl +seccomp sdl sdl2 selinux smartcard snappy spice ssh static static-softmmu
static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \
virtfs +vnc vte xattr xen xfs"
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
x86_64"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb"
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
# Allow no targets to be built so that people can get a tools-only build.
# Block USE flag configurations known to not work.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
gtk2? ( gtk )
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_ppc64? ( fdt )
sdl2? ( sdl )
static? ( static-softmmu static-user )
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
virtfs? ( xattr )
vte? ( gtk )"
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
#
# The attr lib isn't always linked in (although the USE flag is always
# respected). This is because qemu supports using the C library's API
# when available rather than always using the extranl library.
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
sys-libs/zlib[static-libs(+)]
xattr? ( sys-apps/attr[static-libs(+)] )"
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? ( app-accessibility/brltty[static-libs(+)] )
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
bluetooth? ( net-wireless/bluez )
caps? ( sys-libs/libcap-ng[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gtk? (
gtk2? (
x11-libs/gtk+:2
vte? ( x11-libs/vte:0 )
)
!gtk2? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.90 )
)
)
infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] )
iscsi? ( net-libs/libiscsi )
jpeg? ( virtual/jpeg:=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
ncurses? ( sys-libs/ncurses:0=[static-libs(+)] )
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl,gles2]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph[static-libs(+)] )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
!sdl2? (
media-libs/libsdl[X]
>=media-libs/libsdl-1.2.11[static-libs(+)]
)
sdl2? (
media-libs/libsdl2[X]
media-libs/libsdl2[static-libs(+)]
)
)
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
smartcard? ( dev-libs/nss !app-emulation/libcacard )
snappy? ( app-arch/snappy[static-libs(+)] )
spice? (
>=app-emulation/spice-protocol-0.12.3
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
tls? ( net-libs/gnutls[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
X86_FIRMWARE_DEPEND="
>=sys-firmware/ipxe-1.0.0_p20130624
pin-upstream-blobs? (
~sys-firmware/seabios-1.8.2
~sys-firmware/sgabios-0.1_pre8
~sys-firmware/vgabios-0.7a
)
!pin-upstream-blobs? (
sys-firmware/seabios
sys-firmware/sgabios
sys-firmware/vgabios
)"
CDEPEND="
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
python? ( ${PYTHON_DEPS} )
systemtap? ( dev-util/systemtap )
xen? ( app-emulation/xen-tools )"
DEPEND="${CDEPEND}
dev-lang/perl
=dev-lang/python-2*
sys-apps/texinfo
virtual/pkgconfig
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
gtk? ( nls? ( sys-devel/gettext ) )
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
test? (
dev-libs/glib[utils]
sys-devel/bc
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-qemu )
"
STRIP_MASK="/usr/share/qemu/palcode-clipper"
QA_PREBUILT="
usr/share/qemu/openbios-ppc
usr/share/qemu/openbios-sparc64
usr/share/qemu/openbios-sparc32
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/u-boot.e500
"
QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm
usr/bin/qemu-cris
usr/bin/qemu-m68k
usr/bin/qemu-microblaze
usr/bin/qemu-microblazeel
usr/bin/qemu-mips
usr/bin/qemu-mipsel
usr/bin/qemu-or32
usr/bin/qemu-ppc
usr/bin/qemu-ppc64
usr/bin/qemu-ppc64abi32
usr/bin/qemu-sh4
usr/bin/qemu-sh4eb
usr/bin/qemu-sparc
usr/bin/qemu-sparc64
usr/bin/qemu-armeb
usr/bin/qemu-sparc32plus
usr/bin/qemu-s390x
usr/bin/qemu-unicore32"
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure
you have the kernel module loaded before running kvm. The easiest way to
ensure that the kernel module is loaded is to load it on boot.\n
For AMD CPUs the module is called 'kvm-amd'\n
For Intel CPUs the module is called 'kvm-intel'\n
Please review /etc/conf.d/modules for how to load these\n\n
Make sure your user is in the 'kvm' group\n
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
qemu_support_kvm() {
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
use qemu_softmmu_targets_s390x; then
return 0
fi
return 1
}
pkg_pretend() {
if use kernel_linux && kernel_is lt 2 6 25; then
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
elif use kernel_linux; then
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
ERROR_KVM="You must enable KVM in your kernel to continue"
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
ERROR_KVM_AMD+=" your kernel configuration."
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
ERROR_TUN+=" into your kernel or loaded as a module to use the"
ERROR_TUN+=" virtual network device if using -net tap."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
ERROR_VHOST_NET+=" support"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
fi
use python && CONFIG_CHECK+=" ~DEBUG_FS"
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
# Now do the actual checks setup above
check_extra_config
fi
fi
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
eerror "instances are still pointing to it. Please update your"
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
eerror "and the right system binary (e.g. qemu-system-x86_64)."
die "update your virt configs to not use qemu-kvm"
fi
}
pkg_setup() {
enewgroup kvm 78
}
# Sanity check to make sure target lists are kept up-to-date.
check_targets() {
local var=$1 mak=$2
local detected sorted
pushd "${S}"/default-configs >/dev/null || die
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | sort -u))
sorted=$(echo $(printf '%s\n' ${!var} | sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "${var}: ${sorted}"
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
die "sync ${var} to the list of targets"
fi
popd >/dev/null
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
# Alter target makefiles to accept CFLAGS set via flag-o
sed -i -r \
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
Makefile Makefile.target || die
# Cheap hack to disable gettext .mo generation.
use nls || rm -f po/*.po
epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch
epatch "${FILESDIR}"/${PN}-2.4.0-block-mirror-crash.patch #558396
epatch "${FILESDIR}"/${PN}-2.4.0-CVE-2015-7295-{1,2,3}.patch #560760
epatch "${FILESDIR}"/${PN}-2.4.0-CVE-2015-6855.patch #560422
[[ -n ${BACKPORTS} ]] && \
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
epatch
# Fix ld and objcopy being called directly
tc-export AR LD OBJCOPY
# Verbose builds
MAKEOPTS+=" V=1"
epatch_user
}
##
# configures qemu based on the build directory and the build type
# we are using.
#
qemu_src_configure() {
debug-print-function ${FUNCNAME} "$@"
local buildtype=$1
local builddir="${S}/${buildtype}-build"
local static_flag="static-${buildtype}"
mkdir "${builddir}"
local conf_opts=(
--prefix=/usr
--sysconfdir=/etc
--libdir=/usr/$(get_libdir)
--docdir=/usr/share/doc/${PF}/html
--disable-bsd-user
--disable-guest-agent
--disable-strip
--disable-werror
--python="${PYTHON}"
--cc="$(tc-getCC)"
--cxx="$(tc-getCXX)"
--host-cc="$(tc-getBUILD_CC)"
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
--enable-docs
$(use_enable tci tcg-interpreter)
$(use_enable xattr attr)
)
# Disable options not used by user targets as the default configure
# options will autoprobe and try to link in a bunch of unused junk.
conf_softmmu() {
if [[ ${buildtype} == "user" ]] ; then
echo "--disable-${2:-$1}"
else
use_enable "$@"
fi
}
conf_opts+=(
$(conf_softmmu accessibility brlapi)
$(conf_softmmu aio linux-aio)
$(conf_softmmu bluetooth bluez)
$(conf_softmmu caps cap-ng)
$(conf_softmmu curl)
$(conf_softmmu fdt)
$(conf_softmmu glusterfs)
$(conf_softmmu gtk)
$(conf_softmmu infiniband rdma)
$(conf_softmmu iscsi libiscsi)
$(conf_softmmu jpeg vnc-jpeg)
$(conf_softmmu kernel_linux kvm)
$(conf_softmmu lzo)
$(conf_softmmu ncurses curses)
$(conf_softmmu nfs libnfs)
$(conf_softmmu numa)
$(conf_softmmu opengl)
$(conf_softmmu png vnc-png)
$(conf_softmmu rbd)
$(conf_softmmu sasl vnc-sasl)
$(conf_softmmu sdl)
$(conf_softmmu seccomp)
$(conf_softmmu smartcard smartcard-nss)
$(conf_softmmu snappy)
$(conf_softmmu spice)
$(conf_softmmu ssh libssh2)
$(conf_softmmu tls vnc-tls)
$(conf_softmmu usb libusb)
$(conf_softmmu usbredir usb-redir)
$(conf_softmmu uuid)
$(conf_softmmu vde)
$(conf_softmmu vhost-net)
$(conf_softmmu virtfs)
$(conf_softmmu vnc)
$(conf_softmmu vte)
$(conf_softmmu xen)
$(conf_softmmu xen xen-pci-passthrough)
$(conf_softmmu xfs xfsctl)
)
case ${buildtype} in
user)
conf_opts+=(
--enable-linux-user
--disable-system
--disable-blobs
--disable-tools
)
;;
softmmu)
# audio options
local audio_opts="oss"
use alsa && audio_opts="alsa,${audio_opts}"
use sdl && audio_opts="sdl,${audio_opts}"
use pulseaudio && audio_opts="pa,${audio_opts}"
conf_opts+=(
--disable-linux-user
--enable-system
--with-system-pixman
--audio-drv-list="${audio_opts}"
)
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--disable-blobs
)
static_flag="static"
;;
esac
local targets="${buildtype}_targets"
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
# Add support for SystemTAP
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
# We always want to attempt to build with PIE support as it results
# in a more secure binary. But it doesn't work with static or if
# the current GCC doesn't have PIE support.
if use ${static_flag}; then
conf_opts+=( --static --disable-pie )
else
gcc-specs-pie && conf_opts+=( --enable-pie )
fi
echo "../configure ${conf_opts[*]}"
cd "${builddir}"
../configure "${conf_opts[@]}" || die "configure failed"
# FreeBSD's kernel does not support QEMU assigning/grabbing
# host USB devices yet
use kernel_FreeBSD && \
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
}
src_configure() {
local target
python_setup
softmmu_targets= softmmu_bins=()
user_targets= user_bins=()
for target in ${IUSE_SOFTMMU_TARGETS} ; do
if use "qemu_softmmu_targets_${target}"; then
softmmu_targets+=",${target}-softmmu"
softmmu_bins+=( "qemu-system-${target}" )
fi
done
for target in ${IUSE_USER_TARGETS} ; do
if use "qemu_user_targets_${target}"; then
user_targets+=",${target}-linux-user"
user_bins+=( "qemu-${target}" )
fi
done
softmmu_targets=${softmmu_targets#,}
user_targets=${user_targets#,}
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
[[ -n ${user_targets} ]] && qemu_src_configure "user"
[[ -z ${softmmu_targets}${user_targets} ]] && qemu_src_configure "tools"
}
src_compile() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
default
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
default
fi
if [[ -z ${softmmu_targets}${user_targets} ]]; then
cd "${S}/tools-build"
default
fi
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
pax-mark m */qemu-system-* #515550
emake -j1 check
emake -j1 check-report.html
fi
}
qemu_python_install() {
python_domodule "${S}/scripts/qmp/qmp.py"
python_doscript "${S}/scripts/kvm/kvm_stat"
python_doscript "${S}/scripts/kvm/vmxcap"
python_doscript "${S}/scripts/qmp/qmp-shell"
python_doscript "${S}/scripts/qmp/qemu-ga-client"
}
src_install() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
emake DESTDIR="${ED}" install
# Install binfmt handler init script for user targets
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
emake DESTDIR="${ED}" install
# This might not exist if the test failed. #512010
[[ -e check-report.html ]] && dohtml check-report.html
if use kernel_linux; then
udev_dorules "${FILESDIR}"/65-kvm.rules
fi
if use python; then
python_foreach_impl qemu_python_install
fi
fi
if [[ -z ${softmmu_targets}${user_targets} ]]; then
cd "${S}/tools-build"
emake DESTDIR="${ED}" install
fi
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
pushd "${ED}"/usr/bin >/dev/null
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
popd >/dev/null
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
# Remove the docdir placed qmp-commands.txt
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/"
cd "${S}"
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
dodoc docs/qmp/*.txt
if [[ -n ${softmmu_targets} ]]; then
# Remove SeaBIOS since we're using the SeaBIOS packaged one
rm "${ED}/usr/share/qemu/bios.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
fi
# Remove vgabios since we're using the vgabios packaged one
rm "${ED}/usr/share/qemu/vgabios.bin"
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
dosym ../vgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
fi
# Remove sgabios since we're using the sgabios packaged one
rm "${ED}/usr/share/qemu/sgabios.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
fi
# Remove iPXE since we're using the iPXE packaged one
rm "${ED}"/usr/share/qemu/pxe-*.rom
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
fi
fi
qemu_support_kvm && readme.gentoo_create_doc
}
pkg_postinst() {
if qemu_support_kvm; then
readme.gentoo_print_elog
fi
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
udev_reload
fi
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
if use virtfs && [ -n "${softmmu_targets}" ]; then
local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid"
fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
fi
}
pkg_info() {
echo "Using:"
echo " $(best_version app-emulation/spice-protocol)"
echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/seabios)"
if has_version 'sys-firmware/seabios[binary]'; then
echo " USE=binary"
else
echo " USE=''"
fi
echo " $(best_version sys-firmware/vgabios)"
}

@ -10,7 +10,7 @@ SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND=">=app-eselect/eselect-lib-bin-symlink-0.1.1"

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>proxy-maintainers</herd>
<maintainer>
<email>maintainer-needed@gentoo.org</email>
<email>brendan@horan.hk</email>
<name>Brendan Horan</name>
<description>Proxy maintainer for assignee of bugs</description>
</maintainer>
<upstream>
<remote-id type="launchpad">samsung-tools</remote-id>

@ -14,7 +14,7 @@ SRC_URI="http://www.midnight-commander.org/downloads/${MY_P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
IUSE="+edit gpm mclib nls samba sftp +slang spell test X +xdg"
REQUIRED_USE="spell? ( edit )"

@ -1,3 +1 @@
DIST screen-4.0.3.tar.gz 840602 SHA256 78f0d5b1496084a5902586304d4a73954b2bfe33ea13edceecf21615c39e6c77 SHA512 24c1f598972f3dc9ed49cd2c05852190a0190d22fa01401eee8484627c8dd2815f0a422d9b2697faa8aaa0b3efc6730a94e2d5aa787dbe5e9ec719143176c338 WHIRLPOOL 6774786126eb05749d432593bc2c1febdc57896959220a609feb138bdc16b8da278aea63af1ccfd5c7d38ccaa9e7d28980e9e14d0009d36a54cdbd9e4cb0fca7
DIST screen-4.2.1.tar.gz 1062485 SHA256 5468545047e301d2b3579f9d9ce00466d14a7eec95ce806e3834a3d6b0b9b080 SHA512 30826b2a2fc436483276b90cc4c6679470f7ccb7098c9bb8457d0e534998cd12da02882cf80678465f6540cade170c3fdc6bdfa31b07359ff0d3ffe2d6063710 WHIRLPOOL 7d4209651a016a9ab91aec385532c6ebd7a6d96a60342721f3a53752924c3fb72aa3d648ad665b67fab0a78d6019396abe13e04f556c7e5e9f71bf3238e64cc5
DIST screen-4.3.1.tar.gz 845958 SHA256 fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63 SHA512 8e8a25b23330a7d8e00fc9e6cc430f0eb3937ccf4183efbd6fd24e4dc04cc09b3acae45bfc24892faee433b18fa79b1cfe0211fd75c0d74ecf908f916bf774aa WHIRLPOOL b47f7538351028cc3a2ec7f69a9373e152fa7655c6ae9feb75ba46db3cdc9b7d58ce78043993b7f134da3a04754c5e52d1a77da4c30a8decda21c79cf5c50f51

@ -1,11 +0,0 @@
--- utmp.c.orig 2004-11-14 23:15:28.000000000 +0100
+++ utmp.c 2004-11-14 23:15:39.000000000 +0100
@@ -618,7 +618,7 @@
#endif /* sgi */
strncpy(u->ut_line, line, sizeof(u->ut_line));
u->ut_pid = pid;
- (void)time((time_t *)&u->ut_time);
+ u->ut_time = time(NULL);
}
static slot_t

@ -1,18 +0,0 @@
--- screen-4.0.2/configure.in 2005-05-22 19:55:06.559874997 +0000
+++ screen-4.0.2-no-libelf/configure.in 2005-05-22 19:56:05.895801017 +0000
@@ -195,15 +195,6 @@
#endif
], LIBS="$LIBS -lsocket -linet";seqptx=1)
-oldlibs="$LIBS"
-LIBS="$LIBS -lelf"
-AC_CHECKING(SVR4)
-AC_TRY_LINK([#include <utmpx.h>
-],,
-[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
-[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])]
-,LIBS="$oldlibs")
-
AC_CHECKING(for Solaris 2.x)
AC_EGREP_CPP(yes,
[#if defined(SVR4) && defined(sun)

@ -1,14 +0,0 @@
--- screen-4.0.2/pty.c.orig 2004-07-29 23:53:45.313533536 -0400
+++ screen-4.0.2/pty.c 2004-07-29 23:53:59.011451136 -0400
@@ -33,11 +33,6 @@
# include <sys/ioctl.h>
#endif
-/* for solaris 2.1, Unixware (SVR4.2) and possibly others */
-#ifdef HAVE_SVR4_PTYS
-# include <sys/stropts.h>
-#endif
-
#if defined(sun) && defined(LOCKPTY) && !defined(TIOCEXCL)
# include <sys/ttold.h>
#endif

@ -1,14 +0,0 @@
--- screen-4.0.2/configure.in.orig 2004-12-17 19:55:45.314670411 +0100
+++ screen-4.0.2/configure.in 2004-12-17 19:55:50.575941541 +0100
@@ -855,11 +855,6 @@
#include <utmp.h>
#endif
],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST))
-AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no)
-if test "$have_utempter" = yes; then
- AC_DEFINE(HAVE_UTEMPTER)
- LIBS="$LIBS -lutempter"
-fi
dnl
dnl **** loadav ****

@ -1,11 +0,0 @@
--- screen.c.orig 2006-04-02 17:05:28.000000000 +0200
+++ screen.c 2006-04-02 17:05:39.000000000 +0200
@@ -1197,7 +1197,7 @@ char **av;
if (!detached)
{
/* reopen tty. must do this, because fd 0 may be RDONLY */
- if ((n = secopen(attach_tty, O_RDWR, 0)) < 0)
+ if ((n = secopen(attach_tty, O_RDWR | O_NONBLOCK, 0)) < 0)
Panic(0, "Cannot reopen '%s' - please check.", attach_tty);
}
else

@ -1,12 +0,0 @@
diff -Nur screen-4.0.2.orig/process.c screen-4.0.2/process.c
--- screen-4.0.2.orig/process.c 2003-09-18 14:53:54.000000000 +0200
+++ screen-4.0.2/process.c 2005-07-06 19:55:08.370772955 +0200
@@ -4841,7 +4841,7 @@
s = buf;
for (display = displays; display; display = display->d_next)
{
- if (D_user == olddisplay->d_user)
+ if (olddisplay && D_user == olddisplay->d_user)
continue;
for (cv = D_cvlist; cv; cv = cv->c_next)
if (Layer2Window(cv->c_layer) == p)

@ -1,203 +0,0 @@
diff --git a/acls.c b/acls.c
index 0f98df2..5f26d70 100644
--- a/acls.c
+++ b/acls.c
@@ -178,7 +178,7 @@ struct acluser **up;
#endif
(*up)->u_Esc = DefaultEsc;
(*up)->u_MetaEsc = DefaultMetaEsc;
- strncpy((*up)->u_name, name, 20);
+ strncpy((*up)->u_name, name, MAXSTR);
(*up)->u_password = NULL;
if (pass)
(*up)->u_password = SaveStr(pass);
@@ -314,8 +314,8 @@ struct acluser **up;
return UserAdd(name, pass, up);
if (!strcmp(name, "nobody")) /* he remains without password */
return -1;
- strncpy((*up)->u_password, pass ? pass : "", 20);
- (*up)->u_password[20] = '\0';
+ strncpy((*up)->u_password, pass ? pass : "", MAXSTR);
+ (*up)->u_password[MAXSTR] = '\0';
return 0;
}
#endif
diff --git a/acls.h b/acls.h
index c41b714..7f20f55 100644
--- a/acls.h
+++ b/acls.h
@@ -36,6 +36,16 @@
#define ACLBYTE(data, w) ((data)[(w) >> 3])
#define ACLBIT(w) (0x80 >> ((w) & 7))
+#include <limits.h>
+
+#ifndef NAME_MAX
+# ifndef MAXNAMELEN
+# define NAME_MAX 255
+# else
+# define NAME_MAX MAXNAMELEN
+# endif
+#endif
+
typedef unsigned char * AclBits;
/*
@@ -73,7 +83,7 @@ struct plop
typedef struct acluser
{
struct acluser *u_next; /* continue the main user list */
- char u_name[20+1]; /* login name how he showed up */
+ char u_name[NAME_MAX+1]; /* login name how he showed up */
char *u_password; /* his password (may be NullStr). */
int u_checkpassword; /* nonzero if this u_password is valid */
int u_detachwin; /* the window where he last detached */
diff --git a/display.h b/display.h
index ef99954..563fcd0 100644
--- a/display.h
+++ b/display.h
@@ -22,6 +22,16 @@
* $Id: display.h,v 1.9 1994/05/31 12:31:54 mlschroe Exp $ FAU
*/
+#include <limits.h>
+
+#ifndef NAME_MAX
+# ifndef MAXNAMELEN
+# define NAME_MAX 255
+# else
+# define NAME_MAX MAXNAMELEN
+# endif
+#endif
+
#ifdef MAPKEYS
#define KMAP_KEYS (T_OCAPS-T_CAPS)
@@ -85,7 +95,7 @@ struct display
struct win *d_other; /* pointer to other window */
int d_nonblock; /* -1 don't block if obufmax reached */
/* >0: block after nonblock secs */
- char d_termname[20 + 1]; /* $TERM */
+ char d_termname[NAME_MAX + 1]; /* $TERM */
char *d_tentry; /* buffer for tgetstr */
char d_tcinited; /* termcap inited flag */
int d_width, d_height; /* width/height of the screen */
diff --git a/screen.c b/screen.c
index 70741df..6f45b60 100644
--- a/screen.c
+++ b/screen.c
@@ -106,6 +106,16 @@ FILE *dfp;
#endif
+#include <limits.h>
+
+#ifndef NAME_MAX
+# ifndef MAXNAMELEN
+# define NAME_MAX 255
+# else
+# define NAME_MAX MAXNAMELEN
+# endif
+#endif
+
extern char Term[], screenterm[], **environ, Termcap[];
int force_vt = 1;
int VBellWait, MsgWait, MsgMinWait, SilenceWait;
@@ -877,13 +887,13 @@ char **av;
if (home == 0 || *home == '\0')
home = ppp->pw_dir;
- if (strlen(LoginName) > 20)
+ if (strlen(LoginName) > NAME_MAX)
Panic(0, "LoginName too long - sorry.");
#ifdef MULTIUSER
- if (multi && strlen(multi) > 20)
+ if (multi && strlen(multi) > NAME_MAX)
Panic(0, "Screen owner name too long - sorry.");
#endif
- if (strlen(home) > MAXPATHLEN - 25)
+ if (strlen(home) > MAXPATHLEN - NAME_MAX)
Panic(0, "$HOME too long - sorry.");
attach_tty = "";
diff --git a/screen.h b/screen.h
index 4f9f354..bcaaaf6 100644
--- a/screen.h
+++ b/screen.h
@@ -43,6 +43,15 @@
#include "comm.h"
#include "layer.h"
#include "term.h"
+#include <limits.h>
+
+#ifndef NAME_MAX
+# ifndef MAXNAMELEN
+# define NAME_MAX 255
+# else
+# define NAME_MAX MAXNAMELEN
+# endif
+#endif
#ifdef DEBUG
@@ -195,26 +204,26 @@ struct msg
create;
struct
{
- char auser[20 + 1]; /* username */
+ char auser[NAME_MAX + 1]; /* username */
int apid; /* pid of frontend */
int adaptflag; /* adapt window size? */
int lines, columns; /* display size */
char preselect[20];
int esc; /* his new escape character unless -1 */
int meta_esc; /* his new meta esc character unless -1 */
- char envterm[20 + 1]; /* terminal type */
+ char envterm[NAME_MAX + 1]; /* terminal type */
int encoding; /* encoding of display */
}
attach;
struct
{
- char duser[20 + 1]; /* username */
+ char duser[NAME_MAX + 1]; /* username */
int dpid; /* pid of frontend */
}
detach;
struct
{
- char auser[20 + 1]; /* username */
+ char auser[NAME_MAX + 1]; /* username */
int nargs;
char cmd[MAXPATHLEN]; /* command */
int apid; /* pid of frontend */
diff --git a/socket.c b/socket.c
index 62a73af..1cc9c27 100644
--- a/socket.c
+++ b/socket.c
@@ -45,6 +45,16 @@
#include "extern.h"
+#include <limits.h>
+
+#ifndef NAME_MAX
+# ifndef MAXNAMELEN
+# define NAME_MAX 255
+# else
+# define NAME_MAX MAXNAMELEN
+# endif
+#endif
+
static int CheckPid __P((int));
static void ExecCreate __P((struct msg *));
static void DoCommandMsg __P((struct msg *));
@@ -1248,7 +1258,7 @@ static void PasswordProcessInput __P((char *, int));
struct pwdata {
int l;
- char buf[20 + 1];
+ char buf[NAME_MAX + 1];
struct msg m;
};

@ -1,31 +0,0 @@
--- ansi.c.orig 2003-09-08 10:24:44.000000000 -0400
+++ ansi.c 2003-11-29 10:41:15.000000000 -0500
@@ -559,7 +559,7 @@
{
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- if (curr->w_NumArgs < MAXARGS)
+ if (curr->w_NumArgs >= 0 && curr->w_NumArgs < MAXARGS)
{
if (curr->w_args[curr->w_NumArgs] < 100000000)
curr->w_args[curr->w_NumArgs] =
--- resize.c.orig 2003-09-08 10:26:31.000000000 -0400
+++ resize.c 2003-11-29 10:41:50.000000000 -0500
@@ -682,6 +682,17 @@
if (wi == 0)
he = hi = 0;
+ if (wi > 1000)
+ {
+ Msg(0, "Window width too large, truncated");
+ wi = 1000;
+ }
+ if (he > 1000)
+ {
+ Msg(0, "Window height too large, truncated");
+ he = 1000;
+ }
+
if (p->w_width == wi && p->w_height == he && p->w_histheight == hi)
{
debug("ChangeWindowSize: No change.\n");

@ -1,13 +0,0 @@
--- screen-4.0.1/configure.in 2003-06-03 07:58:24.000000000 -0400
+++ screen-4.0.1/configure.in.agriffis 2004-01-13 12:07:37.000000000 -0500
@@ -1206,7 +1206,9 @@
rm -f /tmp/conftest*
AC_MSG_CHECKING(for vsprintf)
-AC_TRY_LINK(,[vsprintf(0,0,0);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
+AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);],
+ [AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)],
+ [AC_MSG_RESULT(no)])
AC_HEADER_DIRENT

@ -1,14 +0,0 @@
compability for sys-devel/autoconf-2.62
https://bugs.gentoo.org/show_bug.cgi?id=217311
--- screen/config.h.in
+++ screen/config.h.in
@@ -563,7 +563,6 @@
* If you are on a SYS V machine that restricts filename length to 14
* characters, you may need to enforce that by setting NAME_MAX to 14
*/
-#undef NAME_MAX /* KEEP_UNDEF_HERE override system value */
#undef NAME_MAX
/*

@ -1,20 +0,0 @@
--- screen-4.0.3/Makefile.in
+++ screen-4.0.3/Makefile.in
@@ -68,7 +68,7 @@
$(CC) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
.c.o:
- $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CFLAGS) $<
+ $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CPPFLAGS) $(CFLAGS) $<
install_bin: .version screen
-if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \
@@ -122,7 +122,7 @@
sh $(srcdir)/tty.sh tty.c
comm.h: comm.c comm.sh config.h
- AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
+ AWK=$(AWK) CC="$(CC) $(CFLAGS) $(CPPFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
osdef.h: osdef.sh config.h osdef.h.in
CPP="$(CPP) $(CPPFLAGS)" srcdir=${srcdir} sh $(srcdir)/osdef.sh

@ -1,598 +0,0 @@
--- configure.in~ 2008-11-23 17:43:48.000000000 +0000
+++ configure.in 2008-11-23 17:43:48.000000000 +0000
@@ -46,6 +46,7 @@
AC_PROG_GCC_TRADITIONAL
AC_ISC_POSIX
+AC_MSG_CHECKING([for compiler sanity])
AC_TRY_RUN(main(){exit(0);},,[
if test $CC != cc ; then
AC_NOTE(Your $CC failed - restarting with CC=cc)
@@ -54,22 +55,17 @@
export CC
exec $0 $configure_args
fi
-])
-
-AC_TRY_RUN(main(){exit(0);},,
-exec 5>&2
-eval $ac_link
-AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;)
-AC_NOTE($ac_compile)
-AC_MSG_ERROR(Can't run the compiler - sorry))
+],AC_MSG_WARN([skipping test due to crosscompilation]))
+AC_MSG_CHECKING([if compiler sets exit status])
AC_TRY_RUN([
main()
{
int __something_strange_();
__something_strange_(0);
}
-],AC_MSG_ERROR(Your compiler does not set the exit status - sorry))
+],AC_MSG_ERROR(Your compiler does not set the exit status - sorry),,
+AC_MSG_WARN(skipping test due to crosscompilation))
AC_PROG_AWK
@@ -103,6 +99,7 @@
dnl
dnl **** special unix variants ****
dnl
+AH_TEMPLATE(ISC,[])
if test -n "$ISC"; then
AC_DEFINE(ISC) LIBS="$LIBS -linet"
fi
@@ -114,11 +111,13 @@
dnl fi
dnl fi
+AH_TEMPLATE([sysV68],[])
if test -f /sysV68 ; then
AC_DEFINE(sysV68)
fi
AC_CHECKING(for MIPS)
+AH_TEMPLATE([MIPS],[])
if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then
oldlibs="$LIBS"
test -f /bin/mx || LIBS="$LIBS -lmld" # for nlist. But not on alpha.
@@ -132,6 +131,8 @@
AC_CHECKING(wait3)
AC_TRY_LINK(,[wait3();], ,
AC_CHECKING(wait2)
+AH_TEMPLATE([USE_WAIT2],[On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com])
+dnl TODO(Hannes) shipped config.h.in wraps the define in #ifdef BSDWAIT
AC_TRY_LINK(,[wait2();],
dnl John Rouillard (rouilj@sni-usa.com):
dnl need -I/usr/include/bsd in RISCOS otherwise sockets are broken, no
@@ -154,9 +155,11 @@
oldlibs="$LIBS"
LIBS="$LIBS -lpyr"
AC_CHECKING(Pyramid OSX)
+AH_TEMPLATE([OSX], [Pyramid OSX])
AC_TRY_LINK(,[open_controlling_pty("")], AC_DEFINE(OSX), LIBS="$oldlibs")
fi
+AH_TEMPLATE([POSIX],[Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).])
dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi):
dnl BBN butterfly is not POSIX, but a MACH BSD system.
dnl Do not define POSIX and TERMIO.
@@ -183,6 +186,7 @@
fi
AC_CHECKING(for System V)
+AH_TEMPLATE([SYSV], [Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)])
AC_TRY_COMPILE(
[#include <sys/types.h>
#include <signal.h>
@@ -226,6 +230,9 @@
dnl
AC_CHECKING(BSD job jontrol)
+AH_TEMPLATE([BSDJOBS],
+[Define BSDJOBS if you have BSD-style job control (both process
+ groups and a tty that deals correctly with them)])
AC_TRY_LINK(
[#include <sys/types.h>
#include <sys/ioctl.h>
@@ -246,6 +253,10 @@
dnl **** setreuid(), seteuid() ****
dnl
AC_CHECKING(setreuid)
+AH_TEMPLATE([HAVE_SETREUID],
+[If your system has the calls setreuid() and setregid(),
+ define HAVE_SETREUID. Otherwise screen will use a forked process to
+ safely create output files without retaining any special privileges.])
AC_TRY_LINK(,[
#ifdef __hpux
setresuid(0, 0, 0);
@@ -260,6 +271,9 @@
dnl Solaris seteuid doesn't change the saved uid, bad for
dnl multiuser screen sessions
AC_CHECKING(seteuid)
+AH_TEMPLATE([HAVE_SETEUID],
+[If your system supports BSD4.4's seteuid() and setegid(), define
+ HAVE_SETEUID.])
AC_TRY_LINK(,[
#if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news)
seteuid_is_broken(0);
@@ -284,6 +298,8 @@
dnl
AC_CHECKING(fifos)
+AC_CACHE_CHECK([usable fifos],
+ [screen_cv_sys_fifo_usable],
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/stat.h>
@@ -348,12 +364,15 @@
exit(1);
exit(0);
}
-], AC_NOTE(- your fifos are usable) fifo=1,
-AC_NOTE(- your fifos are not usable))
+], screen_cv_sys_fifo_usable=yes, screen_cv_sys_fifo_usable=no))
rm -f /tmp/conftest*
-if test -n "$fifo"; then
-AC_CHECKING(for broken fifo implementation)
+if test X"$screen_cv_sys_fifo_usable" = Xyes; then
+AH_TEMPLATE([BROKEN_PIPE],
+[Define this if your system exits select() immediatly if a pipe is
+ opened read-only and no writer has opened it.])
+AC_CACHE_CHECK([broken fifo implementation],
+ [screen_cv_sys_fifo_broken_impl],
AC_TRY_RUN([
#include <sys/types.h>
#include <fcntl.h>
@@ -398,9 +416,12 @@
exit(1);
exit(0);
}
-], AC_NOTE(- your implementation is ok),
-AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1)
+], screen_cv_sys_fifo_broken_impl=no,
+screen_cv_sys_fifo_broken_impl=yes))
+if test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then
+ AC_DEFINE(BROKEN_PIPE)
+fi
rm -f /tmp/conftest*
fi
dnl
@@ -410,6 +430,8 @@
dnl
AC_CHECKING(sockets)
+AC_CACHE_CHECK([sockets are usable],
+ [screen_cv_sys_sockets_usable],
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/socket.h>
@@ -460,12 +482,16 @@
exit(1);
exit(0);
}
-], AC_NOTE(- your sockets are usable) sock=1,
-AC_NOTE(- your sockets are not usable))
-rm -f /tmp/conftest*
+], screen_cv_sys_sockets_usable=yes,
+screen_cv_sys_sockets_usable=no))
-if test -n "$sock"; then
+if test X"$screen_cv_sys_sockets_usable" = Xyes; then
AC_CHECKING(socket implementation)
+AH_TEMPLATE([SOCK_NOT_IN_FS],
+[Define this if the unix-domain socket implementation doesn't
+ create a socket in the filesystem.])
+AC_CACHE_CHECK([if sockets are not stored in the filesystem],
+ [screen_cv_sys_sockets_nofs],
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/stat.h>
@@ -491,22 +517,25 @@
close(s);
exit(0);
}
-],AC_NOTE(- you are normal),
-AC_NOTE(- unix domain sockets are not kept in the filesystem)
-AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1)
-rm -f /tmp/conftest*
+], screen_cv_sys_sockets_nofs=no,
+screen_cv_sys_sockets_nofs=yes))
+
+if test X"$screen_cv_sys_sockets_nofs" = Xyes; then
+ AC_DEFINE(SOCK_NOT_IN_FS)
+fi
fi
dnl
dnl **** choose sockets or fifos ****
dnl
-if test -n "$fifo"; then
- if test -n "$sock"; then
- if test -n "$nore"; then
+AH_TEMPLATE([NAMEDPIPE], [Define this if your system supports named pipes.])
+if test X"$screen_cv_sys_fifo_usable" = Xyes; then
+ if test X"$screen_cv_sys_sockets_usable" = Xyes; then
+ if test X"$screen_cv_sys_sockets_nofs" = Xyes; then
AC_NOTE(- hmmm... better take the fifos)
AC_DEFINE(NAMEDPIPE)
- elif test -n "$fifobr"; then
+ elif test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then
AC_NOTE(- as your fifos are broken lets use the sockets.)
else
AC_NOTE(- both sockets and fifos usable. let's take fifos.)
@@ -516,7 +545,7 @@
AC_NOTE(- using named pipes, of course)
AC_DEFINE(NAMEDPIPE)
fi
-elif test -n "$sock"; then
+elif test X"$screen_cv_sys_sockets_usable" = Xyes; then
AC_NOTE(- using unix-domain sockets, of course)
else
AC_MSG_ERROR(you have neither usable sockets nor usable pipes -> no screen)
@@ -526,7 +555,11 @@
dnl **** check the select implementation ****
dnl
-AC_CHECKING(select return value)
+AH_TEMPLATE([SELECT_BROKEN],
+[If the select return value doesn't treat a descriptor that is
+ usable for reading and writing as two hits, define SELECT_BROKEN.])
+AC_CACHE_CHECK([for broken select return value],
+ [screen_cv_sys_select_broken_retval],
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/stat.h>
@@ -625,17 +658,26 @@
exit(1);
exit(0);
}
-],AC_NOTE(- select is ok),
-AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN))
+], screen_cv_sys_select_broken_retval=no,
+screen_cv_sys_select_broken_retval=yes))
+if test X"$screen_cv_sys_select_broken_retval" = Xyes; then
+ AC_DEFINE(SELECT_BROKEN)
+fi
dnl
dnl **** termcap or terminfo ****
dnl
+AH_TEMPLATE([TERMINFO],
+[Define TERMINFO if your machine emulates the termcap routines
+ with the terminfo database.
+ Thus the .screenrc file is parsed for
+ the command 'terminfo' and not 'termcap'])
+
AC_CHECKING(for tgetent)
AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
olibs="$LIBS"
-LIBS="-lcurses $olibs"
AC_CHECKING(libcurses)
+AC_CHECK_LIB(ncursesw,tgetent)
AC_TRY_LINK(,[
#ifdef __hpux
__sorry_hpux_libcurses_is_totally_broken_in_10_10();
@@ -654,24 +696,39 @@
AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
AC_MSG_ERROR(!!! no tgetent - no screen))))))
-AC_TRY_RUN([
+AC_CACHE_CHECK([using terminfo database],[screen_cv_sys_terminfo_used],
+ AC_TRY_RUN([
main()
{
exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
-}], AC_NOTE(- you use the termcap database),
-AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO))
+}
+ ], screen_cv_sys_terminfo_used=no,
+ screen_cv_sys_terminfo_used=yes)
+)
+
+if test X"$screen_cv_sys_terminfo_used" = Xyes; then
+ AC_DEFINE(TERMINFO)
+fi
+
AC_CHECKING(ospeed)
+AH_TEMPLATE([NEED_OSPEED],[If your library does not define ospeed, define this.])
AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
dnl
dnl **** PTY specific things ****
dnl
+AH_TEMPLATE([HAVE_DEV_PTC],
+[define HAVE_DEV_PTC if you have a /dev/ptc character special
+ device.])
AC_CHECKING(for /dev/ptc)
if test -r /dev/ptc; then
AC_DEFINE(HAVE_DEV_PTC)
fi
AC_CHECKING(for SVR4 ptys)
+AH_TEMPLATE([HAVE_SVR4_PTYS],
+[define HAVE_SVR4_PTYS if you have a /dev/ptmx character special
+ device and support the ptsname(), grantpt(), unlockpt() functions.])
sysvr4ptys=
if test -c /dev/ptmx ; then
AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS)
@@ -687,6 +744,13 @@
fi
AC_CHECKING(for ptyranges)
+AH_TEMPLATE([PTYRANGE0],
+[define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen
+ to unusual environments. E.g. For SunOs the defaults are "qpr" and
+ "0123456789abcdef". For SunOs 4.1.2
+ #define PTYRANGE0 "pqrstuvwxyzPQRST"
+ is recommended by Dan Jacobson.])
+AH_TEMPLATE([PTYRANGE1],[])
if test -d /dev/ptym ; then
pdir='/dev/ptym'
else
@@ -850,20 +914,39 @@
dnl
dnl **** loadav ****
dnl
+
+AH_TEMPLATE([LOADAV],
+[If you want the "time" command to display the current load average
+ define LOADAV. Maybe you must install screen with the needed
+ privileges to read /dev/kmem.
+ Note that NLIST_ stuff is only checked, when getloadavg() is not available.
+])
+AH_TEMPLATE([LOADAV_NUM])
+AH_TEMPLATE([LOADAV_TYPE])
+AH_TEMPLATE([LOADAV_SCALE])
+AH_TEMPLATE([LOADAV_GETLOADAVG])
+AH_TEMPLATE([LOADAV_UNIX])
+AH_TEMPLATE([LOADAV_AVENRUN])
+AH_TEMPLATE([LOADAV_USE_NLIST64])
+
+AH_TEMPLATE([NLIST_DECLARED])
+AH_TEMPLATE([NLIST_STRUCT])
+AH_TEMPLATE([NLIST_NAME_UNION])
+
AC_CHECKING(for libutil(s))
-test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
-test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
+dnl I have no idea whether "login" is an appropriate symbol to check for here - Hannes
+AC_CHECK_LIB(utils,login)
+AC_CHECK_LIB(util,login)
AC_CHECKING(getloadavg)
AC_TRY_LINK(,[getloadavg((double *)0, 0);],
AC_DEFINE(LOADAV_GETLOADAVG) load=1,
-if test -f /usr/lib/libkvm.a ; then
olibs="$LIBS"
-LIBS="$LIBS -lkvm"
+AC_CHECK_LIB(kvm,kvm_open,
AC_CHECKING(getloadavg with -lkvm)
AC_TRY_LINK(,[getloadavg((double *)0, 0);],
AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs")
-fi
+)
)
if test -z "$load" ; then
@@ -1005,6 +1088,11 @@
dnl
dnl **** signal handling ****
dnl
+
+AH_TEMPLATE([SIGVOID],
+[Define SIGVOID if your signal handlers return void. On older
+ systems, signal returns int, but on newer ones, it returns void.])
+
if test -n "$posix" ; then
dnl POSIX has reliable signals with void return type.
@@ -1014,6 +1102,7 @@
else
AC_CHECKING(return type of signal handlers)
+AH_TEMPLATE([USESIGSET], [Define USESIGSET if you have sigset for BSD 4.1 reliable signals.])
AC_TRY_COMPILE(
[#include <sys/types.h>
#include <signal.h>
@@ -1033,6 +1122,9 @@
#endif
], AC_DEFINE(USESIGSET))
AC_CHECKING(signal implementation)
+AH_TEMPLATE([SYSVSIGS],
+[Define SYSVSIGS if signal handlers must be reinstalled after
+ they have been called.])
AC_TRY_RUN([
#include <sys/types.h>
#include <signal.h>
@@ -1075,13 +1167,14 @@
dnl
AC_CHECKING(for crypt and sec libraries)
-test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d"
+dnl I have no idea whether "crypt" is an appropriate symbol to check for here - Hannes
+AC_CHECK_LIB(crypt_d,crypt)
oldlibs="$LIBS"
-LIBS="$LIBS -lcrypt"
AC_CHECKING(crypt)
AC_TRY_LINK(,,,LIBS="$oldlibs")
-test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec"
-test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow"
+AC_CHECK_LIB(crypt,crypt)
+AC_CHECK_LIB(sec,crypt)
+AC_CHECK_LIB(shadow,getspnam)
oldlibs="$LIBS"
LIBS="$LIBS -lsun"
AC_CHECKING(IRIX sun library)
@@ -1104,6 +1197,13 @@
dnl **** misc things ****
dnl
AC_CHECKING(wait union)
+AH_TEMPLATE([BSDWAIT],
+[Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h>
+
+ Only allow BSDWAIT i.e. wait3 on nonposix systems, since
+ posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl
+ TODO(Hannes) shipped config.h.in does that with a #ifdef
+])
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/wait.h>
],[
@@ -1114,6 +1214,13 @@
#endif
],AC_DEFINE(BSDWAIT))
+AH_TEMPLATE([TERMIO],
+[Define TERMIO if you have struct termio instead of struct sgttyb.
+ This is usually the case for SVID systems, where BSD uses sgttyb.
+ POSIX systems should define this anyway, even though they use
+ struct termios.])
+
+
if test -z "$butterfly"; then
AC_CHECKING(for termio or termios)
AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO),
@@ -1123,17 +1230,35 @@
)
fi
+AH_TEMPLATE([CYTERMIO], [Define CYTERMIO if you have cyrillic termio modes.])
+
dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW))
AC_CHECKING(getspnam)
+AH_TEMPLATE([SHADOWPW],
+[If the passwords are stored in a shadow file and you want the
+ builtin lock to work properly, define SHADOWPW.])
AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW))
AC_CHECKING(getttyent)
+AH_TEMPLATE([GETTTYENT],
+[If your system has the new format /etc/ttys (like 4.3 BSD) and the
+ getttyent(3) library functions, define GETTTYENT.])
AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT))
AC_CHECKING(fdwalk)
+AH_TEMPLATE([HAVE_FDWALK],
+[Newer versions of Solaris include fdwalk, which can greatly improve
+ the startup time of screen; otherwise screen spends a lot of time
+ closing file descriptors.])
AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
-AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
+AH_TEMPLATE([USEBCOPY],
+[Define USEBCOPY if the bcopy/memcpy from your system's C library
+ supports the overlapping of source and destination blocks. When
+ undefined, screen uses its own (probably slower) version of bcopy().])
+
+AC_CACHE_CHECK([if bcopy handles overlap],
+ [screen_cv_sys_bcopy_overlap],
AC_TRY_RUN([
main() {
char buf[10];
@@ -1146,7 +1271,21 @@
if (strncmp(buf, "cdedef", 6))
exit(1);
exit(0); /* libc version works properly. */
-}], AC_DEFINE(USEBCOPY))
+}], screen_cv_sys_bcopy_overlap=yes,
+screen_cv_sys_bcopy_overlap=no))
+if test X"$screen_cv_sys_bcopy_overlap" = Xyes; then
+ AC_DEFINE(USEBCOPY)
+fi
+
+AH_TEMPLATE([USEMEMMOVE],
+[SYSV machines may have a working memcpy() -- Oh, this is
+ quite unlikely. Tell me if you see one.
+ "But then, memmove() should work, if at all available" he thought...
+ Boing, never say "works everywhere" unless you checked SCO UNIX.
+ Their memove fails the test in the configure script. Sigh. (Juergen)
+])
+AC_CACHE_CHECK([if memmove handles overlap],
+ [screen_cv_sys_memmove_overlap],
AC_TRY_RUN([
#define bcopy(s,d,l) memmove(d,s,l)
@@ -1161,9 +1300,15 @@
if (strncmp(buf, "cdedef", 6))
exit(1);
exit(0); /* libc version works properly. */
-}], AC_DEFINE(USEMEMMOVE))
-
+}], screen_cv_sys_memmove_overlap=yes,
+screen_cv_sys_memmove_overlap=no))
+if test X"$screen_cv_sys_memmove_overlap" = Xyes; then
+ AC_DEFINE(USEMEMMOVE)
+fi
+AH_TEMPLATE([USEMEMCPY],[])
+AC_CACHE_CHECK([if memcpy handles overlap],
+ [screen_cv_sys_memcpy_overlap],
AC_TRY_RUN([
#define bcopy(s,d,l) memcpy(d,s,l)
main() {
@@ -1177,9 +1322,19 @@
if (strncmp(buf, "cdedef", 6))
exit(1);
exit(0); /* libc version works properly. */
-}], AC_DEFINE(USEMEMCPY))
+}], screen_cv_sys_memcpy_overlap=yes,
+screen_cv_sys_memcpy_overlap=no))
+if test X"$screen_cv_sys_memcpy_overlap" = Xyes; then
+ AC_DEFINE(USEMEMCPY)
+fi
AC_MSG_CHECKING(long file names)
+AH_TEMPLATE([NAME_MAX],
+[If you are on a SYS V machine that restricts filename length to 14
+ characters, you may need to enforce that by setting NAME_MAX to 14])
+dnl TODO(Hannes) shipped config.h.in has
+dnl #undef NAME_MAX /* KEEP_UNDEF_HERE override system value */
+dnl ahead of this
(echo 1 > /tmp/conftest9012345) 2>/dev/null
(echo 2 > /tmp/conftest9012346) 2>/dev/null
val=`cat /tmp/conftest9012345 2>/dev/null`
@@ -1192,6 +1347,10 @@
rm -f /tmp/conftest*
AC_MSG_CHECKING(for vsprintf)
+AH_TEMPLATE([USEVARARGS],
+[If your system has vsprintf() and requires the use of the macros in
+ "varargs.h" to use functions with variable arguments,
+ define USEVARARGS.])
AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);],
[AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)],
[AC_MSG_RESULT(no)])
@@ -1199,12 +1358,19 @@
AC_HEADER_DIRENT
AC_MSG_CHECKING(for setenv)
+AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV])
AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV),
AC_MSG_RESULT(no)
AC_MSG_CHECKING(for putenv)
+AH_TEMPLATE([NEEDPUTENV],
+[If your system does not come with a setenv()/putenv()/getenv()
+ functions, you may bring in our own code by defining NEEDPUTENV.])
AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV)
))
AC_MSG_CHECKING([for nl_langinfo(CODESET)])
+AH_TEMPLATE([HAVE_NL_LANGINFO],
+[define HAVE_NL_LANGINFO if your system has the nl_langinfo() call
+ and <langinfo.h> defines CODESET.])
AC_TRY_LINK([
#include <langinfo.h>
],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no))
@@ -1254,7 +1420,8 @@
dnl Ptx bug workaround -- insert -lc after -ltermcap
test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq"
-AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.))
+AC_MSG_CHECKING(compiler sanity)
+AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.), AC_MSG_WARN(Skipping test due to crosscompilation))
ETCSCREENRC="\"/usr/local/etc/screenrc\""
if test -n "$prefix"; then

@ -1,79 +0,0 @@
--- configure.in.DIST 2006-10-31 21:39:07.010473000 -0800
+++ configure.in 2006-10-31 21:43:05.630162000 -0800
@@ -1211,15 +1211,32 @@
AC_HEADER_DIRENT
AC_MSG_CHECKING(for setenv)
-AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV])
-AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV),
-AC_MSG_RESULT(no)
-AC_MSG_CHECKING(for putenv)
-AH_TEMPLATE([NEEDPUTENV],
-[If your system does not come with a setenv()/putenv()/getenv()
- functions, you may bring in our own code by defining NEEDPUTENV.])
-AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV)
-))
+if test -z "$ac_setenv_args"; then
+ AC_TRY_LINK(
+ [#include <stdlib.h>],
+ [
+ setenv((char *) 0, (char *) 0, 0);
+ ], ac_setenv_args=3)
+fi
+if test -z "$ac_setenv_args"; then
+ AC_TRY_LINK(
+ [#include <stdlib.h>],
+ [
+ setenv((char *) 0, (char *) 0);
+ ], ac_setenv_args=2)
+fi
+if test -n "$ac_setenv_args"; then
+ AC_DEFINE(USESETENV)
+ if test "$ac_setenv_args" = 3; then
+ AC_DEFINE(HAVE_SETENV_3)
+ elif test "$ac_setenv_args" = 2; then
+ AC_DEFINE(HAVE_SETENV_2)
+ fi
+else
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(for putenv)
+ AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV))
+fi
AC_MSG_CHECKING([for nl_langinfo(CODESET)])
AH_TEMPLATE([HAVE_NL_LANGINFO],
[define HAVE_NL_LANGINFO if your system has the nl_langinfo() call
--- config.h.in.DIST 2006-10-31 21:43:23.233714000 -0800
+++ config.h.in 2006-10-31 21:44:27.346275000 -0800
@@ -548,6 +548,16 @@
#undef USESETENV
/*
+ * If setenv() takes 3 arguments define HAVE_SETENV_3
+ */
+#undef HAVE_SETENV_3
+
+/*
+ * If setenv() takes 2 arguments define HAVE_SETENV_2
+ */
+#undef HAVE_SETENV_2
+
+/*
* If your system does not come with a setenv()/putenv()/getenv()
* functions, you may bring in our own code by defining NEEDPUTENV.
*/
--- misc.c.DIST 2006-10-31 20:55:42.481760000 -0800
+++ misc.c 2006-10-31 21:53:24.143551000 -0800
@@ -613,11 +613,11 @@
*/
# endif /* NEEDSETENV */
#else /* USESETENV */
-# if defined(linux) || defined(__convex__) || (BSD >= 199103)
+# if HAVE_SETENV_3
setenv(var, value, 1);
# else
setenv(var, value);
-# endif /* linux || convex || BSD >= 199103 */
+# endif /* HAVE_SETENV_3 */
#endif /* USESETENV */
}

@ -1,163 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
WANT_AUTOCONF="2.5"
inherit eutils flag-o-matic toolchain-funcs pam autotools user
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
HOMEPAGE="https://www.gnu.org/software/screen/"
SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug nethack pam selinux multiuser"
DEPEND=">=sys-libs/ncurses-5.2
pam? ( virtual/pam )"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-screen )"
pkg_setup() {
# Make sure utmp group exists, as it's used later on.
enewgroup utmp 406
}
src_prepare() {
# Bug 34599: integer overflow in 4.0.1
# (Nov 29 2003 -solar)
epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
# Bug 31070: configure problem which affects alpha
# (13 Jan 2004 agriffis)
epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
# uclibc doesnt have sys/stropts.h
if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
epatch "${FILESDIR}"/4.0.2-no-pty.patch
fi
# Don't use utempter even if it is found on the system
epatch "${FILESDIR}"/4.0.2-no-utempter.patch
# Don't link against libelf even if it is found on the system
epatch "${FILESDIR}"/4.0.2-no-libelf.patch
# Patch for time function on 64bit systems
epatch "${FILESDIR}"/4.0.2-64bit-time.patch
# Patch that makes %u work for windowlist -b formats
epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
# Open tty in non-blocking mode
epatch "${FILESDIR}"/4.0.2-nonblock.patch
# compability for sys-devel/autoconf-2.62
epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
# crosscompile patch
epatch "${FILESDIR}"/"${P}"-crosscompile.patch
# sched.h is a system header and causes problems with some C libraries
mv sched.h _sched.h || die
sed -i '/include/s:sched.h:_sched.h:' screen.h || die
# Allow for more rendition (color/attribute) changes in status bars
sed -i \
-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
screen.c \
|| die "sed screen.c failed"
# Fix manpage.
sed -i \
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/usr/local/screens:${EPREFIX}/var/run/screen:g" \
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-e "s:/local/screens/S-:${EPREFIX}/var/run/screen/S-:g" \
doc/screen.1 \
|| die "sed doc/screen.1 failed"
# proper setenv detection for Solaris
epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
# Allow TERM string large enough to use with rxvt-unicode-256color
# Allow usernames up to 32 chars
epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
# support CPPFLAGS
epatch "${FILESDIR}"/${P}-cppflags.patch
sed \
-e 's:termlib:tinfo:g' \
-i configure.in || die
# reconfigure
eautoconf
}
src_configure() {
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
use nethack || append-cppflags "-DNONETHACK"
use debug && append-cppflags "-DDEBUG"
econf \
--with-socket-dir="${EPREFIX}/var/run/screen" \
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
--with-pty-mode=0620 \
--with-pty-group=5 \
--enable-rxvt_osc \
--enable-telnet \
--enable-colors256 \
$(use_enable pam) \
$(use multiuser || echo --disable-socket-dir)
# Second try to fix bug 12683, this time without changing term.h
# The last try seemed to break screen at run-time.
# (16 Jan 2003 agriffis)
LC_ALL=POSIX make term.h || die "Failed making term.h"
}
src_install() {
dobin screen
if use multiuser || use prefix
then
fperms 4755 /usr/bin/screen
else
fowners root:utmp /usr/bin/screen
fperms 2755 /usr/bin/screen
fi
insinto /usr/share/screen
doins terminfo/{screencap,screeninfo.src}
insinto /usr/share/screen/utf8encodings
doins utf8encodings/??
insinto /etc
doins "${FILESDIR}"/screenrc
pamd_mimic_system screen auth
dodoc \
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
doman doc/screen.1
doinfo doc/screen.info*
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]
then
elog "Some dangerous key bindings have been removed or changed to more safe values."
elog "We enable some xterm hacks in our default screenrc, which might break some"
elog "applications. Please check /etc/screenrc for information on these changes."
fi
}

@ -1,163 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
WANT_AUTOCONF="2.5"
inherit eutils flag-o-matic toolchain-funcs pam autotools user
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
HOMEPAGE="https://www.gnu.org/software/screen/"
SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug nethack pam selinux multiuser"
DEPEND=">=sys-libs/ncurses-5.2
pam? ( virtual/pam )"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-screen )"
pkg_setup() {
# Make sure utmp group exists, as it's used later on.
enewgroup utmp 406
}
src_prepare() {
# Bug 34599: integer overflow in 4.0.1
# (Nov 29 2003 -solar)
epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
# Bug 31070: configure problem which affects alpha
# (13 Jan 2004 agriffis)
epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
# uclibc doesnt have sys/stropts.h
if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
epatch "${FILESDIR}"/4.0.2-no-pty.patch
fi
# Don't use utempter even if it is found on the system
epatch "${FILESDIR}"/4.0.2-no-utempter.patch
# Don't link against libelf even if it is found on the system
epatch "${FILESDIR}"/4.0.2-no-libelf.patch
# Patch for time function on 64bit systems
epatch "${FILESDIR}"/4.0.2-64bit-time.patch
# Patch that makes %u work for windowlist -b formats
epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
# Open tty in non-blocking mode
epatch "${FILESDIR}"/4.0.2-nonblock.patch
# compability for sys-devel/autoconf-2.62
epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
# crosscompile patch
epatch "${FILESDIR}"/"${P}"-crosscompile.patch
# sched.h is a system header and causes problems with some C libraries
mv sched.h _sched.h || die
sed -i '/include/s:sched.h:_sched.h:' screen.h || die
# Allow for more rendition (color/attribute) changes in status bars
sed -i \
-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
screen.c \
|| die "sed screen.c failed"
# Fix manpage.
sed -i \
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/usr/local/screens:${EPREFIX}/var/run/screen:g" \
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-e "s:/local/screens/S-:${EPREFIX}/var/run/screen/S-:g" \
doc/screen.1 \
|| die "sed doc/screen.1 failed"
# proper setenv detection for Solaris
epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
# Allow TERM string large enough to use with rxvt-unicode-256color
# Allow usernames up to 32 chars
epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
# support CPPFLAGS
epatch "${FILESDIR}"/${P}-cppflags.patch
sed \
-e 's:termlib:tinfo:g' \
-i configure.in || die
# reconfigure
eautoconf
}
src_configure() {
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
use nethack || append-cppflags "-DNONETHACK"
use debug && append-cppflags "-DDEBUG"
econf \
--with-socket-dir="${EPREFIX}/var/run/screen" \
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
--with-pty-mode=0620 \
--with-pty-group=5 \
--enable-rxvt_osc \
--enable-telnet \
--enable-colors256 \
$(use_enable pam) \
$(use multiuser || echo --disable-socket-dir)
# Second try to fix bug 12683, this time without changing term.h
# The last try seemed to break screen at run-time.
# (16 Jan 2003 agriffis)
LC_ALL=POSIX make term.h || die "Failed making term.h"
}
src_install() {
dobin screen
if use multiuser || use prefix
then
fperms 4755 /usr/bin/screen
else
fowners root:utmp /usr/bin/screen
fperms 2755 /usr/bin/screen
fi
insinto /usr/share/screen
doins terminfo/{screencap,screeninfo.src}
insinto /usr/share/screen/utf8encodings
doins utf8encodings/??
insinto /etc
doins "${FILESDIR}"/screenrc
pamd_mimic_system screen auth
dodoc \
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
doman doc/screen.1
doinfo doc/screen.info*
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]
then
elog "Some dangerous key bindings have been removed or changed to more safe values."
elog "We enable some xterm hacks in our default screenrc, which might break some"
elog "applications. Please check /etc/screenrc for information on these changes."
fi
}

@ -1,173 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
WANT_AUTOCONF="2.5"
inherit eutils flag-o-matic toolchain-funcs pam autotools user
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
HOMEPAGE="https://www.gnu.org/software/screen/"
SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug nethack pam selinux multiuser"
DEPEND=">=sys-libs/ncurses-5.2
pam? ( virtual/pam )"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-screen )
!<sys-apps/openrc-0.11.6"
pkg_setup() {
# Make sure utmp group exists, as it's used later on.
enewgroup utmp 406
}
src_prepare() {
# Bug 34599: integer overflow in 4.0.1
# (Nov 29 2003 -solar)
epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
# Bug 31070: configure problem which affects alpha
# (13 Jan 2004 agriffis)
epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
# uclibc doesnt have sys/stropts.h
if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
epatch "${FILESDIR}"/4.0.2-no-pty.patch
fi
# Don't use utempter even if it is found on the system
epatch "${FILESDIR}"/4.0.2-no-utempter.patch
# Don't link against libelf even if it is found on the system
epatch "${FILESDIR}"/4.0.2-no-libelf.patch
# Patch for time function on 64bit systems
epatch "${FILESDIR}"/4.0.2-64bit-time.patch
# Patch that makes %u work for windowlist -b formats
epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
# Open tty in non-blocking mode
epatch "${FILESDIR}"/4.0.2-nonblock.patch
# compability for sys-devel/autoconf-2.62
epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
# crosscompile patch
epatch "${FILESDIR}"/"${P}"-crosscompile.patch
# sched.h is a system header and causes problems with some C libraries
mv sched.h _sched.h || die
sed -i '/include/s:sched.h:_sched.h:' screen.h || die
# Allow for more rendition (color/attribute) changes in status bars
sed -i \
-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
screen.c \
|| die "sed screen.c failed"
# Fix manpage.
sed -i \
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/usr/local/screens:${EPREFIX}/run/screen:g" \
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-e "s:/local/screens/S-:${EPREFIX}/run/screen/S-:g" \
doc/screen.1 \
|| die "sed doc/screen.1 failed"
# proper setenv detection for Solaris
epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
# Allow TERM string large enough to use with rxvt-unicode-256color
# Allow usernames up to 32 chars
epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
# support CPPFLAGS
epatch "${FILESDIR}"/${P}-cppflags.patch
sed \
-e 's:termlib:tinfo:g' \
-i configure.in || die
# reconfigure
eautoconf
}
src_configure() {
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
use nethack || append-cppflags "-DNONETHACK"
use debug && append-cppflags "-DDEBUG"
econf \
--with-socket-dir="${EPREFIX}/run/screen" \
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
--with-pty-mode=0620 \
--with-pty-group=5 \
--enable-rxvt_osc \
--enable-telnet \
--enable-colors256 \
$(use_enable pam)
# Second try to fix bug 12683, this time without changing term.h
# The last try seemed to break screen at run-time.
# (16 Jan 2003 agriffis)
LC_ALL=POSIX make term.h || die "Failed making term.h"
}
src_install() {
local tmpfiles_perms tmpfiles_group
dobin screen
if use multiuser ; then
use prefix || fperms 4755 /usr/bin/screen
tmpfiles_perms="0755"
tmpfiles_group="root"
else
fowners root:utmp /usr/bin/screen
fperms 2755 /usr/bin/screen
tmpfiles_perms="0775"
tmpfiles_group="utmp"
fi
dodir /etc/tmpfiles.d
echo "d /run/screen ${tmpfiles_perms} root ${tmpfiles_group}" >"${ED}"/etc/tmpfiles.d/screen.conf
insinto /usr/share/screen
doins terminfo/{screencap,screeninfo.src}
insinto /usr/share/screen/utf8encodings
doins utf8encodings/??
insinto /etc
doins "${FILESDIR}"/screenrc
pamd_mimic_system screen auth
dodoc \
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
doman doc/screen.1
doinfo doc/screen.info*
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]
then
elog "Some dangerous key bindings have been removed or changed to more safe values."
elog "We enable some xterm hacks in our default screenrc, which might break some"
elog "applications. Please check /etc/screenrc for information on these changes."
fi
ewarn "This revision changes the screen socket location to /run/screen."
}

@ -1,146 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit autotools eutils flag-o-matic pam toolchain-funcs user
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
HOMEPAGE="https://www.gnu.org/software/screen/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=" ~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug nethack pam selinux multiuser"
CDEPEND="
>=sys-libs/ncurses-5.2:0=
pam? ( virtual/pam )"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-screen )"
DEPEND="${CDEPEND}
sys-apps/texinfo"
pkg_setup() {
# Make sure utmp group exists, as it's used later on.
enewgroup utmp 406
}
src_prepare() {
# Don't use utempter even if it is found on the system
epatch "${FILESDIR}"/4.0.2-no-utempter.patch
# sched.h is a system header and causes problems with some C libraries
mv sched.h _sched.h || die
sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
# Fix manpage.
sed -i \
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-e "s:/local/screens/S-:${EPREFIX}/tmp/screen/S-:g" \
doc/screen.1 \
|| die
# reconfigure
eautoreconf
}
src_configure() {
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
if [[ ${CHOST} == *-solaris* ]] ; then
# https://lists.gnu.org/archive/html/screen-devel/2014-04/msg00095.html
append-cppflags -D_XOPEN_SOURCE \
-D_XOPEN_SOURCE_EXTENDED=1 \
-D__EXTENSIONS__
append-libs -lsocket -lnsl
fi
use nethack || append-cppflags "-DNONETHACK"
use debug && append-cppflags "-DDEBUG"
econf \
--with-socket-dir="${EPREFIX}/tmp/screen" \
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
--with-pty-mode=0620 \
--with-pty-group=5 \
--enable-rxvt_osc \
--enable-telnet \
--enable-colors256 \
$(use_enable pam)
}
src_compile() {
LC_ALL=POSIX emake comm.h term.h
emake osdef.h
emake -C doc screen.info
default
}
src_install() {
local tmpfiles_perms tmpfiles_group
dobin screen
if use multiuser || use prefix
then
fperms 4755 /usr/bin/screen
tmpfiles_perms="0755"
tmpfiles_group="root"
else
fowners root:utmp /usr/bin/screen
fperms 2755 /usr/bin/screen
tmpfiles_perms="0775"
tmpfiles_group="utmp"
fi
dodir /etc/tmpfiles.d
echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
> "${ED}"/etc/tmpfiles.d/screen.conf
insinto /usr/share/screen
doins terminfo/{screencap,screeninfo.src}
insinto /usr/share/screen/utf8encodings
doins utf8encodings/??
insinto /etc
doins "${FILESDIR}"/screenrc
pamd_mimic_system screen auth
dodoc \
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
doman doc/screen.1
doinfo doc/screen.info
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]
then
elog "Some dangerous key bindings have been removed or changed to more safe values."
elog "We enable some xterm hacks in our default screenrc, which might break some"
elog "applications. Please check /etc/screenrc for information on these changes."
fi
# Add /tmp/screen in case it doesn't exist yet. This should solve
# problems like bug #508634 where tmpfiles.d isn't in effect.
local rundir="${EROOT%/}/tmp/screen"
if [[ ! -d ${rundir} ]] ; then
if use multiuser || use prefix ; then
tmpfiles_group="root"
else
tmpfiles_group="utmp"
fi
mkdir -m 0775 "${rundir}"
chgrp ${tmpfiles_group} "${rundir}"
fi
ewarn "This revision changes the screen socket location to ${rundir}"
}

@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug nethack pam selinux multiuser"
CDEPEND="

@ -1,146 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit autotools eutils flag-o-matic pam toolchain-funcs user
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
HOMEPAGE="https://www.gnu.org/software/screen/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug nethack pam selinux multiuser"
CDEPEND="
>=sys-libs/ncurses-5.2:0=
pam? ( virtual/pam )"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-screen )"
DEPEND="${CDEPEND}
sys-apps/texinfo"
pkg_setup() {
# Make sure utmp group exists, as it's used later on.
enewgroup utmp 406
}
src_prepare() {
# Don't use utempter even if it is found on the system
epatch "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
# sched.h is a system header and causes problems with some C libraries
mv sched.h _sched.h || die
sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
# Fix manpage.
sed -i \
-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-e "s:/local/screens/S-:${EPREFIX}/tmp/screen/S-:g" \
doc/screen.1 \
|| die
# reconfigure
eautoreconf
}
src_configure() {
append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
if [[ ${CHOST} == *-solaris* ]] ; then
# https://lists.gnu.org/archive/html/screen-devel/2014-04/msg00095.html
append-cppflags -D_XOPEN_SOURCE \
-D_XOPEN_SOURCE_EXTENDED=1 \
-D__EXTENSIONS__
append-libs -lsocket -lnsl
fi
use nethack || append-cppflags "-DNONETHACK"
use debug && append-cppflags "-DDEBUG"
econf \
--with-socket-dir="${EPREFIX}/tmp/screen" \
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
--with-pty-mode=0620 \
--with-pty-group=5 \
--enable-rxvt_osc \
--enable-telnet \
--enable-colors256 \
$(use_enable pam)
}
src_compile() {
LC_ALL=POSIX emake comm.h term.h
emake osdef.h
emake -C doc screen.info
default
}
src_install() {
local tmpfiles_perms tmpfiles_group
dobin screen
if use multiuser || use prefix
then
fperms 4755 /usr/bin/screen
tmpfiles_perms="0755"
tmpfiles_group="root"
else
fowners root:utmp /usr/bin/screen
fperms 2755 /usr/bin/screen
tmpfiles_perms="0775"
tmpfiles_group="utmp"
fi
dodir /etc/tmpfiles.d
echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
> "${ED}"/etc/tmpfiles.d/screen.conf
insinto /usr/share/screen
doins terminfo/{screencap,screeninfo.src}
insinto /usr/share/screen/utf8encodings
doins utf8encodings/??
insinto /etc
doins "${FILESDIR}"/screenrc
pamd_mimic_system screen auth
dodoc \
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
doman doc/screen.1
doinfo doc/screen.info
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]
then
elog "Some dangerous key bindings have been removed or changed to more safe values."
elog "We enable some xterm hacks in our default screenrc, which might break some"
elog "applications. Please check /etc/screenrc for information on these changes."
fi
# Add /tmp/screen in case it doesn't exist yet. This should solve
# problems like bug #508634 where tmpfiles.d isn't in effect.
local rundir="${EROOT%/}/tmp/screen"
if [[ ! -d ${rundir} ]] ; then
if use multiuser || use prefix ; then
tmpfiles_group="root"
else
tmpfiles_group="utmp"
fi
mkdir -m 0775 "${rundir}"
chgrp ${tmpfiles_group} "${rundir}"
fi
ewarn "This revision changes the screen socket location to ${rundir}"
}

@ -21,6 +21,7 @@ IUSE=""
DEPEND=""
RDEPEND="${PYTHON_DEPS}
!>=dev-python/pillow-3.0.0
app-text/pdftk
virtual/python-imaging[${PYTHON_USEDEP}]
dev-python/pygame[${PYTHON_USEDEP}]

@ -35,6 +35,12 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S=${WORKDIR}/${MY_PN}-${PV}
src_prepare() {
sed \
-e 's:tostring:tobytes:g' \
-i impressive.py || die
}
src_install() {
python_foreach_impl python_doscript ${PN}.py

@ -9,7 +9,9 @@ DIST d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz 16525605 SHA256 1f188ac0
DIST libreoffice-4.4.5.2.tar.xz 164472672 SHA256 3aeb4f08918c6ca6ec12fc47c2be690d2180c2e41cc3136b6ed36185b89cec0d SHA512 15abecb02d8ca478cb7d006834c8670b9e42d3e5d8ec772e9a1d805dbd2ef1145092d1d4e3a6531f21eeb75210c1354e91c4d3abeec97103ad4c3092b7b7273b WHIRLPOOL a06c9e520e6f2b40c90cb703689527faf9ed6dbe0c0c3810ad276933daa21d56465c286d3de0fe6d5330be7968ae77cff1d30151d62fb34cc7fb57535e82edd6
DIST libreoffice-5.0.1.2.tar.xz 167364360 SHA256 0751b9caebeb54e2c6702a58aae66a29ac59414088ccd4e7d84625d02d0fd21a SHA512 d58d104705fd80425a00ce61771dbd4bef74cda20028fb2afcc1ea44aa304048b8e96bf654ecc2619362a09d05801212bee1e9bc9c80e693c986021a55c0e725 WHIRLPOOL eadd72f705745632c05efcb2e4c85c3440be18f16f16805f241a653c39f204145a10e6e2cbb432d3a4801e652affd677756ee1f6cad1db120c5ffc47843a89f6
DIST libreoffice-5.0.2.2.tar.xz 166869100 SHA256 01f0680709432039762fa608bcb1240786d2b6549099a96095aab92dcebbc176 SHA512 7a72ed01b0f9fc131b7241ea4d1bb70bc813752e33d8e823e91a769d77308d2eec2d32a0fac61bdb41fd605a6f91dbaa3d5478a0b150e64fa9f7e47724f46cce WHIRLPOOL 85a592a0f478b1957d22d932adee758d48084c0c7ee00c0549fa8c956fd30f5eead09f6fc802d22d9613bda8da0c708ec99fb6d10fd82e0922c6da96a326a14c
DIST libreoffice-5.0.3.1.tar.xz 166989184 SHA256 5502477772d6b986fc0486e7ec4e1fd7d99796f9bf63610d4dec84d77f165585 SHA512 0e157f2f126f530dbcf4849a78ce04e6abb92aed3308aae5d0b644377afea572869660624ef4ceeedcb29eaefb3c9e6defd1241a4e6be931dd39a7286325a288 WHIRLPOOL 3074c618bf98f88de6b21759c6b183e2c836e0f1577ed5b1af4eb2cd1de71b606abc151a29d2f491f4bdfbecd1f6df9eb3f21252c81205c4edcfbd1ae9611619
DIST libreoffice-branding-gentoo-0.8.tar.xz 151568 SHA256 22722121be062742624e0634beae92289c75e6a99ed507d3bf0a05c5164e3c69 SHA512 785031a699b1d1895ce4b50ffc3ddf645f3a0ef9acdf37facfd18cf75db9484cb8f53a50abb63d6006ead76a80b6ff5aa99661063245ebb84bd64013d713de7f WHIRLPOOL 1f36652a52d501d6548cfa9aa013b3e3a1867aa2b0693d2274cf7816d4aa4e0cde3c7096cc71ed47cf74e5f96da2757bf537f553021f8fd86939accb227bf538
DIST libreoffice-help-4.4.5.2.tar.xz 1876044 SHA256 66044aaff17cdf4d523ceea00197381bb50d4cb86359be83016a838c27761681 SHA512 0d75f41fa3a7593c621fb3cd6e7f94fe24cb5d5251e05f9e67f58e6603853cceb2b4df2cb28228e7bf464d053b5ce068bcae752bdf6ba977fdde20882540c869 WHIRLPOOL 2715278ed374f8850ccd79e94682cc003b69501c7863c84b3dc609b0377277fa523bc8eba41d8045bff344b1cc70f08171f8acc1aebb47914a4ac190ee66bc49
DIST libreoffice-help-5.0.1.2.tar.xz 1884112 SHA256 c71db94564307f4bcea4d556a37d5ea946c87007fbf03fc7801fbe7bc197e947 SHA512 edea7ade0a4a742788b8ceba627e9afe7ed29b4feaf6d091023697fb676421ee0a191e592991c6627d22ba7a41af2d847b188c23e42ef25f1067533b5d2a80c2 WHIRLPOOL fc54629ee68f7c22ab07295b2569313a129f63850e67f1f3bd50bdc20a3d494ad48ca14f14f0a440fef78cceed2117ba31cac0930ac5b0382f285a31acc77b86
DIST libreoffice-help-5.0.2.2.tar.xz 1882964 SHA256 4342a5593ba8a33b1d63549f256a4127a0b51cc1a53faffdc2708f04fef5f094 SHA512 1000423578211dc843dcedb9f864634235ab09d5234f8d8fe2897065207bdf6cd3bca7cdc1b3c012de0c78b585978a25c0df5048779bd0b9a734c9160064e313 WHIRLPOOL 8b92bcd19487c1c286a477ff0dc1b7e6bd9aaf862cfe002fadc25d461add4c4f2f8ee1e45ac0426dc2d27a6322317cacb7f65e9d0a6e6d6dad01075d18476363
DIST libreoffice-help-5.0.3.1.tar.xz 1882408 SHA256 22187900e65408f03ecb0a6463d7587ca27e32cd341d9ba0e55a99d8cdb3bc45 SHA512 25bcc9343b6df145618e6e6a6427173418243bdc066b447764999704ffae2dcafa1a295828512aa3c8362e9a843267b7634d6b2c268bb57587fdd77c03b37522 WHIRLPOOL cce758b2a8d66218bd94c4c66680a847cb5a0b9583798e8252acbd491bd18cfca56951fddc17ae270f69423346a7023f078d655bd6c07a51abef04887e0c4d51

@ -271,7 +271,7 @@ REQUIRED_USE="
"
CHECKREQS_MEMORY="512M"
CHECKREQS_DISK_BUILD="6G"
if [[ ${MERGE_TYPE} != binary ]] ; then CHECKREQS_DISK_BUILD="6G" ; fi
pkg_pretend() {
local pgslot

@ -260,7 +260,7 @@ REQUIRED_USE="
"
CHECKREQS_MEMORY="512M"
CHECKREQS_DISK_BUILD="6G"
if [[ ${MERGE_TYPE} != binary ]] ; then CHECKREQS_DISK_BUILD="6G" ; fi
pkg_pretend() {
local pgslot

@ -260,7 +260,7 @@ REQUIRED_USE="
"
CHECKREQS_MEMORY="512M"
CHECKREQS_DISK_BUILD="6G"
if [[ ${MERGE_TYPE} != binary ]] ; then CHECKREQS_DISK_BUILD="6G" ; fi
pkg_pretend() {
local pgslot

@ -0,0 +1,609 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
KDE_REQUIRED="optional"
QT_MINIMAL="4.7.4"
KDE_SCM="git"
CMAKE_REQUIRED="never"
PYTHON_COMPAT=( python2_7 python3_4 )
PYTHON_REQ_USE="threads,xml"
# experimental ; release ; old
# Usually the tarballs are moved a lot so this should make
# everyone happy.
DEV_URI="
http://dev-builds.libreoffice.org/pre-releases/src
http://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
http://download.documentfoundation.org/libreoffice/old/${PV}/
"
EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
ADDONS_URI="http://dev-www.libreoffice.org/src/"
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
# PATCHSET="${P}-patchset-01.tar.xz"
[[ ${PV} == *9999* ]] && SCM_ECLASS="git-r3"
inherit base multiprocessing autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python-single-r1 multilib toolchain-funcs flag-o-matic versionator ${SCM_ECLASS}
unset SCM_ECLASS
DESCRIPTION="LibreOffice, a full office productivity suite"
HOMEPAGE="http://www.libreoffice.org"
SRC_URI="branding? ( http://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}"
# Split modules following git/tarballs
# Core MUST be first!
# Help is used for the image generator
MODULES="core help"
# Only release has the tarballs
if [[ ${PV} != *9999* ]]; then
for i in ${DEV_URI}; do
for mod in ${MODULES}; do
if [[ ${mod} == core ]]; then
SRC_URI+=" ${i}/${P}.tar.xz"
else
SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz"
fi
done
unset mod
done
unset i
fi
unset DEV_URI
# Really required addons
# These are bundles that can't be removed for now due to huge patchsets.
# If you want them gone, patches are welcome.
ADDONS_SRC+=" ${ADDONS_URI}/d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz"
ADDONS_SRC+=" ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" # modifies source code
ADDONS_SRC+=" collada? ( ${ADDONS_URI}/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2 )"
ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
ADDONS_SRC+=" libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" # no release for 8 years, should we package it?
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" # Does not build with 1.6 rhino at all
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" # requirement of rhino
ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" # not packageable
SRC_URI+=" ${ADDONS_SRC}"
unset ADDONS_URI
unset EXT_URI
unset ADDONS_SRC
IUSE="bluetooth +branding coinmp collada +cups dbus debug eds firebird gltf gnome gstreamer
+gtk gtk3 jemalloc kde libressl mysql odk postgres telepathy test vlc"
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
# Unpackaged separate extensions:
# diagram: lo has 0.9.5 upstream is weirdly patched 0.9.4 -> wtf?
# hunart: only on ooo extensions -> fubared download path somewhere on sf
# numbertext, typo, validator, watch-window: ^^
# oooblogger: no homepage or anything
# Extensions that need extra work:
for lo_xt in ${LO_EXTS}; do
IUSE+=" libreoffice_extensions_${lo_xt}"
done
unset lo_xt
LICENSE="|| ( LGPL-3 MPL-1.1 )"
SLOT="0"
[[ ${PV} == *9999* ]] || \
KEYWORDS=""
# KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
COMMON_DEPEND="
${PYTHON_DEPS}
app-arch/zip
app-arch/unzip
>=app-text/hunspell-1.3.2-r3
app-text/mythes
>=app-text/libabw-0.1.0
>=app-text/libexttextcat-3.2
>=app-text/libebook-0.1.1
>=app-text/libetonyek-0.1.2
app-text/liblangtag
>=app-text/libmspub-0.1.0
>=app-text/libmwaw-0.3.5
>=app-text/libodfgen-0.1.0
app-text/libwpd:0.10[tools]
app-text/libwpg:0.3
=app-text/libwps-0.4*
>=app-text/poppler-0.16:=[xpdf-headers(+),cxx]
>=dev-cpp/clucene-2.3.3.4-r2
=dev-cpp/libcmis-0.5*
dev-db/unixODBC
>=dev-libs/boost-1.55:=
dev-libs/expat
>=dev-libs/hyphen-2.7.1
>=dev-libs/icu-4.8.1.1:=
=dev-libs/liborcus-0.7*
>=dev-libs/librevenge-0.0.1
>=dev-libs/nspr-4.8.8
>=dev-libs/nss-3.12.9
>=dev-lang/perl-5.0
!libressl? ( >=dev-libs/openssl-1.0.0d:0 )
libressl? ( dev-libs/libressl )
>=dev-libs/redland-1.0.16
media-gfx/graphite2
>=media-libs/fontconfig-2.8.0
media-libs/freetype:2
>=media-libs/glew-1.10
>=media-libs/harfbuzz-0.9.18:=[icu(+)]
media-libs/lcms:2
>=media-libs/libpng-1.4:0=
>=media-libs/libcdr-0.1.0
>=media-libs/libfreehand-0.1.0
media-libs/libpagemaker
>=media-libs/libvisio-0.1.0
>=net-misc/curl-7.21.4
net-libs/neon
net-nds/openldap
sci-mathematics/lpsolve
virtual/jpeg:0
>=x11-libs/cairo-1.10.0[X]
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
virtual/glu
virtual/opengl
bluetooth? ( net-wireless/bluez )
coinmp? ( sci-libs/coinor-mp )
collada? ( >=media-libs/opencollada-1.2.2_p20150207 )
cups? ( net-print/cups )
dbus? ( >=dev-libs/dbus-glib-0.92 )
eds? ( gnome-extra/evolution-data-server )
firebird? ( >=dev-db/firebird-2.5 )
gltf? ( media-libs/libgltf )
gnome? ( gnome-base/gconf:2 )
gtk? (
x11-libs/gdk-pixbuf[X]
>=x11-libs/gtk+-2.24:2
)
gtk3? ( >=x11-libs/gtk+-3.8:3 )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)
jemalloc? ( dev-libs/jemalloc )
libreoffice_extensions_scripting-beanshell? ( >=dev-java/bsh-2.0_beta4 )
libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
libreoffice_extensions_wiki-publisher? (
dev-java/commons-codec:0
dev-java/commons-httpclient:3
dev-java/commons-lang:2.1
dev-java/commons-logging:0
dev-java/tomcat-servlet-api:3.0
)
mysql? ( >=dev-db/mysql-connector-c++-1.1.0 )
postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
telepathy? (
dev-libs/glib:2
>=net-libs/telepathy-glib-0.18.0
>=x11-libs/gtk+-2.24:2
)
"
RDEPEND="${COMMON_DEPEND}
!app-office/libreoffice-bin
!app-office/libreoffice-bin-debug
!<app-office/openoffice-bin-3.4.0-r1
!app-office/openoffice
media-fonts/libertine
media-fonts/liberation-fonts
media-fonts/urw-fonts
java? ( >=virtual/jre-1.6 )
kde? ( $(add_kdeapps_dep kioclient) )
vlc? ( media-video/vlc )
"
if [[ ${PV} != *9999* ]]; then
PDEPEND="=app-office/libreoffice-l10n-$(get_version_component_range 1-2)*"
else
# Translations are not reliable on live ebuilds
# rather force people to use english only.
PDEPEND="!app-office/libreoffice-l10n"
fi
# FIXME: cppunit should be moved to test conditional
# after everything upstream is under gbuild
# as dmake execute tests right away
DEPEND="${COMMON_DEPEND}
>=dev-libs/libatomic_ops-7.2d
>=dev-libs/libxml2-2.7.8
dev-libs/libxslt
dev-perl/Archive-Zip
dev-util/cppunit
>=dev-util/gperf-3
dev-util/intltool
>=dev-util/mdds-0.12.0:=
media-libs/glm
net-misc/npapi-sdk
>=sys-apps/findutils-4.4.2
sys-devel/bison
sys-apps/coreutils
sys-devel/flex
sys-devel/gettext
>=sys-devel/make-3.82
sys-devel/ucpp
sys-libs/zlib
virtual/pkgconfig
x11-libs/libXt
x11-libs/libXtst
x11-proto/randrproto
x11-proto/xextproto
x11-proto/xineramaproto
x11-proto/xproto
java? (
>=virtual/jdk-1.6
>=dev-java/ant-core-1.7
)
odk? ( >=app-doc/doxygen-1.8.4 )
test? ( dev-util/cppunit )
"
PATCHES=(
# not upstreamable stuff
"${FILESDIR}/${PN}-4.4-system-pyuno.patch"
)
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
bluetooth? ( dbus )
collada? ( gltf )
gnome? ( gtk )
eds? ( gnome )
telepathy? ( gtk )
libreoffice_extensions_nlpsolver? ( java )
libreoffice_extensions_scripting-beanshell? ( java )
libreoffice_extensions_scripting-javascript? ( java )
libreoffice_extensions_wiki-publisher? ( java )
"
CHECKREQS_MEMORY="512M"
if [[ ${MERGE_TYPE} != binary ]] ; then CHECKREQS_DISK_BUILD="6G" ; fi
pkg_pretend() {
local pgslot
if [[ ${MERGE_TYPE} != binary ]]; then
check-reqs_pkg_pretend
if [[ $(gcc-major-version) -lt 4 ]] || \
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
; then
eerror "Compilation with gcc older than 4.6 is not supported"
die "Too old gcc found."
fi
fi
# Ensure pg version but we have to be sure the pg is installed (first
# install on clean system)
if use postgres && has_version dev-db/postgresql; then
pgslot=$(postgresql-config show)
if [[ ${pgslot//.} < 90 ]] ; then
eerror "PostgreSQL slot must be set to 9.0 or higher."
eerror " postgresql-config set 9.0"
die "PostgreSQL slot is not set to 9.0 or higher."
fi
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
kde4-base_pkg_setup
python-single-r1_pkg_setup
[[ ${MERGE_TYPE} != binary ]] && check-reqs_pkg_setup
}
src_unpack() {
local mod mod2 dest tmplfile tmplname mypv
[[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
use branding && unpack "${BRANDING}"
if [[ ${PV} != *9999* ]]; then
unpack "${P}.tar.xz"
for mod in ${MODULES}; do
[[ ${mod} == core ]] && continue
unpack "${PN}-${mod}-${PV}.tar.xz"
done
else
for mod in ${MODULES}; do
mypv=${PV/.9999}
[[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}"
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
[[ ${mod} != core ]] && EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-${mod}-${PV}"
EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}"
git-r3_src_unpack
if [[ ${mod} != core ]]; then
mod2=${mod}
# mapping does not match on help
[[ ${mod} == help ]] && mod2="helpcontent2"
mkdir -p "${S}/${mod2}/" || die
mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}/${mod2}" || die
rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
fi
done
unset EGIT_CHECKOUT_DIR EGIT_REPO_URI EGIT_BRANCH
fi
}
src_prepare() {
# optimization flags
export GMAKE_OPTIONS="${MAKEOPTS}"
# System python 2.7 enablement:
export PYTHON_CFLAGS=$(python_get_CFLAGS)
export PYTHON_LIBS=$(python_get_LIBS)
if use collada; then
export OPENCOLLADA_CFLAGS="-I/usr/include/opencollada/COLLADABaseUtils -I/usr/include/opencollada/COLLADAFramework -I/usr/include/opencollada/COLLADASaxFrameworkLoader -I/usr/include/opencollada/GeneratedSaxParser"
export OPENCOLLADA_LIBS="-L /usr/$(get_libdir)/opencollada -lOpenCOLLADABaseUtils -lOpenCOLLADAFramework -lOpenCOLLADASaxFrameworkLoader -lGeneratedSaxParser"
fi
# patchset
if [[ -n ${PATCHSET} ]]; then
EPATCH_FORCE="yes" \
EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \
EPATCH_SUFFIX="patch" \
epatch
fi
base_src_prepare
AT_M4DIR="m4" eautoreconf
# hack in the autogen.sh
touch autogen.lastrun
# system pyuno mess
sed \
-e "s:%eprefix%:${EPREFIX}:g" \
-e "s:%libdir%:$(get_libdir):g" \
-i pyuno/source/module/uno.py \
-i pyuno/source/officehelper.py || die
# sed in the tests
sed -i \
-e 's#all : build unitcheck#all : build#g' \
solenv/gbuild/Module.mk || die
sed -i \
-e 's#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g' \
-e 's#Makefile.gbuild all slowcheck#Makefile.gbuild all#g' \
Makefile.in || die
if use branding; then
# hack...
mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
fi
}
src_configure() {
local java_opts
local internal_libs
local lo_ext
local ext_opts
# sane: just sane.h header that is used for scan in writer, not
# linked or anything else, worthless to depend on
# vigra: just uses templates from there
# it is serious pain in the ass for packaging
# should be replaced by boost::gil if someone interested
internal_libs+="
--without-system-sane
--without-system-vigra
"
# libreoffice extensions handling
for lo_xt in ${LO_EXTS}; do
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt})"
else
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})"
fi
done
if use java; then
# hsqldb: system one is too new
java_opts="
--without-junit
--without-system-hsqldb
--with-ant-home="${ANT_HOME}"
--with-jdk-home=$(java-config --jdk-home 2>/dev/null)
--with-jvm-path="${EPREFIX}/usr/lib/"
"
use libreoffice_extensions_scripting-beanshell && \
java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)"
use libreoffice_extensions_scripting-javascript && \
java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)"
if use libreoffice_extensions_wiki-publisher; then
java_opts+="
--with-commons-codec-jar=$(java-pkg_getjar commons-codec commons-codec.jar)
--with-commons-httpclient-jar=$(java-pkg_getjar commons-httpclient-3 commons-httpclient.jar)
--with-commons-lang-jar=$(java-pkg_getjar commons-lang-2.1 commons-lang.jar)
--with-commons-logging-jar=$(java-pkg_getjar commons-logging commons-logging.jar)
--with-servlet-api-jar=$(java-pkg_getjar tomcat-servlet-api-3.0 servlet-api.jar)
"
fi
fi
# system headers/libs/...: enforce using system packages
# --enable-cairo: ensure that cairo is always required
# --enable-graphite: disabling causes build breakages
# --enable-*-link: link to the library rather than just dlopen on runtime
# --enable-release-build: build the libreoffice as release
# --disable-fetch-external: prevent dowloading during compile phase
# --disable-gnome-vfs: old gnome virtual fs support
# --disable-kdeab: kde3 adressbook
# --disable-kde: kde3 support
# --disable-systray: quickstarter does not actually work at all so do not
# promote it
# --enable-extension-integration: enable any extension integration support
# --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
# --disable-report-builder: too much java packages pulled in without pkgs
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}/" \
--with-system-headers \
--with-system-libs \
--with-system-jars \
--with-system-dicts \
--enable-cairo-canvas \
--enable-graphite \
--enable-largefile \
--enable-mergelibs \
--enable-neon \
--enable-python=system \
--enable-randr \
--enable-randr-link \
--enable-release-build \
--disable-hardlink-deliver \
--disable-ccache \
--disable-crashdump \
--disable-dependency-tracking \
--disable-epm \
--disable-fetch-external \
--disable-gnome-vfs \
--disable-gstreamer-0-10 \
--disable-report-builder \
--disable-kdeab \
--disable-kde \
--disable-online-update \
--disable-systray \
--with-alloc=$(use jemalloc && echo "jemalloc" || echo "system") \
--with-build-version="Gentoo official package" \
--enable-extension-integration \
--with-external-dict-dir="${EPREFIX}/usr/share/myspell" \
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell" \
--with-external-thes-dir="${EPREFIX}/usr/share/myspell" \
--with-external-tar="${DISTDIR}" \
--with-lang="" \
--with-parallelism=$(makeopts_jobs) \
--with-system-ucpp \
--with-vendor="Gentoo Foundation" \
--with-x \
--without-fonts \
--without-myspell-dicts \
--without-help \
--with-helppack-integration \
--without-sun-templates \
$(use_enable bluetooth sdremote-bluetooth) \
$(use_enable coinmp) \
$(use_enable collada) \
$(use_enable cups) \
$(use_enable debug) \
$(use_enable dbus) \
$(use_enable eds evolution2) \
$(use_enable firebird firebird-sdbc) \
$(use_enable gltf) \
$(use_enable gnome gconf) \
$(use_enable gnome gio) \
$(use_enable gnome lockdown) \
$(use_enable gstreamer gstreamer-1-0) \
$(use_enable gtk) \
$(use_enable gtk3) \
$(use_enable kde kde4) \
$(use_enable mysql ext-mariadb-connector) \
$(use_enable odk) \
$(use_enable postgres postgresql-sdbc) \
$(use_enable telepathy) \
$(use_enable vlc) \
$(use_with coinmp system-coinmp) \
$(use_with collada system-opencollada) \
$(use_with gltf system-libgltf) \
$(use_with java) \
$(use_with mysql system-mysql-cppconn) \
$(use_with odk doxygen) \
${internal_libs} \
${java_opts} \
${ext_opts}
}
src_compile() {
# more and more LO stuff tries to use OpenGL, including tests during build
# bug 501508, bug 540624, bug 545974 and probably more
addpredict /dev/dri
addpredict /dev/ati
addpredict /dev/nvidiactl
# hack for offlinehelp, this needs fixing upstream at some point
# it is broken because we send --without-help
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
(
grep "^export" "${S}/config_host.mk" > "${T}/config_host.mk"
source "${T}/config_host.mk" 2&> /dev/null
local path="${WORKDIR}/helpcontent2/source/auxiliary/"
mkdir -p "${path}" || die
echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=icon-themes/galaxy/res/helpimg > \"${path}/helpimg.ilst\""
perl "${S}/helpcontent2/helpers/create_ilst.pl" \
-dir=icon-themes/galaxy/res/helpimg \
> "${path}/helpimg.ilst"
[[ -s "${path}/helpimg.ilst" ]] || ewarn "The help images list is empty, something is fishy, report a bug."
)
local target
use test && target="build" || target="build-nocheck"
# this is not a proper make script
make ${target} || die
}
src_test() {
make unitcheck || die
make slowcheck || die
}
src_install() {
# This is not Makefile so no buildserver
make DESTDIR="${D}" distro-pack-install -o build -o check || die
# Fix bash completion placement
newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN}
bashcomp_alias \
libreoffice \
unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
rm -rf "${ED}"/etc/ || die
if use branding; then
insinto /usr/$(get_libdir)/${PN}/program
newins "${WORKDIR}/branding-sofficerc" sofficerc
dodir /etc/env.d
echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN}
fi
# Hack for offlinehelp, this needs fixing upstream at some point.
# It is broken because we send --without-help
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
insinto /usr/$(get_libdir)/libreoffice/help
doins xmlhelp/util/*.xsl
# Remove desktop files for support to old installs that can't parse mime
rm -rf "${ED}"/usr/share/mimelnk/
# FIXME: Hack add missing file
insinto /usr/$(get_libdir)/${PN}/program
doins "${S}"/instdir/program/libsaxlo.so
pax-mark -m "${ED}"/usr/$(get_libdir)/libreoffice/program/soffice.bin
pax-mark -m "${ED}"/usr/$(get_libdir)/libreoffice/program/unopkg.bin
}
pkg_preinst() {
# Cache updates - all handled by kde eclass for all environments
kde4-base_pkg_preinst
}
pkg_postinst() {
kde4-base_pkg_postinst
use java || \
ewarn 'If you plan to use lbase application you should enable java or you will get various crashes.'
}
pkg_postrm() {
kde4-base_pkg_postrm
}

@ -9,7 +9,7 @@ QT_MINIMAL="4.7.4"
KDE_SCM="git"
CMAKE_REQUIRED="never"
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
PYTHON_COMPAT=( python2_7 python3_4 )
PYTHON_REQ_USE="threads,xml"
# experimental ; release ; old
@ -73,7 +73,7 @@ unset EXT_URI
unset ADDONS_SRC
IUSE="bluetooth +branding coinmp collada +cups dbus debug eds firebird gltf gnome gstreamer
+gtk gtk3 jemalloc kde mysql odk postgres telepathy test vlc"
+gtk gtk3 jemalloc kde libressl mysql odk postgres telepathy test vlc"
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
# Unpackaged separate extensions:
@ -122,7 +122,8 @@ COMMON_DEPEND="
>=dev-libs/nspr-4.8.8
>=dev-libs/nss-3.12.9
>=dev-lang/perl-5.0
>=dev-libs/openssl-1.0.0d:0
!libressl? ( >=dev-libs/openssl-1.0.0d:0 )
libressl? ( dev-libs/libressl )
>=dev-libs/redland-1.0.16
media-gfx/graphite2
>=media-libs/fontconfig-2.8.0
@ -260,7 +261,7 @@ REQUIRED_USE="
"
CHECKREQS_MEMORY="512M"
CHECKREQS_DISK_BUILD="6G"
if [[ ${MERGE_TYPE} != binary ]] ; then CHECKREQS_DISK_BUILD="6G" ; fi
pkg_pretend() {
local pgslot

@ -9,7 +9,7 @@ QT_MINIMAL="4.7.4"
KDE_SCM="git"
CMAKE_REQUIRED="never"
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
PYTHON_COMPAT=( python2_7 python3_4 )
PYTHON_REQ_USE="threads,xml"
# experimental ; release ; old
@ -73,7 +73,7 @@ unset EXT_URI
unset ADDONS_SRC
IUSE="bluetooth +branding coinmp collada +cups dbus debug eds firebird gltf gnome gstreamer
+gtk gtk3 jemalloc kde mysql odk postgres telepathy test vlc"
+gtk gtk3 jemalloc kde libressl mysql odk postgres telepathy test vlc"
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
# Unpackaged separate extensions:
@ -108,7 +108,7 @@ COMMON_DEPEND="
>=app-text/libodfgen-0.1.0
app-text/libwpd:0.10[tools]
app-text/libwpg:0.3
=app-text/libwps-0.4*
>=app-text/libwps-0.4.2
>=app-text/poppler-0.16:=[xpdf-headers(+),cxx]
>=dev-cpp/clucene-2.3.3.4-r2
=dev-cpp/libcmis-0.5*
@ -122,7 +122,8 @@ COMMON_DEPEND="
>=dev-libs/nspr-4.8.8
>=dev-libs/nss-3.12.9
>=dev-lang/perl-5.0
>=dev-libs/openssl-1.0.0d:0
!libressl? ( >=dev-libs/openssl-1.0.0d:0 )
libressl? ( dev-libs/libressl )
>=dev-libs/redland-1.0.16
media-gfx/graphite2
>=media-libs/fontconfig-2.8.0
@ -264,7 +265,7 @@ REQUIRED_USE="
"
CHECKREQS_MEMORY="512M"
CHECKREQS_DISK_BUILD="6G"
if [[ ${MERGE_TYPE} != binary ]] ; then CHECKREQS_DISK_BUILD="6G" ; fi
pkg_pretend() {
local pgslot

@ -13,7 +13,7 @@ SRC_URI="https://github.com/vaeth/eix/releases/download/v${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
IUSE="debug +dep doc nls optimization security strong-optimization strong-security sqlite swap-remote tools"
BOTHDEPEND="sqlite? ( >=dev-db/sqlite-3 )

@ -15,7 +15,7 @@ SRC_URI="https://github.com/jauhien/g-sorcery/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="GPL-2"
SLOT="0"
IUSE="bson git"
KEYWORDS="~amd64 ~hppa ~x86"
KEYWORDS="~amd64 ~arm ~hppa ~x86"
DEPEND="bson? ( dev-python/pymongo[${PYTHON_USEDEP}] )
git? ( dev-vcs/git )

@ -15,7 +15,7 @@ SRC_URI="https://github.com/jauhien/g-sorcery/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="GPL-2"
SLOT="0"
IUSE="bson"
KEYWORDS="~amd64 ~hppa ~x86"
KEYWORDS="~amd64 ~arm ~hppa ~x86"
DEPEND="bson? ( dev-python/pymongo[${PYTHON_USEDEP}] )
sys-apps/portage[${PYTHON_USEDEP}]"

@ -37,7 +37,7 @@ src_prepare() {
# fix dependency on ncurses[tinfo], #459484
sed \
-e "s:\(ncurses\):\1 tinfo:g" \
-i configure.in || die
-i configure.in || die
eautoreconf

@ -38,7 +38,7 @@ src_prepare() {
# fix dependency on ncurses[tinfo], #459484
sed \
-e "s:\(ncurses\):\1 tinfo:g" \
-i configure.in || die
-i configure.in || die
eautoreconf

@ -44,7 +44,7 @@ src_prepare() {
# fix dependency on ncurses[tinfo], #459484
sed \
-e "s:\(ncurses\):\1 tinfo:g" \
-i configure.in || die
-i configure.in || die
eautoreconf

@ -206,7 +206,7 @@ python_install_all() {
domenu "${HOME}"/.local/share/applications/*.desktop
find "${ED}"usr/share -type d -empty -delete || die
find "${ED}"usr/share -type d -empty -delete || die
cd "${ED}"/usr/share/calibre/fonts/liberation || die
local x

@ -14,7 +14,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
IUSE="debug nls test"
RDEPEND="

@ -12,7 +12,7 @@ SRC_URI="http://golem.ph.utexas.edu/~distler/blog/files/itexToMML-${PV}.tar.gz"
LICENSE="|| ( GPL-2+ MPL-1.1 LGPL-2+ )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~ppc64 ~x86"
IUSE=""
S="${WORKDIR}/itexToMML/itex-src"

@ -1,3 +1,4 @@
DIST libwps-0.2.9.tar.xz 387340 SHA256 cf9a17a6c0452ab32cce342c1410f1620c66f9cb6f9431b82f95da7fe9730177 SHA512 60ddc8db5a90589248a0a8f90950907ca3be3362983f6c4847670e6eaf4d7ad22a2b6795b0a1b0a1920075f25f1ffcfd581757c26bfb74deacd000e94459da34 WHIRLPOOL bc847cb65c72daa01db5d6f17a20cbaff741fab1fc7a63d789993334b7853009f59c1ca370d7d3798a26b294c96c3435664314b07ff5a2324fa7ca7980378fe8
DIST libwps-0.3.1.tar.xz 410376 SHA256 bb2c2a7db5121411ba705ccf3452cdce51d9798384fd9621e9702ba802878e93 SHA512 f628e6532b32331c7df0d97a9b71bf1f97347634657148b47d46ba7c2fd888d7fa9ffe52f31cfc24f86688c9c713bfaff360c7fe9f4a92d646cf8f21e7f5c2b1 WHIRLPOOL ebe35fabf22aedccfe3ca35e46971a26332040852357ea0f2241534261c77d597da38766192661ecd6fa24881e0bf9de4a80bdfea300129420d4635924434110
DIST libwps-0.4.1.tar.xz 476732 SHA256 bf915125d647aec18f63d593eb9385bce1e3cdb48649c1c90782d0e0ff5e976a SHA512 675b1d54436d568a990a305267daf33ebfb064e54b7b220f1ada850db85d1780590e161d27a68aa3b33807fab20a73e862f3dfffb62a8a5ff20192ed6f85063f WHIRLPOOL 56d849615588d2a6e33f1f20367b8ce5685bcc1cac6651fd1f48cda238c851fdaa81658d73557ae5f2e4d4f0ca690517543cbeb0a940bbdca2f3347b938d7d7b
DIST libwps-0.4.2.tar.xz 543052 SHA256 e4fa907dd2b49b309fb4a860332bc44158570e02cb4ec07d4c8577b374b9f935 SHA512 6e91a4dbb26335b6d4db47daec70d4f50313a8101de1dccce592cec49e00aaf50256580b3ea0c37f24b7ad1cc065a82e0a71deb0cfcd23dabf0a2627d915f48f WHIRLPOOL 137f54be1a0d342205275891008a8de32ae3ee6ba6c2cdafccd61112e4e99e82039a471ef2aa98f0a935a470f48cc59690e8e783e676cde50a78ff1e56558e6c

@ -0,0 +1,40 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils
DESCRIPTION="Microsoft Works file word processor format import filter library"
HOMEPAGE="http://libwps.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
LICENSE="|| ( LGPL-2.1 MPL-2.0 )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~x86"
IUSE="doc debug static-libs"
RDEPEND="
app-text/libwpd:0.10
dev-libs/boost:=
dev-libs/librevenge
"
DEPEND="${RDEPEND}
virtual/pkgconfig
doc? ( app-doc/doxygen )
"
src_configure() {
econf \
--disable-werror \
$(use_enable static-libs static) \
--docdir=/usr/share/doc/${PF} \
$(use_with doc docs) \
$(use_enable debug)
}
src_install() {
default
prune_libtool_files --all
}

@ -36,6 +36,7 @@ pkg_setup() {
src_prepare() {
sed -i ./src/couchdb/priv/Makefile.* -e 's|-Werror||g'
epatch "${FILESDIR}/${PV}-erlang-18.patch"
eautoreconf
}
src_configure() {

@ -13,7 +13,7 @@ SRC_URI="mirror://mysql/Downloads/${URI_DIR}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc ppc64 ~sparc x86"
KEYWORDS="amd64 ~arm ~ppc ppc64 sparc x86"
IUSE="debug examples gcov static-libs"
DEPEND="virtual/libmysqlclient:=

@ -15,7 +15,7 @@ HOMEPAGE="https://www.phpmyadmin.net/"
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.zip"
LICENSE="GPL-2"
KEYWORDS="alpha amd64 hppa ~ia64 ~ppc ppc64 ~sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="alpha amd64 hppa ~ia64 ~ppc ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
IUSE="setup"
RDEPEND="

@ -15,7 +15,7 @@ HOMEPAGE="https://www.phpmyadmin.net/"
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.zip"
LICENSE="GPL-2"
KEYWORDS="alpha amd64 hppa ~ia64 ~ppc ppc64 ~sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="alpha amd64 hppa ~ia64 ~ppc ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
IUSE="setup"
RDEPEND="

@ -13,7 +13,7 @@ PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -13,7 +13,7 @@ PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -9,7 +9,7 @@ PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -9,7 +9,7 @@ PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -9,7 +9,7 @@ PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -0,0 +1,201 @@
# HG changeset patch
# User andrew
# Date 1438275152 -3600
# Node ID a2334007f1a8504d2bd4a2c2a037732c289649c3
# Parent ab23850139cb2c666e613010842a1f984b184a3a
PR2568: openjdk causes a full desktop crash on RHEL 6 i586
Summary: Re-apply "8025775: JNI warnings in TryXShmAttach"; some changes lost in bad merge changeset 4b26f93b23ba
diff -r ab23850139cb -r a2334007f1a8 src/solaris/classes/sun/awt/X11/XConstants.java
--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XConstants.java Wed Oct 23 10:50:34 2013 +0200
+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XConstants.java Thu Jul 30 17:52:32 2015 +0100
@@ -699,9 +699,4 @@
public static final long XkbModifierMapMask = (1L<<2);
public static final long XkbVirtualModsMask = (1L<<6); //server map
- /*****************************************************************
- * X SHARED MEMORY EXTENSION FUNCTIONS
- *****************************************************************/
-
- public static final int X_ShmAttach = 1;
}
diff -r ab23850139cb -r a2334007f1a8 src/solaris/classes/sun/awt/X11/XErrorHandler.java
--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XErrorHandler.java Wed Oct 23 10:50:34 2013 +0200
+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XErrorHandler.java Thu Jul 30 17:52:32 2015 +0100
@@ -41,29 +41,6 @@
return XErrorHandlerUtil.SAVED_XERROR_HANDLER(display, err);
}
}
-
- /**
- * This is a base synthetic error handler containing a boolean flag which allows
- * to show that an error is handled or not.
- */
- public static class XErrorHandlerWithFlag extends XBaseErrorHandler {
- private volatile boolean errorOccurred = false;
-
- public boolean getErrorOccurredFlag() {
- return errorOccurred;
- }
-
- /**
- * Sets an internal boolean flag to a particular value. Should be always called
- * with {@code false} value of the parameter {@code errorOccurred} before this
- * error handler is set as current.
- * @param errorOccurred {@code true} to indicate that an error was handled,
- * {@code false} to reset the internal boolean flag
- */
- public void setErrorOccurredFlag(boolean errorOccurred) {
- this.errorOccurred = errorOccurred;
- }
- }
/*
* Instead of validating window id, we simply call XGetWindowProperty,
@@ -99,75 +76,4 @@
return theInstance;
}
}
-
- /**
- * This is a synthetic error handler for errors generated by the native function
- * {@code XShmAttach}. If an error is handled, an internal boolean flag of the
- * handler is set to {@code true}.
- */
- public static final class XShmAttachHandler extends XErrorHandlerWithFlag {
- private XShmAttachHandler() {}
-
- @Override
- public int handleError(long display, XErrorEvent err) {
- if (err.get_minor_code() == XConstants.X_ShmAttach) {
- setErrorOccurredFlag(true);
- return 0;
- }
- return super.handleError(display, err);
- }
-
- // Shared instance
- private static XShmAttachHandler theInstance = new XShmAttachHandler();
- public static XShmAttachHandler getInstance() {
- return theInstance;
- }
- }
-
- /**
- * This is a synthetic error handler for {@code BadAlloc} errors generated by the
- * native {@code glX*} functions. Its internal boolean flag is set to {@code true},
- * if an error is handled.
- */
- public static final class GLXBadAllocHandler extends XErrorHandlerWithFlag {
- private GLXBadAllocHandler() {}
-
- @Override
- public int handleError(long display, XErrorEvent err) {
- if (err.get_error_code() == XConstants.BadAlloc) {
- setErrorOccurredFlag(true);
- return 0;
- }
- return super.handleError(display, err);
- }
-
- private static GLXBadAllocHandler theInstance = new GLXBadAllocHandler();
- public static GLXBadAllocHandler getInstance() {
- return theInstance;
- }
- }
-
- /**
- * This is a synthetic error handler for errors generated by the native function
- * {@code XChangeWindowAttributes}. If an error is handled, an internal boolean
- * flag of the handler is set to {@code true}.
- */
- public static final class XChangeWindowAttributesHandler extends XErrorHandlerWithFlag {
- private XChangeWindowAttributesHandler() {}
-
- @Override
- public int handleError(long display, XErrorEvent err) {
- if ((err.get_request_code() == XProtocolConstants.X_ChangeWindowAttributes) &&
- (err.get_error_code() == XConstants.BadAccess)) {
- setErrorOccurredFlag(true);
- return 0;
- }
- return super.handleError(display, err);
- }
-
- private static XChangeWindowAttributesHandler theInstance = new XChangeWindowAttributesHandler();
- public static XChangeWindowAttributesHandler getInstance() {
- return theInstance;
- }
- }
}
diff -r ab23850139cb -r a2334007f1a8 src/solaris/native/sun/awt/awt_GraphicsEnv.h
--- openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.h Wed Oct 23 10:50:34 2013 +0200
+++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.h Thu Jul 30 17:52:32 2015 +0100
@@ -54,7 +54,7 @@
void TryInitMITShm(JNIEnv *env, jint *shmExt, jint *shmPixmaps);
void resetXShmAttachFailed();
-jboolean TryXShmAttach(JNIEnv *env, Display *display, XShmSegmentInfo *shminfo);
+jboolean isXShmAttachFailed();
#endif /* MITSHM */
diff -r ab23850139cb -r a2334007f1a8 src/solaris/native/sun/awt/awt_xembed_server.c
--- openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c Wed Oct 23 10:50:34 2013 +0200
+++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c Thu Jul 30 17:52:32 2015 +0100
@@ -644,19 +644,12 @@
return dim;
}
-Boolean isMapped(JNIEnv* env, Window w) {
+Boolean isMapped(Window w) {
XWindowAttributes attr;
Status status = 0;
- jboolean errorOccurredFlag;
- jobject errorHandlerRef;
- jobject savedError;
- unsigned char xerror_code;
-
- EXEC_WITH_XERROR_HANDLER(env, "sun/awt/X11/XErrorHandler$IgnoreBadWindowHandler",
- "()Lsun/awt/X11/XErrorHandler$IgnoreBadWindowHandler;", JNI_FALSE,
- errorHandlerRef, errorOccurredFlag,
- status = XGetWindowAttributes(awt_display, w, &attr));
- xerror_code = GET_XERROR_CODE(env, savedError);
+ WITH_XERROR_HANDLER(xerror_ignore_bad_window);
+ status = XGetWindowAttributes(awt_display, w, &attr);
+ RESTORE_XERROR_HANDLER;
if (status == 0 || xerror_code != Success) {
return False;
}
@@ -692,7 +685,7 @@
sdata->version = *data;
flags = *(data+1);
new_mapped = (flags & XEMBED_MAPPED) != 0;
- currently_mapped = isMapped(env, sdata->handle);
+ currently_mapped = isMapped(sdata->handle);
if (new_mapped != currently_mapped) {
if (new_mapped) {
XMapWindow(awt_display, sdata->handle);
diff -r ab23850139cb -r a2334007f1a8 src/solaris/native/sun/java2d/x11/X11SurfaceData.c
--- openjdk/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c Wed Oct 23 10:50:34 2013 +0200
+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c Thu Jul 30 17:52:32 2015 +0100
@@ -551,8 +551,6 @@
{
XImage *img = NULL;
XShmSegmentInfo *shminfo;
- JNIEnv* env;
- jboolean xShmAttachResult;
shminfo = malloc(sizeof(XShmSegmentInfo));
if (shminfo == NULL) {
@@ -603,7 +601,7 @@
*/
shmctl(shminfo->shmid, IPC_RMID, 0);
- if (xShmAttachResult == JNI_FALSE) {
+ if (isXShmAttachFailed() == JNI_TRUE) {
J2dRlsTraceLn1(J2D_TRACE_ERROR,
"X11SD_SetupSharedSegment XShmAttach has failed: %s",
strerror(errno));

@ -284,6 +284,10 @@ src_configure() {
unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
# https://bugs.gentoo.org/show_bug.cgi?id=561500
ln -s "${FILESDIR}/TryXShmAttach.patch" || die
export DISTRIBUTION_PATCHES="TryXShmAttach.patch"
econf ${config} \
--with-openjdk-src-zip="${DISTDIR}/${OPENJDK_GENTOO_TARBALL}" \
--with-corba-src-zip="${DISTDIR}/${CORBA_GENTOO_TARBALL}" \

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

Loading…
Cancel
Save