parent
fdda1681eb
commit
c367e85801
@ -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,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,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,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
|
||||
}
|
@ -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
|
||||
|
@ -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]
|
||||
}
|
@ -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,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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
}
|
@ -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}"
|
||||
}
|
@ -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:
|
@ -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,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,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
|
||||
}
|
@ -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,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
|
||||
|
@ -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"
|
||||
}
|
@ -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
|
||||
|
@ -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,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…
Reference in new issue