Sync with portage [Tue Feb 28 16:54:26 MSK 2017].

mhiretskiy 793
root 7 years ago
parent fdda1681eb
commit c367e85801

@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 6efa9c1b5c5fe423c850f2d840f246fe8d09854b $
# $Id: 0fdbbc744ebcd951652f8aba0a9ed05d33f94b48 $
EAPI=5
@ -10,7 +10,7 @@ SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~alpha ~ppc ~sparc ~x86 ~hppa ~ppc64"
KEYWORDS="alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
IUSE=""
S="${WORKDIR}"

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 0ff02dddddb9e35dab11db43ffef8881dcdbc000 $
# $Id: afd3fac7606670058732f1a39db40e186f96d2d1 $
EAPI=6
inherit eutils
@ -12,7 +12,7 @@ SRC_URI="mirror://debian/pool/main/t/${PN}/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
IUSE=""
DEPEND="sys-fs/e2fsprogs"

@ -1,6 +1,6 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 17cb55bf0440e92128a0edb69be75deaa99e5b68 $
# $Id: 4bb7d483054d25bb565756f6450f37bded2474ad $
EAPI="3"
inherit eutils
@ -12,7 +12,7 @@ SRC_URI="mirror://debian/pool/main/t/${PN}/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ppc x86"
KEYWORDS="amd64 ~arm ppc ~ppc64 x86"
IUSE=""
DEPEND="sys-fs/e2fsprogs"

@ -1 +1,2 @@
DIST xarchiver-0.5.4.8.tar.gz 987648 SHA256 0947dce52538876d31e18ab89270f5eb52fba2c21ce877a4d56cdb5de5048e81 SHA512 d3be46b87c9475bfde2a3449511a08b1abef3d90b0b2c0e1165e093fa54210dbc2182b986a55e12e11bed67b516732f498c8038b360df3f697603befc2a4a8b3 WHIRLPOOL ba602771a06adfda1dc5a8cf1323deb339159b9399a54f4e47d42d0e56601eb93769bb2ac58bcd39f09ceaf7de9f837d4ec91eae150d1a12fda64e509d08a273
DIST xarchiver-0.5.4.tar.bz2 1003045 SHA256 e63fa73979fcc56efe8cca9095fd915d31a1714ce9676246b8626f164e452ef4 SHA512 3b767c2601d94104e2fc72aa8d168afa5a154b5747a9b0518d1c348417e56e4c19d872a0029fb78decc897e0f3bc9573e17d0317b85f584e7275b0e519f5f30d WHIRLPOOL 3f5a277b05147daf29db0be26718ed51fa0bb6d2416ee41cdd8ce6c54bc66064fc5f313af39a32b428997f906c9fd4d1a0b8d60fe5d2d867b1137960b0cbe4d1

