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
cd "${S}/tools-build"
default
}
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
cd "${S}/tools-build"
emake DESTDIR="${ED}" install
# 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
cd "${S}/tools-build"
default
}
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
cd "${S}/tools-build"
emake DESTDIR="${ED}" install
# 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

@ -10,16 +10,16 @@
<name>Gentoo Mathematics Project</name>
</maintainer>
<longdescription lang="en">
statsmodels is a Python module that allows users to explore data,
estimate statistical models, and perform statistical tests. An
extensive list of descriptive statistics, statistical tests,
plotting functions, and result statistics are available for
different types of data and each estimator. Researchers across
fields may find that statsmodels fully meets their needs for
statistical computing and data analysis in Python.
statsmodels is a Python module that allows users to explore data,
estimate statistical models, and perform statistical tests. An
extensive list of descriptive statistics, statistical tests,
plotting functions, and result statistics are available for
different types of data and each estimator. Researchers across
fields may find that statsmodels fully meets their needs for
statistical computing and data analysis in Python.
</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