@ -0,0 +1,49 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 009ad112cb1bdebe8c25d72875927d3c29a97e97 $
EAPI=6
inherit autotools gnome2-utils xdg-utils
DESCRIPTION="A GTK+ archive manager that can be used with Thunar"
HOMEPAGE="https://github.com/ib/xarchiver"
SRC_URI="https://github.com/ib/xarchiver/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-libs/glib-2:=
x11-libs/gtk+:3="
DEPEND="${RDEPEND}
dev-util/intltool
sys-devel/gettext
virtual/pkgconfig"
src_prepare() {
sed -e '/COPYING/d' -e '/NEWS/d' -i doc/Makefile.am || die
default
eautoreconf
}
pkg_postinst() {
xdg_desktop_database_update
GNOME2_ECLASS_ICONS="usr/share/icons/hicolor" \
gnome2_icon_cache_update
elog "You need external programs for some formats, including:"
elog "7zip - app-arch/p7zip"
elog "arj - app-arch/unarj app-arch/arj"
elog "lha - app-arch/lha"
elog "lzop - app-arch/lzop"
elog "rar - app-arch/unrar app-arch/rar"
elog "zip - app-arch/unzip app-arch/zip"
}
pkg_postrm() {
xdg_desktop_database_update
GNOME2_ECLASS_ICONS="usr/share/icons/hicolor" \
gnome2_icon_cache_update
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 772fdbf851e6fe9a003a8588604d6367bab96b4d $
# $Id: c32cb75e5324cd04b66dce59e85a82fbc3a36b23 $
EAPI=6
@ -22,7 +22,8 @@ RDEPEND="
src_configure() {
default
sed -i 's,^#CONFIG_D=.*,CONFIG_D="/etc/dehydrated/config.d",' docs/examples/config || die "could not set config"
sed -i 's,^#CONFIG_D=.*,CONFIG_D="/etc/dehydrated/config.d",' docs/examples/config || die "could not set config (CONFIG_D)"
sed -i 's,^#DOMAINS_TXT=.*,DOMAINS_TXT="/etc/dehydrated/domains.txt",' docs/examples/config || die "could not set config (DOMAINS_TXT)"
}
src_install() {

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 108ed19e3579ae7f34fadb7aeb83465061de00f1 $
# $Id: 945254c447c57c942f9477610feef4448aa61ba1 $
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
@ -10,10 +10,9 @@ if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="git://github.com/doxygen/doxygen.git"
SRC_URI=""
KEYWORDS="amd64"
else
SRC_URI="http://ftp.stack.nl/pub/users/dimitri/${P}.src.tar.gz"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
fi
SRC_URI+=" https://dev.gentoo.org/~xarthisius/distfiles/doxywizard.png"

@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>pms-bugs@gentoo.org</email>
<email>pms@gentoo.org</email>
<name>Package Manager Specification</name>
</maintainer>
<use>

@ -1,2 +1,3 @@
DIST vim-8.0.0106-gentoo-patches.tar.bz2 2281 SHA256 9823a91b050eb4b001cc50f508d2ad03c7c256ed49183c1af7582318667f48d4 SHA512 39edd9f518c230d2b0486b18aa155572a9eada4a5e21108573d6e66e2eef1276f23b77d766648f018c9cf973a7d03712d8861be6ea13255d7b389912d554a47a WHIRLPOOL d6d01e3944d56762a2a999ee631f89e212360aa030ddd16ea96e32d518ec171e04d8565dcb89e804248d53e4c6e06b19be239ad2316ea88bb57364815b85d26b
DIST vim-8.0.0106.tar.gz 12945768 SHA256 cbace3e7a2db3df73720c4181fa4cdbf7df94310522b1c7a4fd7d6afeaa1e145 SHA512 4e40d9ba8ba694d951be78c653d8fcfebe2b3cc460986ef8e3478f81f2dfd5e4b3c2bc5d22082536b9c275e41beeac343cee0aa1e4de125b71fe95c772e26c20 WHIRLPOOL 569a8f50ebdb7f380f675ed0a4b4aa5e7e226303a8e92db2a8e81f5d8acc0e466620c60c160e2204f3af615b91ca2481eb9716f9c2e6dbdb416050d758a49f09
DIST vim-8.0.0386.tar.gz 13000882 SHA256 25b28f6ef55a8d0b3f255f0fbed90ad1450bde7f7b231cc09d86c5119adc95bc SHA512 3169ea4dbc836c724f63d99cd345227f870a3a922beba84a6b42011685c0dd209f6bba8c69af0650c9a57bb47fc541e1150ca8cefb21fcada022259bf4c94a66 WHIRLPOOL 99a5582e0db0dc53fd8385cddf1fbf13d2fe1dd5c8e33c9959288c19d4b85f50139791269edd4ec3d5cbed6548cc3d9c7962ec1706eb422a4ef83c207aac009b

@ -0,0 +1,408 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: d4dcb7eea0781ef34cca4f5407a5e1da1d2785cd $
EAPI=6
VIM_VERSION="8.0"
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
PYTHON_REQ_USE=threads
inherit eutils vim-doc flag-o-matic fdo-mime gnome2-utils versionator bash-completion-r1 prefix python-r1
if [[ ${PV} == 9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vim/vim.git"
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
fi
DESCRIPTION="GUI version of the Vim text editor"
HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
SLOT="0"
LICENSE="vim"
IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
REQUIRED_USE="
luajit? ( lua )
python? (
|| ( $(python_gen_useflags '*') )
?? ( $(python_gen_useflags 'python2*') )
?? ( $(python_gen_useflags 'python3*') )
)
"
RDEPEND="
~app-editors/vim-core-${PV}
>=app-eselect/eselect-vi-1.1
>=sys-libs/ncurses-5.2-r2:0=
x11-libs/libICE
x11-libs/libSM
x11-libs/libXext
x11-libs/libXt
acl? ( kernel_linux? ( sys-apps/acl ) )
!aqua? (
gtk3? (
x11-libs/gtk+:3
x11-libs/libXft
)
!gtk3? (
gtk? (
>=x11-libs/gtk+-2.6:2
x11-libs/libXft
gnome? ( >=gnome-base/libgnomeui-2.6 )
)
!gtk? (
motif? ( >=x11-libs/motif-2.3:0 )
!motif? (
neXt? ( x11-libs/neXtaw )
!neXt? ( x11-libs/libXaw )
)
)
)
)
cscope? ( dev-util/cscope )
lua? (
luajit? ( dev-lang/luajit:2= )
!luajit? ( dev-lang/lua:0[deprecated] )
)
nls? ( virtual/libintl )
perl? ( dev-lang/perl:= )
python? ( ${PYTHON_DEPS} )
racket? ( dev-scheme/racket )
ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
selinux? ( sys-libs/libselinux )
session? ( x11-libs/libSM )
tcl? ( dev-lang/tcl:0= )
"
DEPEND="${RDEPEND}
dev-util/ctags
sys-devel/autoconf
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
S=${WORKDIR}/vim-${PV}
pkg_setup() {
# people with broken alphabets run into trouble. bug 82186.
unset LANG LC_ALL
export LC_COLLATE="C"
# Gnome sandbox silliness. bug #114475.
mkdir -p "${T}"/home
export HOME="${T}"/home
}
src_prepare() {
if [[ ${PV} != 9999* ]] ; then
# Gentoo patches to fix runtime issues, cross-compile errors, etc
eapply "${WORKDIR}"/patches/
fi
# Fixup a script to use awk instead of nawk
sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
|| die "mve.awk sed failed"
# Read vimrc and gvimrc from /etc/vim
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
# Hopefully this pattern won't break for a while at least.
# This fixes bug 29398 (27 Sep 2003 agriffis)
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
"${S}"/runtime/doc/syntax.txt \
"${S}"/runtime/doc/tagsrch.txt \
"${S}"/runtime/doc/usr_29.txt \
"${S}"/runtime/menu.vim \
"${S}"/src/configure.ac || die 'sed failed'
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
# this is NeXT, but it's actually just a file in dev-libs/9libs
# This fixes bug 43885 (20 Mar 2004 agriffis)
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
# correctly. To avoid some really entertaining error messages about stuff
# which isn't even in the source file being invalid, we'll do some trickery
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
# Try to avoid sandbox problems. Bug #114475.
if [[ -d "${S}"/src/po ]] ; then
sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
"${S}"/src/po/Makefile
fi
if version_is_at_least 7.3.122 ; then
cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
fi
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
if version_is_at_least 7.3 ; then
sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
fi
eapply_user
}
src_configure() {
local myconf=()
# Fix bug 37354: Disallow -funroll-all-loops on amd64
# Bug 57859 suggests that we want to do this for all archs
filter-flags -funroll-all-loops
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
# everyone since previous flag filtering bugs have turned out to affect
# multiple archs...
replace-flags -O3 -O2
# Fix bug 18245: Prevent "make" from the following chain:
# (1) Notice configure.ac is newer than auto/configure
# (2) Rebuild auto/configure
# (3) Notice auto/configure is newer than auto/config.mk
# (4) Run ./configure (with wrong args) to remake auto/config.mk
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
rm -f src/auto/configure
emake -j1 -C src autoconf
# This should fix a sandbox violation (see bug 24447). The hvc
# things are for ppc64, see bug 86433.
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
[[ -e ${file} ]] && addwrite $file
done
use debug && append-flags "-DDEBUG"
myconf=(
--with-features=huge
--disable-gpm
--enable-multibyte
$(use_enable acl)
$(use_enable cscope)
$(use_enable lua luainterp)
$(use_with luajit)
$(use_enable netbeans)
$(use_enable nls)
$(use_enable perl perlinterp)
$(use_enable racket mzschemeinterp)
$(use_enable ruby rubyinterp)
$(use_enable selinux)
$(use_enable session xsmp)
$(use_enable tcl tclinterp)
)
if use python ; then
py_add_interp() {
local v
[[ ${EPYTHON} == python3* ]] && v=3
myconf+=(
--enable-python${v}interp
vi_cv_path_python${v}="${PYTHON}"
)
}
python_foreach_impl py_add_interp
else
myconf+=(
--disable-pythoninterp
--disable-python3interp
)
fi
# --with-features=huge forces on cscope even if we --disable it. We need
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
if ! use cscope ; then
sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
die "couldn't disable cscope"
fi
# gvim's GUI preference order is as follows:
# aqua CARBON (not tested)
# -aqua gtk3 GTK3
# -aqua -gtk3 gnome GNOME2
# -aqua -gtk3 -gnome gtk GTK2
# -aqua -gtk -gtk3 motif MOTIF
# -aqua -gtk -gtk3 -motif neXt NEXTAW
# -aqua -gtk -gtk3 -motif -neXt ATHENA
echo ; echo
if use aqua ; then
einfo "Building gvim with the Carbon GUI"
myconf+=(
--enable-darwin
--enable-gui=carbon
)
elif use gtk3 ; then
myconf+=( --enable-gtk3-check )
einfo "Building gvim with the gtk+-3 GUI"
myconf+=( --enable-gui=gtk3 )
elif use gtk ; then
myconf+=( --enable-gtk2-check )
if use gnome ; then
einfo "Building gvim with the Gnome 2 GUI"
myconf+=( --enable-gui=gnome2 )
else
einfo "Building gvim with the gtk+-2 GUI"
myconf+=( --enable-gui=gtk2 )
fi
elif use motif ; then
einfo "Building gvim with the MOTIF GUI"
myconf+=( --enable-gui=motif )
elif use neXt ; then
einfo "Building gvim with the neXtaw GUI"
myconf+=( --enable-gui=nextaw )
else
einfo "Building gvim with the Athena GUI"
myconf+=( --enable-gui=athena )
fi
echo ; echo
# let package manager strip binaries
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
# keep prefix env contained within the EPREFIX
use prefix && myconf+=( --without-local-dir )
if [[ ${CHOST} == *-interix* ]]; then
# avoid finding of this function, to avoid having to patch either
# configure or the source, which would be much more hackish.
# after all vim does it right, only interix is badly broken (again)
export ac_cv_func_sigaction=no
fi
econf \
--with-modified-by=Gentoo-${PVR} \
--with-vim-name=gvim \
--with-x \
"${myconf[@]}"
}
src_compile() {
# The following allows emake to be used
emake -j1 -C src auto/osdef.h objects
emake
}
src_test() {
echo
einfo "Starting vim tests. Several error messages will be shown"
einfo "while the tests run. This is normal behaviour and does not"
einfo "indicate a fault."
echo
ewarn "If the tests fail, your terminal may be left in a strange"
ewarn "state. Usually, running 'reset' will fix this."
echo
# Don't let vim talk to X
unset DISPLAY
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
# this evil trickery works.
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
# Make sure our VIMPROG is used.
sed -i 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
# Don't do additional GUI tests.
emake -j1 VIMPROG=../testvim -C src/testdir nongui
}
# Make convenience symlinks, hopefully without stepping on toes. Some
# of these links are "owned" by the vim ebuild when it is installed,
# but they might be good for gvim as well (see bug 45828)
update_vim_symlinks() {
local f syms
syms="vimdiff rvim rview"
einfo "Calling eselect vi update..."
# Call this with --if-unset to respect user's choice (bug 187449)
eselect vi update --if-unset
# Make or remove convenience symlink, vim -> gvim
if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
rm "${EROOT}"/usr/bin/vim
fi
# Make or remove convenience symlinks to vim
if [[ -f "${EROOT}"/usr/bin/vim ]]; then
for f in ${syms}; do
ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
done
else
for f in ${syms}; do
if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
rm -f "${EROOT}"/usr/bin/${f}
fi
done
fi
# This will still break if you merge then remove the vi package,
# but there's only so much you can do, eh? Unfortunately we don't
# have triggers like are done in rpm-land.
}
src_install() {
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
dobin src/gvim
dosym gvim /usr/bin/gvimdiff
dosym gvim /usr/bin/evim
dosym gvim /usr/bin/eview
dosym gvim /usr/bin/gview
dosym gvim /usr/bin/rgvim
dosym gvim /usr/bin/rgview
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
dodir /usr/share/man/man1
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
insinto /etc/vim
newins "${FILESDIR}"/gvimrc-r1 gvimrc
eprefixify "${ED}"/etc/vim/gvimrc
doicon -s scalable "${FILESDIR}"/gvim.svg
# bash completion script, bug #79018.
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
# don't install vim desktop file
rm "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
}
pkg_postinst() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
# Update fdo mime stuff, bug #78394
fdo-mime_desktop_database_update
# Update icon cache
gnome2_icon_cache_update
# Make convenience symlinks
update_vim_symlinks
}
pkg_postrm() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
# Update fdo mime stuff, bug #78394
fdo-mime_desktop_database_update
# Update icon cache
gnome2_icon_cache_update
# Make convenience symlinks
update_vim_symlinks
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 7eb16ff473e7435d474824c1840dafca7a34d40b $
# $Id: d4dcb7eea0781ef34cca4f5407a5e1da1d2785cd $
EAPI=6
VIM_VERSION="8.0"
@ -14,7 +14,7 @@ if [[ ${PV} == 9999* ]] ; then
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://dev.gentoo.org/~radhermit/vim/vim-7.4.2102-gentoo-patches.tar.bz2"
https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
fi
@ -71,7 +71,7 @@ RDEPEND="
perl? ( dev-lang/perl:= )
python? ( ${PYTHON_DEPS} )
racket? ( dev-scheme/racket )
ruby? ( || ( dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
selinux? ( sys-libs/libselinux )
session? ( x11-libs/libSM )
tcl? ( dev-lang/tcl:0= )

@ -1,7 +1,3 @@
DIST vim-7.4.2102-gentoo-patches.tar.bz2 2308 SHA256 1928059fe173b3abf66a96a8205c2e46b5320639d62385aeeae760e99820da67 SHA512 4e678b214fc7b1be89728b8151335ca8af332e8b0c0e25c27287a38ad5ccf14d5dcf82d5dd86af9aa502df4fae986aba98104f150b49a880e34f8283e8e63574 WHIRLPOOL 8a53a8980418f16f8c7883409dea49cfc758fc29dcfaab36f1bd6ae53b32211870a95361c8b63cdfe50795ea11958b113c9909ed6d29de5cb3696efc6ff7888b
DIST vim-7.4.2102.tar.gz 12838026 SHA256 19c059b2d0e61effcd288e2a18969017cbbc031cf19fe775b3f4b4c42bda2578 SHA512 9cf80b1c9e2dd8713b9ba33c39917a8771c7378ae59c2dc1809bf0cabc4545547ad0a5b9f0b87cef2b34f6d1f72b135d1217495716fc482a70a16e1097bd88a2 WHIRLPOOL 301d41e9bf9a6a220776d6e32ab2918c6a8aaf33862725fba9c738e0c99921e631d8c2fdfd9bc2dc9a214a9124ecfa113081a86addf79b023e8421471843f869
DIST vim-7.4.542-gentoo-patches.tar.bz2 3307 SHA256 0eb635f13e199de77846e0d363a473882f2186f138158271fabf0975747a2f3d SHA512 446c66764dac2533cc2f2b3d50481971d4c63a4e81d94c545862a1be620179fdcd81a79f2d81737d1188812a6ad41d90e2a752a05acf6913e7a71464f7cecdd9 WHIRLPOOL cfca8feef0eb8096897ef751afb0427acddd008530ded6cf908fcff51be9713da4ea3e5e613d544c5caba400d664ae19ca70925df3a218bec5c8be6f69aadda2
DIST vim-7.4.769.tar.gz 12189043 SHA256 c89568f3dfcefd773bfbb0958c1cf58a0b0ceedb9d0c264250b379a77ad02e9e SHA512 00048c1d579c409767308c991e5de4ed54e9e50db7e97b0d148f0667742d5e46047c702bee693a5caf13a1603548ab783f7fa846574841d807ffbaa97d7f611e WHIRLPOOL 28ada4763250bbed6f9a1768e81a79b75db64f0ef25296c5d4825f21d21d6e88ff24d488e841e6ba492e363da6d3a3e75e9ec2f2881a731e7ed261c7d21ffd3c
DIST vim-8.0.0005.tar.gz 12909267 SHA256 4ad6b4e8fad6412724a665d974e1be3138a9562a5f4f4aab17debf709c1d3ad3 SHA512 3d62557c6929e554c50f8043658665b907b235f180d8917288fc1434237856df7fa098ecb1823e6edea9e5735564cb55869e535350e52fd8c22423480a49438d WHIRLPOOL a80eec04afb2a797837874ec4b035268a20be7cefa487e44e8e441fb518d46cd7e16a263a6256f49e23e60e737b14dc6a7d93d7c3e579d3da13ccee48536b41b
DIST vim-8.0.0106-gentoo-patches.tar.bz2 2281 SHA256 9823a91b050eb4b001cc50f508d2ad03c7c256ed49183c1af7582318667f48d4 SHA512 39edd9f518c230d2b0486b18aa155572a9eada4a5e21108573d6e66e2eef1276f23b77d766648f018c9cf973a7d03712d8861be6ea13255d7b389912d554a47a WHIRLPOOL d6d01e3944d56762a2a999ee631f89e212360aa030ddd16ea96e32d518ec171e04d8565dcb89e804248d53e4c6e06b19be239ad2316ea88bb57364815b85d26b
DIST vim-8.0.0106.tar.gz 12945768 SHA256 cbace3e7a2db3df73720c4181fa4cdbf7df94310522b1c7a4fd7d6afeaa1e145 SHA512 4e40d9ba8ba694d951be78c653d8fcfebe2b3cc460986ef8e3478f81f2dfd5e4b3c2bc5d22082536b9c275e41beeac343cee0aa1e4de125b71fe95c772e26c20 WHIRLPOOL 569a8f50ebdb7f380f675ed0a4b4aa5e7e226303a8e92db2a8e81f5d8acc0e466620c60c160e2204f3af615b91ca2481eb9716f9c2e6dbdb416050d758a49f09
DIST vim-8.0.0386.tar.gz 13000882 SHA256 25b28f6ef55a8d0b3f255f0fbed90ad1450bde7f7b231cc09d86c5119adc95bc SHA512 3169ea4dbc836c724f63d99cd345227f870a3a922beba84a6b42011685c0dd209f6bba8c69af0650c9a57bb47fc541e1150ca8cefb21fcada022259bf4c94a66 WHIRLPOOL 99a5582e0db0dc53fd8385cddf1fbf13d2fe1dd5c8e33c9959288c19d4b85f50139791269edd4ec3d5cbed6548cc3d9c7962ec1706eb422a4ef83c207aac009b

@ -1,200 +0,0 @@
scriptencoding utf-8
" ^^ Please leave the above line at the start of the file.
" Default configuration file for Vim
" $Id$
" Written by Aron Griffis <agriffis@gentoo.org>
" Modified by Ryan Phillips <rphillips@gentoo.org>
" Modified some more by Ciaran McCreesh <ciaranm@gentoo.org>
" Added Redhat's vimrc info by Seemant Kulleen <seemant@gentoo.org>
" You can override any of these settings on a global basis via the
" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may
" need to create these.
" {{{ General settings
" The following are some sensible defaults for Vim for most users.
" We attempt to change as little as possible from Vim's defaults,
" deviating only where it makes sense
set nocompatible " Use Vim defaults (much better!)
set bs=2 " Allow backspacing over everything in insert mode
set ai " Always set auto-indenting on
set history=50 " keep 50 lines of command history
set ruler " Show the cursor position all the time
set viminfo='20,\"500 " Keep a .viminfo file.
" Don't use Ex mode, use Q for formatting
map Q gq
" When doing tab completion, give the following files lower priority. You may
" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable
" enhanced tab completion. These can be done in the user vimrc file.
set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo
" When displaying line numbers, don't use an annoyingly wide number column. This
" doesn't enable line numbers -- :set number will do that. The value given is a
" minimum width to use for the number column, not a fixed size.
if v:version >= 700
set numberwidth=3
endif
" }}}
" {{{ Modeline settings
" We don't allow modelines by default. See bug #14088 and bug #73715.
" If you're not concerned about these, you can enable them on a per-user
" basis by adding "set modeline" to your ~/.vimrc file.
set nomodeline
" }}}
" {{{ Locale settings
" Try to come up with some nice sane GUI fonts. Also try to set a sensible
" value for fileencodings based upon locale. These can all be overridden in
" the user vimrc file.
if v:lang =~? "^ko"
set fileencodings=euc-kr
set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-*
elseif v:lang =~? "^ja_JP"
set fileencodings=euc-jp
set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
elseif v:lang =~? "^zh_TW"
set fileencodings=big5
set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
elseif v:lang =~? "^zh_CN"
set fileencodings=gb2312
set guifontset=*-r-*
endif
" If we have a BOM, always honour that rather than trying to guess.
if &fileencodings !~? "ucs-bom"
set fileencodings^=ucs-bom
endif
" Always check for UTF-8 when trying to determine encodings.
if &fileencodings !~? "utf-8"
" If we have to add this, the default encoding is not Unicode.
" We use this fact later to revert to the default encoding in plaintext/empty
" files.
let g:added_fenc_utf8 = 1
set fileencodings+=utf-8
endif
" Make sure we have a sane fallback for encoding detection
if &fileencodings !~? "default"
set fileencodings+=default
endif
" }}}
" {{{ Syntax highlighting settings
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
" }}}
" {{{ Terminal fixes
if &term ==? "xterm"
set t_Sb=^[4%dm
set t_Sf=^[3%dm
set ttymouse=xterm2
endif
if &term ==? "gnome" && has("eval")
" Set useful keys that vim doesn't discover via termcap but are in the
" builtin xterm termcap. See bug #122562. We use exec to avoid having to
" include raw escapes in the file.
exec "set <C-Left>=\eO5D"
exec "set <C-Right>=\eO5C"
endif
" }}}
" {{{ Filetype plugin settings
" Enable plugin-provided filetype settings, but only if the ftplugin
" directory exists (which it won't on livecds, for example).
if isdirectory(expand("$VIMRUNTIME/ftplugin"))
filetype plugin on
" Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided
" indent settings. Some people don't like these, so we won't turn them on by
" default.
" filetype indent on
endif
" }}}
" {{{ Fix &shell, see bug #101665.
if "" == &shell
if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash")
set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash
elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh")
set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh
endif
endif
"}}}
" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
" files should default to bash. See :help sh-syntax and bug #101819.
if has("eval")
let is_bash=1
endif
" }}}
" {{{ Autocommands
if has("autocmd")
augroup gentoo
au!
" Gentoo-specific settings for ebuilds. These are the federally-mandated
" required tab settings. See the following for more information:
" http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
" Note that the rules below are very minimal and don't cover everything.
" Better to emerge app-vim/gentoo-syntax, which provides full syntax,
" filetype and indent settings for all things Gentoo.
au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh
au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
" In text files, limit the width of text to 78 characters, but be careful
" that we don't override the user's setting.
autocmd BufNewFile,BufRead *.txt
\ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
\ setlocal textwidth=78 |
\ endif
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if ! exists("g:leave_my_cursor_position_alone") |
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif |
\ endif
" When editing a crontab file, set backupcopy to yes rather than auto. See
" :help crontab and bug #53437.
autocmd FileType crontab set backupcopy=yes
" If we previously detected that the default encoding is not UTF-8
" (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
" characters at all) isn't a Unicode file, but is in the default encoding.
" Except of course if a byte-order mark is in effect.
autocmd BufReadPost *
\ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
\ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
\ set fileencoding= |
\ endif
augroup END
endif " has("autocmd")
" }}}
" {{{ vimrc.local
if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local")
source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local
endif
" }}}
" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker :

@ -1,220 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 4d1ec30b60566dac3f1ae3ce8bb778afcbe2570b $
EAPI=6
VIM_VERSION="7.4"
inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
if [[ ${PV} == 9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vim/vim.git"
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://dev.gentoo.org/~radhermit/vim/vim-7.4.2102-gentoo-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="vim and gvim shared files"
HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
SLOT="0"
LICENSE="vim"
IUSE="nls acl minimal"
DEPEND="sys-devel/autoconf"
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
S=${WORKDIR}/vim-${PV}
pkg_setup() {
# people with broken alphabets run into trouble. bug 82186.
unset LANG LC_ALL
export LC_COLLATE="C"
# Gnome sandbox silliness. bug #114475.
mkdir -p "${T}"/home
export HOME="${T}"/home
}
src_prepare() {
if [[ ${PV} != 9999* ]] ; then
# Gentoo patches to fix runtime issues, cross-compile errors, etc
eapply "${WORKDIR}"/patches
fi
# Fixup a script to use awk instead of nawk
sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
|| die "mve.awk sed failed"
# Read vimrc and gvimrc from /etc/vim
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
# Hopefully this pattern won't break for a while at least.
# This fixes bug 29398 (27 Sep 2003 agriffis)
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
"${S}"/runtime/doc/syntax.txt \
"${S}"/runtime/doc/tagsrch.txt \
"${S}"/runtime/doc/usr_29.txt \
"${S}"/runtime/menu.vim \
"${S}"/src/configure.in || die 'sed failed'
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
# this is NeXT, but it's actually just a file in dev-libs/9libs
# This fixes bug 43885 (20 Mar 2004 agriffis)
sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
# correctly. To avoid some really entertaining error messages about stuff
# which isn't even in the source file being invalid, we'll do some trickery
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
# Try to avoid sandbox problems. Bug #114475.
if [[ -d "${S}"/src/po ]] ; then
sed -i -e \
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
"${S}"/src/po/Makefile
fi
if version_is_at_least 7.3.122 ; then
cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
fi
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
if version_is_at_least 7.3 ; then
sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
fi
default
}
src_configure() {
local myconf
# Fix bug 37354: Disallow -funroll-all-loops on amd64
# Bug 57859 suggests that we want to do this for all archs
filter-flags -funroll-all-loops
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
# everyone since previous flag filtering bugs have turned out to affect
# multiple archs...
replace-flags -O3 -O2
# Fix bug 18245: Prevent "make" from the following chain:
# (1) Notice configure.in is newer than auto/configure
# (2) Rebuild auto/configure
# (3) Notice auto/configure is newer than auto/config.mk
# (4) Run ./configure (with wrong args) to remake auto/config.mk
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
rm -f src/auto/configure
emake -j1 -C src autoconf
# This should fix a sandbox violation (see bug 24447). The hvc
# things are for ppc64, see bug 86433.
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
[[ -e ${file} ]] && addwrite $file
done
# Let Portage do the stripping. Some people like that.
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
# Keep Gentoo Prefix env contained within the EPREFIX
use prefix && myconf+=" --without-local-dir"
econf \
--with-modified-by=Gentoo-${PVR} \
--enable-gui=no \
--without-x \
--disable-darwin \
--disable-perlinterp \
--disable-pythoninterp \
--disable-rubyinterp \
--disable-gpm \
--disable-selinux \
$(use_enable nls) \
$(use_enable acl) \
${myconf}
}
src_compile() {
# The following allows emake to be used
emake -j1 -C src auto/osdef.h objects
emake tools
}
src_test() { :; }
src_install() {
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
dodir /usr/{bin,share/{man/man1,vim}}
cd src || die "cd src failed"
emake \
installruntime \
installmanlinks \
installmacros \
installtutor \
installtutorbin \
installtools \
install-languages \
install-icons \
DESTDIR="${D}" \
BINDIR="${EPREFIX}"/usr/bin \
MANDIR="${EPREFIX}"/usr/share/man \
DATADIR="${EPREFIX}"/usr/share
keepdir ${vimfiles}/keymap
# default vimrc is installed by vim-core since it applies to
# both vim and gvim
insinto /etc/vim/
newins "${FILESDIR}"/vimrc-r4 vimrc
eprefixify "${ED}"/etc/vim/vimrc
if use minimal ; then
# To save space, install only a subset of the files.
# Helps minimalize the livecd, bug 65144.
eshopts_push -s extglob
rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
rm "${ED}"/usr/bin/vimtutor
local keep_colors="default"
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
# tinkering with the next line might make bad things happen ...
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
eshopts_pop
fi
# These files might have slight security issues, so we won't
# install them. See bug #77841. We don't mind if these don't
# exist.
rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
newbashcomp "${FILESDIR}"/xxd-completion xxd
# We shouldn't be installing the ex or view man page symlinks, as they
# are managed by eselect-vi
rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
}
pkg_postinst() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
}
pkg_postrm() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
}

@ -1,223 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 17f992ad5eedce56fddcaa4906561843a058a3c5 $
EAPI=5
VIM_VERSION="7.4"
inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
if [[ ${PV} == 9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vim/vim.git"
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="vim and gvim shared files"
HOMEPAGE="http://www.vim.org/"
SLOT="0"
LICENSE="vim"
IUSE="nls acl minimal"
DEPEND="sys-devel/autoconf"
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
S=${WORKDIR}/vim-${PV}
pkg_setup() {
# people with broken alphabets run into trouble. bug 82186.
unset LANG LC_ALL
export LC_COLLATE="C"
# Gnome sandbox silliness. bug #114475.
mkdir -p "${T}"/home
export HOME="${T}"/home
}
src_prepare() {
if [[ ${PV} != 9999* ]] ; then
if [[ -d "${WORKDIR}"/patches/ ]]; then
# Gentoo patches to fix runtime issues, cross-compile errors, etc
EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
epatch "${WORKDIR}"/patches/
fi
fi
# Fixup a script to use awk instead of nawk
sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
|| die "mve.awk sed failed"
# Read vimrc and gvimrc from /etc/vim
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
# Hopefully this pattern won't break for a while at least.
# This fixes bug 29398 (27 Sep 2003 agriffis)
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
"${S}"/runtime/doc/syntax.txt \
"${S}"/runtime/doc/tagsrch.txt \
"${S}"/runtime/doc/usr_29.txt \
"${S}"/runtime/menu.vim \
"${S}"/src/configure.in || die 'sed failed'
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
# this is NeXT, but it's actually just a file in dev-libs/9libs
# This fixes bug 43885 (20 Mar 2004 agriffis)
sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
# correctly. To avoid some really entertaining error messages about stuff
# which isn't even in the source file being invalid, we'll do some trickery
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
# Try to avoid sandbox problems. Bug #114475.
if [[ -d "${S}"/src/po ]] ; then
sed -i -e \
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
"${S}"/src/po/Makefile
fi
if version_is_at_least 7.3.122 ; then
cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
fi
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
if version_is_at_least 7.3 ; then
sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
fi
epatch_user
}
src_configure() {
local myconf
# Fix bug 37354: Disallow -funroll-all-loops on amd64
# Bug 57859 suggests that we want to do this for all archs
filter-flags -funroll-all-loops
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
# everyone since previous flag filtering bugs have turned out to affect
# multiple archs...
replace-flags -O3 -O2
# Fix bug 18245: Prevent "make" from the following chain:
# (1) Notice configure.in is newer than auto/configure
# (2) Rebuild auto/configure
# (3) Notice auto/configure is newer than auto/config.mk
# (4) Run ./configure (with wrong args) to remake auto/config.mk
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
rm -f src/auto/configure
emake -j1 -C src autoconf
# This should fix a sandbox violation (see bug 24447). The hvc
# things are for ppc64, see bug 86433.
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
[[ -e ${file} ]] && addwrite $file
done
# Let Portage do the stripping. Some people like that.
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
# Keep Gentoo Prefix env contained within the EPREFIX
use prefix && myconf+=" --without-local-dir"
econf \
--with-modified-by=Gentoo-${PVR} \
--enable-gui=no \
--without-x \
--disable-darwin \
--disable-perlinterp \
--disable-pythoninterp \
--disable-rubyinterp \
--disable-gpm \
--disable-selinux \
$(use_enable nls) \
$(use_enable acl) \
${myconf}
}
src_compile() {
# The following allows emake to be used
emake -j1 -C src auto/osdef.h objects
emake tools
}
src_test() { :; }
src_install() {
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
dodir /usr/{bin,share/{man/man1,vim}}
cd src || die "cd src failed"
emake \
installruntime \
installmanlinks \
installmacros \
installtutor \
installtutorbin \
installtools \
install-languages \
install-icons \
DESTDIR="${D}" \
BINDIR="${EPREFIX}"/usr/bin \
MANDIR="${EPREFIX}"/usr/share/man \
DATADIR="${EPREFIX}"/usr/share
keepdir ${vimfiles}/keymap
# default vimrc is installed by vim-core since it applies to
# both vim and gvim
insinto /etc/vim/
newins "${FILESDIR}"/vimrc-r4 vimrc
eprefixify "${ED}"/etc/vim/vimrc
if use minimal ; then
# To save space, install only a subset of the files.
# Helps minimalize the livecd, bug 65144.
eshopts_push -s extglob
rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
rm "${ED}"/usr/bin/vimtutor
local keep_colors="default"
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
# tinkering with the next line might make bad things happen ...
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
eshopts_pop
fi
# These files might have slight security issues, so we won't
# install them. See bug #77841. We don't mind if these don't
# exist.
rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
newbashcomp "${FILESDIR}"/xxd-completion xxd
# We shouldn't be installing the ex or view man page symlinks, as they
# are managed by eselect-vi
rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
}
pkg_postinst() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
}
pkg_postrm() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
}

@ -1,218 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 4fdfe19784b8a0a073e62e8fcfc3b07d1c16553d $
EAPI=6
VIM_VERSION="8.0"
inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
if [[ ${PV} == 9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vim/vim.git"
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://dev.gentoo.org/~radhermit/vim/vim-7.4.2102-gentoo-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="vim and gvim shared files"
HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
SLOT="0"
LICENSE="vim"
IUSE="nls acl minimal"
DEPEND="sys-devel/autoconf"
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
S=${WORKDIR}/vim-${PV}
pkg_setup() {
# people with broken alphabets run into trouble. bug 82186.
unset LANG LC_ALL
export LC_COLLATE="C"
# Gnome sandbox silliness. bug #114475.
mkdir -p "${T}"/home
export HOME="${T}"/home
}
src_prepare() {
if [[ ${PV} != 9999* ]] ; then
# Gentoo patches to fix runtime issues, cross-compile errors, etc
eapply "${WORKDIR}"/patches
fi
# Fixup a script to use awk instead of nawk
sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
|| die "mve.awk sed failed"
# Read vimrc and gvimrc from /etc/vim
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
# Hopefully this pattern won't break for a while at least.
# This fixes bug 29398 (27 Sep 2003 agriffis)
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
"${S}"/runtime/doc/syntax.txt \
"${S}"/runtime/doc/tagsrch.txt \
"${S}"/runtime/doc/usr_29.txt \
"${S}"/runtime/menu.vim \
"${S}"/src/configure.in || die 'sed failed'
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
# this is NeXT, but it's actually just a file in dev-libs/9libs
# This fixes bug 43885 (20 Mar 2004 agriffis)
sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
# correctly. To avoid some really entertaining error messages about stuff
# which isn't even in the source file being invalid, we'll do some trickery
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
# Try to avoid sandbox problems. Bug #114475.
if [[ -d "${S}"/src/po ]] ; then
sed -i -e \
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
"${S}"/src/po/Makefile
fi
if version_is_at_least 7.3.122 ; then
cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
fi
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
if version_is_at_least 7.3 ; then
sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
fi
eapply_user
}
src_configure() {
local myconf
# Fix bug 37354: Disallow -funroll-all-loops on amd64
# Bug 57859 suggests that we want to do this for all archs
filter-flags -funroll-all-loops
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
# everyone since previous flag filtering bugs have turned out to affect
# multiple archs...
replace-flags -O3 -O2
# Fix bug 18245: Prevent "make" from the following chain:
# (1) Notice configure.in is newer than auto/configure
# (2) Rebuild auto/configure
# (3) Notice auto/configure is newer than auto/config.mk
# (4) Run ./configure (with wrong args) to remake auto/config.mk
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
rm -f src/auto/configure
emake -j1 -C src autoconf
# This should fix a sandbox violation (see bug 24447). The hvc
# things are for ppc64, see bug 86433.
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
[[ -e ${file} ]] && addwrite $file
done
# Let Portage do the stripping. Some people like that.
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
# Keep Gentoo Prefix env contained within the EPREFIX
use prefix && myconf+=" --without-local-dir"
econf \
--with-modified-by=Gentoo-${PVR} \
--enable-gui=no \
--without-x \
--disable-darwin \
--disable-perlinterp \
--disable-pythoninterp \
--disable-rubyinterp \
--disable-gpm \
--disable-selinux \
$(use_enable nls) \
$(use_enable acl) \
${myconf}
}
src_compile() {
# The following allows emake to be used
emake -j1 -C src auto/osdef.h objects
emake tools
}
src_test() { :; }
src_install() {
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
dodir /usr/{bin,share/{man/man1,vim}}
emake -C src \
installruntime \
installmanlinks \
installmacros \
installtutor \
installtutorbin \
installtools \
install-languages \
DESTDIR="${D}" \
BINDIR="${EPREFIX}"/usr/bin \
MANDIR="${EPREFIX}"/usr/share/man \
DATADIR="${EPREFIX}"/usr/share
keepdir ${vimfiles}/keymap
# default vimrc is installed by vim-core since it applies to
# both vim and gvim
insinto /etc/vim/
newins "${FILESDIR}"/vimrc-r4 vimrc
eprefixify "${ED}"/etc/vim/vimrc
if use minimal ; then
# To save space, install only a subset of the files.
# Helps minimalize the livecd, bug 65144.
eshopts_push -s extglob
rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
rm "${ED}"/usr/bin/vimtutor
local keep_colors="default"
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
# tinkering with the next line might make bad things happen ...
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
eshopts_pop
fi
# These files might have slight security issues, so we won't
# install them. See bug #77841. We don't mind if these don't
# exist.
rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
newbashcomp "${FILESDIR}"/xxd-completion xxd
# We shouldn't be installing the ex or view man page symlinks, as they
# are managed by eselect-vi
rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
}
pkg_postinst() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
}
pkg_postrm() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: fdae9f5cba704687e8c88b2e05ec2cb5bd647a36 $
# $Id: 14fbab351fc546f30a9604f22e582265d82dbc72 $
EAPI=6
VIM_VERSION="8.0"
@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]] ; then
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://dev.gentoo.org/~radhermit/vim/vim-7.4.2102-gentoo-patches.tar.bz2"
https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
@ -60,12 +60,12 @@ src_prepare() {
"${S}"/runtime/doc/tagsrch.txt \
"${S}"/runtime/doc/usr_29.txt \
"${S}"/runtime/menu.vim \
"${S}"/src/configure.in || die 'sed failed'
"${S}"/src/configure.ac || die 'sed failed'
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
# this is NeXT, but it's actually just a file in dev-libs/9libs
# This fixes bug 43885 (20 Mar 2004 agriffis)
sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
# correctly. To avoid some really entertaining error messages about stuff
@ -106,7 +106,7 @@ src_configure() {
replace-flags -O3 -O2
# Fix bug 18245: Prevent "make" from the following chain:
# (1) Notice configure.in is newer than auto/configure
# (1) Notice configure.ac is newer than auto/configure
# (2) Rebuild auto/configure
# (3) Notice auto/configure is newer than auto/config.mk
# (4) Run ./configure (with wrong args) to remake auto/config.mk

@ -1,2 +1,3 @@
DIST vim-8.0.0106-gentoo-patches.tar.bz2 2281 SHA256 9823a91b050eb4b001cc50f508d2ad03c7c256ed49183c1af7582318667f48d4 SHA512 39edd9f518c230d2b0486b18aa155572a9eada4a5e21108573d6e66e2eef1276f23b77d766648f018c9cf973a7d03712d8861be6ea13255d7b389912d554a47a WHIRLPOOL d6d01e3944d56762a2a999ee631f89e212360aa030ddd16ea96e32d518ec171e04d8565dcb89e804248d53e4c6e06b19be239ad2316ea88bb57364815b85d26b
DIST vim-8.0.0106.tar.gz 12945768 SHA256 cbace3e7a2db3df73720c4181fa4cdbf7df94310522b1c7a4fd7d6afeaa1e145 SHA512 4e40d9ba8ba694d951be78c653d8fcfebe2b3cc460986ef8e3478f81f2dfd5e4b3c2bc5d22082536b9c275e41beeac343cee0aa1e4de125b71fe95c772e26c20 WHIRLPOOL 569a8f50ebdb7f380f675ed0a4b4aa5e7e226303a8e92db2a8e81f5d8acc0e466620c60c160e2204f3af615b91ca2481eb9716f9c2e6dbdb416050d758a49f09
DIST vim-8.0.0386.tar.gz 13000882 SHA256 25b28f6ef55a8d0b3f255f0fbed90ad1450bde7f7b231cc09d86c5119adc95bc SHA512 3169ea4dbc836c724f63d99cd345227f870a3a922beba84a6b42011685c0dd209f6bba8c69af0650c9a57bb47fc541e1150ca8cefb21fcada022259bf4c94a66 WHIRLPOOL 99a5582e0db0dc53fd8385cddf1fbf13d2fe1dd5c8e33c9959288c19d4b85f50139791269edd4ec3d5cbed6548cc3d9c7962ec1706eb422a4ef83c207aac009b

@ -0,0 +1,349 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 9e2b6fc633c60798506b22b14ce6313963d15813 $
EAPI=6
VIM_VERSION="8.0"
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
PYTHON_REQ_USE=threads
inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
if [[ ${PV} == 9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vim/vim.git"
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Vim, an improved vi-style text editor"
HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
SLOT="0"
LICENSE="vim"
IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
REQUIRED_USE="
luajit? ( lua )
python? (
|| ( $(python_gen_useflags '*') )
?? ( $(python_gen_useflags 'python2*') )
?? ( $(python_gen_useflags 'python3*') )
)
"
RDEPEND="
>=app-eselect/eselect-vi-1.1
>=sys-libs/ncurses-5.2-r2:0=
nls? ( virtual/libintl )
acl? ( kernel_linux? ( sys-apps/acl ) )
cscope? ( dev-util/cscope )
gpm? ( >=sys-libs/gpm-1.19.3 )
lua? (
luajit? ( dev-lang/luajit:2= )
!luajit? ( dev-lang/lua:0[deprecated] )
)
!minimal? (
~app-editors/vim-core-${PV}
dev-util/ctags
)
perl? ( dev-lang/perl:= )
python? ( ${PYTHON_DEPS} )
racket? ( dev-scheme/racket )
ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
selinux? ( sys-libs/libselinux )
tcl? ( dev-lang/tcl:0= )
X? ( x11-libs/libXt )
"
DEPEND="${RDEPEND}
sys-devel/autoconf
nls? ( sys-devel/gettext )
"
pkg_setup() {
# people with broken alphabets run into trouble. bug 82186.
unset LANG LC_ALL
export LC_COLLATE="C"
# Gnome sandbox silliness. bug #114475.
mkdir -p "${T}"/home
export HOME="${T}"/home
}
src_prepare() {
if [[ ${PV} != 9999* ]] ; then
# Gentoo patches to fix runtime issues, cross-compile errors, etc
eapply "${WORKDIR}"/patches/
fi
# Fixup a script to use awk instead of nawk
sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
|| die "mve.awk sed failed"
# Read vimrc and gvimrc from /etc/vim
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
# Hopefully this pattern won't break for a while at least.
# This fixes bug 29398 (27 Sep 2003 agriffis)
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
"${S}"/runtime/doc/syntax.txt \
"${S}"/runtime/doc/tagsrch.txt \
"${S}"/runtime/doc/usr_29.txt \
"${S}"/runtime/menu.vim \
"${S}"/src/configure.ac || die 'sed failed'
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
# this is NeXT, but it's actually just a file in dev-libs/9libs
# This fixes bug 43885 (20 Mar 2004 agriffis)
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
# correctly. To avoid some really entertaining error messages about stuff
# which isn't even in the source file being invalid, we'll do some trickery
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
# conditionally make the manpager.sh script
if use vim-pager ; then
cat <<-END > "${S}"/runtime/macros/manpager.sh
#!/bin/sh
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
vim \\
-c 'let no_plugin_maps = 1' \\
-c 'set nolist nomod ft=man ts=8' \\
-c 'let g:showmarks_enable=0' \\
-c 'runtime! macros/less.vim' -
END
fi
# Try to avoid sandbox problems. Bug #114475.
if [[ -d "${S}"/src/po ]] ; then
sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
"${S}"/src/po/Makefile
fi
if version_is_at_least 7.3.122 ; then
cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
fi
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
if version_is_at_least 7.3 ; then
sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
fi
eapply_user
}
src_configure() {
local myconf=()
# Fix bug 37354: Disallow -funroll-all-loops on amd64
# Bug 57859 suggests that we want to do this for all archs
filter-flags -funroll-all-loops
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
# everyone since previous flag filtering bugs have turned out to affect
# multiple archs...
replace-flags -O3 -O2
# Fix bug 18245: Prevent "make" from the following chain:
# (1) Notice configure.ac is newer than auto/configure
# (2) Rebuild auto/configure
# (3) Notice auto/configure is newer than auto/config.mk
# (4) Run ./configure (with wrong args) to remake auto/config.mk
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
rm -f src/auto/configure
emake -j1 -C src autoconf
# This should fix a sandbox violation (see bug 24447). The hvc
# things are for ppc64, see bug 86433.
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
[[ -e ${file} ]] && addwrite $file
done
if use minimal ; then
myconf=(
--with-features=tiny
--disable-nls
--disable-multibyte
--disable-acl
--enable-gui=no
--without-x
--disable-darwin
--disable-luainterp
--disable-perlinterp
--disable-pythoninterp
--disable-mzschemeinterp
--disable-rubyinterp
--disable-selinux
--disable-tclinterp
--disable-gpm
)
else
use debug && append-flags "-DDEBUG"
myconf=(
--with-features=huge
--enable-multibyte
$(use_enable acl)
$(use_enable cscope)
$(use_enable gpm)
$(use_enable lua luainterp)
$(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
$(use_with luajit)
$(use_enable nls)
$(use_enable perl perlinterp)
$(use_enable racket mzschemeinterp)
$(use_enable ruby rubyinterp)
$(use_enable selinux)
$(use_enable tcl tclinterp)
)
if use python ; then
py_add_interp() {
local v
[[ ${EPYTHON} == python3* ]] && v=3
myconf+=(
--enable-python${v}interp
vi_cv_path_python${v}="${PYTHON}"
)
}
python_foreach_impl py_add_interp
else
myconf+=(
--disable-pythoninterp
--disable-python3interp
)
fi
# --with-features=huge forces on cscope even if we --disable it. We need
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
if ! use cscope ; then
sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
die "couldn't disable cscope"
fi
# don't test USE=X here ... see bug #19115
# but need to provide a way to link against X ... see bug #20093
myconf+=(
--enable-gui=no
--disable-darwin
$(use_with X x)
)
fi
# let package manager strip binaries
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
# keep prefix env contained within the EPREFIX
use prefix && myconf+=( --without-local-dir )
econf \
--with-modified-by=Gentoo-${PVR} \
"${myconf[@]}"
}
src_compile() {
# The following allows emake to be used
emake -j1 -C src auto/osdef.h objects
emake
}
src_test() {
echo
einfo "Starting vim tests. Several error messages will be shown"
einfo "while the tests run. This is normal behaviour and does not"
einfo "indicate a fault."
echo
ewarn "If the tests fail, your terminal may be left in a strange"
ewarn "state. Usually, running 'reset' will fix this."
echo
# Don't let vim talk to X
unset DISPLAY
emake -j1 -C src/testdir nongui
}
# Make convenience symlinks, hopefully without stepping on toes. Some
# of these links are "owned" by the vim ebuild when it is installed,
# but they might be good for gvim as well (see bug 45828)
update_vim_symlinks() {
local f syms
syms="vimdiff rvim rview"
einfo "Calling eselect vi update..."
# Call this with --if-unset to respect user's choice (bug 187449)
eselect vi update --if-unset
# Make or remove convenience symlink, vim -> gvim
if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
rm "${EROOT}"/usr/bin/vim
fi
# Make or remove convenience symlinks to vim
if [[ -f "${EROOT}"/usr/bin/vim ]]; then
for f in ${syms}; do
ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
done
else
for f in ${syms}; do
if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
rm -f "${EROOT}"/usr/bin/${f}
fi
done
fi
# This will still break if you merge then remove the vi package,
# but there's only so much you can do, eh? Unfortunately we don't
# have triggers like are done in rpm-land.
}
src_install() {
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
# managed by eselect-vi
dobin src/vim
dosym vim /usr/bin/vimdiff
dosym vim /usr/bin/rvim
dosym vim /usr/bin/rview
if use vim-pager ; then
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
insinto ${vimfiles}/macros
doins runtime/macros/manpager.sh
fperms a+x ${vimfiles}/macros/manpager.sh
fi
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
# keep in sync with 'complete ... -F' list
bashcomp_alias vim ex vi view rvim rview vimdiff
# We shouldn't be installing the ex or view man page symlinks, as they
# are managed by eselect-vi
rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
}
pkg_postinst() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
# Make convenience symlinks
update_vim_symlinks
}
pkg_postrm() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
# Make convenience symlinks
update_vim_symlinks
}

@ -1,10 +1,10 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 8625de3f0b1db428741b0134731bf3d2c83e0319 $
# $Id: 9e2b6fc633c60798506b22b14ce6313963d15813 $
EAPI=6
VIM_VERSION="8.0"
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
PYTHON_REQ_USE=threads
inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://github.com/vim/vim.git"
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://dev.gentoo.org/~radhermit/vim/vim-7.4.2102-gentoo-patches.tar.bz2"
https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
@ -50,7 +50,7 @@ RDEPEND="
perl? ( dev-lang/perl:= )
python? ( ${PYTHON_DEPS} )
racket? ( dev-scheme/racket )
ruby? ( || ( dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
selinux? ( sys-libs/libselinux )
tcl? ( dev-lang/tcl:0= )
X? ( x11-libs/libXt )

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: eb191da60344cc7b635fcbd7a56f21ca86414c0e $
# $Id: 0f9567056a8f4e6a934d32f3b7ded4836923a6cd $
EAPI=6
@ -12,7 +12,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
DOCS="ChangeLog keyword-generation.sh"
ELISP_PATCHES="${P}-id.patch"

@ -0,0 +1,291 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 2b4fec64db606ec1417e08d78ab4f8aed28a71bb $
EAPI=6
EGO_PN="github.com/docker/docker"
if [[ ${PV} = *9999* ]]; then
# Docker cannot be fetched via "go get", thanks to autogenerated code
EGIT_REPO_URI="https://${EGO_PN}.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
inherit git-r3
else
MY_PV="${PV/_/-}"
DOCKER_GITCOMMIT="092cba3"
EGIT_COMMIT="v${MY_PV}"
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
inherit golang-vcs-snapshot
fi
inherit bash-completion-r1 golang-base linux-info systemd udev user
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
HOMEPAGE="https://dockerproject.org"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="apparmor aufs btrfs +container-init +device-mapper hardened overlay pkcs11 seccomp"
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
CDEPEND="
>=dev-db/sqlite-3.7.9:3
device-mapper? (
>=sys-fs/lvm2-2.02.89[thin]
)
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
apparmor? ( sys-libs/libapparmor )
"
DEPEND="
${CDEPEND}
dev-go/go-md2man
btrfs? (
>=sys-fs/btrfs-progs-3.16.1
)
"
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
RDEPEND="
${CDEPEND}
!app-emulation/docker-bin
>=net-firewall/iptables-1.4
sys-process/procps
>=dev-vcs/git-1.7
>=app-arch/xz-utils-4.9
>=app-emulation/containerd-0.2.5
app-emulation/docker-runc[apparmor?,seccomp?]
app-emulation/docker-proxy
container-init? ( >=sys-process/tini-0.13.0[static] )
"
RESTRICT="installsources strip"
S="${WORKDIR}/${P}/src/${EGO_PN}"
# see "contrib/check-config.sh" from upstream's sources
CONFIG_CHECK="
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
~KEYS
~VETH ~BRIDGE ~BRIDGE_NETFILTER
~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK
~NF_NAT ~NF_NAT_NEEDED
~POSIX_MQUEUE
~USER_NS
~SECCOMP
~CGROUP_PIDS
~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
~BLK_CGROUP ~BLK_DEV_THROTTLING ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
~CGROUP_PERF
~CGROUP_HUGETLB
~NET_CLS_CGROUP
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT
~VXLAN
~XFRM_ALGO ~XFRM_USER
~IPVLAN
~MACVLAN ~DUMMY
"
ERROR_KEYS="CONFIG_KEYS: is mandatory"
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
PATCHES=(
"${FILESDIR}"/${PV}-split-openrc-log.patch
)
pkg_setup() {
if kernel_is lt 3 10; then
ewarn ""
ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
fi
# for where these kernel versions come from, see:
# https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog*
if ! {
kernel_is ge 3 16 \
|| { kernel_is 3 15 && kernel_is ge 3 15 5; } \
|| { kernel_is 3 14 && kernel_is ge 3 14 12; } \
|| { kernel_is 3 12 && kernel_is ge 3 12 25; }
}; then
ewarn ""
ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+"
ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)"
ewarn ""
ewarn "See also https://github.com/docker/docker/issues/2960"
fi
if kernel_is le 3 18; then
CONFIG_CHECK+="
~RESOURCE_COUNTERS
"
fi
if kernel_is le 3 13; then
CONFIG_CHECK+="
~NETPRIO_CGROUP
"
else
CONFIG_CHECK+="
~CGROUP_NET_PRIO
"
fi
if kernel_is lt 4 5; then
CONFIG_CHECK+="
~MEMCG_KMEM
"
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
fi
if kernel_is lt 4 7; then
CONFIG_CHECK+="
~DEVPTS_MULTIPLE_INSTANCES
"
fi
if use aufs; then
CONFIG_CHECK+="
~AUFS_FS
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
"
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
fi
if use btrfs; then
CONFIG_CHECK+="
~BTRFS_FS
~BTRFS_FS_POSIX_ACL
"
fi
if use device-mapper; then
CONFIG_CHECK+="
~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
"
fi
if use overlay; then
CONFIG_CHECK+="
~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
"
fi
linux-info_pkg_setup
# create docker group for the code checking for it in /etc/group
enewgroup docker
}
src_compile() {
export GOPATH="${WORKDIR}/${P}:${PWD}/vendor"
# setup CFLAGS and LDFLAGS for separate build target
# see https://github.com/tianon/docker-overlay/pull/10
export CGO_CFLAGS="-I${ROOT}/usr/include"
export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
# if we're building from a tarball, we need the GITCOMMIT value
[ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
if use hardened; then
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
-i hack/make/dynbinary-client || die
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
-i hack/make/dynbinary-daemon || die
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
grep -q -- '-fno-PIC' hack/make/dynbinary-client || die 'hardened sed failed'
fi
# let's set up some optional features :)
export DOCKER_BUILDTAGS=''
for gd in aufs btrfs device-mapper overlay; do
if ! use $gd; then
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
fi
done
for tag in apparmor pkcs11 seccomp; do
if use $tag; then
DOCKER_BUILDTAGS+=" $tag"
fi
done
# time to build!
./hack/make.sh dynbinary || die 'dynbinary failed'
# build the man pages too
./man/md2man-all.sh || die "unable to generate man pages"
}
src_install() {
VERSION="$(cat VERSION)"
newbin "bundles/$VERSION/dynbinary-client/docker-$VERSION" docker
newbin "bundles/$VERSION/dynbinary-daemon/dockerd-$VERSION" dockerd
dosym containerd /usr/bin/docker-containerd
dosym containerd-shim /usr/bin/docker-containerd-shim
dosym runc /usr/bin/docker-runc
use container-init && dosym tini /usr/bin/docker-init
newinitd contrib/init/openrc/docker.initd docker
newconfd contrib/init/openrc/docker.confd docker
systemd_dounit contrib/init/systemd/docker.{service,socket}
udev_dorules contrib/udev/*.rules
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
dodoc -r docs/*
doman man/man*/*
dobashcomp contrib/completion/bash/*
insinto /usr/share/zsh/site-functions
doins contrib/completion/zsh/_*
insinto /usr/share/vim/vimfiles
doins -r contrib/syntax/vim/ftdetect
doins -r contrib/syntax/vim/syntax
# note: intentionally not using "doins" so that we preserve +x bits
dodir /usr/share/${PN}/contrib
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
}
pkg_postinst() {
udev_reload
elog
elog "To use Docker, the Docker daemon must be running as root. To automatically"
elog "start the Docker daemon at boot, add Docker to the default runlevel:"
elog " rc-update add docker default"
elog "Similarly for systemd:"
elog " systemctl enable docker.service"
elog
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
elog " usermod -aG docker youruser"
elog
}

@ -0,0 +1,54 @@
From 65c1a3be5bf748f95edc45f1391c869bf4ff4a52 Mon Sep 17 00:00:00 2001
From: William Hubbs <w.d.hubbs@gmail.com>
Date: Thu, 23 Feb 2017 17:07:26 -0600
Subject: [PATCH] contrib/init/openrc: allow separate logs for stdout and
stderr
Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
---
contrib/init/openrc/docker.confd | 10 ++++++++++
contrib/init/openrc/docker.initd | 4 +++-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/contrib/init/openrc/docker.confd b/contrib/init/openrc/docker.confd
index 2444031..89183de 100644
--- a/contrib/init/openrc/docker.confd
+++ b/contrib/init/openrc/docker.confd
@@ -1,8 +1,18 @@
# /etc/conf.d/docker: config file for /etc/init.d/docker
# where the docker daemon output gets piped
+# this contains both stdout and stderr. If you need to separate them,
+# see the settings below
#DOCKER_LOGFILE="/var/log/docker.log"
+# where the docker daemon stdout gets piped
+# if this is not set, DOCKER_LOGFILE is used
+#DOCKER_OUTFILE="/var/log/docker-out.log"
+
+# where the docker daemon stderr gets piped
+# if this is not set, DOCKER_LOGFILE is used
+#DOCKER_ERRFILE="/var/log/docker-err.log"
+
# where docker's pid get stored
#DOCKER_PIDFILE="/run/docker.pid"
diff --git a/contrib/init/openrc/docker.initd b/contrib/init/openrc/docker.initd
index 5d31603..6c968f6 100644
--- a/contrib/init/openrc/docker.initd
+++ b/contrib/init/openrc/docker.initd
@@ -6,8 +6,10 @@ command="${DOCKERD_BINARY:-/usr/bin/dockerd}"
pidfile="${DOCKER_PIDFILE:-/run/${RC_SVCNAME}.pid}"
command_args="-p \"${pidfile}\" ${DOCKER_OPTS}"
DOCKER_LOGFILE="${DOCKER_LOGFILE:-/var/log/${RC_SVCNAME}.log}"
+DOCKER_ERRFILE="${DOCKER_ERRFILE:-${DOCKER_LOGFILE}}"
+DOCKER_OUTFILE="${DOCKER_OUTFILE:-${DOCKER_LOGFILE}}"
start_stop_daemon_args="--background \
- --stderr \"${DOCKER_LOGFILE}\" --stdout \"${DOCKER_LOGFILE}\""
+ --stderr \"${DOCKER_ERRFILE}\" --stdout \"${DOCKER_OUTFILE}\""
start_pre() {
checkpath -f -m 0644 -o root:docker "$DOCKER_LOGFILE"
--
2.10.2

@ -32,9 +32,9 @@
<flag name="sdl2">Use libsdl2 instead of libsdl</flag>
<flag name="spice">Enable Spice protocol support via <pkg>app-emulation/spice</pkg></flag>
<flag name="ssh">Enable SSH based block device support via <pkg>net-libs/libssh2</pkg></flag>
<flag name="static-softmmu">Builds the Software MMU (system) targets as static binaries</flag>
<flag name="static-softmmu">Build the Software MMU (system) targets as static binaries</flag>
<flag name="static-user">Build the User targets as static binaries</flag>
<flag name="static">Enables both 'static-softmmu' and 'static-user'</flag>
<flag name="static">Build the User and Software MMU (system) targets as well as tools as static binaries</flag>
<flag name="snappy">Enable support for snappy compression</flag>
<flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
<flag name="tci">Enable the TCG Interpreter which can speed up or slowdown workloads depending on the host and guest CPUs being emulated. In the future it will be a runtime option but for now its compile time.</flag>

@ -1,7 +1,7 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
EAPI="6"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="ncurses,readline"
@ -13,7 +13,7 @@ inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
inherit git-2
inherit git-r3
SRC_URI=""
else
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
@ -25,19 +25,20 @@ HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt glusterfs \
gnutls 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 usb usbredir vde +vhost-net \
virgl 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
x86_64"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt
glusterfs gnutls 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-user systemtap tci test +threads usb usbredir
vde +vhost-net virgl 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 x86_64"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
IUSE_USER_TARGETS="${COMMON_TARGETS}
armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
@ -52,32 +53,35 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
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 )
static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio )
virtfs? ( xattr )
vte? ( gtk )"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
#
# 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.
#
# Older versions of gnutls are supported, but it's simpler to just require
# the latest versions. This is also why we require nettle.
#
# TODO: Split out tools deps into another var. e.g. bzip2 is only used by
# system binaries and tools, not user binaries.
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
sys-libs/zlib[static-libs(+)]
bzip2? ( app-arch/bzip2[static-libs(+)] )
xattr? ( sys-apps/attr[static-libs(+)] )"
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
# To configure and compile qemu user targets or tools alone the following
# dependencies are not strictly necessary:
# alsa? ( >=media-libs/alsa-lib-1.0.13 )
# fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
# pulseaudio? ( media-sound/pulseaudio )
# seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
# but these are so few it is not worth the effort to separate this list.
TARGETS_DEPEND="
>=dev-libs/glib-2.0[static-libs(+)]
>=x11-libs/pixman-0.28.0[static-libs(+)]
sys-libs/zlib[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 )
bzip2? ( app-arch/bzip2[static-libs(+)] )
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(+)] )
@ -114,6 +118,7 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
python? ( ${PYTHON_DEPS} )
rbd? ( sys-cluster/ceph[static-libs(+)] )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
@ -134,13 +139,16 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
systemtap? ( dev-util/systemtap )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xattr? ( sys-apps/attr[static-libs(+)] )
xen? ( app-emulation/xen-tools:= )
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? (
@ -153,14 +161,11 @@ X86_FIRMWARE_DEPEND="
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}) )
!static? ( ${TARGETS_DEPEND//\[static-libs(+)]} )
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:= )"
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )"
DEPEND="${CDEPEND}
dev-lang/perl
=dev-lang/python-2*
@ -168,15 +173,40 @@ DEPEND="${CDEPEND}
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}) )
static? ( ${TARGETS_DEPEND} )
static-user? ( ${TARGETS_DEPEND} )
test? (
dev-libs/glib[utils]
sys-devel/bc
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-qemu )
"
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.5.0-cflags.patch
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
"${FILESDIR}"/${PN}-2.7.0-CVE-2016-8669-1.patch #597108
"${FILESDIR}"/${PN}-2.8.0-CVE-2016-9908.patch #601826
"${FILESDIR}"/${PN}-2.8.0-CVE-2016-9912.patch #602630
"${FILESDIR}"/${PN}-2.8.0-CVE-2016-10028.patch #603444
"${FILESDIR}"/${PN}-2.8.0-CVE-2016-10155.patch #606720
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-2615.patch #608034
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-2630.patch #609396
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5525-1.patch #606264
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5525-2.patch
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5552.patch #606722
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5578.patch #607000
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5579.patch #607100
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5667.patch #607766
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5856.patch #608036
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5857.patch #608038
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5898.patch #608520
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5931.patch #608728
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5973.patch #609334
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-5987.patch #609398
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-6058.patch #609638
"${FILESDIR}"/${PN}-2.8.0-CVE-2017-2620.patch #609206
)
STRIP_MASK="/usr/share/qemu/palcode-clipper"
@ -186,8 +216,7 @@ QA_PREBUILT="
usr/share/qemu/openbios-sparc32
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/u-boot.e500
"
usr/share/qemu/u-boot.e500"
QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-x86_64
@ -332,29 +361,7 @@ src_prepare() {
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
Makefile Makefile.target || die
epatch "${FILESDIR}"/${PN}-2.5.0-cflags.patch
epatch "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
epatch "${FILESDIR}"/${PN}-2.7.0-CVE-2016-8669-1.patch #597108
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2016-9908.patch #601826
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2016-9912.patch #602630
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2016-10028.patch #603444
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2016-10155.patch #606720
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-2615.patch #608034
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-2630.patch #609396
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5525-1.patch #606264
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5525-2.patch
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5552.patch #606722
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5578.patch #607000
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5579.patch #607100
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5667.patch #607766
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5856.patch #608036
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5857.patch #608038
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5898.patch #608520
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5931.patch #608728
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5973.patch #609334
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-5987.patch #609398
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-6058.patch #609638
epatch "${FILESDIR}"/${PN}-2.8.0-CVE-2017-2620.patch #609206
default
# Fix ld and objcopy being called directly
tc-export AR LD OBJCOPY
@ -362,8 +369,6 @@ src_prepare() {
# Verbose builds
MAKEOPTS+=" V=1"
epatch_user
# Run after we've applied all patches.
handle_locales
}
@ -377,7 +382,6 @@ qemu_src_configure() {
local buildtype=$1
local builddir="${S}/${buildtype}-build"
local static_flag="static-${buildtype}"
mkdir "${builddir}"
@ -466,6 +470,7 @@ qemu_src_configure() {
--disable-blobs
--disable-tools
)
local static_flag="static-user"
;;
softmmu)
# audio options
@ -477,20 +482,23 @@ qemu_src_configure() {
conf_opts+=(
--disable-linux-user
--enable-system
--disable-tools
--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) )
local static_flag="static"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--disable-blobs
--enable-tools
$(use_enable bzip2)
)
static_flag="static"
local static_flag="static"
;;
esac
@ -546,7 +554,7 @@ src_configure() {
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
[[ -n ${user_targets} ]] && qemu_src_configure "user"
[[ -z ${softmmu_targets}${user_targets} ]] && qemu_src_configure "tools"
qemu_src_configure "tools"
}
src_compile() {
@ -560,10 +568,8 @@ src_compile() {
default
fi
if [[ -z ${softmmu_targets}${user_targets} ]]; then
cd "${S}/tools-build"
default
fi
}
src_test() {
@ -633,6 +639,7 @@ EOF
done
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
}
src_install() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
@ -663,10 +670,8 @@ src_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

@ -1,7 +1,7 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
EAPI="6"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="ncurses,readline"
@ -13,7 +13,7 @@ inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
inherit git-2
inherit git-r3
SRC_URI=""
else
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
@ -25,19 +25,20 @@ HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt glusterfs \
gnutls 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 usb usbredir vde +vhost-net \
virgl virtfs +vnc vte xattr xen xfs"
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc sparc64
x86_64"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt
glusterfs gnutls 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-user systemtap tci test +threads usb usbredir
vde +vhost-net virgl virtfs +vnc vte xattr xen xfs"
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc
sparc64 x86_64"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
IUSE_USER_TARGETS="${COMMON_TARGETS}
armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
@ -52,35 +53,38 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
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 )
static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio )
virtfs? ( xattr )
vte? ( gtk )"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
#
# 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.
#
# Older versions of gnutls are supported, but it's simpler to just require
# the latest versions. This is also why we require nettle.
#
# TODO: Split out tools deps into another var. e.g. bzip2 is only used by
# system binaries and tools, not user binaries.
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
sys-libs/zlib[static-libs(+)]
bzip2? ( app-arch/bzip2[static-libs(+)] )
xattr? ( sys-apps/attr[static-libs(+)] )"
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
# To configure and compile qemu user targets or tools alone the following
# dependencies are not strictly necessary:
# alsa? ( >=media-libs/alsa-lib-1.0.13 )
# fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
# pulseaudio? ( media-sound/pulseaudio )
# seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
# but these are so few it is not worth the effort to separate this list.
TARGETS_DEPEND="
>=dev-libs/glib-2.0[static-libs(+)]
>=x11-libs/pixman-0.28.0[static-libs(+)]
sys-libs/zlib[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 )
bzip2? ( app-arch/bzip2[static-libs(+)] )
caps? ( sys-libs/libcap-ng[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] )
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
@ -114,6 +118,7 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
python? ( ${PYTHON_DEPS} )
rbd? ( sys-cluster/ceph[static-libs(+)] )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
@ -134,13 +139,16 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
systemtap? ( dev-util/systemtap )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xattr? ( sys-apps/attr[static-libs(+)] )
xen? ( app-emulation/xen-tools:= )
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? (
@ -153,14 +161,11 @@ X86_FIRMWARE_DEPEND="
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}) )
!static? ( ${TARGETS_DEPEND//\[static-libs(+)]} )
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:= )"
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )"
DEPEND="${CDEPEND}
dev-lang/perl
=dev-lang/python-2*
@ -168,15 +173,20 @@ DEPEND="${CDEPEND}
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}) )
static? ( ${TARGETS_DEPEND} )
static-user? ( ${TARGETS_DEPEND} )
test? (
dev-libs/glib[utils]
sys-devel/bc
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-qemu )
"
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.5.0-cflags.patch
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
)
STRIP_MASK="/usr/share/qemu/palcode-clipper"
@ -186,8 +196,7 @@ QA_PREBUILT="
usr/share/qemu/openbios-sparc32
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/u-boot.e500
"
usr/share/qemu/u-boot.e500"
QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-x86_64
@ -332,8 +341,7 @@ src_prepare() {
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
Makefile Makefile.target || die
epatch "${FILESDIR}"/${PN}-2.5.0-cflags.patch
epatch "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
default
# Fix ld and objcopy being called directly
tc-export AR LD OBJCOPY
@ -341,8 +349,6 @@ src_prepare() {
# Verbose builds
MAKEOPTS+=" V=1"
epatch_user
# Run after we've applied all patches.
handle_locales
}
@ -356,7 +362,6 @@ qemu_src_configure() {
local buildtype=$1
local builddir="${S}/${buildtype}-build"
local static_flag="static-${buildtype}"
mkdir "${builddir}"
@ -445,6 +450,7 @@ qemu_src_configure() {
--disable-blobs
--disable-tools
)
local static_flag="static-user"
;;
softmmu)
# audio options
@ -456,20 +462,23 @@ qemu_src_configure() {
conf_opts+=(
--disable-linux-user
--enable-system
--disable-tools
--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) )
local static_flag="static"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--disable-blobs
--enable-tools
$(use_enable bzip2)
)
static_flag="static"
local static_flag="static"
;;
esac
@ -525,7 +534,7 @@ src_configure() {
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
[[ -n ${user_targets} ]] && qemu_src_configure "user"
[[ -z ${softmmu_targets}${user_targets} ]] && qemu_src_configure "tools"
qemu_src_configure "tools"
}
src_compile() {
@ -539,10 +548,8 @@ src_compile() {
default
fi
if [[ -z ${softmmu_targets}${user_targets} ]]; then
cd "${S}/tools-build"
default
fi
}
src_test() {
@ -643,10 +650,8 @@ src_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

@ -1,3 +1,4 @@
DIST portpeek-2.1.18.tar.gz 12233 SHA256 9cda20138b3e75f6f38c3cb117b23e9c01f2b8b0418379bfd68a30b09da835c5 SHA512 f3f7e728c3255f39394393344af469f719f5d0d83e45ddc75b81d53a2c80fe0ac18a606f5c8159917f784eb10a0b0bede44f7d764e11986d492ac61da48f4ade WHIRLPOOL cb97f3cdf95e5c31ba6530757bcd5aed71aa5e0dbb5d683db9a7d5a2e5f4fb9137463167802fe131b4bc6d2d8df2bf662bba9d1282f5df4148444c52ff59fc57
DIST portpeek-2.1.21.tar.gz 12624 SHA256 cb36444a476158636d96d7b3ec0fc9c123ad2ec908338307763daa65b78e1d0e SHA512 7b430c85dcba4ac0d29e6fd680eaed2b59a60b5d21f0b93e90ff2e3ca7018f141e858accf10a035b75463c067444ef1be718be198bb6cc237827c9b7e67df76e WHIRLPOOL d1ae1ecb9e797cf809cca24f923fe879842605d1a4be1d43187bbfa2f03d15d18c2b667e86fa580a4ecea801b7db9208c374ba2aea70de086bb9115b0127027e
DIST portpeek-2.1.22.tar.gz 12614 SHA256 b246887697f97a05ae313d7453f5836b5ce072be7f5c2ddb119537af1daa2127 SHA512 5b83385d787b37a394dd654b67ad24bf129d8345a820b26d58204602e33f26ed134feccc4e3ffc528003ee4f37a48dabca0681ecaca0b3ae08fc03697f29b1c3 WHIRLPOOL 4811579ecff20d838614cb2b609e6918a061f054e7da2edce617ab42a2fd9e3782b6ac15f7c51eef5e971b8d8989027160d2cb46ca485511baef6a603f9b8cff
DIST portpeek-2.1.23.tar.gz 12383 SHA256 383a282ea8044dc3b4136bfe6e5a1e59280fa4b605a36dd483e1a471b4fd5251 SHA512 e65ea71be5c84fa78661a7ff3f414a5c95ae7bb21921c924a32c75051ed17b0c467091182c18bcc1d492a1274d8aa2ca42a74b10e77d2afaefb6c00bad3ed07e WHIRLPOOL 216b357d83247952d4d07c0636bb87a31026cb22828b2aeb4f66b977990dde78ddd018f07ffa71fd9979d04e3646a60b90e2203139bcb7037648a45c250097a1

@ -0,0 +1,30 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: ff5c1206a3f09d2524e6590133b667d3d40ec9f6 $
EAPI="5"
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit python-r1
DESCRIPTION="A helper program for maintaining the package.keyword and package.unmask files"
HOMEPAGE="http://www.mpagano.com/blog/?page_id=3"
SRC_URI="http://www.mpagano.com/downloads/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86 ~x86-fbsd"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}"
RDEPEND="${DEPEND}
>=app-portage/gentoolkit-0.3.2-r1
>=sys-apps/portage-2.3.3[${PYTHON_USEDEP}]"
src_install() {
python_foreach_impl python_doscript ${PN}
doman *.[0-9]
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: a8888480059d49f15df10d42cf846662f6eb74b2 $
# $Id: 73ccced740795faa06af650635166049408bd334 $
EAPI=6
@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}/repoman"
else
SRC_URI="https://dev.gentoo.org/~dolsen/releases/${PN}/${P}.tar.bz2"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Repoman is a Quality Assurance tool for Gentoo ebuilds"

@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 451353f6532879486d75fdca9a9265dc875b81fc $
# $Id: 599ecb829217c6b4f4bd9af7b23d75ae23603fbb $
EAPI=5
@ -12,7 +12,7 @@ SRC_URI="http://gva.noekeon.org/${PN}/${P}-src.tar.gz"
LICENSE="BSD CC-BY-3.0 ZLIB"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86"
KEYWORDS="amd64 arm ppc ppc64 x86"
IUSE="doc"
RDEPEND="dev-libs/xerces-c"

@ -0,0 +1 @@
DIST vim-autoclose-2.0.tar.gz 35779 SHA256 151cfbfda66f338c63e59aad47c7ae34de96d62628fc48af12b0894771f913d2 SHA512 2604c2c16f25eb60bf660ba4f80d40d9aa51af38cc59a2727f0c705ba2abe5302a58dc60a71c791cc6aa002477587d1dadcc8a9269a93c5a9405a86251f4fcd9 WHIRLPOOL 1a0588cb29c4d9d8fa8c9d97d3bcfe0da61e7a9657f1c2127053cd4f57a086f52139f8b2f689126db320f94a612a05714fa486958c98c645f4450b78c929e17c

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>monsieurp@gentoo.org</email>
<name>Patrice Clement</name>
</maintainer>
<maintainer type="project">
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,17 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 9731bbec6d3bad3635a13ccd4511aae1213d6512 $
EAPI=6
inherit vim-plugin
DESCRIPTION="vim plugin: open-close pair of characters"
HOMEPAGE="https://github.com/Townk/vim-autoclose"
SRC_URI="https://dev.gentoo.org/~monsieurp/packages/${P}.tar.gz"
LICENSE="vim"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
src_unpack() {
default
mv * "${P}" || die
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 734a7ac7edff29ab8144255dbbe61d04ede6e636 $
# $Id: 0268b62e202dada53eee18c22f9447e4e90ec28b $
EAPI="6"
@ -20,7 +20,7 @@ SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip )
LICENSE="public-domain"
SLOT="3"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-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 ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )

@ -1,4 +1,6 @@
DIST js-1.7.0.tar.gz 1165607 SHA256 44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b SHA512 9d9fbd9c1dae969ca19ddb0f977ac56f3e0479ec393b859de252fcdd8b7fc325e80399073540884ed365ce56a3219be34c0db9300d5e50f32969660c90527e51 WHIRLPOOL 8044b306b3a1f0abed5ac8a6bf4f9ed70e1ebc6f83f44934a6306d9ed68cd73124f82e40430d764f158377031f5ee986595e58fdb52259ab6a3a8674eaf4eed1
DIST js185-1.0.0.tar.gz 6164605 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687 SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 WHIRLPOOL 58b372713275874d3ae3c6b58c12c56bf8d17d024d591e321538bcdd8e615332e41655954368ce86b90e970209e3fd650c39d931000880f5ec22cb044b5d7a4e
DIST mozjs-24.2.0.tar.bz2 15624530 SHA256 e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8 SHA512 49805e256f6fa797505c01b7596d5bb941ed7a2454862c52ed42ad48b5ae4540b777e77ed8da1b98c89f8622ed2c76052187983687008a4ff53594addb328df4 WHIRLPOOL ea74d19c79b1a0fe407e2803900c49c23e8b76444fb4e20995072c3c59427e8df1895df04f2f4de779a1c58cd1166dd97aeaf7564350832011efe89dbcf9583e
DIST mozjs-38.2.1.rc0.tar.bz2 25012381 SHA256 01994c758174bc173bcf4960f05ecb4da21014f09641a63b2952bbf9eeaa8b5c SHA512 60262c7619cc418569aec81775a671105acbc5bf372273828868f2fbbbc4ea33f78380f7455710816bfcdae828fb4115a08234d599cb30d0db859fcba17f019d WHIRLPOOL b1661859dc41a61317a48a8ee34cab53a369f37067c6565db2c890c596411e51981e0e64f81c5f5bd2bc2ff943493d972b00a5984b99de6e07ce16c07f784cb7
DIST mozjs-45.0.2.tar.bz2 97508152 SHA256 570530b1e551bf4a459d7cae875f33f99d5ef0c29ccc7742a1b6f588e5eadbee SHA512 84a3cf12e2603e00bcfe518a1a5000f53b21758c1c6b32a0410e63ab7db8d4452028195b0ba3e56144054b06e90f8e5195b4db94dba711f7c75d11da99c6c61d WHIRLPOOL dba2f7d4778f47f6476c3dd2e658a5b39ff9e571d4e71fe2508d58910a0989c24f892cbc7cc64aa7c94692cf947eb1a545fd0752bb5d8aace12c2dc96404c114
DIST mozjs17.0.0.tar.gz 6778934 SHA256 321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba SHA512 39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4 WHIRLPOOL 4df7b51577787194065162b09d2c3dda849c13fa901305f9925d4ca5d38bb7f8e2daa943099e003fb9d11f9264ae2d77ccf04e5eea11e3ddcb624b504b99d52f

@ -0,0 +1,17 @@
--- a/js/src/configure.in 2014-06-05 21:15:27.000000000 -0400
+++ b/js/src/configure.in 2014-06-13 11:01:51.130703283 -0400
@@ -1156,14 +1156,6 @@
AC_MSG_RESULT([no])
LDFLAGS=$_SAVE_LDFLAGS)
- AC_MSG_CHECKING([for --build-id option to ld])
- _SAVE_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,--build-id"
- AC_TRY_LINK(,,AC_MSG_RESULT([yes])
- [NSPR_LDFLAGS="$NSPR_LDFLAGS -Wl,--build-id"],
- AC_MSG_RESULT([no])
- LDFLAGS=$_SAVE_LDFLAGS)
-
# Turn on gcc/clang warnings:
# https://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Warning-Options.html
#

@ -0,0 +1,22 @@
--- a/js/src/jscpucfg.h 2012-01-18 17:38:54.409461514 +0100
+++ b/js/src/jscpucfg.h 2012-01-18 17:38:59.522462164 +0100
@@ -77,6 +77,19 @@
#define IS_BIG_ENDIAN 1
#endif
+#elif defined(__FreeBSD__)
+#include <sys/endian.h>
+
+#if defined(BYTE_ORDER)
+#if BYTE_ORDER == LITTLE_ENDIAN
+#define IS_LITTLE_ENDIAN 1
+#undef IS_BIG_ENDIAN
+#elif BYTE_ORDER == BIG_ENDIAN
+#undef IS_LITTLE_ENDIAN
+#define IS_BIG_ENDIAN 1
+#endif
+#endif
+
#elif defined(JS_HAVE_ENDIAN_H)
#include <endian.h>

@ -0,0 +1,21 @@
--- a/js/src/configure.in
+++ b/js/src/configure.in
@@ -958,7 +958,7 @@
CPU_ARCH=s390x
;;
-hppa* | parisc)
+hppa* | parisc*)
CPU_ARCH=hppa
;;
@@ -2009,6 +2009,9 @@
AC_DEFINE(JS_CPU_MIPS)
AC_DEFINE(JS_NUNBOX32)
;;
+hppa*)
+ AC_DEFINE(JS_NUNBOX32)
+ ;;
esac
MOZ_ARG_DISABLE_BOOL(ion,

@ -0,0 +1,46 @@
# HG changeset patch
# User Lars T Hansen <lhansen@mozilla.com>
# Date 1457091735 -3600
# Node ID 69f237c2cf9131e97372debee01931dbacd064e5
# Parent 3aa4483740828617001060fe7386051020521e90
Bug 1253216 - clean up the atomic ops ifdef nest. r=jorendorff
diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
--- a/js/src/jit/AtomicOperations.h
+++ b/js/src/jit/AtomicOperations.h
@@ -318,21 +318,29 @@ AtomicOperations::isLockfree(int32_t siz
} // namespace js
#if defined(JS_CODEGEN_ARM)
# include "jit/arm/AtomicOperations-arm.h"
#elif defined(JS_CODEGEN_ARM64)
# include "jit/arm64/AtomicOperations-arm64.h"
#elif defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64)
# include "jit/mips-shared/AtomicOperations-mips-shared.h"
-#elif defined(__ppc64__) || defined(__PPC64_) \
- || defined(__ppc64le__) || defined(__PPC64LE__) \
- || defined(__ppc__) || defined(__PPC__)
+#elif defined(__ppc__) || defined(__PPC__)
# include "jit/none/AtomicOperations-ppc.h"
#elif defined(JS_CODEGEN_NONE)
-# include "jit/none/AtomicOperations-none.h"
+ // You can disable the JIT with --disable-ion but you must still
+ // provide the atomic operations that will be used by the JS engine.
+ // When the JIT is disabled the operations are simply safe-for-races
+ // C++ realizations of atomics. These operations cannot be written
+ // in portable C++, hence the default here is to crash. See the
+ // top of the file for more guidance.
+# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
+# include "jit/none/AtomicOperations-ppc.h"
+# else
+# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
+# endif
#elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
# include "jit/x86-shared/AtomicOperations-x86-shared.h"
#else
# error "Atomic operations must be defined for this platform"
#endif
#endif // jit_AtomicOperations_h

@ -0,0 +1,11 @@
--- a/js/src/jit/AtomicOperations.h 2016-03-12 13:42:27.914524205 -0500
+++ b/js/src/jit/AtomicOperations.h 2016-03-12 13:42:15.644573630 -0500
@@ -311,6 +311,8 @@
// top of the file for more guidance.
# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
# include "jit/none/AtomicOperations-ppc.h"
+# elif defined(__i386__) || defined(__x86_64__)
+# include "jit/x86-shared/AtomicOperations-x86-shared.h"
# else
# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
# endif

@ -0,0 +1,248 @@
--- a/js/src/jit/AtomicOperations.h 2016-11-08 21:27:30.000000000 +0100
+++ b/js/src/jit/AtomicOperations.h 2016-11-08 22:17:59.280251831 +0100
@@ -311,6 +311,8 @@
// top of the file for more guidance.
# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
# include "jit/none/AtomicOperations-ppc.h"
+# elif defined(__ia64__)
+# include "jit/none/AtomicOperations-ia64.h"
# elif defined(__i386__) || defined(__x86_64__)
# include "jit/x86-shared/AtomicOperations-x86-shared.h"
# else
--- /dev/null
+++ b/js/src/jit/none/AtomicOperations-ia64.h 2016-11-08 22:09:41.378809457 +0100
@@ -0,0 +1,234 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+ * vim: set ts=8 sts=4 et sw=4 tw=99:
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* For documentation, see jit/AtomicOperations.h */
+
+#ifndef jit_ia64_AtomicOperations_ia64_h
+#define jit_ia64_AtomicOperations_ia64_h
+
+#include "mozilla/Assertions.h"
+#include "mozilla/Types.h"
+
+#if defined(__GNUC__)
+
+// The default implementation tactic for gcc is to use the newer
+// __atomic intrinsics added for use in C++11 <atomic>. Where that
+// isn't available, we use GCC's older __sync functions instead.
+//
+// ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS is kept as a backward
+// compatible option for older compilers: enable this to use GCC's old
+// __sync functions instead of the newer __atomic functions. This
+// will be required for GCC 4.6.x and earlier, should we need to use
+// those versions.
+
+//#define ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+
+inline bool
+js::jit::AtomicOperations::isLockfree8()
+{
+# ifndef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int8_t), 0));
+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int16_t), 0));
+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int32_t), 0));
+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int64_t), 0));
+ return true;
+# else
+ return false;
+# endif
+}
+
+inline void
+js::jit::AtomicOperations::fenceSeqCst()
+{
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ __sync_synchronize();
+# else
+ __atomic_thread_fence(__ATOMIC_SEQ_CST);
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::loadSeqCst(T* addr)
+{
+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ __sync_synchronize();
+ T v = *addr;
+ __sync_synchronize();
+# else
+ T v;
+ __atomic_load(addr, &v, __ATOMIC_SEQ_CST);
+# endif
+ return v;
+}
+
+template<typename T>
+inline void
+js::jit::AtomicOperations::storeSeqCst(T* addr, T val)
+{
+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ __sync_synchronize();
+ *addr = val;
+ __sync_synchronize();
+# else
+ __atomic_store(addr, &val, __ATOMIC_SEQ_CST);
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::compareExchangeSeqCst(T* addr, T oldval, T newval)
+{
+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ return __sync_val_compare_and_swap(addr, oldval, newval);
+# else
+ __atomic_compare_exchange(addr, &oldval, &newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
+ return oldval;
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::fetchAddSeqCst(T* addr, T val)
+{
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ return __sync_fetch_and_add(addr, val);
+# else
+ return __atomic_fetch_add(addr, val, __ATOMIC_SEQ_CST);
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::fetchSubSeqCst(T* addr, T val)
+{
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ return __sync_fetch_and_sub(addr, val);
+# else
+ return __atomic_fetch_sub(addr, val, __ATOMIC_SEQ_CST);
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::fetchAndSeqCst(T* addr, T val)
+{
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ return __sync_fetch_and_and(addr, val);
+# else
+ return __atomic_fetch_and(addr, val, __ATOMIC_SEQ_CST);
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::fetchOrSeqCst(T* addr, T val)
+{
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ return __sync_fetch_and_or(addr, val);
+# else
+ return __atomic_fetch_or(addr, val, __ATOMIC_SEQ_CST);
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::fetchXorSeqCst(T* addr, T val)
+{
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ return __sync_fetch_and_xor(addr, val);
+# else
+ return __atomic_fetch_xor(addr, val, __ATOMIC_SEQ_CST);
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::exchangeSeqCst(T* addr, T val)
+{
+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ T v;
+ __sync_synchronize();
+ do {
+ v = *addr;
+ } while (__sync_val_compare_and_swap(addr, v, val) != v);
+ return v;
+# else
+ T v;
+ __atomic_exchange(addr, &val, &v, __ATOMIC_SEQ_CST);
+ return v;
+# endif
+}
+
+template<typename T>
+inline T
+js::jit::AtomicOperations::loadSafeWhenRacy(T* addr)
+{
+ return *addr; // FIXME (1208663): not yet safe
+}
+
+template<typename T>
+inline void
+js::jit::AtomicOperations::storeSafeWhenRacy(T* addr, T val)
+{
+ *addr = val; // FIXME (1208663): not yet safe
+}
+
+inline void
+js::jit::AtomicOperations::memcpySafeWhenRacy(void* dest, const void* src, size_t nbytes)
+{
+ ::memcpy(dest, src, nbytes); // FIXME (1208663): not yet safe
+}
+
+inline void
+js::jit::AtomicOperations::memmoveSafeWhenRacy(void* dest, const void* src, size_t nbytes)
+{
+ ::memmove(dest, src, nbytes); // FIXME (1208663): not yet safe
+}
+
+template<size_t nbytes>
+inline void
+js::jit::RegionLock::acquire(void* addr)
+{
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ while (!__sync_bool_compare_and_swap(&spinlock, 0, 1))
+ ;
+# else
+ uint32_t zero = 0;
+ uint32_t one = 1;
+ while (!__atomic_compare_exchange(&spinlock, &zero, &one, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE)) {
+ zero = 0;
+ continue;
+ }
+# endif
+}
+
+template<size_t nbytes>
+inline void
+js::jit::RegionLock::release(void* addr)
+{
+ MOZ_ASSERT(AtomicOperations::loadSeqCst(&spinlock) == 1, "releasing unlocked region lock");
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+ __sync_sub_and_fetch(&spinlock, 1);
+# else
+ uint32_t zero = 0;
+ __atomic_store(&spinlock, &zero, __ATOMIC_SEQ_CST);
+# endif
+}
+
+# undef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
+
+#elif defined(ENABLE_SHARED_ARRAY_BUFFER)
+
+# error "Either disable JS shared memory, use GCC, or add code here"
+
+#endif
+
+#endif // jit_ia64_AtomicOperations_ia64_h

@ -0,0 +1,124 @@
from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-1269317.patch
--- a/js/src/jit/RegisterSets.h 2017-02-10 17:33:06.210702431 -0800
+++ b/js/src/jit/RegisterSets.h 2017-02-10 17:43:52.877514146 -0800
@@ -7,7 +7,6 @@
#ifndef jit_RegisterSets_h
#define jit_RegisterSets_h
-#include "mozilla/Alignment.h"
#include "mozilla/MathAlgorithms.h"
#include "jit/JitAllocPolicy.h"
@@ -26,8 +25,8 @@
Code code_;
public:
- AnyRegister()
- { }
+ AnyRegister() = default;
+
explicit AnyRegister(Register gpr) {
code_ = gpr.code();
}
@@ -156,7 +155,7 @@
}
#endif
- ValueOperand() {}
+ ValueOperand() = default;
};
// Registers to hold either either a typed or untyped value.
@@ -165,46 +164,25 @@
// Type of value being stored.
MIRType type_;
- // Space to hold either an AnyRegister or a ValueOperand.
union U {
- mozilla::AlignedStorage2<AnyRegister> typed;
- mozilla::AlignedStorage2<ValueOperand> value;
+ AnyRegister typed;
+ ValueOperand value;
} data;
- AnyRegister& dataTyped() {
- MOZ_ASSERT(hasTyped());
- return *data.typed.addr();
- }
- ValueOperand& dataValue() {
- MOZ_ASSERT(hasValue());
- return *data.value.addr();
- }
-
- AnyRegister dataTyped() const {
- MOZ_ASSERT(hasTyped());
- return *data.typed.addr();
- }
- const ValueOperand& dataValue() const {
- MOZ_ASSERT(hasValue());
- return *data.value.addr();
- }
-
public:
- TypedOrValueRegister()
- : type_(MIRType_None)
- {}
+ TypedOrValueRegister() = default;
TypedOrValueRegister(MIRType type, AnyRegister reg)
: type_(type)
{
- dataTyped() = reg;
+ data.typed = reg;
}
MOZ_IMPLICIT TypedOrValueRegister(ValueOperand value)
: type_(MIRType_Value)
{
- dataValue() = value;
+ data.value = value;
}
MIRType type() const {
@@ -220,11 +198,13 @@
}
AnyRegister typedReg() const {
- return dataTyped();
+ MOZ_ASSERT(hasTyped());
+ return data.typed;
}
ValueOperand valueReg() const {
- return dataValue();
+ MOZ_ASSERT(hasValue());
+ return data.value;
}
AnyRegister scratchReg() {
@@ -240,19 +220,18 @@
// Whether a constant value is being stored.
bool constant_;
- // Space to hold either a Value or a TypedOrValueRegister.
union U {
- mozilla::AlignedStorage2<Value> constant;
- mozilla::AlignedStorage2<TypedOrValueRegister> reg;
+ Value constant;
+ TypedOrValueRegister reg;
} data;
Value& dataValue() {
MOZ_ASSERT(constant());
- return *data.constant.addr();
+ return data.constant;
}
TypedOrValueRegister& dataReg() {
MOZ_ASSERT(!constant());
- return *data.reg.addr();
+ return data.reg;
}
public:

@ -0,0 +1,605 @@
from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-fix-tracelogger.patch
# === Fix the SM38 tracelogger ===
# This patch is a squashed version of several patches that were adapted
# to fix failing hunks.
#
# Applied in the following order, they are:
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223767
# Assertion failure: i < size_, at js/src/vm/TraceLoggingTypes.h:210
# Also fix stop-information to make reduce.py work correctly.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227914
# Limit the memory tracelogger can take.
# This causes tracelogger to flush data to the disk regularly and prevents out of
# memory issues if a lot of data gets logged.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1155618
# Fix tracelogger destructor that touches possibly uninitialised hash table.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223636
# Don't treat extraTextId as containing only extra ids.
# This fixes an assertion failure: id == nextTextId at js/src/vm/TraceLoggingGraph.cpp
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227028
# Fix when to keep the payload of a TraceLogger event.
# This fixes an assertion failure: textId < uint32_t(1 << 31) at js/src/vm/TraceLoggingGraph.h
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1266649
# Handle failing to add to pointermap gracefully.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1280648
# Don't cache based on pointers to movable GC things.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1224123
# Fix the use of LastEntryId in tracelogger.h.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1231170
# Use size in debugger instead of the current id to track last logged item.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1221844
# Move TraceLogger_Invalidation to LOG_ITEM.
# Add some debug checks to logTimestamp.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1255766
# Also mark resizing of memory.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1259403
# Only increase capacity by multiples of 2.
# Always make sure there are 3 free slots for events.
# ===
diff --git a/js/src/jit-test/tests/tracelogger/bug1231170.js b/js/src/jit-test/tests/tracelogger/bug1231170.js
new file mode 100644
index 0000000..023e93e
--- /dev/null
+++ b/js/src/jit-test/tests/tracelogger/bug1231170.js
@@ -0,0 +1,3 @@
+var du = new Debugger();
+if (typeof du.drainTraceLogger === "function")
+ du.drainTraceLogger();
diff --git a/js/src/jit-test/tests/tracelogger/bug1266649.js b/js/src/jit-test/tests/tracelogger/bug1266649.js
new file mode 100644
index 0000000..81ae7ad
--- /dev/null
+++ b/js/src/jit-test/tests/tracelogger/bug1266649.js
@@ -0,0 +1,10 @@
+
+var du = new Debugger();
+if (typeof du.setupTraceLogger === "function" &&
+ typeof oomTest === 'function')
+{
+ du.setupTraceLogger({
+ Scripts: true
+ })
+ oomTest(() => function(){});
+}
diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp
index 93e2fda..09049d6 100644
--- a/js/src/jit/Ion.cpp
+++ b/js/src/jit/Ion.cpp
@@ -1055,6 +1055,8 @@ IonScript::Destroy(FreeOp* fop, IonScript* script)
script->destroyCaches();
script->unlinkFromRuntime(fop);
+ // Frees the potential event we have set.
+ script->traceLoggerScriptEvent_ = TraceLoggerEvent();
fop->free_(script);
}
diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp
index 26262fd..af7f313 100644
--- a/js/src/vm/Debugger.cpp
+++ b/js/src/vm/Debugger.cpp
@@ -369,10 +369,10 @@ Debugger::Debugger(JSContext* cx, NativeObject* dbg)
objects(cx),
environments(cx),
#ifdef NIGHTLY_BUILD
- traceLoggerLastDrainedId(0),
+ traceLoggerLastDrainedSize(0),
traceLoggerLastDrainedIteration(0),
#endif
- traceLoggerScriptedCallsLastDrainedId(0),
+ traceLoggerScriptedCallsLastDrainedSize(0),
traceLoggerScriptedCallsLastDrainedIteration(0)
{
assertSameCompartment(cx, dbg);
@@ -3907,9 +3907,9 @@ Debugger::drainTraceLogger(JSContext* cx, unsigned argc, Value* vp)
size_t num;
TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
bool lostEvents = logger->lostEvents(dbg->traceLoggerLastDrainedIteration,
- dbg->traceLoggerLastDrainedId);
+ dbg->traceLoggerLastDrainedSize);
EventEntry* events = logger->getEventsStartingAt(&dbg->traceLoggerLastDrainedIteration,
- &dbg->traceLoggerLastDrainedId,
+ &dbg->traceLoggerLastDrainedSize,
&num);
RootedObject array(cx, NewDenseEmptyArray(cx));
@@ -4002,10 +4002,10 @@ Debugger::drainTraceLoggerScriptCalls(JSContext* cx, unsigned argc, Value* vp)
size_t num;
TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
bool lostEvents = logger->lostEvents(dbg->traceLoggerScriptedCallsLastDrainedIteration,
- dbg->traceLoggerScriptedCallsLastDrainedId);
+ dbg->traceLoggerScriptedCallsLastDrainedSize);
EventEntry* events = logger->getEventsStartingAt(
&dbg->traceLoggerScriptedCallsLastDrainedIteration,
- &dbg->traceLoggerScriptedCallsLastDrainedId,
+ &dbg->traceLoggerScriptedCallsLastDrainedSize,
&num);
RootedObject array(cx, NewDenseEmptyArray(cx));
diff --git a/js/src/vm/Debugger.h b/js/src/vm/Debugger.h
index 8cac36a..c92d685 100644
--- a/js/src/vm/Debugger.h
+++ b/js/src/vm/Debugger.h
@@ -314,10 +314,10 @@ class Debugger : private mozilla::LinkedListElement<Debugger>
* lost events.
*/
#ifdef NIGHTLY_BUILD
- uint32_t traceLoggerLastDrainedId;
+ uint32_t traceLoggerLastDrainedSize;
uint32_t traceLoggerLastDrainedIteration;
#endif
- uint32_t traceLoggerScriptedCallsLastDrainedId;
+ uint32_t traceLoggerScriptedCallsLastDrainedSize;
uint32_t traceLoggerScriptedCallsLastDrainedIteration;
class FrameRange;
diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp
index 6715b36..9766a6f 100644
--- a/js/src/vm/TraceLogging.cpp
+++ b/js/src/vm/TraceLogging.cpp
@@ -131,7 +131,7 @@ TraceLoggerThread::init()
{
if (!pointerMap.init())
return false;
- if (!extraTextId.init())
+ if (!textIdPayloads.init())
return false;
if (!events.init())
return false;
@@ -185,10 +185,10 @@ TraceLoggerThread::~TraceLoggerThread()
graph = nullptr;
}
- for (TextIdHashMap::Range r = extraTextId.all(); !r.empty(); r.popFront())
- js_delete(r.front().value());
- extraTextId.finish();
- pointerMap.finish();
+ if (textIdPayloads.initialized()) {
+ for (TextIdHashMap::Range r = textIdPayloads.all(); !r.empty(); r.popFront())
+ js_delete(r.front().value());
+ }
}
bool
@@ -287,7 +287,7 @@ TraceLoggerThread::eventText(uint32_t id)
if (id < TraceLogger_Last)
return TLTextIdString(static_cast<TraceLoggerTextId>(id));
- TextIdHashMap::Ptr p = extraTextId.lookup(id);
+ TextIdHashMap::Ptr p = textIdPayloads.lookup(id);
MOZ_ASSERT(p);
return p->value()->string();
@@ -341,13 +341,15 @@ TraceLoggerThread::extractScriptDetails(uint32_t textId, const char** filename,
TraceLoggerEventPayload*
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId textId)
{
- TextIdHashMap::AddPtr p = extraTextId.lookupForAdd(textId);
- if (p)
+ TextIdHashMap::AddPtr p = textIdPayloads.lookupForAdd(textId);
+ if (p) {
+ MOZ_ASSERT(p->value()->textId() == textId); // Sanity check.
return p->value();
+ }
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, (char*)nullptr);
- if (!extraTextId.add(p, textId, payload))
+ if (!textIdPayloads.add(p, textId, payload))
return nullptr;
return payload;
@@ -357,8 +359,10 @@ TraceLoggerEventPayload*
TraceLoggerThread::getOrCreateEventPayload(const char* text)
{
PointerHashMap::AddPtr p = pointerMap.lookupForAdd((const void*)text);
- if (p)
+ if (p) {
+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
return p->value();
+ }
size_t len = strlen(text);
char* str = js_pod_malloc<char>(len + 1);
@@ -369,7 +373,7 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
MOZ_ASSERT(ret == len);
MOZ_ASSERT(strlen(str) == len);
- uint32_t textId = extraTextId.count() + TraceLogger_Last;
+ uint32_t textId = nextTextId;
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
if (!payload) {
@@ -377,17 +381,19 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
return nullptr;
}
- if (!extraTextId.putNew(textId, payload)) {
+ if (!textIdPayloads.putNew(textId, payload)) {
js_delete(payload);
return nullptr;
}
- if (!pointerMap.add(p, text, payload))
- return nullptr;
-
if (graph.get())
graph->addTextId(textId, str);
+ nextTextId++;
+
+ if (!pointerMap.add(p, text, payload))
+ return nullptr;
+
return payload;
}
@@ -407,9 +413,14 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
if (!traceLoggerState->isTextIdEnabled(type))
return getOrCreateEventPayload(type);
- PointerHashMap::AddPtr p = pointerMap.lookupForAdd(ptr);
- if (p)
- return p->value();
+ PointerHashMap::AddPtr p;
+ if (ptr) {
+ p = pointerMap.lookupForAdd(ptr);
+ if (p) {
+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
+ return p->value();
+ }
+ }
// Compute the length of the string to create.
size_t lenFilename = strlen(filename);
@@ -428,24 +439,28 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
MOZ_ASSERT(ret == len);
MOZ_ASSERT(strlen(str) == len);
- uint32_t textId = extraTextId.count() + TraceLogger_Last;
+ uint32_t textId = nextTextId;
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
if (!payload) {
js_free(str);
return nullptr;
}
- if (!extraTextId.putNew(textId, payload)) {
+ if (!textIdPayloads.putNew(textId, payload)) {
js_delete(payload);
return nullptr;
}
- if (!pointerMap.add(p, ptr, payload))
- return nullptr;
-
if (graph.get())
graph->addTextId(textId, str);
+ nextTextId++;
+
+ if (ptr) {
+ if (!pointerMap.add(p, ptr, payload))
+ return nullptr;
+ }
+
return payload;
}
@@ -453,14 +468,14 @@ TraceLoggerEventPayload*
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, JSScript* script)
{
return getOrCreateEventPayload(type, script->filename(), script->lineno(), script->column(),
- script);
+ nullptr);
}
TraceLoggerEventPayload*
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type,
const JS::ReadOnlyCompileOptions& script)
{
- return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, &script);
+ return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, nullptr);
}
void
@@ -485,7 +500,7 @@ TraceLoggerThread::startEvent(uint32_t id)
if (!traceLoggerState->isTextIdEnabled(id))
return;
- logTimestamp(id);
+ log(id);
}
void
@@ -510,7 +525,7 @@ TraceLoggerThread::stopEvent(uint32_t id)
if (!traceLoggerState->isTextIdEnabled(id))
return;
- logTimestamp(TraceLogger_Stop);
+ log(TraceLogger_Stop);
}
void
@@ -522,23 +537,57 @@ TraceLoggerThread::logTimestamp(TraceLoggerTextId id)
void
TraceLoggerThread::logTimestamp(uint32_t id)
{
+ MOZ_ASSERT(id > TraceLogger_LastTreeItem && id < TraceLogger_Last);
+ log(id);
+}
+
+void
+TraceLoggerThread::log(uint32_t id)
+{
if (enabled == 0)
return;
MOZ_ASSERT(traceLoggerState);
- if (!events.ensureSpaceBeforeAdd()) {
+
+ // We request for 3 items to add, since if we don't have enough room
+ // we record the time it took to make more place. To log this information
+ // we need 2 extra free entries.
+ if (!events.hasSpaceForAdd(3)) {
uint64_t start = rdtsc() - traceLoggerState->startupTime;
- if (graph.get())
- graph->log(events);
+ if (!events.ensureSpaceBeforeAdd(3)) {
+ if (graph.get())
+ graph->log(events);
+
+ iteration_++;
+ events.clear();
+
+ // Remove the item in the pointerMap for which the payloads
+ // have no uses anymore
+ for (PointerHashMap::Enum e(pointerMap); !e.empty(); e.popFront()) {
+ if (e.front().value()->uses() != 0)
+ continue;
+
+ TextIdHashMap::Ptr p = textIdPayloads.lookup(e.front().value()->textId());
+ MOZ_ASSERT(p);
+ textIdPayloads.remove(p);
+
+ e.removeFront();
+ }
- iteration_++;
- events.clear();
+ // Free all payloads that have no uses anymore.
+ for (TextIdHashMap::Enum e(textIdPayloads); !e.empty(); e.popFront()) {
+ if (e.front().value()->uses() == 0) {
+ js_delete(e.front().value());
+ e.removeFront();
+ }
+ }
+ }
// Log the time it took to flush the events as being from the
// Tracelogger.
if (graph.get()) {
- MOZ_ASSERT(events.capacity() > 2);
+ MOZ_ASSERT(events.hasSpaceForAdd(2));
EventEntry& entryStart = events.pushUninitialized();
entryStart.time = start;
entryStart.textId = TraceLogger_Internal;
@@ -548,13 +597,6 @@ TraceLoggerThread::logTimestamp(uint32_t id)
entryStop.textId = TraceLogger_Stop;
}
- // Free all TextEvents that have no uses anymore.
- for (TextIdHashMap::Enum e(extraTextId); !e.empty(); e.popFront()) {
- if (e.front().value()->uses() == 0) {
- js_delete(e.front().value());
- e.removeFront();
- }
- }
}
uint64_t time = rdtsc() - traceLoggerState->startupTime;
@@ -956,3 +998,16 @@ TraceLoggerEvent::~TraceLoggerEvent()
if (payload_)
payload_->release();
}
+
+TraceLoggerEvent&
+TraceLoggerEvent::operator=(const TraceLoggerEvent& other)
+{
+ if (hasPayload())
+ payload()->release();
+ if (other.hasPayload())
+ other.payload()->use();
+
+ payload_ = other.payload_;
+
+ return *this;
+}
diff --git a/js/src/vm/TraceLogging.h b/js/src/vm/TraceLogging.h
index a124dcb..91a1eb0 100644
--- a/js/src/vm/TraceLogging.h
+++ b/js/src/vm/TraceLogging.h
@@ -110,6 +110,9 @@ class TraceLoggerEvent {
bool hasPayload() const {
return !!payload_;
}
+
+ TraceLoggerEvent& operator=(const TraceLoggerEvent& other);
+ TraceLoggerEvent(const TraceLoggerEvent& event) = delete;
};
/**
@@ -130,6 +133,10 @@ class TraceLoggerEventPayload {
uses_(0)
{ }
+ ~TraceLoggerEventPayload() {
+ MOZ_ASSERT(uses_ == 0);
+ }
+
uint32_t textId() {
return textId_;
}
@@ -166,7 +173,8 @@ class TraceLoggerThread
mozilla::UniquePtr<TraceLoggerGraph> graph;
PointerHashMap pointerMap;
- TextIdHashMap extraTextId;
+ TextIdHashMap textIdPayloads;
+ uint32_t nextTextId;
ContinuousSpace<EventEntry> events;
@@ -181,6 +189,7 @@ class TraceLoggerThread
: enabled(0),
failed(false),
graph(),
+ nextTextId(TraceLogger_Last),
iteration_(0),
top(nullptr)
{ }
@@ -195,22 +204,22 @@ class TraceLoggerThread
bool enable(JSContext* cx);
bool disable();
- // Given the previous iteration and lastEntryId, return an array of events
+ // Given the previous iteration and size, return an array of events
// (there could be lost events). At the same time update the iteration and
- // lastEntry and gives back how many events there are.
- EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastEntryId, size_t* num) {
+ // size and gives back how many events there are.
+ EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastSize, size_t* num) {
EventEntry* start;
if (iteration_ == *lastIteration) {
- MOZ_ASSERT(events.lastEntryId() >= *lastEntryId);
- *num = events.lastEntryId() - *lastEntryId;
- start = events.data() + *lastEntryId + 1;
+ MOZ_ASSERT(*lastSize <= events.size());
+ *num = events.size() - *lastSize;
+ start = events.data() + *lastSize;
} else {
- *num = events.lastEntryId() + 1;
+ *num = events.size();
start = events.data();
}
*lastIteration = iteration_;
- *lastEntryId = events.lastEntryId();
+ *lastSize = events.size();
return start;
}
@@ -220,16 +229,16 @@ class TraceLoggerThread
const char** lineno, size_t* lineno_len, const char** colno,
size_t* colno_len);
- bool lostEvents(uint32_t lastIteration, uint32_t lastEntryId) {
+ bool lostEvents(uint32_t lastIteration, uint32_t lastSize) {
// If still logging in the same iteration, there are no lost events.
if (lastIteration == iteration_) {
- MOZ_ASSERT(lastEntryId <= events.lastEntryId());
+ MOZ_ASSERT(lastSize <= events.size());
return false;
}
- // When proceeded to the next iteration and lastEntryId points to
- // the maximum capacity there are no logs that are lost.
- if (lastIteration + 1 == iteration_ && lastEntryId == events.capacity())
+ // If we are in a consecutive iteration we are only sure we didn't lose any events,
+ // when the lastSize equals the maximum size 'events' can get.
+ if (lastIteration == iteration_ - 1 && lastSize == events.maxSize())
return false;
return true;
@@ -268,6 +277,7 @@ class TraceLoggerThread
void stopEvent(uint32_t id);
private:
void stopEvent();
+ void log(uint32_t id);
public:
static unsigned offsetOfEnabled() {
diff --git a/js/src/vm/TraceLoggingGraph.cpp b/js/src/vm/TraceLoggingGraph.cpp
index d1b7f2e..a4eb273 100644
--- a/js/src/vm/TraceLoggingGraph.cpp
+++ b/js/src/vm/TraceLoggingGraph.cpp
@@ -276,7 +276,7 @@ TraceLoggerGraph::flush()
if (bytesWritten < tree.size())
return false;
- treeOffset += tree.lastEntryId();
+ treeOffset += tree.size();
tree.clear();
}
@@ -359,7 +359,7 @@ TraceLoggerGraph::startEventInternal(uint32_t id, uint64_t timestamp)
if (parent.lastChildId() == 0) {
MOZ_ASSERT(!entry.hasChildren());
- MOZ_ASSERT(parent.treeId() == tree.lastEntryId() + treeOffset);
+ MOZ_ASSERT(parent.treeId() == treeOffset + tree.size() - 1);
if (!updateHasChildren(parent.treeId()))
return false;
diff --git a/js/src/vm/TraceLoggingTypes.h b/js/src/vm/TraceLoggingTypes.h
index f1c9d0c..10b76d6 100644
--- a/js/src/vm/TraceLoggingTypes.h
+++ b/js/src/vm/TraceLoggingTypes.h
@@ -21,7 +21,6 @@
_(Internal) \
_(Interpreter) \
_(InlinedScripts) \
- _(Invalidation) \
_(IonCompilation) \
_(IonCompilationPaused) \
_(IonLinking) \
@@ -60,6 +59,7 @@
#define TRACELOGGER_LOG_ITEMS(_) \
_(Bailout) \
+ _(Invalidation) \
_(Disable) \
_(Enable) \
_(Stop)
@@ -130,6 +130,9 @@ class ContinuousSpace {
uint32_t size_;
uint32_t capacity_;
+ // The maximum amount of ram memory a continuous space structure can take (in bytes).
+ static const uint32_t LIMIT = 200 * 1024 * 1024;
+
public:
ContinuousSpace ()
: data_(nullptr)
@@ -151,6 +154,10 @@ class ContinuousSpace {
data_ = nullptr;
}
+ static uint32_t maxSize() {
+ return LIMIT / sizeof(T);
+ }
+
T* data() {
return data_;
}
@@ -187,11 +194,14 @@ class ContinuousSpace {
if (hasSpaceForAdd(count))
return true;
+ // Limit the size of a continuous buffer.
+ if (size_ + count > maxSize())
+ return false;
+
uint32_t nCapacity = capacity_ * 2;
- if (size_ + count > nCapacity)
- nCapacity = size_ + count;
- T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
+ nCapacity = (nCapacity < maxSize()) ? nCapacity : maxSize();
+ T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
if (!entries)
return false;

@ -0,0 +1,29 @@
# HG changeset patch
# User Nicolas B. Pierron <nicolas.b.pierron@mozilla.com>
Bug 1266366 - Add branch64 functions to the none-backend MacroAssembler. r=
diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h
index 512ae81..4441d8d 100644
--- a/js/src/jit/none/MacroAssembler-none.h
+++ b/js/src/jit/none/MacroAssembler-none.h
@@ -254,16 +254,18 @@ class MacroAssemblerNone : public Assembler
template <typename T, typename S> void branchSub32(Condition, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void branchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void branchTestPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void branchDouble(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void branchFloat(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void branchPrivatePtr(Condition, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void decBranchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void branchTest64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branch64(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branch64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void mov(T, S) { MOZ_CRASH(); }
template <typename T, typename S> void movq(T, S) { MOZ_CRASH(); }
template <typename T, typename S> void movePtr(T, S) { MOZ_CRASH(); }
template <typename T, typename S> void move32(T, S) { MOZ_CRASH(); }
template <typename T, typename S> void moveFloat32(T, S) { MOZ_CRASH(); }
template <typename T, typename S> void moveDouble(T, S) { MOZ_CRASH(); }
template <typename T, typename S> void move64(T, S) { MOZ_CRASH(); }
template <typename T> CodeOffset movWithPatch(T, Register) { MOZ_CRASH(); }

@ -0,0 +1,16 @@
--- a/js/src/jsapi-tests/testPreserveJitCode.cpp 2015-09-17 16:12:22.000000000 -0400
+++ b/js/src/jsapi-tests/testPreserveJitCode.cpp 2017-02-27 16:30:28.899191525 -0500
@@ -16,8 +16,12 @@
BEGIN_TEST(test_PreserveJitCode)
{
+#ifndef JS_CODEGEN_NONE
CHECK(testPreserveJitCode(false, 0));
CHECK(testPreserveJitCode(true, 1));
+#else
+ printf("*JIT is disabled, therefore CANNOT preserve jit code - skipping.\n");
+#endif
return true;
}

@ -6,9 +6,11 @@
<name>Gentoo Mozilla Team</name>
</maintainer>
<longdescription lang="en">
Stand-alone JavaScript C library
Stand-alone JavaScript C++ library
</longdescription>
<use>
<flag name="custom-optimization">Build with user-specified compiler optimizations
(-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag>
<flag name="debug">Enable assertions to allow for easier debugging of programs that link to spidermonkey -- note this will often crash software on regular end-user systems</flag>
<flag name="threadsafe">Build a threadsafe version of spidermonkey</flag>
<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> instead of bundled -- note, only takes effect when icu flag is enabled</flag>

@ -0,0 +1,145 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 5da1b11af428309ff1d3c0da5f3c2ba2cf84bd10 $
EAPI=6
WANT_AUTOCONF="2.1"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads"
inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils mozcoreconf-v4
MY_PN="mozjs"
MY_P="${MY_PN}-${PV/_/.}"
DESCRIPTION="Stand-alone JavaScript C library"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
SRC_URI="https://people.mozilla.org/~sstangl/${MY_P}.tar.bz2"
LICENSE="NPL-1.1"
SLOT="38"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE="debug +jit minimal static-libs +system-icu test"
RESTRICT="ia64? ( test )"
#S="${WORKDIR}/${MY_P%.rc*}"
S="${WORKDIR}/mozjs-38.0.0"
BUILDDIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.10.10
virtual/libffi
sys-libs/readline:0=
>=sys-libs/zlib-1.2.3
system-icu? ( >=dev-libs/icu-51.1:= )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
app-arch/zip
virtual/pkgconfig"
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
moz_pkgsetup
fi
}
src_prepare() {
eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \
"${FILESDIR}"/mozjs38-1269317.patch \
"${FILESDIR}"/mozjs38-fix-tracelogger.patch
eapply_user
if [[ ${CHOST} == *-freebsd* ]]; then
# Don't try to be smart, this does not work in cross-compile anyway
ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
fi
cd "${BUILDDIR}" || die
eautoconf
}
src_configure() {
export SHELL=/bin/sh
cd "${BUILDDIR}" || die
econf \
--enable-jemalloc \
--enable-readline \
--enable-threadsafe \
--with-system-nspr \
--enable-system-ffi \
--disable-optimize \
--with-intl-api \
$(use_with system-icu) \
$(use_enable debug) \
$(use_enable jit yarr-jit) \
$(use_enable jit ion) \
$(use_enable static-libs static) \
$(use_enable test tests)
}
cross_make() {
emake \
CFLAGS="${BUILD_CFLAGS}" \
CXXFLAGS="${BUILD_CXXFLAGS}" \
AR="${BUILD_AR}" \
CC="${BUILD_CC}" \
CXX="${BUILD_CXX}" \
RANLIB="${BUILD_RANLIB}" \
"$@"
}
src_compile() {
cd "${BUILDDIR}" || die
if tc-is-cross-compiler; then
tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
cross_make \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
MOZ_PGO_OPTIMIZE_FLAGS="" \
host_jsoplengen host_jskwgen
cross_make \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
-C config nsinstall
mv {,native-}host_jskwgen || die
mv {,native-}host_jsoplengen || die
mv config/{,native-}nsinstall || die
sed -i \
-e 's@./host_jskwgen@./native-host_jskwgen@' \
-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
Makefile || die
sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
rm -f config/host_nsinstall.o \
config/host_pathsub.o \
host_jskwgen.o \
host_jsoplengen.o || die
fi
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
emake \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
MOZ_PGO_OPTIMIZE_FLAGS=""
}
src_test() {
cd "${BUILDDIR}/js/src/jsapi-tests" || die
./jsapi-tests || die
}
src_install() {
cd "${BUILDDIR}" || die
emake DESTDIR="${D}" install
if ! use minimal; then
if use jit; then
pax-mark m "${ED}/usr/bin/js${SLOT}"
fi
else
rm -f "${ED}/usr/bin/js${SLOT}"
fi
if ! use static-libs; then
# We can't actually disable building of static libraries
# They're used by the tests and in a few other places
find "${D}" -iname '*.a' -delete || die
fi
}

@ -0,0 +1,145 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: faaa6575705acc39e393bc579fa6e1f7dbfde48f $
EAPI=6
WANT_AUTOCONF="2.1"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads"
inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils mozcoreconf-v4
MY_PN="mozjs"
MY_P="${MY_PN}-${PV/_/.}"
DESCRIPTION="Stand-alone JavaScript C library"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
SRC_URI="https://people.mozilla.org/~sfink/${MY_P}.tar.bz2"
LICENSE="NPL-1.1"
SLOT="45"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE="debug +jit minimal static-libs +system-icu test"
RESTRICT="ia64? ( test )"
S="${WORKDIR}/${MY_P%.rc*}"
#S="${WORKDIR}/mozjs-38.0.0"
BUILDDIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.10.10
virtual/libffi
sys-libs/readline:0=
>=sys-libs/zlib-1.2.3
system-icu? ( >=dev-libs/icu-51.1:= )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
app-arch/zip
virtual/pkgconfig"
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
moz_pkgsetup
fi
}
src_prepare() {
eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch
eapply "${FILESDIR}"/mozjs45-1266366.patch
eapply "${FILESDIR}"/ff45
eapply_user
if [[ ${CHOST} == *-freebsd* ]]; then
# Don't try to be smart, this does not work in cross-compile anyway
ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
fi
cd "${BUILDDIR}" || die
eautoconf
}
src_configure() {
export SHELL=/bin/sh
cd "${BUILDDIR}" || die
econf \
--enable-jemalloc \
--enable-readline \
--enable-threadsafe \
--with-system-nspr \
--enable-system-ffi \
--disable-optimize \
--with-intl-api \
$(use_with system-icu) \
$(use_enable debug) \
$(use_enable jit yarr-jit) \
$(use_enable jit ion) \
$(use_enable static-libs static) \
$(use_enable test tests)
}
cross_make() {
emake \
CFLAGS="${BUILD_CFLAGS}" \
CXXFLAGS="${BUILD_CXXFLAGS}" \
AR="${BUILD_AR}" \
CC="${BUILD_CC}" \
CXX="${BUILD_CXX}" \
RANLIB="${BUILD_RANLIB}" \
"$@"
}
src_compile() {
cd "${BUILDDIR}" || die
if tc-is-cross-compiler; then
tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
cross_make \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
MOZ_PGO_OPTIMIZE_FLAGS="" \
host_jsoplengen host_jskwgen
cross_make \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
-C config nsinstall
mv {,native-}host_jskwgen || die
mv {,native-}host_jsoplengen || die
mv config/{,native-}nsinstall || die
sed -i \
-e 's@./host_jskwgen@./native-host_jskwgen@' \
-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
Makefile || die
sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
rm -f config/host_nsinstall.o \
config/host_pathsub.o \
host_jskwgen.o \
host_jsoplengen.o || die
fi
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
emake \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
MOZ_PGO_OPTIMIZE_FLAGS=""
}
src_test() {
cd "${BUILDDIR}/js/src/jsapi-tests" || die
./jsapi-tests || die
}
src_install() {
cd "${BUILDDIR}" || die
emake DESTDIR="${D}" install
if ! use minimal; then
if use jit; then
pax-mark m "${ED}/usr/bin/js${SLOT}"
fi
else
rm -f "${ED}/usr/bin/js${SLOT}"
fi
if ! use static-libs; then
# We can't actually disable building of static libraries
# They're used by the tests and in a few other places
find "${D}" -iname '*.a' -delete || die
fi
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 1d3bbea48c1adb026aa0b17a534db7806314ad82 $
# $Id: 5d0a166ba4eb0d400f666376e8d531bc816593d8 $
EAPI=5
@ -15,7 +15,7 @@ SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz
LICENSE="GPL-2"
SLOT="0/${PV%_p*}"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="doc source static-libs"
DEPEND="!<app-text/texlive-core-2013

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: df76f2ccab92e33ce148efe9e1c6f71e82e67eed $
# $Id: 70ab4d84fe3cbf0018d366ddee797470d10b6480 $
EAPI=5
@ -13,7 +13,7 @@ SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-macos"
KEYWORDS="alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-macos"
IUSE="iconv static-libs"
DEPEND="iconv? ( virtual/libiconv )

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 4cacf99baf5a4ea387784818c948b53751c9a77f $
# $Id: 7d55d3e445ae35d19e906baec679538befa7c99d $
EAPI=6
@ -12,7 +12,7 @@ SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
KEYWORDS="alpha amd64 arm hppa ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
IUSE="cpu_flags_x86_sse2 curl doc elibc_Darwin elibc_FreeBSD examples iconv icu static-libs test threads"

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: c480fb8395521be52c23f61e4c61e72cd08f757b $
# $Id: 68fb13aad88cf7d098c49311bc8193ba9b95c6cd $
EAPI=6
@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="Test functions for exception based code"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: fe34c75bcd08acf1ab215f5275df92ddccb25d67 $
# $Id: 5904529d09f1f0f105ffcf387f2c913de201b3d1 $
EAPI=6
@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="Handy web browsing in a Perl object"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND="

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 71d5357184e9112fca56bd90342059ec1abdf0a8 $
# $Id: 38fb35e404b608128a5eb781c99445aca142a4e1 $
EAPI=5
@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="SAX2 Driver for Expat"
LICENSE="|| ( Artistic GPL-2 )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="test"
RDEPEND=">=dev-perl/XML-SAX-0.15-r1

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 223edc716c2d0381b368b8b7dd7f49fd2db8327a $
# $Id: 9f49f8c9e70576eb1a85648dec35b285db8ba1ec $
EAPI=6
@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="An API for simple XML files"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="test"
RDEPEND="

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 804724f2443e6a2ab293140e7bd206a1e1b45a90 $
# $Id: 537a6aa885687d21d448d574ea919eca5885a028 $
EAPI=6
@ -14,5 +14,5 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
IUSE=""

@ -0,0 +1,31 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 9cc6202a6505e17f020db10e1bab91c8d267dc92 $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy )
inherit distutils-r1
DESCRIPTION="A simple argparse wrapper"
HOMEPAGE="http://packages.python.org/argh/"
SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
LICENSE="LGPL-3"
IUSE="test"
RDEPEND=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
test? (
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/iocapture[${PYTHON_USEDEP}]
$(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
${RDEPEND}
)"
python_test() {
py.test || die "Tests fail with ${EPYTHON}"
}

@ -0,0 +1,27 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 043d3a9475b1cfc9d873019e87d80fa7fb3cac43 $
EAPI=5
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit distutils-r1
DESCRIPTION="A thin, practical wrapper around terminal coloring, styling, and positioning"
HOMEPAGE="https://github.com/erikrose/blessings https://pypi.python.org/pypi/blessings/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
python_test() {
# The tests need an interactive terminal
# https://github.com/erikrose/blessings/issues/117
script -eqc "nosetests -w \"${BUILD_DIR}\"" /dev/null \
|| die "tests failed with ${EPYTHON}"
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 57cbb8ced9968cd7bc429d3c579255f22b266cb8 $
# $Id: e258fe5491b96f07e94a8fd52339c0d2ec07742f $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
@ -35,15 +35,8 @@ RDEPEND="
DEPEND="${RDEPEND}
test? ( dev-python/mock[${PYTHON_USEDEP}] dev-python/nose[${PYTHON_USEDEP}] )
"
PATCHES=( "${FILESDIR}/catkin_prefix.patch" "${FILESDIR}/argparse.patch" )
PATCHES=( "${FILESDIR}/catkin_prefix.patch" "${FILESDIR}/argparse.patch" "${FILESDIR}/ros_packages.patch" )
python_test() {
nosetests -s --tests test || die
}
python_install_all() {
distutils-r1_python_install_all
# Avoid recursing in the whole hierarchy
dodir /usr/
touch "${ED}/usr/CATKIN_IGNORE"
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 57cbb8ced9968cd7bc429d3c579255f22b266cb8 $
# $Id: e258fe5491b96f07e94a8fd52339c0d2ec07742f $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
@ -35,15 +35,8 @@ RDEPEND="
DEPEND="${RDEPEND}
test? ( dev-python/mock[${PYTHON_USEDEP}] dev-python/nose[${PYTHON_USEDEP}] )
"
PATCHES=( "${FILESDIR}/catkin_prefix.patch" "${FILESDIR}/argparse.patch" )
PATCHES=( "${FILESDIR}/catkin_prefix.patch" "${FILESDIR}/argparse.patch" "${FILESDIR}/ros_packages.patch" )
python_test() {
nosetests -s --tests test || die
}
python_install_all() {
distutils-r1_python_install_all
# Avoid recursing in the whole hierarchy
dodir /usr/
touch "${ED}/usr/CATKIN_IGNORE"
}

@ -0,0 +1,13 @@
Index: catkin_pkg-0.3.1/src/catkin_pkg/packages.py
===================================================================
--- catkin_pkg-0.3.1.orig/src/catkin_pkg/packages.py
+++ catkin_pkg-0.3.1/src/catkin_pkg/packages.py
@@ -59,7 +59,7 @@ def find_package_paths(basepath, exclude
del dirnames[:]
continue
elif PACKAGE_MANIFEST_FILENAME in filenames:
- paths.append(os.path.relpath(dirpath, basepath))
+ paths.append(os.path.relpath(dirpath.replace('ros_packages/',''), basepath))
del dirnames[:]
continue
for dirname in dirnames:

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: b2757aeab9639e9f1bc6ef975018fcc40e2522b8 $
# $Id: 32a794ace5f6881cccd3c8f5c274432d16a06759 $
EAPI=5
PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy pypy3 )
@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
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 ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
IUSE="test"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]

@ -0,0 +1,30 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: dfbf4f71c865abc3650c724b3cf009b9ae0c16bd $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy )
inherit distutils-r1
DESCRIPTION="Capture stdout,stderr easily"
HOMEPAGE="https://pypi.python.org/pypi/iocapture/"
SRC_URI="https://github.com/oinume/iocapture/archive/${PV}.tar.gz -> ${P}.tar.gz"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
LICENSE="MIT"
IUSE="test"
RDEPEND=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
test? (
dev-python/pytest[${PYTHON_USEDEP}]
$(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
${RDEPEND}
)"
python_test() {
py.test || die "Tests fail with ${EPYTHON}"
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 752d19d2094c3f860901feb997fce2d8018674dc $
# $Id: 643809c4be27dd1e4cb7d79fa66ea6095813343d $
EAPI=6
@ -17,7 +17,7 @@ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~hppa ~ppc64"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64"
IUSE="libressl"
RDEPEND="

@ -1,3 +1,3 @@
DIST oslo.log-3.16.0.tar.gz 62648 SHA256 aa8682697b57d7eb6224a4ceaa0b04e69f2a2dc8c0fa430b57cecc67f7293687 SHA512 dc23080d4476d55614ea8ce33b35086f92b17536bc7a72f31e0996aac79635cec81d5f23cfebf6feea7cb137d0d6d0066773a2a3a2513b48ee7a36eed7ca84d6 WHIRLPOOL a65a9921c53e3dc998772a230f911ed00a4d5c66b559561538dc12d75906cfd9e6c893595d498cfa68e3f644e2e1be509fb53ac0973dbc5e0af435b54c150a9f
DIST oslo.log-3.20.0.tar.gz 68788 SHA256 2c7567cd0d337c706237299e2630cc4fff216fc6f72aeedc58302c4a206ed0e0 SHA512 dd17829160b9b2643de60cf4e704671000ff2a707dd5e914a0a9b6dff86620706ebfd2cd09d6d183d5bae8616bfb2da441bd9cd8645fdb027e0ec77039e99ed3 WHIRLPOOL 34a53ec93c5cf33a7fecc7bf3fff7f8bd92bda8e35aecd4d54d10eafd7569eba7cffe4362ec636932dec22947d997101dabd1d7131706b26dd35536b0f32a78d
DIST oslo.log-3.20.1.tar.gz 69615 SHA256 7d2bf72548f7f9bc94649b49fda642e057b35fd00790080c4e04b941e20aff2d SHA512 9f802251177a8a822f5944729ac226e226cf7dbe94b9d5b4e5eedb7c64f6968a35810cc288b774085f16f77eaffabf752636bc51c52d50e87cc2840b76076f13 WHIRLPOOL 1bb65964b5b9d80889825e24b87cd817b7c13ffecc349b3407c778c064d297be838862f554cfafc16c2dd2d98be6fd9f16eda2a13594e332662328e37d842e53
DIST oslo.log-3.3.0.tar.gz 56039 SHA256 b3414b6f3b05f50571d8973543227f0d6445c297ba762262adfc28b704f8efd9 SHA512 77258a5861db25f46d1148a55990f9b708563837e5dbb2123db1074a837ffbe88b4fe3e788b23fbf2af3aa9ef1a0204d1ce3ef37215bd8265e0559f3d780f882 WHIRLPOOL 2ad46f549514b3cc098b65d3ecc7e73ccad078b3652398cc98ac32302b0ef62cf8c26b057c827cea12ac38bb38ee15c419f5e19f33d17dc18754d0e0c3100a8b

@ -1,3 +1,3 @@
DIST oslo.messaging-4.6.1.tar.gz 220648 SHA256 be0499c3c2bf22f7ab3934bd2c331af6eea47f8c6508774d209a8028e9582421 SHA512 b63a3e6d68261852a09a238a404459e6f0e23b60bab863702aa044bf2256244d86bdaf86a7eda8f13a73d87d7599ffcee4a8e7ea2df230ff7a7e3f84b8279d6e WHIRLPOOL c7d9b341eb243f382db2e39b90f4b430dd75b0445322fe228e26201ae75b06fec42c27f80a1f003dbb7c03382be94b1ccca3ed96b3bfd4f14c723c496db77a5f
DIST oslo.messaging-5.10.1.tar.gz 275170 SHA256 0781f39710f87d8b895f5013fd3ba4a5d038921c5ca7bf7e2628b29c551143a0 SHA512 4ec16209a94063706dd64318f15814457224d6da5a2d42755d6b4dd9acd6a7c0944cba0cfa89824e71bbd7e8c7ce25ab5e6cff4fb8c46fcb883c11d23274c89a WHIRLPOOL 3f7694ffbf2dd8c7aa3062b8032aec1eda479a8b8579bb21fa6e20ab06e62949729dc1394a9330fe94cb619938135d64923015ba5f3c8fae8ad32f7f31000eee
DIST oslo.messaging-5.17.0.tar.gz 303530 SHA256 f3e45c30a24d3ee3f683bff014417343c30b41e019785c6c9e6f41a38bab7419 SHA512 bc8bbf86cac9880b39038ed1be21ca73d5342107f85c48d429c920b13f37a7675cc75f39fdbe8c05990d15d196c7389d3a77b85da72b135a153e1d06a8ed8b92 WHIRLPOOL df79f43f19b4b54981ad9967eb2aaa7ea417b4838d0c01ad1c8e586ac15f847575df88849ad31d1e9c7096b2503c95abba0d0dd05b1463af5e99ae9a3b991a4f
DIST oslo.messaging-5.17.1.tar.gz 304585 SHA256 fb9b24de06a114189b8d397e553e3dfc5e49c378a55fb14a33a7ec83e48b652d SHA512 a152fbb8d68b4e291e4c8d8a4b383ab8cbcb0be6b08c2873b2633188eecffe53ba2694bd89cb3be6b26929864ac95f1137cd3568b43e450991a4ba70b328035e WHIRLPOOL 97ac7e98fc6d880067b7b5f0b35b572574c0385e07b5e27ce2558be45a37e2c1db3fde007857ed5bf5b825de833ca64882a5bea2329908d6e53ed77091d69366

@ -0,0 +1,19 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 6c34cf7c464dc7c867017d47a0856a824575a9eb $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy)
inherit distutils-r1
DESCRIPTION="Pattern matching and various utilities for file systems paths"
HOMEPAGE="https://pypi.python.org/pypi/pathtools/"
SRC_URI="mirror://pypi/p/pathtools/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: ad7dd2ad82fe3506d57a6c87a7de1aa526ecdb2f $
# $Id: d5b4b787686f9e438e6cac79fc9cf71f9c01a500 $
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} pypy )
@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
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 ~x64-macos ~x86-macos ~sparc-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="examples ssl test"
RDEPEND="ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}]

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 448ac53b0f0848178f7fd14d30d53720c32d8eab $
# $Id: 4a2c0563dc205ab22773766693920fb3b60a0809 $
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
@ -13,7 +13,7 @@ SRC_URI="https://github.com/systemd/python-systemd/archive/v${PV}.tar.gz -> ${P}
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ppc ppc64 sparc x86"
KEYWORDS="alpha amd64 ~arm ppc ppc64 sparc x86"
IUSE="test"
COMMON_DEPEND="

@ -1,2 +1 @@
DIST orocos_kinematics_dynamics-1.3.0.tar.gz 200229 SHA256 7be2dd5e4f4c1ceac2cdf1f4fae3d94d4ffd9fc1af8d483c05f04e80ef84b3f9 SHA512 09ff63f74f1eac3ee8b1090364e0d95b4ae96c9d4435ca34adacb3ded7385f948ddca9be2c1c2c2214c9342b17bbffb7da89ba9b7cd402e7fd4f2c6dbd06a930 WHIRLPOOL 4085fa4aba77e0c24a3c1aab4ab5f98e8b349037525e6a596ff027075ea1dcd33c4f13fa3abd61bbe6a2a3bd13b62616d7b614c030ecda8343be3ed59406bae6
DIST orocos_kinematics_dynamics-1.3.1.tar.gz 202471 SHA256 aff361d2b4e2c6d30ae959308a124022eeef5dc5bea2ce779900f9b36b0537bd SHA512 93abd9dd5aef3710f784f9db8eea4738458bffa5295923993e2d77656c18f7354559412fb7eb5f1e9da7112de19aa36d3f0f68f149852f955bce960fd3b719e7 WHIRLPOOL b7b4d897f4d5f170b73fe5bb48e357051ae37a244b9c44e8c2f120d71fc75c80cc1f69d30cb1463bbe10658ba0af98965f18f3055436910f24ebaab0ce1bd8e7

@ -1,11 +0,0 @@
Index: python_orocos_kdl/CMakeLists.txt
===================================================================
--- python_orocos_kdl.orig/CMakeLists.txt
+++ python_orocos_kdl/CMakeLists.txt
@@ -21,4 +21,4 @@ set(SIP_EXTRA_OPTIONS "-o")
set(PYTHON_SITE_PACKAGES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${PYTHON_SITE_PACKAGES})
add_sip_python_module(PyKDL PyKDL/PyKDL.sip ${orocos_kdl_LIBRARIES})
-install(FILES package.xml DESTINATION share/python_orocos_kdl)
\ No newline at end of file
+install(FILES package.xml DESTINATION share/ros_packages/python_orocos_kdl)

@ -1,58 +0,0 @@
Upstream status: Pending.
https://github.com/orocos/orocos_kinematics_dynamics/pull/44
Index: orocos_kinematics_dynamics-1.3.0/python_orocos_kdl/CMakeLists.txt
===================================================================
--- orocos_kinematics_dynamics-1.3.0.orig/python_orocos_kdl/CMakeLists.txt
+++ orocos_kinematics_dynamics-1.3.0/python_orocos_kdl/CMakeLists.txt
@@ -8,7 +8,7 @@ link_directories(${orocos_kdl_LIBRARY_DI
find_package(PythonInterp REQUIRED)
find_package(PythonLibs ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} REQUIRED)
-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(plat_specific=True, prefix='')" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
+execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(plat_specific=True, prefix=''))" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
find_package(SIP REQUIRED)
include(SIPMacros)
Index: orocos_kinematics_dynamics-1.3.0/python_orocos_kdl/PyKDL/std_string.sip
===================================================================
--- orocos_kinematics_dynamics-1.3.0.orig/python_orocos_kdl/PyKDL/std_string.sip
+++ orocos_kinematics_dynamics-1.3.0/python_orocos_kdl/PyKDL/std_string.sip
@@ -27,7 +27,7 @@
newstring = PyUnicode_DecodeUTF8(sipCpp->c_str(), sipCpp->length(), NULL);
if(newstring == NULL) {
PyErr_Clear();
- newstring = PyString_FromString(sipCpp->c_str());
+ newstring = PyUnicode_FromString(sipCpp->c_str());
}
return newstring;
%End
@@ -38,21 +38,27 @@
// If argument is a Unicode string, just decode it to UTF-8
// If argument is a Python string, assume it's UTF-8
if (sipIsErr == NULL)
+#if PY_MAJOR_VERSION < 3
return (PyString_Check(sipPy) || PyUnicode_Check(sipPy));
+#else
+ return PyUnicode_Check(sipPy);
+#endif
if (sipPy == Py_None) {
*sipCppPtr = new std::string;
return 1;
}
if (PyUnicode_Check(sipPy)) {
PyObject* s = PyUnicode_AsEncodedString(sipPy, "UTF-8", "");
- *sipCppPtr = new std::string(PyString_AS_STRING(s));
+ *sipCppPtr = new std::string(PyUnicode_AS_DATA(s));
Py_DECREF(s);
return 1;
}
+#if PY_MAJOR_VERSION < 3
if (PyString_Check(sipPy)) {
*sipCppPtr = new std::string(PyString_AS_STRING(sipPy));
return 1;
}
+#endif
return 0;
%End

@ -1,57 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 040977f5ca5cd174c7a4d84b921e8e93646103c2 $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
SCM="git-r3"
EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
fi
inherit ${SCM} python-r1 cmake-utils
if [ "${PV#9999}" != "${PV}" ] ; then
KEYWORDS=""
SRC_URI=""
else
KEYWORDS="~amd64 ~arm"
SRC_URI="https://github.com/orocos/orocos_kinematics_dynamics/archive/v${PV}.tar.gz -> orocos_kinematics_dynamics-${PV}.tar.gz"
fi
DESCRIPTION="Python bindings for KDL"
HOMEPAGE="http://www.orocos.org/kdl"
LICENSE="LGPL-2.1"
SLOT="0"
IUSE=""
RDEPEND="
sci-libs/orocos_kdl
dev-python/sip[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}/py3.patch" "${FILESDIR}/gentoo.patch" )
if [ "${PV#9999}" != "${PV}" ] ; then
S=${WORKDIR}/${P}/python_orocos_kdl
else
S=${WORKDIR}/orocos_kinematics_dynamics-${PV}/python_orocos_kdl
fi
src_configure() {
python_foreach_impl cmake-utils_src_configure
}
src_compile() {
python_foreach_impl cmake-utils_src_compile
}
src_test() {
python_foreach_impl cmake-utils_src_test
}
src_install() {
python_foreach_impl cmake-utils_src_install
}

@ -1,6 +1,6 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 89a4b94a2885f241264db3b0a3eb5c834f48f9d3 $
# $Id: c8144ed108eb33702a137ca8099dc11f2233a4cb $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
@ -32,7 +32,6 @@ RDEPEND="
dev-python/sip[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}/gentoo.patch" )
if [ "${PV#9999}" != "${PV}" ] ; then
S=${WORKDIR}/${P}/python_orocos_kdl
@ -54,4 +53,8 @@ src_test() {
src_install() {
python_foreach_impl cmake-utils_src_install
# Need to have package.xml in our custom gentoo path
insinto /usr/share/ros_packages/${PN}
doins "${ED}/usr/share/${PN}/package.xml"
}

@ -1,6 +1,6 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 89a4b94a2885f241264db3b0a3eb5c834f48f9d3 $
# $Id: c8144ed108eb33702a137ca8099dc11f2233a4cb $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
@ -32,7 +32,6 @@ RDEPEND="
dev-python/sip[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}/gentoo.patch" )
if [ "${PV#9999}" != "${PV}" ] ; then
S=${WORKDIR}/${P}/python_orocos_kdl
@ -54,4 +53,8 @@ src_test() {
src_install() {
python_foreach_impl cmake-utils_src_install
# Need to have package.xml in our custom gentoo path
insinto /usr/share/ros_packages/${PN}
doins "${ED}/usr/share/${PN}/package.xml"
}

@ -0,0 +1,15 @@
Strip ros_packages/ from paths. ros_packages is only for avoiding to crawl the
whole /usr but the real one in the path without it.
Index: rospkg-1.1.0/src/rospkg/rospack.py
===================================================================
--- rospkg-1.1.0.orig/src/rospkg/rospack.py
+++ rospkg-1.1.0/src/rospkg/rospack.py
@@ -59,6 +59,7 @@ def list_by_path(manifest_name, path, ca
path = os.path.abspath(path)
basename = os.path.basename
for d, dirs, files in os.walk(path, topdown=True, followlinks=True):
+ d = d.replace('ros_packages/', '')
if 'CATKIN_IGNORE' in files:
del dirs[:]
continue # leaf

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 56908705af3d64e5d8ef11a46a901ce62672bbef $
# $Id: 6ed953cac503ea883646c54e23c8c846ca692076 $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
@ -37,6 +37,7 @@ DEPEND="${RDEPEND}
dev-python/coverage[${PYTHON_USEDEP}]
)
"
PATCHES=( "${FILESDIR}/gentoo.patch" )
python_test() {
nosetests --with-coverage --cover-package=rospkg --with-xunit test || die

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 56908705af3d64e5d8ef11a46a901ce62672bbef $
# $Id: 6ed953cac503ea883646c54e23c8c846ca692076 $
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
@ -37,6 +37,7 @@ DEPEND="${RDEPEND}
dev-python/coverage[${PYTHON_USEDEP}]
)
"
PATCHES=( "${FILESDIR}/gentoo.patch" )
python_test() {
nosetests --with-coverage --cover-package=rospkg --with-xunit test || die

@ -1,2 +1,2 @@
DIST statsmodels-0.5.0.tar.gz 5519668 SHA256 65398518bdd414c712362738e61d34ee5ec07b4c084bba17c65af5f20ae109d0 SHA512 24526200f212c1ad4492b84aad65967254d89aecee4c9f5d76ed499aa9b8c7fe619ca7301810ff5e7aec407f2f01b139c9f9c152a4597fe21736d04b24f6dd0a WHIRLPOOL c2719d25873ea949da30c63895c4536c559c0f45923eb885a3f7f664f3b82783d9945b346032513c4e0f1df9b82f9657956885e05d94505207a4c9ddb10a489e
DIST statsmodels-0.6.1.tar.gz 6980841 SHA256 be4e44374aec9e848b73e5a230dee190ac0c4519e1d40f69a5813190b13ec676 SHA512 9047b8cf4b9d19bd697867cecef1c4608fd86f3d16e67e44d8c152e1e25918f5aff6b4843c58395e71614be401551e3e48d4dcf158480cbdb45d9735b1c5ea77 WHIRLPOOL b14c7f5b734b26190f23edbf4020ace135571d4c0fa45e3e174647879d4c6547273abbab6c8911c346bf85b433a1908bd230fa52a1e09ede0e74c5e5167a8ecf
DIST statsmodels-0.8.0.tar.gz 9464851 SHA256 26431ab706fbae896db7870a0892743bfbb9f5c83231644692166a31d2d86048 SHA512 32bb7f36acc16796c445e5f695d958af4525fbbb2d374376fb4a73c972e3796fad05532456cef4aa5ee59d6fce11921174e17bbfc2e05d2488ce1ceac5175239 WHIRLPOOL 92dd92c9c5af6c73d90d2122e17306431be0263ae719db393400e5553ab4cbf3003603d0979b1528fd90bc1f5063d13d6778832f45f74e43ec70c829a684fedd

@ -20,6 +20,6 @@
</longdescription>
<upstream>
<remote-id type="pypi">statsmodels</remote-id>
<remote-id type="sourceforge">statsmodels</remote-id>
<remote-id type="github">statsmodels</remote-id>
</upstream>
</pkgmetadata>

@ -1,67 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 03a91e2b11781d45a17860487f6ae2f08af02bd1 $
EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1 virtualx
DESCRIPTION="Statistical computations and models for use with SciPy"
HOMEPAGE="http://statsmodels.sourceforge.net/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples test"
RDEPEND="
dev-python/pandas[${PYTHON_USEDEP}]
dev-python/patsy[${PYTHON_USEDEP}]
sci-libs/scipy[${PYTHON_USEDEP}]
examples? ( dev-python/matplotlib[${PYTHON_USEDEP}] )"
DEPEND="
dev-python/cython[${PYTHON_USEDEP}]
dev-python/pandas[${PYTHON_USEDEP}]
dev-python/patsy[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
sci-libs/scipy[${PYTHON_USEDEP}]
doc? (
dev-python/matplotlib
dev-python/sphinx
dev-python/ipython )
test? ( dev-python/nose[${PYTHON_USEDEP}] )"
pkg_setup() {
export MPLCONFIGDIR="${T}" HOME="${T}"
}
python_compile_all() {
if use doc; then
VARTEXFONTS="${T}"/fonts ${EPYTHON} setup.py build_sphinx || die
fi
}
python_test() {
cd "${BUILD_DIR}" || die
VIRTUALX_COMMAND="nosetests"
virtualmake --verbosity=3
}
python_install() {
distutils-r1_python_install
rm -r "${D}/$(python_get_sitedir)/statsmodels/examples" || die
}
python_install_all() {
find "${S}" -name \*LICENSE.txt -delete
use doc && HTML_DOCS=( build/sphinx/html/* )
if use examples; then
docompress -x /usr/share/doc/${PF}/examples
insinto /usr/share/doc/${PF}
doins -r examples
fi
distutils-r1_python_install_all
}

@ -0,0 +1,76 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: c9550d803ab3afcc7fd9640688b510a46953366b $
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5} )
inherit distutils-r1 virtualx
DESCRIPTION="Statistical computations and models for use with SciPy"
HOMEPAGE="http://www.statsmodels.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples test"
CDEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pandas[${PYTHON_USEDEP}]
dev-python/patsy[${PYTHON_USEDEP}]
sci-libs/scipy[${PYTHON_USEDEP}]
"
RDEPEND="${CDEPEND}
examples? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
"
DEPEND="${CDEPEND}
dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
doc? (
dev-python/ipykernel[${PYTHON_USEDEP}]
dev-python/jupyter_client[${PYTHON_USEDEP}]
dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/nbconvert[${PYTHON_USEDEP}]
dev-python/nbformat[${PYTHON_USEDEP}]
dev-python/numpydoc[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
)
test? ( dev-python/nose[${PYTHON_USEDEP}] )
"
python_prepare_all() {
# Prevent un-needed d'loading
sed -e "/sphinx.ext.intersphinx/d" -i docs/source/conf.py || die
export VARTEXFONTS="${T}"/fonts
export MPLCONFIGDIR="${T}"
export HOME="${T}"
echo "backend : Agg" > "${MPLCONFIGDIR}"/matplotlibrc || die
distutils-r1_python_prepare_all
}
python_compile_all() {
use doc && esetup.py build_sphinx -b html --build-dir=docs/build
}
python_test() {
cd "${BUILD_DIR}" || die
virtx nosetests -v || die
}
python_install_all() {
find "${S}" -name \*LICENSE.txt -delete
use doc && HTML_DOCS=( docs/build/html/* )
if use examples; then
docompress -x /usr/share/doc/${PF}/examples
insinto /usr/share/doc/${PF}
doins -r examples
fi
distutils-r1_python_install_all
}
pkg_postinst() {
optfeature "Plotting functionality" "dev-python/matplotlib"
}

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 5685bbfb6d3b36309c6aa562885c2c770b033afd $
# $Id: 03dff9978d1de858b17564b4b8d72288ee26727e $
EAPI=6
@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="PSF-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc64 ~x86"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc64 ~x86"
IUSE=""
DEPEND=""

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 316d565903b152b6c38a681a0c6a708041fdde15 $
# $Id: aebde5ed7c8949d92a58b7dac0a7fed4a504cf93 $
EAPI=6
@ -15,7 +15,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="doc test"
RDEPEND="

@ -1,6 +1,6 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 91e9771da543d4eaf98f8a48bf901052d1a2df5e $
# $Id: 8f7d8c035e597f0e488df393657f348cb1bf017d $
EAPI=6
@ -17,7 +17,7 @@ HOMEPAGE="
SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
SLOT="0"
IUSE="doc test"

@ -0,0 +1,28 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 88fbfdcbf9650c5d203ddbaae59ccb8c6e8bd61e $
EAPI=5
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit distutils-r1
DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
HOMEPAGE="https://pypi.python.org/pypi/wcwidth/ https://github.com/jquast/wcwidth"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RDEPEND=""
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? ( dev-python/pytest[${PYTHON_USEDEP}] )
"
python_test() {
py.test -v -rs --strict wcwidth/tests || die
}

@ -1,3 +1 @@
DIST mavlink-gbp-release-2016.11.11.tar.gz 462247 SHA256 589497d73033965fd1f5cb9894eb5ba790b33893b65c26befc9002185e23bd0d SHA512 e9a7df28a8125c306d4d4755b12866a194470a0cc94608b9d798fbc2c3033ee21f287e285bf74c86b93b4eacbead5ab4e2bad46d81ddbd41714e40fcfd5f64f4 WHIRLPOOL bfec6a897e515eea1176d6e9697b4e9e2d2c99837b93e64bc2ef18e231971e1b217f4ba9dc62fa6d797d2e75bcd51b71692dbe76f5e15b6f61579c87c6ad35b4
DIST mavlink-gbp-release-2016.7.7.tar.gz 524847 SHA256 927044566f4d5499bb89c0048683af65ee9f2615dbf9ce31f5bad33aac4bb595 SHA512 87a715a08e3467dc2865983ff6e93a34ac01abb11afd20daaedc863b6c22e5fbc3bef0905f301f3fa30d0c370640661e000ee852d1dc23ee37d2b9de461ae295 WHIRLPOOL be7edcbfb1641314237d6c5ae60ece805300ee4c7298e750b3d4dc1859cadf1a7c838d1044d3b9bce1c3c6daa9b18e206e5a93f93ea000b96243f6a30d1cee12
DIST mavlink-gbp-release-2017.2.7.tar.gz 460082 SHA256 075032116e1eadcd3f9e70e62c61ee80e03b8268b09ee6a7bd69cafb32f44b0d SHA512 07c21a4d80f1d67657cc824bbd46279620008374af48dfa92547e6373cee5a48509fabf269b55911bdb1d63660c5581cb362b7ea469f0ca00317e5d32084b73c WHIRLPOOL 371cc9ce4a86c4c0d2dbc05134f196401fd3917c53768d4c6b2a8c9155c0096c7784712d6b646e020fd8682f4ceda4e82fd9faa0f00bee5e5942143fbd8860e4

@ -2,11 +2,12 @@ Index: mavlink-gbp-release-release-kinetic-mavlink/CMakeLists.txt
===================================================================
--- mavlink-gbp-release-release-kinetic-mavlink.orig/CMakeLists.txt
+++ mavlink-gbp-release-release-kinetic-mavlink/CMakeLists.txt
@@ -170,6 +170,6 @@ install(FILES ${PROJECT_BINARY_DIR}/COPY
@@ -172,6 +172,8 @@ install(FILES ${PROJECT_BINARY_DIR}/COPY
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/ COMPONENT license)
install(FILES ${CMAKE_SOURCE_DIR}/package.xml
- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/ COMPONENT catkin)
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/ros_packages/${PROJECT_NAME}/ COMPONENT catkin)
+install(FILES ${CMAKE_SOURCE_DIR}/package.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/ COMPONENT catkin)
# vim:sw=4:ts=4:expandtab

@ -1,23 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: e37119a10baf7d3b33cd10b9d8d22ec317830d60 $
EAPI=5
ROS_REPO_URI="https://github.com/mavlink/mavlink-gbp-release"
VER_PREFIX=release/kinetic/mavlink/
VER_SUFFIX=-${PV#*_p}
KEYWORDS="~amd64 ~arm"
PYTHON_COMPAT=( python2_7 )
inherit ros-catkin
EGIT_BRANCH="release/kinetic/mavlink"
DESCRIPTION="MAVLink message marshaling library"
LICENSE="LGPL-3"
SLOT="0"
IUSE=""
RDEPEND="dev-python/future[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${PN}-${EGIT_BRANCH//\//-}"
PATCHES=( "${FILESDIR}/gentoo.patch" )

@ -1,23 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: fc83542e2d38bc40ea808041a3efd8cffcdddac6 $
EAPI=5
ROS_REPO_URI="https://github.com/mavlink/mavlink-gbp-release"
VER_PREFIX=release/kinetic/mavlink/
VER_SUFFIX=-${PV#*_p}
KEYWORDS="~amd64 ~arm"
PYTHON_COMPAT=( python2_7 )
inherit ros-catkin
EGIT_BRANCH="release/kinetic/mavlink"
DESCRIPTION="MAVLink message marshaling library"
LICENSE="LGPL-3"
SLOT="0"
IUSE=""
RDEPEND=""
DEPEND="${RDEPEND}"
S="${WORKDIR}/${PN}-${EGIT_BRANCH//\//-}"
PATCHES=( "${FILESDIR}/gentoo.patch" )

@ -1,2 +1 @@
DIST python_qt_binding-0.3.1.tar.gz 11955 SHA256 c9f056da7b805279820128e4a7e88e771b8cc8a845e72013bfd0f86b5749cb9f SHA512 2dcf751ac7bd859cf42322f458893d46678a432b212c523e108b664ac10ffce0043dc266e53947b101f9741359cc9c2f82d99c20674628c83d55719b8a546f77 WHIRLPOOL 287a053e1d58d58065587e221b7829221ee0c4cc6e7e38ad581eb51eb11dd82077d74e58ad357be4ca3812b4818daee50e33afdcca08076d6ae711a98063df63
DIST python_qt_binding-0.3.2.tar.gz 12047 SHA256 1ef3a85cc304028711f35de983c78fdc1f78d476e1239519bd8883cbe99aba16 SHA512 777d7ba00652d34994648615125f6c426170a1723570de35b9e5a060d0f077b563a57c9b0cbe7bd85a7ed2f5f011797e9102918a27df4f0096831cce0bb80304 WHIRLPOOL 3490e9229d675a8a753363a91fc785ab255385b358c7829824d50abae389b214aa88f49970d60a7bbda255c430fd8202b63c7586f2342808c85b8fe55bc8edae

@ -1,21 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 74f05392257ca439d262945cdd2c639fe873e842 $
EAPI=5
ROS_REPO_URI="https://github.com/ros-visualization/python_qt_binding"
KEYWORDS="~amd64"
PYTHON_COMPAT=( python{2_7,3_4} )
inherit ros-catkin
DESCRIPTION="Infrastructure for an integrated graphical user interface based on Qt"
LICENSE="BSD"
SLOT="0"
IUSE=""
RDEPEND="
dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"

@ -1,12 +1,12 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 453288d17366e6814a4f1c6ef326370aadc550da $
# $Id: b1d48bf1707299aba48f58e68ec12b037f50916a $
EAPI=5
ROS_REPO_URI="https://github.com/ros-visualization/python_qt_binding"
KEYWORDS="~amd64"
PYTHON_COMPAT=( python{2_7,3_4} )
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit ros-catkin

@ -1,12 +1,12 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: 74f05392257ca439d262945cdd2c639fe873e842 $
# $Id: b1d48bf1707299aba48f58e68ec12b037f50916a $
EAPI=5
ROS_REPO_URI="https://github.com/ros-visualization/python_qt_binding"
KEYWORDS="~amd64"
PYTHON_COMPAT=( python{2_7,3_4} )
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit ros-catkin

@ -1,7 +1 @@
DIST qt_gui_core-0.2.29.tar.gz 85881 SHA256 7c51b4fd7e795e37e3f8a4b691a5e520466105fdddbc85e194c10c608fe7448c SHA512 958526a3bd76070e121d75a82c589894aef980870091cb853802fcb60328b54cbc95ee0c9eececa18e24608808cca2c722c5699b662c2a578f150995171d71db WHIRLPOOL f83328ce59fd9cd8db5a066f1a2a93bde54b28268891b18cf73b31d5584b0dc7f932350a39e729c97be3bc3b6780422dd2538321f29b0acd13d06387e0054975
DIST qt_gui_core-0.2.30.tar.gz 86567 SHA256 d2c7240161dd84b02b024a66119d122a7607dd0e27a299d53d1c75c36d203847 SHA512 4a9671c8814f16a371e77840d6df268e763ce5932d6e85842af34ee5322701ffa19d97d4d75b4fb6d4d272497281462296dc9cfc25d4efd96246a88a8ee08978 WHIRLPOOL c072605d884a051a03ea3e77147fce7e7f3f94c4b5eb253779022a18cf3141d357fdb9fc45c9b5b6917d3e73cc2cfde4d384d64de26f164b4920911965be20e7
DIST qt_gui_core-0.3.0.tar.gz 86904 SHA256 f785ad2ffcee822edaf8f8baef8f440d3c596fbb2cbc99508f5aef650e00dc28 SHA512 6b14dafdc087f3fccfeacf2aedd438b069cd3592d6f834ba0d277107da936bbf0d3a40d0cd18468615fd9c508fb1fc5109ef83c4970031a7dca923b85270b385 WHIRLPOOL fdc0e46cc9e308999553ffa911acd7cb3fa64c8088fe270eb831143deef03e903cc1abfaf748fe4e8484a91acc2d926d8d03bdec4225082c56fc958fe16dfdfa
DIST qt_gui_core-0.3.1.tar.gz 87236 SHA256 99ec592081fbc68d263e85ad1134ebf95019f23a4b116b6f0c8ba13764ab3338 SHA512 f209c257fe3f8bf10e285109e6d6a88e2c8f2d6bfdae82bf3177b94f0b0a74ac26585a1b688d37d6db828847f82b9a5d3c362847bedf41db8aa86a2bc9738c3c WHIRLPOOL 23e82cacdf531a27c5a0b8c5296722b87671a2345db1ed6571d4d8708289a9580db25e5a695dc3fc033aa16fb8c70e1934190549698955cd168021bc689ee123
DIST qt_gui_core-0.3.2.tar.gz 87326 SHA256 678e60f413ad455577ce0e76fa34f2603d0f713023a59fb8c4edee3e753489d5 SHA512 9a3e5c395a49efc0cbd747b35898e5931155b9e22f4789cc111cfb28866db4589b3b7fbd8b32cb8d64ade568dd5a9eb4ee4b24f7b7f60dcf5aabc4a380b5c180 WHIRLPOOL 0fe0af5b79ecf27259212b4ccf3f839d6841775b859674619119dfd97de5a3ae5ac337b0e0c92a6a55b02c6905f21c12d27ecf75aef62c320dd05a1f34e611f4
DIST qt_gui_core-0.3.3.tar.gz 87422 SHA256 fc1bf4dfb3d357b38263d36023ee7b55a1799dfa437513ac51041c993e9cecd4 SHA512 5f2906e412b35b6edc9ba8792272b3d733574deda955279327e392ee3b0f55bb01a08607a25632fda43112842743fdd1432874fbf090f6b1404604c329b7dc3a WHIRLPOOL 6856cb3f58d6e68f1b3081ae4f2529f701a355fa5b0698f3191adc341da38fa3a47f17cd4cab459689e522aa7c4a117b0c86c62f39072711eb240234ee67dfe6
DIST qt_gui_core-0.3.4.tar.gz 87974 SHA256 09da32698c087a73bbf0dae2ce3b9f1d19beb5f56e15d2fd08009260589e27ef SHA512 794b0ea8b92cdbb748282ef48dcb41f24f3b83dd8ad92e8dc895d45ed085b9838b2ca4a5dc43284971d33b7ac40c86ca578fe042d71e0c9d1903cdfb561507af WHIRLPOOL 98b36b798b7dc57e88a5b59586015919c2f1d902dbde9352562237ec6cb6bb27d3fef296da1547949244b2deb0dc2e18a858ef2bb5021af1d64d76688f0b5a71

@ -1,24 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: c65766bd2aa5aef3ffb28dd5e581f2834f3222e0 $
EAPI=5
ROS_REPO_URI="https://github.com/ros-visualization/qt_gui_core"
KEYWORDS="~amd64"
PYTHON_COMPAT=( python2_7 )
ROS_SUBDIR=${PN}
inherit ros-catkin
DESCRIPTION="ROS infrastructure for an integrated graphical user interface based on Qt"
LICENSE="BSD"
SLOT="0"
IUSE=""
RDEPEND="
dev-qt/qtcore:4
dev-python/rospkg[${PYTHON_USEDEP}]
dev-ros/python_qt_binding[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"

@ -1,24 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: c65766bd2aa5aef3ffb28dd5e581f2834f3222e0 $
EAPI=5
ROS_REPO_URI="https://github.com/ros-visualization/qt_gui_core"
KEYWORDS="~amd64"
PYTHON_COMPAT=( python2_7 )
ROS_SUBDIR=${PN}
inherit ros-catkin
DESCRIPTION="ROS infrastructure for an integrated graphical user interface based on Qt"
LICENSE="BSD"
SLOT="0"
IUSE=""
RDEPEND="
dev-qt/qtcore:4
dev-python/rospkg[${PYTHON_USEDEP}]
dev-ros/python_qt_binding[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"

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

Loading…
Cancel
Save