Sync with portage [Sat Apr 25 22:41:32 MSK 2020].

develop
root 4 years ago
parent 17417fc0dd
commit e5b27dee1d

Binary file not shown.

Binary file not shown.

@ -10,11 +10,11 @@ if [[ ${PV} = 9999* ]]; then
else
GHASH=73207d04e0739a4ce92bc201b36681c42d9fa7e7 # python3 branch
SRC_URI="https://github.com/python-diamond/Diamond/archive/${GHASH}.tar.gz -> python-diamond-${PV}.tar.gz"
KEYWORDS="amd64 ~arm x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="amd64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
S=${WORKDIR}/Diamond-${GHASH}
fi
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1 prefix
@ -29,7 +29,7 @@ RESTRICT="!test? ( test )"
RDEPEND="dev-python/configobj
dev-python/setproctitle
mongo? ( dev-python/pymongo )
mysql? ( dev-python/mysql-python )
mysql? ( dev-python/mysqlclient )
snmp? ( dev-python/pysnmp )
redis? ( dev-python/redis-py )
!kernel_linux? ( >=dev-python/psutil-3 )"

Binary file not shown.

@ -1,2 +1,3 @@
DIST pdfcrack-0.16.tar.gz 34467 BLAKE2B 7eda8dae9cec3117f410f9ebbe6d536ca627c72b53693d4021f3faf104ed0439e05dda5848d1f18911544336c6303f9b061c373da9a0a275ecfa2c29ed425b76 SHA512 460113f28249d1ea1cefc6dac8ff22b33849ccff50f61830144e41eeec47c4b9113845bb955d26757adb0552d8c0dfa43b3f5666c1419afe4063037a1e1c933d
DIST pdfcrack-0.18.tar.gz 35145 BLAKE2B 05c1b5164c208ba34ffe2c4aadcebaa88d5a4058a8ef355df3346bda19b5e9f319abd714975d86e3b05ef70ec003f4e08b00d5b339ebd0ac0549f72884580547 SHA512 7d1624d835bcefff131745c75dc2ecafe63afdbf2c56568880804d5b7062a8eef27eebfedf340ab9d7e5770dd1a553d5d30b7ea5bca63a317deb40e0deed35a2
DIST pdfcrack-0.19.tar.gz 35383 BLAKE2B ddbbd813a8b76fd0b643ac5a9f63f8d82f76d2514e43dd0d4a4e4cc4feffb4b01598fc5438aef77f98b48c3df1f04139aa8db76d77eb3ed9d67a36a3b8ef57fb SHA512 e58819e7d90db9a66ebf9509c0b8aace7f8e7dbf5f8083edc70c3f2ca28cf16476bbdbaa77f7c563dcf824e440ca0df03e91d6aaf2a0435ec8f349f4e19ee626

@ -0,0 +1,27 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Tool for recovering passwords and content from PDF-files"
HOMEPAGE="http://pdfcrack.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
PATCHES=(
"${FILESDIR}/${PN}-0.14-cflags.patch"
)
src_compile() {
emake CC="$(tc-getCC)"
}
src_install() {
dobin pdfcrack
dodoc changelog README
}

Binary file not shown.

@ -2,3 +2,4 @@ DIST vim-8.2.0210-gentoo-patches.tar.bz2 2755 BLAKE2B 21f1fb97c95d4f2eb45968783a
DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
DIST vim-8.2.0360.tar.gz 14842830 BLAKE2B fe3a13cb4bef4ada1bd13cdc80aa9a4ab275d1ff16a7f5308109adc7c5a3459393e1c8153fa32a972141b27cce3aaff50c59416d1ba32e4dca03074be49705a9 SHA512 183bcb5cc73290193de99beb69b56b64efa37db9d905c6e76a51ac727f4447f76346dde632e2dfae9d289abb4b9ca11a14f7e350eaa699fc2c3c7c2e35fc20b2
DIST vim-8.2.0508.tar.gz 14885937 BLAKE2B 70d9cbaa69fac168e6719ef6ee0fadef21bc0b4c17e3c01d983cfe7d75ec831089845aae2f4ca2b5eba02ea24664dc968b0d472254db45e13a5a1f9cdc62253a SHA512 0cbe7cb8d16ac9ed2e6b2f7031bf3b962bcfa199ef7421dfa549fd53f42eb00fc20a14d0df13fcdb4b5f06c88e659086f8d277797824e628133ebd66c72232b6
DIST vim-8.2.0638.tar.gz 14922315 BLAKE2B 12a8a272e1167ec845d2a5ab3b884f8d327e7b73a49fad2c7cafcd0bd5690c8c21d6b9e1b6211fd6ef8908ea93019c483ec5de74b50cf1fea8fbfc6f63b751df SHA512 4fc3aca0f3337b35d98281d1c7d5cd733bf14fbd1c3e382208ff950199125b6e4606bb7487310caf793eb6b2d1c6e719bce19b53d4d55a26354649c13b727a92

@ -0,0 +1,367 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VIM_VERSION="8.2"
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE="threads(+)"
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix python-single-r1 ruby-single
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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
fi
DESCRIPTION="GUI version of the Vim text editor"
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
SLOT="0"
LICENSE="vim"
IUSE="acl aqua cscope debug gtk gtk2 lua luajit motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
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? (
gtk? (
x11-libs/gtk+:3
x11-libs/libXft
)
!gtk? (
gtk2? (
>=x11-libs/gtk+-2.6:2
x11-libs/libXft
)
!gtk2? (
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? ( ${RUBY_DEPS} )
selinux? ( sys-libs/libselinux )
session? ( x11-libs/libSM )
sound? ( media-libs/libcanberra )
tcl? ( dev-lang/tcl:0= )
"
DEPEND="${RDEPEND}
sys-devel/autoconf
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
# various failures (bugs #630042 and #682320)
RESTRICT="test"
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 || die
export HOME="${T}"/home
use python && python-single-r1_pkg_setup
}
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 -e \
'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 || die "echo failed"
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
>> "${S}"/src/feature.h || die "echo failed"
# 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 -e \
'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 -e \
'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" || die "echo failed"
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 || die
fi
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
sed -i -e \
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
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 -e \
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
rm -v src/auto/configure || die "rm failed"
emake -j1 -C src autoconf
# This should fix a sandbox violation (see bug 24447). The hvc
# things are for ppc64, see bug 86433.
local file
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
if [[ -e ${file} ]]; then
addwrite $file
fi
done
use debug && append-flags "-DDEBUG"
myconf=(
--with-features=huge
--disable-gpm
--with-gnome=no
$(use_enable sound canberra)
$(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 python python3interp)
$(use_with python python3-command $(type -P $(eselect python show --python3)))
$(use_enable racket mzschemeinterp)
$(use_enable ruby rubyinterp)
$(use_enable selinux)
$(use_enable session xsmp)
$(use_enable tcl tclinterp)
)
# --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 -e \
'/# 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 gtk GTK3
# -aqua -gtk gtk2 GTK2
# -aqua -gtk -gtk motif MOTIF
# -aqua -gtk -gtk -motif neXt NEXTAW
# -aqua -gtk -gtk -motif -neXt ATHENA
echo ; echo
if use aqua; then
einfo "Building gvim with the Carbon GUI"
myconf+=(
--enable-darwin
--enable-gui=carbon
)
elif use gtk; then
myconf+=( --enable-gtk3-check )
einfo "Building gvim with the gtk+-3 GUI"
myconf+=( --enable-gui=gtk3 )
elif use gtk2; then
myconf+=( --enable-gtk2-check )
einfo "Building gvim with the gtk+-2 GUI"
myconf+=( --enable-gui=gtk2 )
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() {
einfo
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."
einfo
ewarn "If the tests fail, your terminal may be left in a strange"
ewarn "state. Usually, running 'reset' will fix this."
einfo
# 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 -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
# Don't do additional GUI tests.
emake -j1 VIMPROG=../testvim -C src/testdir nongui
}
# Call eselect vi update with --if-unset
# to respect user's choice (bug 187449)
eselect_vi_update() {
einfo "Calling eselect vi update..."
eselect vi update --if-unset
eend $?
}
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 || die "echo failed"
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
die "echo failed"
insinto /etc/vim
newins "${FILESDIR}"/gvimrc-r1 gvimrc
eprefixify "${ED}"/etc/vim/gvimrc
# bash completion script, bug #79018.
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
# don't install vim desktop file
rm -v "${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
xdg_desktop_database_update
# update icon cache
xdg_icon_cache_update
# call eselect vi update
eselect_vi_update
}
pkg_postrm() {
# update documentation tags (from vim-doc.eclass)
update_vim_helptags
# update fdo mime stuff, bug #78394
xdg_desktop_database_update
# update icon cache
xdg_icon_cache_update
# call eselect vi update
eselect_vi_update
}

@ -2,3 +2,4 @@ DIST vim-8.2.0210-gentoo-patches.tar.bz2 2755 BLAKE2B 21f1fb97c95d4f2eb45968783a
DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
DIST vim-8.2.0360.tar.gz 14842830 BLAKE2B fe3a13cb4bef4ada1bd13cdc80aa9a4ab275d1ff16a7f5308109adc7c5a3459393e1c8153fa32a972141b27cce3aaff50c59416d1ba32e4dca03074be49705a9 SHA512 183bcb5cc73290193de99beb69b56b64efa37db9d905c6e76a51ac727f4447f76346dde632e2dfae9d289abb4b9ca11a14f7e350eaa699fc2c3c7c2e35fc20b2
DIST vim-8.2.0508.tar.gz 14885937 BLAKE2B 70d9cbaa69fac168e6719ef6ee0fadef21bc0b4c17e3c01d983cfe7d75ec831089845aae2f4ca2b5eba02ea24664dc968b0d472254db45e13a5a1f9cdc62253a SHA512 0cbe7cb8d16ac9ed2e6b2f7031bf3b962bcfa199ef7421dfa549fd53f42eb00fc20a14d0df13fcdb4b5f06c88e659086f8d277797824e628133ebd66c72232b6
DIST vim-8.2.0638.tar.gz 14922315 BLAKE2B 12a8a272e1167ec845d2a5ab3b884f8d327e7b73a49fad2c7cafcd0bd5690c8c21d6b9e1b6211fd6ef8908ea93019c483ec5de74b50cf1fea8fbfc6f63b751df SHA512 4fc3aca0f3337b35d98281d1c7d5cd733bf14fbd1c3e382208ff950199125b6e4606bb7487310caf793eb6b2d1c6e719bce19b53d4d55a26354649c13b727a92

@ -0,0 +1,225 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VIM_VERSION="8.2"
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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="https://vim.sourceforge.io/ https://github.com/vim/vim"
SLOT="0"
LICENSE="vim"
IUSE="nls acl minimal"
DEPEND="sys-devel/autoconf"
# avoid icon file collision bug #673880
RDEPEND="!!<app-editors/gvim-8.1.0648"
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 || die "mkdir -p failed"
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 \
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
"${S}"/runtime/tools/mve.awk || die "sed failed"
# See #77841. We remove this file after the tarball extraction.
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm 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" || die "echo failed"
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 || die "sed failed"
fi
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
sed -i -e \
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
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"
# Remove src/auto/configure file.
rm -v src/auto/configure || die "rm configure failed"
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
if [[ -e "${file}" ]]; then
addwrite $file
fi
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() {
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-r5 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 -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
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
newbashcomp "${FILESDIR}"/xxd-completion xxd
# install gvim icon since both vim/gvim desktop files reference it
doicon -s scalable "${FILESDIR}"/gvim.svg
}
pkg_postinst() {
# update documentation tags (from vim-doc.eclass)
update_vim_helptags
# update icon cache
xdg_icon_cache_update
}
pkg_postrm() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
# update icon cache
xdg_icon_cache_update
}

@ -2,3 +2,4 @@ DIST vim-8.2.0210-gentoo-patches.tar.bz2 2755 BLAKE2B 21f1fb97c95d4f2eb45968783a
DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
DIST vim-8.2.0360.tar.gz 14842830 BLAKE2B fe3a13cb4bef4ada1bd13cdc80aa9a4ab275d1ff16a7f5308109adc7c5a3459393e1c8153fa32a972141b27cce3aaff50c59416d1ba32e4dca03074be49705a9 SHA512 183bcb5cc73290193de99beb69b56b64efa37db9d905c6e76a51ac727f4447f76346dde632e2dfae9d289abb4b9ca11a14f7e350eaa699fc2c3c7c2e35fc20b2
DIST vim-8.2.0508.tar.gz 14885937 BLAKE2B 70d9cbaa69fac168e6719ef6ee0fadef21bc0b4c17e3c01d983cfe7d75ec831089845aae2f4ca2b5eba02ea24664dc968b0d472254db45e13a5a1f9cdc62253a SHA512 0cbe7cb8d16ac9ed2e6b2f7031bf3b962bcfa199ef7421dfa549fd53f42eb00fc20a14d0df13fcdb4b5f06c88e659086f8d277797824e628133ebd66c72232b6
DIST vim-8.2.0638.tar.gz 14922315 BLAKE2B 12a8a272e1167ec845d2a5ab3b884f8d327e7b73a49fad2c7cafcd0bd5690c8c21d6b9e1b6211fd6ef8908ea93019c483ec5de74b50cf1fea8fbfc6f63b751df SHA512 4fc3aca0f3337b35d98281d1c7d5cd733bf14fbd1c3e382208ff950199125b6e4606bb7487310caf793eb6b2d1c6e719bce19b53d4d55a26354649c13b727a92

@ -0,0 +1,318 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VIM_VERSION="8.2"
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE="threads(+)"
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
inherit vim-doc flag-o-matic bash-completion-r1 python-single-r1 ruby-single desktop xdg-utils
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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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="https://vim.sourceforge.io/ https://github.com/vim/vim"
SLOT="0"
LICENSE="vim"
IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
vim-pager? ( !minimal )
"
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} )
vim-pager? ( app-editors/vim-core[-minimal] )
perl? ( dev-lang/perl:= )
python? ( ${PYTHON_DEPS} )
racket? ( dev-scheme/racket )
ruby? ( ${RUBY_DEPS} )
selinux? ( sys-libs/libselinux )
sound? ( media-libs/libcanberra )
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 || die "mkdir failed"
export HOME="${T}"/home
use python && python-single-r1_pkg_setup
}
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 -e \
'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 || die "echo failed"
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
>> "${S}"/src/feature.h || die "echo failed"
# 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 -e \
'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 -e \
'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" || die "echo failed"
done
# conditionally make the manpager.sh script
if use vim-pager; then
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
#!/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' -
_EOF_
fi
# 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 || die "sed failed"
fi
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
sed -i -e \
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
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 src/auto/configure || die "rm failed"
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
if [[ -e "${file}" ]]; then
addwrite $file
fi
done
if use minimal; then
myconf=(
--with-features=tiny
--disable-nls
--disable-canberra
--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
$(use_enable sound canberra)
$(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 python python3interp)
$(use_with python python3-command $(type -P $(eselect python show --python3)))
$(use_enable racket mzschemeinterp)
$(use_enable ruby rubyinterp)
$(use_enable selinux)
$(use_enable tcl tclinterp)
$(use_enable terminal)
)
# --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 -e \
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
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() {
einfo
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."
einfo
ewarn "If the tests fail, your terminal may be left in a strange"
ewarn "state. Usually, running 'reset' will fix this."
einfo
# Don't let vim talk to X
unset DISPLAY
emake -j1 -C src/testdir nongui
}
# Call eselect vi update with --if-unset
# to respect user's choice (bug 187449)
eselect_vi_update() {
einfo "Calling eselect vi update..."
eselect vi update --if-unset
eend $?
}
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
domenu runtime/vim.desktop
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
# keep in sync with 'complete ... -F' list
bashcomp_alias vim ex vi view rvim rview vimdiff
}
pkg_postinst() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
# Call eselect vi update
eselect_vi_update
# update desktop file mime cache
xdg_desktop_database_update
}
pkg_postrm() {
# Update documentation tags (from vim-doc.eclass)
update_vim_helptags
# Call eselect vi update
eselect_vi_update
# update desktop file mime cache
xdg_desktop_database_update
}

Binary file not shown.

@ -1,3 +1,3 @@
DIST org-8.3.2.tar.gz 4442361 BLAKE2B f21f07578e870cd3edaa3721a53f679627c0115c320c666c2086e201e272c0ef03540bfdd90936a624cd4c4dcbac21b91346ba975b6006ada2d46184f73574f3 SHA512 3e1ff47c875a2db3239add8b060f555da357e465161ca62860c0ac2734c2e31c5387d2df4223ab7ea8ea60050f9a845d160b0bcb3afcf36f1d3cabcaa961e6a2
DIST org-9.2.6.tar.gz 5720665 BLAKE2B 19346696b41c2ab5b66ca58b0e28c4ddfa184a390d39b1edc80536901754ac81a479cfb1ead5aaca6d93c9060fc122bbdfe1307900fbf0fc8cdb8fb7a2b2153c SHA512 8aba98bcd2e8e8d40c90524c7b0fd85526fc64725823a6ba66ef80b8f5f2e7d2b1d3363db2553af6672ded085a0abbf00311e36f02cfc1c2dbb18184df8f34a5
DIST org-9.3.6.tar.gz 4669953 BLAKE2B 1d221918f8145b789d979ee7822640dd37c5722e9f65ba36e945f7d574cfb89d48e2da1812d5dc727301ef1ad8bd2ef5628f54cbbfef5bffbab48656ed4c1e65 SHA512 47b5b81f47474d399cc7aada0e32f376d4c8758f6e955b7d889035610c20a4c372ea0571a510695822d2b87bd1e8002c2d0d8c73dc730144540c59b5ef25e090
DIST org-9.3.tar.gz 5189006 BLAKE2B 1e082988a47e2058fe248dd1f8f5f0e75291279be1a7abf75d507786f84f93e9701607d15688162ff4d3e4f590ac8391c37d1f6d047ed55d9d9bfb498b47cfa4 SHA512 e00f15750b76350765b6a01e5b0021fec4dcbd9dd5ca4de6745e0df6881b9d62ad496b7d579c0cc0f6dbb206bb27e5a219e0a668a6167ccc7f629d763eafa24c

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -12,7 +12,7 @@ SRC_URI="http://orgmode.org/org-${PV}.tar.gz"
LICENSE="GPL-3+ FDL-1.3+ contrib? ( GPL-2+ MIT ) odt-schema? ( OASIS-Open )"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~x86-macos"
KEYWORDS="~amd64 ~ppc ~x86 ~x86-macos"
IUSE="contrib doc odt-schema"
RESTRICT="test"

Binary file not shown.

@ -0,0 +1,94 @@
https://bugs.gentoo.org/719266
From ac2071c3791b67fc7af78b8ceb320c01ca1b5df7 Mon Sep 17 00:00:00 2001
From: BALATON Zoltan <balaton@eik.bme.hu>
Date: Mon, 6 Apr 2020 22:34:26 +0200
Subject: [PATCH] ati-vga: Fix checks in ati_2d_blt() to avoid crash
In some corner cases (that never happen during normal operation but a
malicious guest could program wrong values) pixman functions were
called with parameters that result in a crash. Fix this and add more
checks to disallow such cases.
Reported-by: Ziming Zhang <ezrakiez@gmail.com>
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-id: 20200406204029.19559747D5D@zero.eik.bme.hu
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/display/ati_2d.c | 37 ++++++++++++++++++++++++++-----------
1 file changed, 26 insertions(+), 11 deletions(-)
--- a/hw/display/ati_2d.c
+++ b/hw/display/ati_2d.c
@@ -53,12 +53,20 @@ void ati_2d_blt(ATIVGAState *s)
s->vga.vbe_start_addr, surface_data(ds), surface_stride(ds),
surface_bits_per_pixel(ds),
(s->regs.dp_mix & GMC_ROP3_MASK) >> 16);
- int dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
- s->regs.dst_x : s->regs.dst_x + 1 - s->regs.dst_width);
- int dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
- s->regs.dst_y : s->regs.dst_y + 1 - s->regs.dst_height);
+ unsigned dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
+ s->regs.dst_x : s->regs.dst_x + 1 - s->regs.dst_width);
+ unsigned dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
+ s->regs.dst_y : s->regs.dst_y + 1 - s->regs.dst_height);
int bpp = ati_bpp_from_datatype(s);
+ if (!bpp) {
+ qemu_log_mask(LOG_GUEST_ERROR, "Invalid bpp\n");
+ return;
+ }
int dst_stride = DEFAULT_CNTL ? s->regs.dst_pitch : s->regs.default_pitch;
+ if (!dst_stride) {
+ qemu_log_mask(LOG_GUEST_ERROR, "Zero dest pitch\n");
+ return;
+ }
uint8_t *dst_bits = s->vga.vram_ptr + (DEFAULT_CNTL ?
s->regs.dst_offset : s->regs.default_offset);
@@ -82,12 +90,16 @@ void ati_2d_blt(ATIVGAState *s)
switch (s->regs.dp_mix & GMC_ROP3_MASK) {
case ROP3_SRCCOPY:
{
- int src_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
- s->regs.src_x : s->regs.src_x + 1 - s->regs.dst_width);
- int src_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
- s->regs.src_y : s->regs.src_y + 1 - s->regs.dst_height);
+ unsigned src_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
+ s->regs.src_x : s->regs.src_x + 1 - s->regs.dst_width);
+ unsigned src_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
+ s->regs.src_y : s->regs.src_y + 1 - s->regs.dst_height);
int src_stride = DEFAULT_CNTL ?
s->regs.src_pitch : s->regs.default_pitch;
+ if (!src_stride) {
+ qemu_log_mask(LOG_GUEST_ERROR, "Zero source pitch\n");
+ return;
+ }
uint8_t *src_bits = s->vga.vram_ptr + (DEFAULT_CNTL ?
s->regs.src_offset : s->regs.default_offset);
@@ -137,8 +149,10 @@ void ati_2d_blt(ATIVGAState *s)
dst_y * surface_stride(ds),
s->regs.dst_height * surface_stride(ds));
}
- s->regs.dst_x += s->regs.dst_width;
- s->regs.dst_y += s->regs.dst_height;
+ s->regs.dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
+ dst_x + s->regs.dst_width : dst_x);
+ s->regs.dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
+ dst_y + s->regs.dst_height : dst_y);
break;
}
case ROP3_PATCOPY:
@@ -179,7 +193,8 @@ void ati_2d_blt(ATIVGAState *s)
dst_y * surface_stride(ds),
s->regs.dst_height * surface_stride(ds));
}
- s->regs.dst_y += s->regs.dst_height;
+ s->regs.dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
+ dst_y + s->regs.dst_height : dst_y);
break;
}
default:
--
2.26.2

@ -0,0 +1,834 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
PYTHON_REQ_USE="ncurses,readline"
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
FIRMWARE_ABI_VERSION="4.0.0-r50"
inherit eutils linux-info toolchain-funcs multilib python-r1 \
udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
slirp
tests/fp/berkeley-{test,soft}float-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz
https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r2.tar.xz"
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
+fdt glusterfs gnutls gtk infiniband iscsi jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
smartcard snappy spice ssh static static-user systemtap tci test usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
xfs +xkb"
COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
lm32 moxie tricore unicore32"
IUSE_USER_TARGETS="${COMMON_TARGETS}
aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
tilegx"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
RESTRICT="!test? ( test )"
# Allow no targets to be built so that people can get a tools-only build.
# Block USE flag configurations known to not work.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
qemu_softmmu_targets_ppc64? ( fdt )
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy )
static-user? ( !plugins )
virtfs? ( xattr )
vte? ( gtk )
plugins? ( !static !static-user )
"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
#
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
#
# The attr lib isn't always linked in (although the USE flag is always
# respected). This is because qemu supports using the C library's API
# when available rather than always using the external library.
ALL_DEPEND="
>=dev-libs/glib-2.0[static-libs(+)]
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
systemtap? ( dev-util/systemtap )
xattr? ( sys-apps/attr[static-libs(+)] )"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# softmmu targets (qemu-system-*).
SOFTMMU_TOOLS_DEPEND="
dev-libs/libxml2[static-libs(+)]
xkb? ( x11-libs/libxkbcommon[static-libs(+)] )
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
app-accessibility/brltty[static-libs(+)]
)
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
bzip2? ( app-arch/bzip2[static-libs(+)] )
capstone? ( dev-libs/capstone:= )
caps? ( sys-libs/libcap-ng[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? (
sys-fabric/libibumad:=[static-libs(+)]
sys-fabric/libibverbs:=[static-libs(+)]
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
ncurses? (
sys-libs/ncurses:0=[unicode]
sys-libs/ncurses:0=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl,gbm]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[X]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
snappy? ( app-arch/snappy:= )
spice? (
>=app-emulation/spice-protocol-0.12.3
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-201905[binary]
~sys-firmware/ipxe-1.0.0_p20190728[binary]
~sys-firmware/seabios-1.12.0[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre8[binary]
)
!pin-upstream-blobs? (
sys-firmware/edk2-ovmf
sys-firmware/ipxe
>=sys-firmware/seabios-1.10.2[seavgabios]
sys-firmware/sgabios
)"
PPC64_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-1.12.0[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-1.10.2[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? ( dev-python/sphinx )
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
sys-devel/bc
)
"
CDEPEND="
!static? (
${ALL_DEPEND//\[static-libs(+)]}
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
)
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static? (
${ALL_DEPEND}
${SOFTMMU_TOOLS_DEPEND}
)
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.5.0-cflags.patch
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
"${FILESDIR}"/${PN}-4.2.0-ati-vga-crash.patch #719266
"${WORKDIR}"/patches
)
QA_PREBUILT="
usr/share/qemu/hppa-firmware.img
usr/share/qemu/openbios-ppc
usr/share/qemu/openbios-sparc64
usr/share/qemu/openbios-sparc32
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/s390-netboot.img
usr/share/qemu/u-boot.e500"
QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm
usr/bin/qemu-cris
usr/bin/qemu-m68k
usr/bin/qemu-microblaze
usr/bin/qemu-microblazeel
usr/bin/qemu-mips
usr/bin/qemu-mipsel
usr/bin/qemu-or1k
usr/bin/qemu-ppc
usr/bin/qemu-ppc64
usr/bin/qemu-ppc64abi32
usr/bin/qemu-sh4
usr/bin/qemu-sh4eb
usr/bin/qemu-sparc
usr/bin/qemu-sparc64
usr/bin/qemu-armeb
usr/bin/qemu-sparc32plus
usr/bin/qemu-s390x
usr/bin/qemu-unicore32"
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
kernel module loaded before running kvm. The easiest way to ensure that the
kernel module is loaded is to load it on boot.
For AMD CPUs the module is called 'kvm-amd'.
For Intel CPUs the module is called 'kvm-intel'.
Please review /etc/conf.d/modules for how to load these.
Make sure your user is in the 'kvm' group. Just run
$ gpasswd -a <USER> kvm
then have <USER> re-login.
For brand new installs, the default permissions on /dev/kvm might not let
you access it. You can tell udev to reset ownership/perms:
$ udevadm trigger -c add /dev/kvm
If you want to register binfmt handlers for qemu user targets:
For openrc:
# rc-update add qemu-binfmt
For systemd:
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
pkg_pretend() {
if use kernel_linux && kernel_is lt 2 6 25; then
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
elif use kernel_linux; then
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
ERROR_KVM="You must enable KVM in your kernel to continue"
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
ERROR_KVM_AMD+=" your kernel configuration."
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
ERROR_TUN+=" into your kernel or loaded as a module to use the"
ERROR_TUN+=" virtual network device if using -net tap."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
ERROR_VHOST_NET+=" support"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_INTEL"
fi
fi
use python && CONFIG_CHECK+=" ~DEBUG_FS"
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
# Now do the actual checks setup above
check_extra_config
fi
fi
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
eerror "instances are still pointing to it. Please update your"
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
eerror "and the right system binary (e.g. qemu-system-x86_64)."
die "update your virt configs to not use qemu-kvm"
fi
}
# Sanity check to make sure target lists are kept up-to-date.
check_targets() {
local var=$1 mak=$2
local detected sorted
pushd "${S}"/default-configs >/dev/null || die
# Force C locale until glibc is updated. #564936
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "${var}: ${sorted}"
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
die "sync ${var} to the list of targets"
fi
popd >/dev/null
}
handle_locales() {
# Make sure locale list is kept up-to-date.
local detected sorted
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "PLOCALES: ${sorted}"
eerror " po/*.po: ${detected}"
die "sync PLOCALES"
fi
# Deal with selective install of locales.
if use nls ; then
# Delete locales the user does not want. #577814
rm_loc() { rm po/$1.po || die; }
l10n_for_each_disabled_locale_do rm_loc
else
# Cheap hack to disable gettext .mo generation.
rm -f po/*.po
fi
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR LD NM OBJCOPY PKG_CONFIG RANLIB
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# Run after we've applied all patches.
handle_locales
# Remove bundled copy of libfdt
rm -r dtc || die
}
##
# configures qemu based on the build directory and the build type
# we are using.
#
qemu_src_configure() {
debug-print-function ${FUNCNAME} "$@"
local buildtype=$1
local builddir="${S}/${buildtype}-build"
mkdir "${builddir}"
local conf_opts=(
--prefix=/usr
--sysconfdir=/etc
--bindir=/usr/bin
--libdir=/usr/$(get_libdir)
--datadir=/usr/share
--docdir=/usr/share/doc/${PF}/html
--mandir=/usr/share/man
--with-confsuffix=/qemu
--localstatedir=/var
--disable-bsd-user
--disable-guest-agent
--disable-strip
--disable-werror
# We support gnutls/nettle for crypto operations. It is possible
# to use gcrypt when gnutls/nettle are disabled (but not when they
# are enabled), but it's not really worth the hassle. Disable it
# all the time to avoid automatically detecting it. #568856
--disable-gcrypt
--python="${PYTHON}"
--cc="$(tc-getCC)"
--cxx="$(tc-getCXX)"
--host-cc="$(tc-getBUILD_CC)"
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
$(use_enable doc docs)
$(use_enable plugins)
$(use_enable tci tcg-interpreter)
$(use_enable xattr attr)
)
# Disable options not used by user targets. This simplifies building
# static user targets (USE=static-user) considerably.
conf_notuser() {
if [[ ${buildtype} == "user" ]] ; then
echo "--disable-${2:-$1}"
else
use_enable "$@"
fi
}
conf_opts+=(
--disable-bluez
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser caps cap-ng)
$(conf_notuser curl)
$(conf_notuser fdt)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser ncurses curses)
$(conf_notuser nfs libnfs)
$(conf_notuser numa)
$(conf_notuser opengl)
$(conf_notuser png vnc-png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
$(conf_notuser sdl)
$(conf_notuser sdl-image)
$(conf_notuser seccomp)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
$(conf_notuser virgl virglrenderer)
$(conf_notuser virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
$(conf_notuser xkb xkbcommon)
)
if [[ ${buildtype} == "user" ]] ; then
conf_opts+=( --disable-libxml2 )
else
conf_opts+=( --enable-libxml2 )
fi
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev sdl)
$(usev alsa)
$(usev oss)
)
conf_opts+=(
--audio-drv-list=$(printf "%s," "${audio_opts[@]}")
)
fi
case ${buildtype} in
user)
conf_opts+=(
--enable-linux-user
--disable-system
--disable-blobs
--disable-tools
)
local static_flag="static-user"
;;
softmmu)
conf_opts+=(
--disable-linux-user
--enable-system
--disable-tools
)
local static_flag="static"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--disable-blobs
--enable-tools
)
local static_flag="static"
;;
esac
local targets="${buildtype}_targets"
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
# Add support for SystemTAP
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
# We always want to attempt to build with PIE support as it results
# in a more secure binary. But it doesn't work with static or if
# the current GCC doesn't have PIE support.
if use ${static_flag}; then
conf_opts+=( --static --disable-pie )
else
tc-enables-pie && conf_opts+=( --enable-pie )
fi
echo "../configure ${conf_opts[*]}"
cd "${builddir}"
../configure "${conf_opts[@]}" || die "configure failed"
# FreeBSD's kernel does not support QEMU assigning/grabbing
# host USB devices yet
use kernel_FreeBSD && \
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
}
src_configure() {
local target
python_setup
softmmu_targets= softmmu_bins=()
user_targets= user_bins=()
for target in ${IUSE_SOFTMMU_TARGETS} ; do
if use "qemu_softmmu_targets_${target}"; then
softmmu_targets+=",${target}-softmmu"
softmmu_bins+=( "qemu-system-${target}" )
fi
done
for target in ${IUSE_USER_TARGETS} ; do
if use "qemu_user_targets_${target}"; then
user_targets+=",${target}-linux-user"
user_bins+=( "qemu-${target}" )
fi
done
softmmu_targets=${softmmu_targets#,}
user_targets=${user_targets#,}
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
[[ -n ${user_targets} ]] && qemu_src_configure "user"
qemu_src_configure "tools"
}
src_compile() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
default
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
default
fi
cd "${S}/tools-build"
default
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
pax-mark m */qemu-system-* #515550
emake check
fi
}
qemu_python_install() {
python_domodule "${S}/python/qemu"
python_doscript "${S}/scripts/kvm/vmxcap"
python_doscript "${S}/scripts/qmp/qmp-shell"
python_doscript "${S}/scripts/qmp/qemu-ga-client"
}
# Generate binfmt support files.
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
generate_initd() {
local out="${T}/qemu-binfmt"
local out_systemd="${T}/qemu.conf"
local d="${T}/binfmt.d"
einfo "Generating qemu binfmt scripts and configuration files"
# Generate the debian fragments first.
mkdir -p "${d}"
"${S}"/scripts/qemu-binfmt-conf.sh \
--debian \
--exportdir "${d}" \
--qemu-path "${EPREFIX}/usr/bin" \
|| die
# Then turn the fragments into a shell script we can source.
sed -E -i \
-e 's:^([^ ]+) (.*)$:\1="\2":' \
"${d}"/* || die
# Generate the init.d script by assembling the fragments from above.
local f qcpu package interpreter magic mask
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
for f in "${d}"/qemu-* ; do
source "${f}"
# Normalize the cpu logic like we do in the init.d for the native cpu.
qcpu=${package#qemu-}
case ${qcpu} in
arm*) qcpu="arm";;
mips*) qcpu="mips";;
ppc*) qcpu="ppc";;
s390*) qcpu="s390";;
sh*) qcpu="sh";;
sparc*) qcpu="sparc";;
esac
# we use 'printf' here to be portable across 'sh'
# implementations: #679168
cat <<EOF >>"${out}"
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
fi
EOF
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
done
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
}
src_install() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
emake DESTDIR="${ED}" install
# Install binfmt handler init script for user targets.
generate_initd
doinitd "${T}/qemu-binfmt"
# Install binfmt/qemu.conf.
insinto "/usr/share/qemu/binfmt.d"
doins "${T}/qemu.conf"
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
emake DESTDIR="${ED}" install
# This might not exist if the test failed. #512010
[[ -e check-report.html ]] && dodoc check-report.html
if use kernel_linux; then
udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
fi
if use python; then
python_foreach_impl qemu_python_install
fi
fi
cd "${S}/tools-build"
emake DESTDIR="${ED}" install
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
pushd "${ED}"/usr/bin >/dev/null
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
cd "${S}"
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
# Disallow stripping of prebuilt firmware files.
dostrip -x ${QA_PREBUILT}
if [[ -n ${softmmu_targets} ]]; then
# Remove SeaBIOS since we're using the SeaBIOS packaged one
rm "${ED}/usr/share/qemu/bios.bin"
rm "${ED}/usr/share/qemu/bios-256k.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
fi
# Remove vgabios since we're using the seavgabios packaged one
rm "${ED}/usr/share/qemu/vgabios.bin"
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
# PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
fi
# Remove sgabios since we're using the sgabios packaged one
rm "${ED}/usr/share/qemu/sgabios.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
fi
# Remove iPXE since we're using the iPXE packaged one
rm "${ED}"/usr/share/qemu/pxe-*.rom
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
fi
fi
DISABLE_AUTOFORMATTING=true
readme.gentoo_create_doc
}
firmware_abi_change() {
local pv
for pv in ${REPLACING_VERSIONS}; do
if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
return 0
fi
done
return 1
}
pkg_postinst() {
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
udev_reload
fi
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog
if use pin-upstream-blobs && firmware_abi_change; then
ewarn "This version of qemu pins new versions of firmware blobs:"
ewarn " $(best_version sys-firmware/edk2-ovmf)"
ewarn " $(best_version sys-firmware/ipxe)"
ewarn " $(best_version sys-firmware/seabios)"
ewarn " $(best_version sys-firmware/sgabios)"
ewarn "This might break resume of hibernated guests (started with a different"
ewarn "firmware version) and live migration to/from qemu versions with different"
ewarn "firmware. Please (cold) restart all running guests. For functional"
ewarn "guest migration ensure that all"
ewarn "hosts run at least"
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
fi
}
pkg_info() {
echo "Using:"
echo " $(best_version app-emulation/spice-protocol)"
echo " $(best_version sys-firmware/edk2-ovmf)"
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
echo " USE=binary"
else
echo " USE=''"
fi
echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/seabios)"
if has_version 'sys-firmware/seabios[binary]'; then
echo " USE=binary"
else
echo " USE=''"
fi
echo " $(best_version sys-firmware/sgabios)"
}
pkg_postrm() {
xdg_icon_cache_update
}

@ -15,7 +15,7 @@ SRC_URI="https://sourceforge.net/code-snapshots/svn/v/vi/vice-emu/code/${MY_P}.z
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="alsa debug doc ethernet ffmpeg flac gif +gtk headless ipv6 jpeg lame libav mpg123 ogg oss +opengl parport pci png portaudio pulseaudio sdl zlib"
IUSE="alsa debug doc ethernet ffmpeg flac gif +gtk headless ipv6 jpeg lame mpg123 ogg oss +opengl parport pci png portaudio pulseaudio sdl zlib"
REQUIRED_USE="|| ( gtk headless sdl ) gtk? ( zlib )"
RDEPEND="
@ -26,10 +26,7 @@ RDEPEND="
>=net-libs/libpcap-0.9.8
>=net-libs/libnet-1.1.2.1:1.1
)
ffmpeg? (
libav? ( media-video/libav:= )
!libav? ( media-video/ffmpeg:= )
)
ffmpeg? ( media-video/ffmpeg:= )
flac? ( media-libs/flac )
gif? ( media-libs/giflib:= )
gtk? (

@ -15,7 +15,7 @@ SRC_URI="https://sourceforge.net/code-snapshots/svn/v/vi/vice-emu/code/${MY_P}.z
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug doc ethernet ffmpeg flac gif +gtk headless ipv6 jpeg lame libav mpg123 ogg oss +opengl parport pci png portaudio pulseaudio sdl zlib"
IUSE="alsa debug doc ethernet ffmpeg flac gif +gtk headless ipv6 jpeg lame mpg123 ogg oss +opengl parport pci png portaudio pulseaudio sdl zlib"
REQUIRED_USE="|| ( gtk headless sdl ) gtk? ( zlib )"
RDEPEND="
@ -26,10 +26,7 @@ RDEPEND="
>=net-libs/libpcap-0.9.8
>=net-libs/libnet-1.1.2.1:1.1
)
ffmpeg? (
libav? ( media-video/libav:= )
!libav? ( media-video/ffmpeg:= )
)
ffmpeg? ( media-video/ffmpeg:= )
flac? ( media-libs/flac )
gif? ( media-libs/giflib:= )
gtk? (

@ -65,6 +65,10 @@ python_configure() {
--default-graphics=spice
}
python_install() {
esetup.py install
}
src_install() {
local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas )
distutils-r1_src_install

@ -66,6 +66,10 @@ python_configure() {
--default-graphics=spice
}
python_install() {
esetup.py install
}
src_install() {
local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas )
distutils-r1_src_install

Binary file not shown.

@ -9,7 +9,7 @@ SRC_URI="https://dev.gentoo.org/~graaff/ruby-team/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND=">=app-admin/eselect-1.2.0"

Binary file not shown.

@ -1 +1,2 @@
DIST honggfuzz-2.1.tar.gz 65209308 BLAKE2B 83882aaba55e1a809c7477c528f92e3617ea912794680c21de680da38a17e5b6ccf6dbfa9e3c6da263fd8730a0007cf44b5038b8f1c80ecd9cc8dffec7548a99 SHA512 04505085779ba824a494f414b9eb7d9f5f5e6962ca4736cd4fa4bc00438c9cb63c5a367db9510f8e1b0383469207d70fad1e978e696912c721a14a5340e9ad2b
DIST honggfuzz-2.2.tar.gz 65219878 BLAKE2B f842c6d3dea22525d1335fbdbdffa349ace743762386e81e40f1eab99dafa8f34b935c1cb4871b25ade76e3ac8f846d0329ef01bc0097a888e60b400819ada2d SHA512 8e6a0cf027d521967a69828afa6e0ae5306ad7387c595405f9d3151344e2aa91f9537355fafdf03f06e6702014e2faa0609c3d249f22af5793663f3c9d09180d

@ -0,0 +1,44 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="A general purpose fuzzer with feedback support"
HOMEPAGE="https://google.github.io/honggfuzz/"
SRC_URI="https://github.com/google/honggfuzz/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RDEPEND="
>=sys-libs/binutils-libs-2.29:=
sys-libs/libunwind:=
app-arch/xz-utils
"
DEPEND="${RDEPEND}"
DOCS=(
CHANGELOG
COPYING
CONTRIBUTING
README.md
)
PATCHES=(
"${FILESDIR}"/${PN}-2.0-no-werror.patch
)
src_compile() {
CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" emake
}
src_install() {
dobin ${PN}
einstalldocs
}

Binary file not shown.

@ -33,9 +33,9 @@ src_install() {
pkg_postinst() {
if use X; then
if [[ -d "${ROOT}"usr/share/fonts/misc ]] ; then
einfo ">>> Running mkfontdir on ${ROOT}usr/share/fonts/misc"
mkfontdir "${ROOT}"usr/share/fonts/misc
if [[ -d "${ROOT}"/usr/share/fonts/misc ]] ; then
einfo ">>> Running mkfontdir on ${ROOT}/usr/share/fonts/misc"
mkfontdir "${ROOT}"/usr/share/fonts/misc
fi
font_pkg_postinst
fi

@ -11,9 +11,9 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg libav +pdf +playlist raw +rss seccomp test +taglib +tiff upower +xml xmp xps"
IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg +pdf +playlist raw +rss seccomp test +taglib +tiff upower +xml xmp xps"
REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg/libav
REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg
RESTRICT="!test? ( test )"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
@ -27,9 +27,7 @@ RDEPEND="
media-libs/gst-plugins-base:1.0
media-plugins/gst-plugins-meta:1.0 )
!gstreamer? (
ffmpeg? (
libav? ( media-video/libav:0= )
!libav? ( media-video/ffmpeg:0= ) ) )
ffmpeg? ( media-video/ffmpeg:0= ) )
>=sys-apps/dbus-1.3.1
xmp? ( >=media-libs/exempi-2.1.0:= )

@ -11,9 +11,9 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg libav +pdf +playlist raw +rss seccomp test +tiff upower +xml xmp xps"
IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg +pdf +playlist raw +rss seccomp test +tiff upower +xml xmp xps"
REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg/libav
REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpe
RESTRICT="!test? ( test )"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
@ -27,9 +27,7 @@ RDEPEND="
media-libs/gst-plugins-base:1.0
media-plugins/gst-plugins-meta:1.0 )
!gstreamer? (
ffmpeg? (
libav? ( media-video/libav:0= )
!libav? ( media-video/ffmpeg:0= ) ) )
ffmpeg? ( media-video/ffmpeg:0= ) )
>=sys-apps/dbus-1.3.1
xmp? ( >=media-libs/exempi-2.1.0:= )

Binary file not shown.

@ -1,24 +1,12 @@
DIST amd64-debug-libreoffice-6.3.4.2-r1.tar.xz 1582210944 BLAKE2B d631020a890cfbfa342f17752334952bbe8dd828c3704751813792c647e8bd09d85dd9f706a7708295365014d12ab0167352510d10f70868e74bc2f12397181d SHA512 baf4bc9344487e0d20279e82f70c697d34fb0d5bc877518f776e3ad638ef2e883f76ee514e120d8d1936f93a1516b343b95dab4ac184972a558065bb0b9e316d
DIST amd64-debug-libreoffice-6.3.4.2.tar.xz 1581963020 BLAKE2B 457d29040c129e4a9425b11c74437813be10f840291c0b675d687226f2f82030fb42140f2ed6828768f48b2574b18c5eb96423ce56ae6b29c5112ca442467b4f SHA512 64bdf5fbb08276e5d34d0a5f7fea43f4ae07e443f48b64721dfef9ae7ac237aafcc043b4facbcc4d5fc93de1a1558c559add244661ed1b578dc61dbaae8bdf1e
DIST amd64-debug-libreoffice-gnome-6.3.4.2-r1.xd3 1635618 BLAKE2B 090cb16753f121b1b51158eeef02faf4559da3db21014f856c1fdd020656924e726b779c44f008f67639be048210461395ed8a2253cf67103aca4994d1af26e6 SHA512 89e1998499f4f531b2fadd0855db08de045788714e71a8c768bcc947f81d6ea9770c6bd8c0feae1d02436c4aad105714aa6b957398c6325b89f3cd35e1b71445
DIST amd64-debug-libreoffice-gnome-6.3.4.2.xd3 1634833 BLAKE2B 125ec2babfa430940e1eedd02ac20ea5331ebdcc7e24175671c80848f1a5e388555b07afa0618c9a443247bbce6d852bf2ea5ff1c4fca515b623e3202e1ed935 SHA512 6cc6893bbe3d6c852e0d407c6a3e94b76910161e115b4f84f254f30ad2fc609571fc1af98822f30d2f54ca3a6e1c8f963e89868f17422a6c0278f6e80ba91d96
DIST amd64-debug-libreoffice-gnome-java-6.3.4.2-r1.xd3 783523882 BLAKE2B ca707c7f8ac69ab1d052d4b6fc0e2ad8ec55468bfa956425f2d26f96ba80f4722f81e74cec9cc4cc253b9031c8db24f755f24bc9ba7c118f0a1f42a1b065540e SHA512 d2422a8d1ad1cd689836fdd3bc8fb0c1e7b38eff0fcd4f5e4ec00a1f8e50da0630214502eb5b8fda3b74c159c1d46ef7b7a266db7ba5c7b1bb767050f5378808
DIST amd64-debug-libreoffice-gnome-java-6.3.4.2.xd3 783362580 BLAKE2B 8d45422533ab257c5e6ad51cee7da492a23f7244f40146b55ad151422a9ccd43bf33c19f9c38e3362b629760125a8430d5175e7f85be377a258e4c481d6ed878 SHA512 fdb1adb08c7df3364ac0b90ee8f16e970a94d7e0bf981e338122250258fd4cc53a9913013d54361169f3e10dfae8e1ba590fd3529a71195c661c252267456f73
DIST amd64-debug-libreoffice-java-6.3.4.2-r1.xd3 781874299 BLAKE2B c6f56c1787e5910bc766e21e80f2f51477293da338da42331b23d21adb9a0d94601c9a0712627c1220a3b7b336f3a9a14a262362cd32655833fa0dee1bb8971c SHA512 d3bcc8eb1b219d445653e4e3601aea0c3fc8cdb03ebc5be28263ea013e6eebd9bbb50ca49a2bc34564ab7abff441078c15396aee9edeeef8bbcebdf67ac11dad
DIST amd64-debug-libreoffice-java-6.3.4.2.xd3 781722382 BLAKE2B 096a56ae8be46fc5b05f6d11deb4e4e33db6c50eb3f97720ddd30666a12d8b477c391855d3ba1b6780ba34a9fb1a1ed6d5bb68b0049b9eee09ec6b383d30c62a SHA512 91c5641007cd37bbe26fd9ada674bae8f8d3c5cd182d2ec8b005acfe2cc895aae24174751f4a7c089f447bf5c26e654eb8404a47bc55fb344489374dade8e75c
DIST amd64-debug-libreoffice-kde-6.3.4.2-r1.xd3 481593623 BLAKE2B 7728b7946427bffb77582df79f6445e2c862b27b1361404e6c65a3603a0ffca8ff80cf081b1b33f5b9da274576a4b5fb83fc43826574de952946f79b9de66e67 SHA512 18a0d9156bbb05c29fb298581aa3d6a3a0eb893253f1bc58b3ef2c07e316afafb22adb4912bea23b0037cce56fb616a650cdfea11159994c364ae2611a2f5e2a
DIST amd64-debug-libreoffice-kde-6.3.4.2.xd3 480580759 BLAKE2B 55fc612e56bfff7710216670af11e8b2711daacb1af6a9bf20e124f9efe3eb928dd543ab44a7ac3754d439040c12d445eb3921ea9d54484d9ffcf3ab85dceb36 SHA512 8dc2c5b53a8dccac789ad0fb4ea88fb3191348870b1f8d94800e3cbbb468d85dd6bc0eeedd1cec28f03e8c97eaf9fd0f980170dff80a8f14d3a1a5e0e5129478
DIST amd64-debug-libreoffice-kde-java-6.3.4.2-r1.xd3 785235399 BLAKE2B fd497e17592a3c57d2199ed9a4d593dab8da5d51def18c0221724fbee312a1cd9d600da6c4fe6a82204446e388afde9cccc5603a0718fb350334e8b942e2e7df SHA512 61ed5c21f56b6a156a5839c07ae92c396a8eff3de892da7964e9526b1c4fe2fb43cb5e3d9c501f58f44040d2b2ab7bc75afb6d8f0a453e95b642270bacb4ec5a
DIST amd64-debug-libreoffice-kde-java-6.3.4.2.xd3 785403537 BLAKE2B 13e20b78c161ab08cf6b4b8f065a9e21ae81ef8fe6e749909d7da639ff2eb7b881f39efb3e036fd450c8d9f579d645f7ee89ca880cb83d08d96f72b79e39aa74 SHA512 d2150ed588ae8ab8f45a44ff96725d9735437750a690e39a4b4b58c438f425c6b77cc97caf6c3d403016eb00cb6e13b6a6c5ad9c39a6ce29f3a0e9ab46b79b66
DIST x86-debug-libreoffice-6.3.4.2-r1.tar.xz 1541803308 BLAKE2B 3bd60878521d95b070ff8148428378e82ec598a796b8f7ecfd5641f947158441333981a797932c3bd81eb52e676ef45530a24fac1263b4431ee17ccc8c9cca2e SHA512 9a0a03103f0175491d00c0150e1723097f9132c018ce4113818dce684e999d2be9bdd7378bc38f117c492c246160447d0ad2aad51c040dd751cf05f81a307824
DIST x86-debug-libreoffice-6.3.4.2.tar.xz 1541428740 BLAKE2B b0c82b926f15093f030e43c5cc94f6ae01fec83bcc018116091fa8eeb3014d6ca644fcf63da5c12769cc84cfdf8db7158ac6a68e2355205f06e969215643dbf2 SHA512 e4b88f4a10ef20938e216001e5ef0e434b22482f4479339d6a04a114e9f467482c5b1de4f489f746277994d9c7e6e8233993e6eb8f62d8fc2609130b71da03f7
DIST x86-debug-libreoffice-gnome-6.3.4.2-r1.xd3 1580744 BLAKE2B 6ca748f91a14a83ed571b2f9592adba07d4be720471e4f6f359ed4841344e4c7ea0a4f5269d67347d5d0d2872314bff8468338141f727626fa123bd81a6df8c0 SHA512 b4d300202c9d0c848e898725105ef7ca14092d3724d90adab85d299ff9cde863c91891ea559d29061743a9c87276480bc11058b6a7367b0471bb6b1ccc2c60d6
DIST x86-debug-libreoffice-gnome-6.3.4.2.xd3 1580440 BLAKE2B 284858161cc792432f496a9f399a041052350d5e35e00f90cd2a03f34e5c0f9efbf59567d9030d441e9bc69bef5e5b750a66e28b37454fd1066d6121ea56d6ef SHA512 5cfa88e0b624552c5aac5389af15cf395c1b57ca94ada7f90812c093d59111fd10f08889faadcf852f39153646abd22896516768bb4d0cf0dd23cdd5ab065419
DIST x86-debug-libreoffice-gnome-java-6.3.4.2-r1.xd3 756328183 BLAKE2B b41fab086bb75a0225e3348261dfe9d807c60a67a9389312125de262d3ba1bb211e2f7cc74d62ca8672696263c74fc9b6053e63494fc0b819b3d1ac16726babf SHA512 666ca8f9ed8909ea03e443a0ef1e93ff26adaa636306e83eb97aa11e12684201a8ede54bb06c874846043f945d4784ee23c9159b9a5a40c3992d47d6aebbe4b8
DIST x86-debug-libreoffice-gnome-java-6.3.4.2.xd3 755414727 BLAKE2B 51090a6b43052a10506b62c178d860e754d7ee9fd0718bfb94a4a92cec71ec8840fd6aa07cf4a1251bcdb5485b935a04a0bc383463091a6cc6dd3ea965bbc852 SHA512 3914446d7895467e3fd4a5014db14c43743c00fa44a7ed5dd2436a99cbdc0d6e4ce32555e7054b96dce956824b68c4426c2fe2a2a102023b4dc90819170da16a
DIST x86-debug-libreoffice-java-6.3.4.2-r1.xd3 754738195 BLAKE2B 465a3bce988708cbe276f18cb57148d657bcc13e78ed1253476cac210e5a19fde386e879e1a1c477ea78430fa641909da2d45c8f53d302f3a10028fedd041532 SHA512 633e783e3376826445412da96b7fde459475ae621088b8a10ca0eaa28374a31607009384a5311bfcfd3e7eb29d83a0a61476556fe003da4bf111268bbb38bc51
DIST x86-debug-libreoffice-java-6.3.4.2.xd3 753817378 BLAKE2B 3ec3ec862da517fd6e028b65c6cb564946b7d82e337de5c410150de6b2a1347cda983d3927850bc13bc1e9d03176c79afddd21fa1b5c78b62140e376fa8bfb8e SHA512 ff9b7369aebef6be11c12c837714945d3f23671a32def3c34e7f0f1b87547a280c1477590debaaa7f77d63794f1d5ec76bb700259d3985ca17db4a625eb6208d
DIST x86-debug-libreoffice-kde-6.3.4.2-r1.xd3 428615251 BLAKE2B f4d70c1aaccb76e2eb760ff45ac1b62afb06c4409fe44ad3ba7f44e5bf3faadc883e3f88f36c17405d73d677a15d24d4c0b4604d1b3045fcde534f2ed4abd9c5 SHA512 6bff60b2b9ed16810864545cbf0802bf1e4bcae15deb7ab38fd60062f0635f5c4fede58db2104774fdc46dfe246e7fd1cd16475f7eae5a27674044199f6016d7
DIST x86-debug-libreoffice-kde-6.3.4.2.xd3 428627440 BLAKE2B 42ad71ee9d3b8eab5361a59e29f51812db5c847fd97627b2384a5bd70748a697d6655f2dc97adbb944f12a5a48968b559f301302d48f0b023341f36ef234afbd SHA512 50613a725c737327e664faebea9a1e87e3f1b7b18f5bafff4a14d78894ed33003e02191d1d400f55713173f3cf1100b53a8879c986d9f79ba864353f07cd113b
DIST x86-debug-libreoffice-kde-java-6.3.4.2-r1.xd3 754478768 BLAKE2B bc30a4d65fd66f580c46188edb1e1d4c309761128949ffa421248feb729f0abe25b2d9765cb27adfd5359400279325d23e71369b1d082a3f819b121a3eff992c SHA512 5d1909896e3a34a22c5ace74485305c25ce8bb713ab9e81699c186784c0016f5c31904c626462fc2fd1fbdcd3e9ed2b58e623c8b0ae53f5e6afd3ca6fceef4f6
DIST x86-debug-libreoffice-kde-java-6.3.4.2.xd3 753670539 BLAKE2B 12b22313256b44cc114d5229f9916bd024fd9348ce0435fcf6ba0b5750ab5d345453621c63f15059106aa25e11318c164fb0b53f5d63464c09c5052e0c2f9c9a SHA512 0c2a797e95ad9689794d2e22f4a549dfd785c53850d769b6e82a9243dc9ae21ca0b5d5dcb750edbdfd2e91719af8d17981af0b16c08fb1381183ec6f84200eda

@ -1,87 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
BASE_PACKAGENAME="debug"
BASE_AMD64_URI="https://tamiko.kyomu.43-1.org/distfiles/amd64-${BASE_PACKAGENAME}-"
BASE_X86_URI="https://tamiko.kyomu.43-1.org/distfiles/x86-${BASE_PACKAGENAME}-"
DESCRIPTION="LibreOffice, a full office productivity suite. Binary package, debug info"
HOMEPAGE="https://www.libreoffice.org"
SRC_URI_AMD64="
${BASE_AMD64_URI}libreoffice-${PVR}.tar.xz
kde? (
!java? ( ${BASE_AMD64_URI}libreoffice-kde-${PVR}.xd3 )
java? ( ${BASE_AMD64_URI}libreoffice-kde-java-${PVR}.xd3 )
)
gnome? (
!java? ( ${BASE_AMD64_URI}libreoffice-gnome-${PVR}.xd3 )
java? ( ${BASE_AMD64_URI}libreoffice-gnome-java-${PVR}.xd3 )
)
!kde? ( !gnome? (
java? ( ${BASE_AMD64_URI}libreoffice-java-${PVR}.xd3 )
) )
"
SRC_URI_X86="
${BASE_X86_URI}libreoffice-${PVR}.tar.xz
kde? (
!java? ( ${BASE_X86_URI}libreoffice-kde-${PVR}.xd3 )
java? ( ${BASE_X86_URI}libreoffice-kde-java-${PVR}.xd3 )
)
gnome? (
!java? ( ${BASE_X86_URI}libreoffice-gnome-${PVR}.xd3 )
java? ( ${BASE_X86_URI}libreoffice-gnome-java-${PVR}.xd3 )
)
!kde? ( !gnome? (
java? ( ${BASE_X86_URI}libreoffice-java-${PVR}.xd3 )
) )
"
SRC_URI="
amd64? ( ${SRC_URI_AMD64} )
x86? ( ${SRC_URI_X86} )
"
IUSE="gnome java kde"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="-* amd64 x86"
RDEPEND="=app-office/${PN/-debug}-${PVR}[gnome=,java=,kde=]"
DEPEND="dev-util/xdelta:3"
RESTRICT="test strip"
S="${WORKDIR}"
QA_PREBUILT="/usr/*"
src_unpack() {
einfo "Uncompressing distfile ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar.xz"
xz -cd "${DISTDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar.xz" > "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" || die
local patchname
use kde && patchname="-kde"
use gnome && patchname="-gnome"
use java && patchname="${patchname}-java"
if [[ -n "${patchname}" ]]; then
einfo "Patching distfile ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar using ${ARCH}-${BASE_PACKAGENAME}-libreoffice${patchname}-${PVR}.xd3"
xdelta3 -d -s "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" "${DISTDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice${patchname}-${PVR}.xd3" "${WORKDIR}/tmpdist.tar" || die
mv "${WORKDIR}/tmpdist.tar" "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" || die
fi
einfo "Unpacking new ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar"
unpack "./${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar"
}
src_configure() { :; }
src_compile() { :; }
src_install() {
dodir /usr
cp -aR "${S}"/usr/* "${ED}"/usr/ || die
}

@ -1,24 +1,12 @@
DIST amd64-bin-libreoffice-6.3.4.2-r1.tar.xz 120405708 BLAKE2B 0395c234ab0197cc4c80b1164a98d9638ac35703c195a56152b1cbca43eb4f49b6180d264ae9ee3c1cdf12e711db0d4e23f7dc7d919e74cb8e7d6bbe5d18f778 SHA512 c22669ae2e93bdcef6b1b6bb4b1aac9a17ecf6aceb3cc249e9f8925e18244185c03d5e420457bba8506628b6b997858e132012807fde4c73c62c84590c972872
DIST amd64-bin-libreoffice-6.3.4.2.tar.xz 120383964 BLAKE2B 2e03acd9de791650263609a370ea7c0ec2ae4af3086f937f9160f17523fe1f2ef9727e1e630875cac24bd28d30d91d88c8e6ea5c227b57705c3af8691ba624ee SHA512 c369cd02b81fba3682080ad99a6f039bd2c99ffa7fe299b1b1e59eb998a712d0c9be1d96e953e37acebe1e1b9e7d94ed7ae143742ed1da4aeb68c5ec081be736
DIST amd64-bin-libreoffice-gnome-6.3.4.2-r1.xd3 1045524 BLAKE2B 22879632b95de6b39887c4bd8066685c86d1993e0b36e079e8d7582bb53a2338f6e07f0743bcb11b384099676e9df7b0ee61d1943e172b43dab8b4ab409034b9 SHA512 8d4fec241583782e14abc832175c11199d27400f9f3f876c7d31be89dbdf6e346a9d38049594657726368d40d5d80d8e2b96c30a6b971f24a98288abd032310b
DIST amd64-bin-libreoffice-gnome-6.3.4.2.xd3 1044405 BLAKE2B f3e0822f7f6254fc63b5f794f89864d6609a08d3f708847bd0c2153a3910b481f042273a929bfd813d613ed7c84c862f6b00222f072393a7395b5f6dbfdc995a SHA512 95113bd128851d3b61361fc2c0b4ef00e676fa9cec8607e08573bafa02c8a9034c590b2e56c5deba607659dc4ebcc0f27373969792f9db29f10f92fc5042ef77
DIST amd64-bin-libreoffice-gnome-java-6.3.4.2-r1.xd3 28708504 BLAKE2B d804206438db8f62dc8b60f0a5ac454812188da276e62364f42bc7f80035958f10e99af8f22088ab3d8ad28fa87581a722b6c167aa7e4382ba644770c6278af1 SHA512 3130d2db027980dcf4ca06ee54c9957006acb5978d9da243722f9ec92616ecb3cc9c00639623c0a4125d95fb7cae4d813a689cddd3e0e7eb7136c7ec6f8f8417
DIST amd64-bin-libreoffice-gnome-java-6.3.4.2.xd3 28710042 BLAKE2B d2ec91775f4225e38b424365d96b3b3be288a27b71f59f4b3fbdc6b6ac1304aa79c881dfa0c1119d519c697cf397504a9d57f383fd5afac158d4dc201f154cc6 SHA512 f4ef915a1eef9658ae1200adf2374646f5a8d117dba5f169920d0a662e8e16fa8e700f726bdd5cc9913973c0d5d55a61f303d2b13cd8c3372159ebb19308601b
DIST amd64-bin-libreoffice-java-6.3.4.2-r1.xd3 28563471 BLAKE2B 548eb7147726909020fb7f1b063110c54c1bae5f6403ac4dde81125c1591b527c11f1fe0f86d46779d0ca8ffb9e2c2c9802f9dfaef113b2067482d970f80c89d SHA512 e9882ff68ae93cd4c64dd790b288bc4c54f16d26c8f78507452cf46e1ec12c0d30bd3c875973f5ebf816bc57529e71b4495363f2ad5e1b33a4c3e01672d9abe8
DIST amd64-bin-libreoffice-java-6.3.4.2.xd3 28561387 BLAKE2B e4524e07151178167c4e60442b04d665fcf3d10e2a9ae1226d23cbe86e04a3ac2fb8026f2dc17723e747cba54684ebc525c23a0950a57fff7c77bb602f7d7307 SHA512 11cf85d0ef3fd88be747ff324b211cd3ae2e4432b1a8e6d54f4308d0e2f86df209fd26ce4e2309c8c406e655ee217852c817cc46bab1a1135e61020177081c7b
DIST amd64-bin-libreoffice-kde-6.3.4.2-r1.xd3 17993514 BLAKE2B 773b1051efc1d4ee0c3cd7f87c8e08ae62a66dc1410be10e842c06b7ce3fb371bfccd6e5b80a9640e063afcc6f72175fb075dcf1657a89b8cb95ace13d6618d9 SHA512 c72409dfbc88bc5864d7b70a101212aefc75ed037b896fb761a5a62460d7d46567401284caf5d518044d0ea306ecded89bc6e1f86d96dda6a97b6ee78ca6a265
DIST amd64-bin-libreoffice-kde-6.3.4.2.xd3 17993497 BLAKE2B 9be9c0190f0fe2ca56bc470d27938a6a199b384847252027e7b4573bd00370a57d685dcc45f62a30766d3a7f97366e8754a34f426f2cfee4c2669dfa0c37eebf SHA512 7ef1be0c8d837e8ffb88ab03dbbbc0bfeb7442f81e695a7325b7c130e3175a3b8cf22aa71fbf8e175684fd0e39259c17621b6b0dac7f6681c63ca497888ba59c
DIST amd64-bin-libreoffice-kde-java-6.3.4.2-r1.xd3 28570032 BLAKE2B 7f2e117bd82c315f984dfb4bfadf25e5b5bca1a6b8bfe47cdb8ef6fa30dfdc01ae4a29edf9b2750b28bbd7648c93bf84aa273034581afeb48b16764fa511d11e SHA512 ba36687555e7ad863a9b4a385f7689506dd5e567a77a61560792aa278ce77d30ff02ae134c1b09dcc1068335bb008a29e24175ba79bd38fac273b626e713ddeb
DIST amd64-bin-libreoffice-kde-java-6.3.4.2.xd3 28568852 BLAKE2B 649a4d3d4191a8806c7ad047c5ef47f4516ffeaa111646b72dce5bc10a5a5aab9b5feec2c93c6cb2479031dd5d3d464869d63093a5c0254ac6e58feae6439e71 SHA512 c9c1c30ccb279351a00e2389a47dff6468abfe0d28fb2afb1a94e68631601bbb89f83192bddee55b8c155959e92259b1b171409e846b8be6f761041452196ede
DIST x86-bin-libreoffice-6.3.4.2-r1.tar.xz 122245316 BLAKE2B 0a61ff884bd78b57bff1c120d52728d3a3d9c13c21620b6b324defbb3043420ce52eb3a52e4a582228518d467857d710d4d290b3e5a1a12c8be10ca3a0d73a2f SHA512 4c705bbba757c370c6b21c0381d22f7719e426bdc8dbab435f1abef14732144af48a77628dcadd414af6bea566917b9c526dafd62ac0b7d1e84ce50616b9f216
DIST x86-bin-libreoffice-6.3.4.2.tar.xz 122223412 BLAKE2B 0075aa5a6b1b0d3a827d59cbeea5a55cd7fb8e263ee974e1e61bbc70fea4adf256d691d0cf898eb6f2d56de74903b02d41e6321846a5548553eacec79041835f SHA512 8842965b124ac909f553f428240476e7a1e6c7ecf4448bb55bce0a53eb60b169f9e481cc9828a74aa5553e61581bfaa4504a1c4ef6e5b2144120cd7e1d2ac8a1
DIST x86-bin-libreoffice-gnome-6.3.4.2-r1.xd3 1043556 BLAKE2B dfac5bc6503d050411980bda03f281f74608abe304a22d20fdc9df6ec13cd5700e55007f69f9884d78acb15f066582fb887b9723421bb3e4789953137d13eca8 SHA512 3b5c88c3248f0faad9b4cf223861a63c24ae951f84ce4c73f2838895e17c9094fa91e24dff79a95f34c4ff25fb8ec3d90ca59b07ca3ace7146d19689da70b9d1
DIST x86-bin-libreoffice-gnome-6.3.4.2.xd3 1045006 BLAKE2B 088e84623e976ae6ed6c237d5b3226a3e8c828b6c2d9c9664814459a4d8c3c0478218fbd62bc7898711d2786304931ca24f8fa7314b9cc2834ffb03925762c13 SHA512 2fe49e8b27304aab3acbc9b5ecbd9bb4acd1426314ab083b016af0cb3dc35e530524983d1a8c65c23e2597108e7f07ae96287a8c3f535f4a035a834cf36429f6
DIST x86-bin-libreoffice-gnome-java-6.3.4.2-r1.xd3 27040719 BLAKE2B c29f8c84dfd59344b0bec981f27e08e77fc1ea0c138fb9461579a40ace2dd8e985bf23103ca19183577057946fad8494401858d4df7eacc01d5051ee323d52c4 SHA512 44888d46157e31a95f7289aab6ae8bc6f03ff35de6cde7fa06de02844b031d55fac4779de608e03ce80af891261fd6f12f36628028bcf320cf8dfdc7b6cc4184
DIST x86-bin-libreoffice-gnome-java-6.3.4.2.xd3 27117930 BLAKE2B 580fba65ea072d346522a88f0d663be520d25d7260bbea4f74478523a6027a6bbbb969c0630f8e0a9fbfef86b9a01219162188b5359bb7fc70f5004ac77a1856 SHA512 e78c108a5a0d0b9c0382f12a9c03f7e02e80cd61b31f881f12fa5fed8d77a36a93f52f37bd89fd626d92a23bb30b4bde99fba65bd18de7863837678fe6744b4c
DIST x86-bin-libreoffice-java-6.3.4.2-r1.xd3 25338180 BLAKE2B ed97b18e75a4c7db8e06778f0279d241c6e279c64968aa1dd39712644ae654e8c5be86ce0866d0b561d4287543d4f077e28ba4c48bef2d36d630fd182f3befed SHA512 a8ac0f146f827a944d953e518f1050d549750d295a86c39a6de40f558c8267d496dfd54f6206b0dc745f56d87e0b8f9bcea456d41cc4d9e25ae08ac62339096f
DIST x86-bin-libreoffice-java-6.3.4.2.xd3 25450755 BLAKE2B abdb68a94301a686a3592b3c31330adfe77a4500b2845ec134613ccf7944af32243fb91f63a30015d5cfac4192f1f7c36f460e38cb44cc6400a22c25d01a1a45 SHA512 830b8307c5800c38c773653e64cfb276ab182f4b2cb1b338c94762ae4994efbee616b49df2855c3f8d8970e8f0c7095e6353f18d24c5415e51eb7e8696bd39bb
DIST x86-bin-libreoffice-kde-6.3.4.2-r1.xd3 15518276 BLAKE2B fa0e8787b50063579383208cb7bacea952bdf55b9d945ddebc1d0ff5e2e008573e2e1711a5cfb7e50bc2dcf4d1584bb6d47208cfa31321654758214a30137f95 SHA512 dd7f6dd9337fbe06df0779bf3a5a1a0fc8f382a5ea9c6c5eb02d5fe6418de19701d8305cea726c729503c89520043444b622b31814023931a9da3933bee6e7b2
DIST x86-bin-libreoffice-kde-6.3.4.2.xd3 15509638 BLAKE2B 886a5e6c2969946fe37972e8feead95f73e62a99c0da49bdf8a7fa2e5b3a6f6ce0ae672948066edb16cb192679f3bbcac3c3de5190e8e8bf30e049eedecbe043 SHA512 8493ef0b5b0f416d0c2bd4b92b46043458764f1f20b1e26b8e532c5205bb4589c0e8143b41bad83c9026aa6156b813880ee64602b7cb84d37d81bcdf2e8082ff
DIST x86-bin-libreoffice-kde-java-6.3.4.2-r1.xd3 26706960 BLAKE2B bd8a07d94fdaca1bfb718b99ea726487619b74fd6b3d2488db8f98c1e98a5c62cc29e89d3260b50ac42d3185315227d3583caa6a559254649bab713e5b832632 SHA512 aae33cf21f8bc06b7051cc3b253d9a8feabd1ca848fd8aa337d7de7cf65832bac6aff82c29f499d6278b5eb38f6352a29ce216283f401efda487b1b69ddd499f
DIST x86-bin-libreoffice-kde-java-6.3.4.2.xd3 26699170 BLAKE2B 6883f499429a1d77213ecabf9438555e94d74b69779776bcb029a1400f24c7f5ce3ecca76bb56f2806dd5c81cff1e2ac1b35c0dbd293e10627a98ebdcb5e6909 SHA512 8282896e75cabc7db04212d8714e22bb6948c34e2002a2894ae5b8739bc441b994f965f80ba2e19ab9b6a2f1194e527bee3f3509af841ea9f88809cc97b586ff

@ -195,12 +195,6 @@ PYTHON_UPDATER_IGNORE="1"
QA_PREBUILT="/usr/*"
pkg_pretend() {
[[ $(gcc-major-version) -lt 4 ]] || \
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 4 ]] ) \
&& die "Sorry, but gcc-4.4 and earlier won't work for libreoffice-bin package (see bug #387515)."
}
pkg_setup() {
python-single-r1_pkg_setup
}

@ -1,258 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
BASE_PACKAGENAME="bin"
BASE_AMD64_URI="https://tamiko.kyomu.43-1.org/distfiles/amd64-${BASE_PACKAGENAME}-"
BASE_X86_URI="https://tamiko.kyomu.43-1.org/distfiles/x86-${BASE_PACKAGENAME}-"
PYTHON_COMPAT=( python3_6 )
PYTHON_REQ_USE="threads,xml"
inherit java-pkg-opt-2 python-single-r1 prefix toolchain-funcs xdg-utils
DESCRIPTION="A full office productivity suite. Binary package"
HOMEPAGE="https://www.libreoffice.org"
SRC_URI_AMD64="
${BASE_AMD64_URI}libreoffice-${PVR}.tar.xz
kde? (
!java? ( ${BASE_AMD64_URI}libreoffice-kde-${PVR}.xd3 )
java? ( ${BASE_AMD64_URI}libreoffice-kde-java-${PVR}.xd3 )
)
gnome? (
!java? ( ${BASE_AMD64_URI}libreoffice-gnome-${PVR}.xd3 )
java? ( ${BASE_AMD64_URI}libreoffice-gnome-java-${PVR}.xd3 )
)
!kde? ( !gnome? (
java? ( ${BASE_AMD64_URI}libreoffice-java-${PVR}.xd3 )
) )
"
SRC_URI_X86="
${BASE_X86_URI}libreoffice-${PVR}.tar.xz
kde? (
!java? ( ${BASE_X86_URI}libreoffice-kde-${PVR}.xd3 )
java? ( ${BASE_X86_URI}libreoffice-kde-java-${PVR}.xd3 )
)
gnome? (
!java? ( ${BASE_X86_URI}libreoffice-gnome-${PVR}.xd3 )
java? ( ${BASE_X86_URI}libreoffice-gnome-java-${PVR}.xd3 )
)
!kde? ( !gnome? (
java? ( ${BASE_X86_URI}libreoffice-java-${PVR}.xd3 )
) )
"
SRC_URI="
amd64? ( ${SRC_URI_AMD64} )
x86? ( ${SRC_URI_X86} )
"
IUSE="gnome java kde"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="-* amd64 x86"
BIN_COMMON_DEPEND="
app-text/hunspell:0/1.7
=app-text/libexttextcat-3.4*
=app-text/libmwaw-0.3*
dev-libs/boost:0/1.72.0
dev-libs/icu:0/65.1
=dev-libs/liborcus-0.14*
>=media-gfx/graphite2-1.3.10
media-libs/harfbuzz:0/0.9.18[icu]
media-libs/libpng:0/16
>=sys-devel/gcc-9.2.0
>=sys-libs/glibc-2.29
virtual/jpeg-compat:62
"
# PLEASE place any restrictions that are specific to the binary builds
# into the BIN_COMMON_DEPEND block above.
# All dependencies below this point should remain identical to those in
# the source ebuilds.
COMMON_DEPEND="
${BIN_COMMON_DEPEND}
${PYTHON_DEPS}
app-arch/unzip
app-arch/zip
app-crypt/gpgme[cxx]
app-text/hunspell:=
>=app-text/libabw-0.1.0
>=app-text/libebook-0.1
app-text/libepubgen
>=app-text/libetonyek-0.1
app-text/libexttextcat
app-text/liblangtag
>=app-text/libmspub-0.1.0
>=app-text/libmwaw-0.3.1
app-text/libnumbertext
>=app-text/libodfgen-0.1.0
app-text/libqxp
app-text/libstaroffice
app-text/libwpd:0.10[tools]
app-text/libwpg:0.3
>=app-text/libwps-0.4
app-text/mythes
>=dev-cpp/clucene-2.3.3.4-r2
>=dev-cpp/libcmis-0.5.2
dev-db/unixODBC
dev-lang/perl
dev-libs/boost:=[nls]
dev-libs/expat
dev-libs/hyphen
dev-libs/icu:=
dev-libs/libassuan
dev-libs/libgpg-error
>=dev-libs/liborcus-0.14.0
dev-libs/librevenge
dev-libs/libxml2
dev-libs/libxslt
dev-libs/nspr
dev-libs/nss
>=dev-libs/redland-1.0.16
>=dev-libs/xmlsec-1.2.28[nss]
media-gfx/fontforge
media-gfx/graphite2
media-libs/fontconfig
media-libs/freetype:2
>=media-libs/harfbuzz-0.9.42:=[graphite,icu]
media-libs/lcms:2
>=media-libs/libcdr-0.1.0
>=media-libs/libepoxy-1.3.1[X]
>=media-libs/libfreehand-0.1.0
media-libs/libpagemaker
>=media-libs/libpng-1.4:0=
>=media-libs/libvisio-0.1.0
media-libs/libzmf
net-libs/neon
net-misc/curl
sci-mathematics/lpsolve
sys-libs/zlib
virtual/glu
virtual/jpeg:0
virtual/opengl
x11-libs/cairo[X]
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
net-print/cups
sys-apps/dbus
gnome? (
dev-libs/glib:2
gnome-base/dconf
gnome-extra/evolution-data-server
)
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
!kde? (
dev-libs/glib:2
dev-libs/gobject-introspection
gnome-base/dconf
media-libs/mesa[egl]
x11-libs/gtk+:3
x11-libs/pango
)
kde? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
kde-frameworks/kconfig:5
kde-frameworks/kcoreaddons:5
kde-frameworks/ki18n:5
kde-frameworks/kio:5
kde-frameworks/kwindowsystem:5
)
dev-db/mariadb-connector-c
"
RDEPEND="${COMMON_DEPEND}
!app-office/libreoffice
!app-office/openoffice
media-fonts/liberation-fonts
|| ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
java? ( >=virtual/jre-1.6 )
kde? ( kde-frameworks/breeze-icons:* )
"
PDEPEND="
=app-office/libreoffice-l10n-${PV}*
"
DEPEND="dev-util/xdelta:3"
# only one flavor at a time
REQUIRED_USE="kde? ( !gnome ) gnome? ( !kde ) ${PYTHON_REQUIRED_USE}"
RESTRICT="test strip"
S="${WORKDIR}"
PYTHON_UPDATER_IGNORE="1"
QA_PREBUILT="/usr/*"
pkg_pretend() {
[[ $(gcc-major-version) -lt 4 ]] || \
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 4 ]] ) \
&& die "Sorry, but gcc-4.4 and earlier won't work for libreoffice-bin package (see bug #387515)."
}
pkg_setup() {
python-single-r1_pkg_setup
}
src_unpack() {
einfo "Uncompressing distfile ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar.xz"
xz -cd "${DISTDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar.xz" > "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" || die
local patchname
use kde && patchname="-kde"
use gnome && patchname="-gnome"
use java && patchname="${patchname}-java"
if [[ -n "${patchname}" ]]; then
einfo "Patching distfile ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar using ${ARCH}-${BASE_PACKAGENAME}-libreoffice${patchname}-${PVR}.xd3"
xdelta3 -d -s "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" "${DISTDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice${patchname}-${PVR}.xd3" "${WORKDIR}/tmpdist.tar" || die
mv "${WORKDIR}/tmpdist.tar" "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" || die
fi
einfo "Unpacking new ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar"
unpack "./${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar"
}
src_prepare() {
cp "${FILESDIR}"/50-${PN} "${T}"
eprefixify "${T}"/50-${PN}
default
}
src_configure() { :; }
src_compile() { :; }
src_install() {
dodir /usr
cp -aR "${S}"/usr/* "${ED}"/usr/
# prevent revdep-rebuild from attempting to rebuild all the time
insinto /etc/revdep-rebuild && doins "${T}/50-${PN}"
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
use java || \
ewarn 'If you plan to use the Base application you should enable java or you will get crashes and missing features.'
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

Binary file not shown.

@ -0,0 +1,140 @@
diff --git a/README.md b/README.md
index 9bdd5b7..c2eb5ad 100644
--- a/README.md
+++ b/README.md
@@ -26,3 +26,5 @@ This project is aimed to create a framework for ebuild-generators for
3rd party software providers.
If you want to develop a new backend see [developer's instructions](https://github.com/jauhien/g-sorcery/blob/master/docs/developer_instructions.rst).
+
+[TODO list](https://trello.com/b/8WdY2ZIs/framework-for-automated-ebuild-generators).
diff --git a/scripts/all_pythons.sh b/scripts/all_pythons.sh
index af4c1f1..3c85974 100755
--- a/scripts/all_pythons.sh
+++ b/scripts/all_pythons.sh
@@ -2,7 +2,7 @@
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-for VER in 2.7 3.3 3.4
+for VER in 2.7 3.6 3.7 3.8
do
echo
echo "testing python${VER}"
diff --git a/tests/server.py b/tests/server.py
index 51d49b7..aa895ea 100644
--- a/tests/server.py
+++ b/tests/server.py
@@ -4,20 +4,21 @@
"""
server.py
~~~~~~~~~
-
+
test server
-
+
:copyright: (c) 2013 by Jauhien Piatlicki
:license: GPL-2, see LICENSE for more details.
"""
import os
import threading
+import time
from g_sorcery.compatibility import py2k
if py2k:
- from SocketServer import TCPServer as HTTPServer
+ from SocketServer import TCPServer as HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
else:
from http.server import HTTPServer
@@ -26,26 +27,27 @@ else:
def HTTPRequestHandlerGenerator(direct):
class HTTPRequestHandler(SimpleHTTPRequestHandler, object):
- directory = direct
def __init__(self, request, client_address, server):
+ self.direct = direct
super(HTTPRequestHandler, self).__init__(request, client_address, server)
def translate_path(self, path):
- return os.path.join(self.directory, path[1:])
+ return os.path.join(self.direct, path[1:])
return HTTPRequestHandler
-
+
class Server(threading.Thread):
def __init__(self, directory, port=8080):
super(Server, self).__init__()
HTTPServer.allow_reuse_address = True
server_address = ('127.0.0.1', port)
self.httpd = HTTPServer(server_address, HTTPRequestHandlerGenerator(directory))
-
+
def run(self):
self.httpd.serve_forever()
def shutdown(self):
self.httpd.shutdown()
+ time.sleep(0.5)
diff --git a/tests/test_DBGenerator.py b/tests/test_DBGenerator.py
index 9a47c86..3c28278 100644
--- a/tests/test_DBGenerator.py
+++ b/tests/test_DBGenerator.py
@@ -4,9 +4,9 @@
"""
test_DBGenerator.py
~~~~~~~~~~~~~~~~~~~
-
+
DBGenerator test suite
-
+
:copyright: (c) 2013 by Jauhien Piatlicki
:license: GPL-2, see LICENSE for more details.
"""
@@ -81,11 +81,13 @@ class TestDBGenerator(BaseTest):
srv = Server(orig_tempdir.name)
srv.start()
- pkg_db = db_generator(self.tempdir.name, "test_repo",
+ try:
+ pkg_db = db_generator(self.tempdir.name, "test_repo",
common_config = common_config, config = config)
- srv.shutdown()
- srv.join()
+ finally:
+ srv.shutdown()
+ srv.join()
self.assertEqual(set(pkg_db.list_categories()), set(["app-test1", "app-test2"]))
self.assertTrue(pkg_db.in_category("app-test1", "test"))
diff --git a/tests/test_PackageDB.py b/tests/test_PackageDB.py
index 152c605..8be8f8a 100644
--- a/tests/test_PackageDB.py
+++ b/tests/test_PackageDB.py
@@ -70,11 +70,13 @@ class TestPackageDB(BaseTest):
srv = Server(orig_tempdir.name, port=port)
srv.start()
- self.assertRaises(IntegrityError, test_db.sync, sync_address)
- os.system("cd " + orig_tempdir.name + " && mv good.tar.gz dummy.tar.gz")
- test_db.sync(sync_address)
- srv.shutdown()
- srv.join()
+ try:
+ self.assertRaises(IntegrityError, test_db.sync, sync_address)
+ os.system("cd " + orig_tempdir.name + " && mv good.tar.gz dummy.tar.gz")
+ test_db.sync(sync_address)
+ finally:
+ srv.shutdown()
+ srv.join()
test_db.read()
self.assertEqual(orig_db.database, test_db.database)
self.assertEqual(orig_db.get_common_data("app-test1"), test_db.get_common_data("app-test1"))

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=(python3_6)
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
inherit distutils-r1 prefix
@ -13,7 +13,8 @@ SRC_URI="https://github.com/jauhien/g-sorcery/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="GPL-2"
SLOT="0"
IUSE="bson git"
IUSE="bson git test"
RESTRICT="!test? ( test )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
DEPEND="bson? ( dev-python/pymongo[${PYTHON_USEDEP}] )
@ -22,6 +23,10 @@ DEPEND="bson? ( dev-python/pymongo[${PYTHON_USEDEP}] )
RDEPEND="${DEPEND}"
PDEPEND=">=app-portage/layman-2.2.0[g-sorcery(-),${PYTHON_USEDEP}]"
PATCHES=(
"${FILESDIR}/g-sorcery-0.2.1-py3.7.tests-fix.patch"
)
src_prepare() {
hprefixify setup.py
default

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=(python3_6)
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
inherit distutils-r1

@ -1 +1,2 @@
DIST layman-2.4.2.tar.gz 137893 BLAKE2B ad925b974e280c0c933cb7c7d5131946fbb40d15410a671be3d93fa895e2d92a4f3218bce99abc8f2c1e007e72bd51662a18665579bf2ded7f349eb9ed5c652c SHA512 9d32269f51f896c554e6cbf8a674c50009bce48dd83dfe773b08b75bafd567eb75c26c227ab3a60bc83c1ed511862a3979b8d851befe8ad16fd0847eb91337cf
DIST layman-2.4.3.tar.gz 135311 BLAKE2B b83fd543468be904a10d6fbda11f8d603a6936ecef3029c9d1c82fe4c938d2cd299874a3e114ac3524485ce8a33c5ec21885adddc218f5e331519318c0b1ad5a SHA512 2f3d1180647b358d5ca929fd28c6c5f4664f1f6f24e3114a4dc886d23279ffcdde7ca292c64aab84f1710ddf7029c26483de07c2271ca527b8618888b0ea2b54

@ -28,13 +28,7 @@ RDEPEND="
git? ( dev-vcs/git )
mercurial? ( dev-vcs/mercurial )
g-sorcery? ( app-portage/g-sorcery )
subversion? (
|| (
>=dev-vcs/subversion-1.5.4[http]
>=dev-vcs/subversion-1.5.4[webdav-neon]
>=dev-vcs/subversion-1.5.4[webdav-serf]
)
)
subversion? ( >=dev-vcs/subversion-1.5.4[http] )
gpg? ( >=dev-python/pyGPG-0.2 )
sync-plugin-portage? ( >=sys-apps/portage-2.2.16[${PYTHON_USEDEP}] )
!sync-plugin-portage? ( sys-apps/portage[${PYTHON_USEDEP}] )

@ -35,13 +35,7 @@ RDEPEND="
git? ( dev-vcs/git )
mercurial? ( dev-vcs/mercurial )
g-sorcery? ( app-portage/g-sorcery )
subversion? (
|| (
>=dev-vcs/subversion-1.5.4[http]
>=dev-vcs/subversion-1.5.4[webdav-neon]
>=dev-vcs/subversion-1.5.4[webdav-serf]
)
)
subversion? ( >=dev-vcs/subversion-1.5.4[http] )
gpg? ( >=dev-python/pyGPG-0.2 )
sync-plugin-portage? ( >=sys-apps/portage-2.2.16[${PYTHON_USEDEP}] )
!sync-plugin-portage? ( sys-apps/portage[${PYTHON_USEDEP}] )

@ -35,13 +35,7 @@ RDEPEND="
git? ( dev-vcs/git )
mercurial? ( dev-vcs/mercurial )
g-sorcery? ( app-portage/g-sorcery )
subversion? (
|| (
>=dev-vcs/subversion-1.5.4[http]
>=dev-vcs/subversion-1.5.4[webdav-neon]
>=dev-vcs/subversion-1.5.4[webdav-serf]
)
)
subversion? ( >=dev-vcs/subversion-1.5.4[http] )
gpg? ( >=dev-python/pyGPG-0.2 )
sync-plugin-portage? ( >=sys-apps/portage-2.2.16[${PYTHON_USEDEP}] )
!sync-plugin-portage? ( sys-apps/portage[${PYTHON_USEDEP}] )

@ -23,7 +23,7 @@ KEYWORDS=""
RDEPEND="
dev-util/dialog
>=net-analyzer/netselect-0.4[ipv6(+)]
=dev-python/ssl-fetch-9999[${PYTHON_USEDEP}]
~dev-python/ssl-fetch-9999[${PYTHON_USEDEP}]
"
python_prepare_all() {

@ -1 +1,2 @@
DIST pram-8.tar.gz 7918 BLAKE2B cc5bea629e49b229622a77c585a62710234e00ae245b68cbcfbae5be538b82752e8b2e8da5ae82f571dd4d7368ecaacd1233affe975fd9e20177122808dc39cc SHA512 bbd9e7ce3207550f1651d63a045474d90c4aaf20ab0c541b2a78e6af6351f9c7bd278b649ee57ed1b3b85cbc4f38f1b98a008e791bf9d19e4ea718892544bd46
DIST pram-9.tar.gz 8206 BLAKE2B cf490edd53d307e5d9c715d0ca68e38d04ebd5a1dc75f89232605ac5cc9cbc9567b3895b1e2445a14c5acf119f054dc2b982ea7b9949177519a70062e648272b SHA512 a9e718ca0cdc93a67f442f2db5dd6a854357aa493ad7836e5d75ede68c3fad06d2343f1ee34f00bb66203d41575c7773999772f9251a9a2d6fc74702ce875c4d

@ -0,0 +1,27 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit meson
DESCRIPTION="Tool to ease merging Pull Requests and git patches"
HOMEPAGE="https://github.com/mgorny/pram"
SRC_URI="https://github.com/mgorny/pram/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-vcs/git
net-misc/wget[ssl]
virtual/editor
!dev-perl/Gentoo-App-Pram"
DEPEND="
test? (
${RDEPEND}
app-crypt/gnupg
sys-apps/diffutils
)"

Binary file not shown.

@ -0,0 +1,34 @@
From 89b4a0437dce6f99de80482d484b3e0346067889 Mon Sep 17 00:00:00 2001
From: Georgy Yakovlev <gyakovlev@gentoo.org>
Date: Fri, 24 Apr 2020 19:12:16 -0700
Subject: [PATCH] cflags
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 2d23118..713daad 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
VERSION=1.0
CPPFLAGS=-DVERSION=\"${VERSION}\" -D_GNU_SOURCE
-CFLAGS+=-Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps
+CFLAGS+=-Wall -Wextra -std=c99 -pedantic -Ideps
PREFIX?=/usr/local
MANDIR?=$(PREFIX)/share/man
BINDIR?=$(PREFIX)/bin
@@ -29,7 +29,7 @@ check: test/fzytest
$(DEBUGGER) ./test/fzytest
fzy: $(OBJECTS)
- $(CC) $(CFLAGS) $(CCFLAGS) -o $@ $(OBJECTS) $(LIBS)
+ $(CC) $(CFLAGS) $(CCFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
%.o: %.c config.h
$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
--
2.26.2

@ -1,11 +0,0 @@
--- fzy-0.9/Makefile
+++ fzy-0.9/Makefile
@@ -1,7 +1,7 @@
VERSION=0.9
CPPFLAGS=-DVERSION=\"${VERSION}\" -D_GNU_SOURCE
-CFLAGS+=-Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps
+CFLAGS+=-Wall -Wextra -std=c99 -pedantic -Ideps
PREFIX?=/usr/local
MANDIR?=$(PREFIX)/share/man
BINDIR?=$(PREFIX)/bin

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -21,7 +21,7 @@ SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
PATCHES=( "${FILESDIR}"/fzy-0.9-cflags.patch )
PATCHES=( "${FILESDIR}"/1.0-cflags.patch )
src_prepare() {
default

@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit eutils savedconfig toolchain-funcs
@ -21,12 +21,11 @@ SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
PATCHES=( "${FILESDIR}"/fzy-0.9-cflags.patch )
src_prepare() {
default
restore_config config.h
tc-export CC
sed -i 's/$(LIBS)/$(LIBS) $(LDFLAGS)/g' Makefile || die
}
src_install() {

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -14,7 +14,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="debug ffmpeg libav"
IUSE="debug ffmpeg "
RDEPEND="
app-arch/bzip2
@ -39,8 +39,7 @@ RDEPEND="
x11-libs/libXtst
ffmpeg? (
media-libs/libao
libav? ( media-video/libav:0= )
!libav? ( media-video/ffmpeg:0= )
media-video/ffmpeg:0=
)
"
DEPEND="${RDEPEND}"

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit desktop distutils-r1 xdg-utils

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit desktop distutils-r1 xdg-utils

@ -12,7 +12,7 @@ SRC_URI="${URI_PREFIX}eng.traineddata -> eng.traineddata-${P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="+osd"
RDEPEND="!app-text/tessdata_best

@ -11,7 +11,7 @@ SRC_URI="https://github.com/tesseract-ocr/${PN}/archive/${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="doc jpeg opencl openmp png static-libs tiff training webp"
COMMON_DEPEND=">=media-libs/leptonica-1.74:=[${MULTILIB_USEDEP},zlib,tiff?,jpeg?,png?,webp?]

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -16,11 +16,9 @@ HOMEPAGE="https://www.flameeyes.eu/projects/unpaper"
LICENSE="GPL-2"
SLOT="0"
IUSE="libav test"
IUSE="test"
RDEPEND="
libav? ( >=media-video/libav-10:0=[encode] )
!libav? ( >=media-video/ffmpeg-2:0=[encode] )"
RDEPEND=">=media-video/ffmpeg-2:0=[encode]"
DEPEND="dev-libs/libxslt
app-text/docbook-xsl-ns-stylesheets
virtual/pkgconfig

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -16,11 +16,9 @@ HOMEPAGE="https://www.flameeyes.eu/projects/unpaper"
LICENSE="GPL-2"
SLOT="0"
IUSE="libav test"
IUSE="test"
RDEPEND="
libav? ( >=media-video/libav-10:0=[encode] )
!libav? ( >=media-video/ffmpeg-2:0=[encode] )"
RDEPEND=">=media-video/ffmpeg-2:0=[encode]"
DEPEND="dev-libs/libxslt
app-text/docbook-xsl-ns-stylesheets
virtual/pkgconfig

@ -1 +1,2 @@
DIST xournalpp-1.0.17.tgz 14885382 BLAKE2B 501feb4480eee5aa38cc148f561d6c730505e43fd5d8017936f4b1d15f1b83ae936eb0a2e81b9889c668f9ed0a9c46b9053c984d45815c88829b023b7dbbd209 SHA512 cc3568ce22fd42f0e8458f1428c102d2fc18a9650d8c5968cadd6693fc19374780beb3c7f6206f2f494439296a883b2a5160da37e3a0e10d6fe3654084967ab9
DIST xournalpp-1.0.18.tgz 14892343 BLAKE2B d2aaede0e85d724cf8032f38a6fa2c3c4862f26d410dbab8264dd50ab8ee0d26889eeab433ef615fe9ce271710192eca380ff80149431d5368125926cf8d2b25 SHA512 90568a2674a18ff711ecef5f1a66ea1c5746d7f1fde271b36342d9bf48e096e63075cf7fd8b69e39e144273a4d1b922c415eee929eba94b2fa515a0bb481815a

@ -0,0 +1,45 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake-utils xdg
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/xournalpp/xournalpp.git"
unset SRC_URI
else
KEYWORDS="~amd64"
SRC_URI="https://github.com/xournalpp/xournalpp/archive/${PV}.tar.gz -> ${P}.tgz"
fi
DESCRIPTION="Handwriting notetaking software with PDF annotation support"
HOMEPAGE="https://github.com/xournalpp/xournalpp"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
COMMONDEPEND="
app-text/poppler
dev-libs/glib
dev-libs/libxml2
dev-libs/libzip:=
media-libs/portaudio
media-libs/libsndfile
sys-libs/zlib:=
x11-libs/gtk+:3
"
RDEPEND="${COMMONDEPEND}
"
DEPEND="${COMMONDEPEND}
"
BDEPEND="
virtual/pkgconfig
sys-apps/lsb-release
"
src_prepare() {
cmake-utils_src_prepare
}

Binary file not shown.

@ -0,0 +1,18 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
inherit vim-plugin python-single-r1
DESCRIPTION="vim plugin: A set of menus/shortcuts to work with Python files"
HOMEPAGE="https://www.vim.org/scripts/script.php?script_id=30"
LICENSE="vim"
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="app-arch/unzip"
RDEPEND="${PYTHON_DEPS}"

Binary file not shown.

@ -1 +1 @@
DIST abseil-cpp-20200225.1.tar.gz 1679633 BLAKE2B a2bbbc7a94eff4b113bfb50c8a9b56b91963360ec7e40a7ebd153ba54f8f7f7a3a1495685f68f4aa34e7347e005a7b3e3713a0d2b96bbad3e076053e42de32c4 SHA512 ed4f560d02903ac2d07b2365a6865320d749f994b7dc3231b20b6d7ac1393a5970a43468edcb8369782c03bd20902cb84c43424170ecefb39ab3e8af26fd4e44
DIST abseil-cpp-20200225.2.tar.gz 1679650 BLAKE2B bbadb2b86fd390f51322e687526c72a3b13caff6391974462a1146cc563616ce479330336a489a71e27b143e7cbea6695fc12c91fb721185a5116b3a6c5506b1 SHA512 75a607dee825e83c10dcd5e509515461f1b12c4aca861e4739ac4d41357b8e893dbfbe33873aa5c05463dde0891dedd7535af2ec59f173de29488e1b1321b335

Binary file not shown.

@ -17,7 +17,7 @@ LICENSE="wxWinLL-3 LGPL-2.1"
SLOT="0/145" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
KEYWORDS="amd64 ~hppa ppc ppc64 x86"
IUSE="asio curl debug doc examples ffmpeg fltk fox gdal gif glut gstreamer jpeg
las libav lua openexr openinventor osgapps pdf png sdl sdl2 svg tiff
las lua openexr openinventor osgapps pdf png sdl sdl2 svg tiff
truetype vnc wxwidgets xine xrandr zlib"
REQUIRED_USE="sdl2? ( sdl )"
@ -37,10 +37,7 @@ RDEPEND="
sdl2? ( media-libs/libsdl2 )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
)
ffmpeg? (
libav? ( media-video/libav:0= )
!libav? ( media-video/ffmpeg:0= )
)
ffmpeg? ( media-video/ffmpeg:0= )
gdal? ( sci-libs/gdal )
gif? ( media-libs/giflib:= )
gstreamer? (

@ -16,7 +16,7 @@ LICENSE="wxWinLL-3 LGPL-2.1"
SLOT="0/158" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
IUSE="asio curl dicom debug doc egl examples ffmpeg fltk fox gdal gif glut
gstreamer jpeg las libav lua openexr openinventor osgapps pdf png sdl sdl2
gstreamer jpeg las lua openexr openinventor osgapps pdf png sdl sdl2
svg tiff truetype vnc wxwidgets xrandr +zlib"
REQUIRED_USE="sdl2? ( sdl ) dicom? ( zlib ) openexr? ( zlib )"
@ -42,10 +42,7 @@ RDEPEND="
sdl2? ( media-libs/libsdl2 )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
)
ffmpeg? (
libav? ( media-video/libav:0= )
!libav? ( media-video/ffmpeg:0= )
)
ffmpeg? ( media-video/ffmpeg:0= )
gdal? ( sci-libs/gdal:= )
gif? ( media-libs/giflib:= )
gstreamer? (

@ -16,7 +16,7 @@ LICENSE="wxWinLL-3 LGPL-2.1"
SLOT="0/160" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
IUSE="asio curl dicom debug doc egl examples ffmpeg fltk fox gdal gif glut
gstreamer jpeg las libav lua openexr openinventor osgapps pdf png sdl sdl2
gstreamer jpeg las lua openexr openinventor osgapps pdf png sdl sdl2
svg tiff truetype vnc wxwidgets xrandr +zlib"
REQUIRED_USE="sdl2? ( sdl ) dicom? ( zlib ) openexr? ( zlib )"
@ -42,10 +42,7 @@ RDEPEND="
sdl2? ( media-libs/libsdl2 )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
)
ffmpeg? (
libav? ( media-video/libav:0= )
!libav? ( media-video/ffmpeg:0= )
)
ffmpeg? ( media-video/ffmpeg:0= )
gdal? ( sci-libs/gdal:= )
gif? ( media-libs/giflib:= )
gstreamer? (

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -96,6 +96,8 @@ src_compile() {
export AWT_LIB_PATH="${JAVA_HOME}/jre/bin"
elif [[ -f "${JAVA_HOME}/$(get_libdir)/${JAWTSO}" ]] ; then
export AWT_LIB_PATH="${JAVA_HOME}/$(get_libdir)"
elif [[ -f "${JAVA_HOME}/lib/${JAWTSO}" ]] ; then
export AWT_LIB_PATH="${JAVA_HOME}/lib"
else
eerror "${JAWTSO} not found in the JDK being used for compilation!"
die "cannot build AWT library"

Binary file not shown.

@ -1,3 +1,4 @@
DIST elixir-1.10.1.tar.gz 2322975 BLAKE2B 875948d233a726bdf88db4d64d21d227dd5e90f762f10dcc82103e088a2ed633898489a2f0a870a6c4e09ce22e509d117f05b3b3f8b8be6c742f628d612e3baf SHA512 823a685d62b6181be9f3314c1a86b69606dd3d3528a2053060f83802a561d8e136fb32099d51cb90542ea155a0a5768d7e6fc7aa1ae18d2c9f5fd5a5a2ac9cdc
DIST elixir-1.10.2.tar.gz 2323450 BLAKE2B 2d0897af98864966dabc8760d3551caeae39baddc892239c398f3aecf6b72db0ee9d3c8e03fbc8b7a7da0b0dcb08f200fa145d704b8306190eb47a9ccb862bb4 SHA512 a1d1c7847fc8135865d063c6e014bee970066ba07f979f308bec456a732f5366a9343631239965d1caeeaea5cdb644f35185fdfb23f18fcc8c6735a7e3256c0f
DIST elixir-1.10.3.tar.gz 2329031 BLAKE2B 0e8d84c71f4bb260aef875370acb89b6a8daf5187aec5fe28d13054b6a16e91925aec46a312a31e607b469657a0f4cb34d29735e9633ddc7cd69417402f1b8b1 SHA512 66b18b983e5374afbd4d94c43a880c5e46a9aa150fa6f38be74ff7f58a19eaaee00248b202d9ae3f6b78e2495fc8d5cec755de644256a731be367766c3812855
DIST elixir-1.9.4.tar.gz 2250611 BLAKE2B adc363627dc3997684482ac022927aaa4d315afdb8fbc8981e1b88371eb13be80e01084b67288fc88fc51f0015085743d11289e932093d5608e5ac4dfa0823a8 SHA512 c97b93c7438efd7215408525a3b9f2935a1591cce3da3eb31717282d06aff94e8e3d22c405bac40c671bcfe8e73f3dd1ada315f53dee73ceef0bfe2a7c27e86d

@ -0,0 +1,39 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Elixir programming language"
HOMEPAGE="https://elixir-lang.org"
SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
>=dev-lang/erlang-21:0=[ssl]
"
# 'mix' tool collides with sci-biology/phylip, bug #537514
RDEPEND="${DEPEND}
!!sci-biology/phylip
"
DEPEND+="
test? ( dev-vcs/git )
"
PATCHES=(
"${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch
)
src_compile() {
emake Q=""
}
src_install() {
emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install
dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md
}

@ -21,7 +21,7 @@ case ${PV} in
case ${PV} in
*_beta*|*_rc*) ;;
*)
KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
KEYWORDS="-* amd64 arm ~arm64 ~ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
# The upstream tests fail under portage but pass if the build is
# run according to their documentation [1].
# I am restricting the tests on released versions until this is

@ -1,5 +1,4 @@
DIST lazarus-1.0.12-0.tar.gz 47687878 BLAKE2B 7a230f8ad433fefd514d8fca128e1ad127ea2a232c2061080d4146b5276ef82bd442be6a522a5eb4a9221338e8d13cf9d3cc954f712dfbc521d8fd74b07389f7 SHA512 2a106c4bff2135ace815f789057f25fea1902edc972503e883547d7cc6d50b585ae54676cba734cce616064864ce535b3a4fcd7892763d15aafdf262dbe24293
DIST lazarus-1.8.4-python.tar.gz 1060859 BLAKE2B 4d6f7dc275aacd0f70d9f7c85aba99a7722b02165a5bf287bfeed46f28e3b36c5abeac19bd7c6555250102dce169f7c9c213b634ce1b634c24dadc84171aed10 SHA512 f244b4e86410fdb2ffe8ccba7fcb51c270286172b6102f757118827cac3b652210a625d65dd6c017c1992983527792ed64334291ab0e0b824f187316452c56b5
DIST lazarus-1.8.4.tar.gz 63130653 BLAKE2B f9b2ba9971f1a9a9c3b8d2004bd3516c12db5384bb6243ef275c2fc0d458634fba0c1c23e7ecd5c160c1204d6cc2b4ebc340ce8bb5cfdd9c531f8c36ae59d1e2 SHA512 82cdc3c32dddf8e67c0bed9292a9a924227bab50f22ca479f5e98ecccbf60dd66c7f886ecb8e2979d9d8fccc3d25462ee8c55fcab085aa4194b4704660e0b95d
DIST lazarus-2.0.2-python.tar.gz 1060859 BLAKE2B 4d6f7dc275aacd0f70d9f7c85aba99a7722b02165a5bf287bfeed46f28e3b36c5abeac19bd7c6555250102dce169f7c9c213b634ce1b634c24dadc84171aed10 SHA512 f244b4e86410fdb2ffe8ccba7fcb51c270286172b6102f757118827cac3b652210a625d65dd6c017c1992983527792ed64334291ab0e0b824f187316452c56b5
DIST lazarus-2.0.2.tar.gz 67092332 BLAKE2B 12fdca5b0d7c8bcad4f1c6a70c2ebb1d0974b0884cf89135be069744f01527fcd5b2a4b4c898cb500519ec3518025da453087954722cab43a60c1cdb164371d4 SHA512 0d2bf26afa3128104181fbe57b1adeaba3bb589b0a3b72598507825a3f08201d4480c6cff510a6f866dca4d49417fac3a2f68ca7e58fabe4f4e3bad97323c071
DIST lazarus-2.0.6.tar.gz 65558951 BLAKE2B f5289562adcfeab86af074de9fc44d7faf5939655587ea9951559bbefc15ce1730e7b7dafb6ec1d0a11eb0f8f069309b8fa0a305051c5cc9ea0fcf9665e883bc SHA512 cdb4c5861e130c12bf0a4938a73c439f2766a73008678028d7e9c9bcabe7b277e70025a7c720a5c14c157cf0227e0ff629a44cf983537b3afbf341343e816d07

@ -6,19 +6,15 @@ EAPI=7
inherit desktop
FPCVER="3.0.4"
PYTHON_HASH="586eec1a5ea609ef9df2bf586be06825d9fbd50f"
DESCRIPTION="Lazarus IDE is a feature rich visual programming environment emulating Delphi"
HOMEPAGE="https://www.lazarus-ide.org/"
SRC_URI="
python? ( https://github.com/Alexey-T/Python-for-Lazarus/archive/${PYTHON_HASH}.tar.gz ->\
${P}-python.tar.gz )
https://sourceforge.net/projects/${PN}/files/Lazarus%20Zip%20_%20GZip/Lazarus%20${PV}/${P}.tar.gz"
SRC_URI="https://sourceforge.net/projects/${PN}/files/Lazarus%20Zip%20_%20GZip/Lazarus%20${PV}/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
SLOT="0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND.
KEYWORDS="~amd64 ~x86"
IUSE="minimal python"
IUSE="minimal"
DEPEND=">=dev-lang/fpc-${FPCVER}[source]
net-misc/rsync
@ -52,20 +48,6 @@ src_compile() {
LCL_PLATFORM=gtk2 emake \
$(usex minimal "" "bigide") \
-j1
if use python; then
addpredict ide/exttools.pas
./lazbuild -B --lazarusdir="." --pcp="../lazarus-package-config" --build-ide= \
--add-package ../Python-for-Lazarus-${PYTHON_HASH}/python4lazarus/python4lazarus_package.lpk \
|| die
sed -i -e "s:${WORKDIR}/Python-for-Lazarus-${PYTHON_HASH}:/etc/lazarus:g" \
../lazarus-package-config/packagefiles.xml \
../lazarus-package-config/idemake.cfg \
../Python-for-Lazarus-${PYTHON_HASH}/python4lazarus/lib/x86_64-linux/python4lazarus_package.compiled \
|| die
sed -i -e "s:${WORKDIR}/lazarus-package-config:/etc/lazarus:g" \
../lazarus-package-config/idemake.cfg \
|| die
fi
}
src_install() {
@ -93,14 +75,5 @@ src_install() {
use minimal || dosym ../share/lazarus/components/chmhelp/lhelp/lhelp /usr/bin/lhelp
dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png
if use python; then
diropts -m0755
dodir /etc/lazarus
cp -rf ../lazarus-package-config/* \
"${ED}"/etc/lazarus || die
cp -rf ../Python-for-Lazarus-${PYTHON_HASH}/python4lazarus \
"${ED}"/etc/lazarus || die
fi
make_desktop_entry startlazarus "Lazarus IDE" "lazarus"
}

@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
IUSE="-berkdb bluetooth build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml"
# Do not add a dependency on dev-lang/python to this ebuild.

@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}/${PYVER}m"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml"
RESTRICT="!test? ( test )"

@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}/${PYVER}m"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"

@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"

@ -26,3 +26,17 @@ DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067f
DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46
DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70
DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8
DIST rust-1.43.0-aarch64-unknown-linux-gnu.tar.xz 103995164 BLAKE2B 176c7fe79ab9bc28acae5836bd1af024320e89debe31713f611fe9338656a1357e7538035a8d9da8c2258715ea4724cabfca60af67df2c521e5a92c48f0b6daf SHA512 99cc7913d49c58a6a5f5b065afaff58ecf6cb00f5a83b8047944d2bde94eed9a33a7edc88373c52a371bad4f1b5f8d8742ac22ac9c05911223e76f13ffece70a
DIST rust-1.43.0-arm-unknown-linux-gnueabi.tar.xz 103463680 BLAKE2B 32c158b7e36ee311a920db1e46bfd6463f9700c55332b0daee507e52fbca5733045efb5a0d14de07eabf1c311d5e23e2cbd3946731b4658b9e6e335970e94042 SHA512 63d8a68f227b64247dd2592dc249dbca2317a769035210147d507d836ed1f729474fbb38f8057064779052a78904ae6a378ffcb92ef652e818aa618ae8d971ac
DIST rust-1.43.0-arm-unknown-linux-gnueabihf.tar.xz 104566108 BLAKE2B c2c12f3e81972bc7e00088ec05aeb6a3cdd9e7bdad75f7444829fe5212c1d9540373331e3b67bcc3985985c3c26c9a159a1558bf0dcb4d6c1cc93255fc5de715 SHA512 5c4aaf87d9a320d146c9698751ad7ca6ea4f0db1de1add70271133c2d412268955932a014e97962f82b32529f6e9845a392a622b4cdf5905f93444d56483645f
DIST rust-1.43.0-armv7-unknown-linux-gnueabihf.tar.xz 108910044 BLAKE2B 7d9e6528caacd4deea26e2f61b499ac64407c2993f91c80f490d6b90a6c7463186de73b2cfdcda6b9d9cbe7ca46163eda91392daaf3ba5df6b7e0bd9053627f0 SHA512 728ed2d12079989f4547b1756e9e5b9fdf551f54626b02141346e8e42df1b2a4039b16131864021ab95b6011084e00e3edc2c072a4917a3a4fde965c0a0e2c15
DIST rust-1.43.0-i686-unknown-linux-gnu.tar.xz 126712424 BLAKE2B 4803c58374bc9a6a415f34560b54137d0470b6dcebc874baaa630e3a924b25a656c156cd52e0770c7beca57e0836080299d8ff6cb3de45fa22d5d6839a38b309 SHA512 25fa8203874cac4f0c57da77c0ee9d2750b595f43590b666ad609ad1fe85fdc2604658be5fe7059aff6d0d567be0c6ae01e1e9d7fceb22bd602f1548201aa0eb
DIST rust-1.43.0-mips-unknown-linux-gnu.tar.xz 95888196 BLAKE2B 36d85527e56181575061172d73c3d81a8978587bc2586fa7d41159601ac81ac00f9cc5ca582086a1a5564f5284caf297dc7bf703884d1206d86ecfff951c5f15 SHA512 bd94d3a64eeb22a720b04ee3ad0d5b488ba6f981fff5e93b5a140d6a68cbf6489eaba1f4c9f9f028f34b12623f89b72ff07a0cf03c611ba4b97a715459d6f4d0
DIST rust-1.43.0-mips64-unknown-linux-gnuabi64.tar.xz 100772304 BLAKE2B 5d958d5c16b36eff4138edf5d1cdd6852b17ee05c804ad7896c17dcf68b2417a1cb5dad530c6c8e51612b3e229e19e78505798506317da63148b7f3e7bd45426 SHA512 f3c87264f5585c6b8d6d76de298b9585e9b5700c0a4246b2eefcb773466ae9a0958a83c4f7b8460186f89f4d0f73cb43719a8d6b985c65bdbd69746bd6fd7bb1
DIST rust-1.43.0-mipsel-unknown-linux-gnu.tar.xz 97727252 BLAKE2B 19054f41e6278cfc419dec3a3a8b59101611de1e55699f63974898a14197fecece5fc78f3fb431fb610d062b8d082e652183f511135afcaa4ee2e4b1cd7e18e1 SHA512 808f2ce7afd5f6464d53fdece7f3f54e5bafc2c6757b6472e8070c3418b17daaef34d980e435c086c86fa228c8f11349ac7902eae73cf3bd4fd57ce552ccc192
DIST rust-1.43.0-powerpc-unknown-linux-gnu.tar.xz 102103936 BLAKE2B 7cc4919d4e197aff4d24f9f8ad9c8230f8cc132b56469d6c39543141b4538bd74f5f80668fbd3eec2a8e60a3f7c6a9934f648312dfc84f21e0fafbc14377877d SHA512 6255171dd035278daf304812ce57c32553db59494bc40dbb610afae26fe889239e724511bef5197d28412279aded2d36cb5733c2e2fc42fae1a795405e635a6b
DIST rust-1.43.0-powerpc64-unknown-linux-gnu.tar.xz 109310784 BLAKE2B 397dc8a29d2c8ddf3fcbbe540cd1197edfd64e5156b10a36d15d9c64e37a116e92323dd2fa3d929d27d98d6a4089ed6693519d8c64c6c3f0698a7981601db3e6 SHA512 d67193607cb78ed0284553d014e3faea059c7ac7e6d76c54dcc5affdc70f54a88c9d084589a3ccd91cd39fe07f0dd5920e65cfdcb7aba3ea0dcc75bab941f7b5
DIST rust-1.43.0-powerpc64le-unknown-linux-gnu.tar.xz 111611976 BLAKE2B c3a730fc97ea17ced8f6de2ab4d291feeee567343d766ea52456455950b5b0aed5a8ddc0ff6b0604850b95fe2ffe85f8a7a927ca3ae65a90c53cd5156a9395e1 SHA512 800df0c10cd188f6aa9c4f16a61a33e51de091781c463e64409f79d9f16b8de0e49f93c0185ea27355724cc032ef6469c020163ef27357287d091cce9e57635d
DIST rust-1.43.0-s390x-unknown-linux-gnu.tar.xz 119622236 BLAKE2B 358ba8387bf19d0d2338a17ff8364b63a99f35de30e754af6279c9edf26d011cf0c833f4b24a7c715d4524f60dcf53721339c1c5ad7b3dc2a9f35bf38a82b33f SHA512 9202c0cca2feb03fec26c3fd1367f7f5ace3194c7f668753cffa23f7ced7f53291c64873de7dcc6d813ef2986f907191ee24e8a027cc83da36006f590660ffe1
DIST rust-1.43.0-x86_64-unknown-linux-gnu.tar.xz 112598556 BLAKE2B 4c5ca5dee24b5a3f48ade89c80e1fd0180d7dac5c8040b034a72bd165001b59f3da15d7ac6c234ca199240638c797e4d31e52e52cff9170ec5cc53f0959b1acd SHA512 3fb0630e76f78565cafa9882d1c09a2bb31d0de145748ba4506d7b6a5ea508c4fb533ac3f60df8335d9c4944ba8f028752441d3c3443e3990fe3cc4e676c1670
DIST rust-1.43.0-x86_64-unknown-linux-musl.tar.xz 100659284 BLAKE2B 4dbfcbf3526e3ec0a51eadb410876c27c110b59f18a54db30b358b5b2b61edaed907a4584bb0678e5754364f5fca6ca0f9f11f6a2099e9440f70731ddf31f251 SHA512 f1b449a8f0d585c648ec04723126865ddbcc1b101a2f38d53832e8f2bae0fbe3ab1751074511f5a053404bee06646cec5d32937cf6c32f9ccc022d04bd021cf0

@ -0,0 +1,184 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MULTILIB_COMPAT=( abi_x86_{32,64} )
inherit bash-completion-r1 rust-toolchain toolchain-funcs multilib-minimal
MY_P="rust-${PV}"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
SRC_URI="$(rust_all_arch_uris ${MY_P})"
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
SLOT="stable"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
DEPEND=""
RDEPEND="
>=app-eselect/eselect-rust-20190311
sys-libs/zlib
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
net-libs/libssh2
net-misc/curl[ssl]
"
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
QA_PREBUILT="
opt/${P}/bin/*-${PV}
opt/${P}/lib/*.so
opt/${P}/lib/rustlib/*/bin/*
opt/${P}/lib/rustlib/*/lib/*.so
opt/${P}/lib/rustlib/*/lib/*.rlib*
"
pkg_pretend() {
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
fi
}
src_unpack() {
default
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
}
multilib_src_install() {
if multilib_is_native_abi; then
# start native abi install
pushd ${S} >/dev/null || die
local std
std="$(grep 'std' ./components)"
local components="rustc,cargo,${std}"
use doc && components="${components},rust-docs"
use clippy && components="${components},clippy-preview"
use rustfmt && components="${components},rustfmt-preview"
./install.sh \
--components="${components}" \
--disable-verify \
--prefix="${ED}/opt/${P}" \
--mandir="${ED}/opt/${P}/man" \
--disable-ldconfig \
|| die
local rustc=rustc-bin-${PV}
local rustdoc=rustdoc-bin-${PV}
local rustgdb=rust-gdb-bin-${PV}
local rustgdbgui=rust-gdbgui-bin-${PV}
local rustlldb=rust-lldb-bin-${PV}
mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
dosym "${rustc}" "/opt/${P}/bin/rustc"
dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
local cargo=cargo-bin-${PV}
mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
dosym "${cargo}" "/opt/${P}/bin/cargo"
dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
if use clippy; then
local clippy_driver=clippy-driver-bin-${PV}
local cargo_clippy=cargo-clippy-bin-${PV}
mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
fi
if use rustfmt; then
local rustfmt=rustfmt-bin-${PV}
local cargo_fmt=cargo-fmt-bin-${PV}
mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
fi
cat <<-EOF > "${T}"/50${P}
LDPATH="/opt/${P}/lib"
MANPATH="/opt/${P}/man"
EOF
doenvd "${T}"/50${P}
# note: eselect-rust adds EROOT to all paths below
cat <<-EOF > "${T}/provider-${P}"
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-gdbgui
/usr/bin/rust-lldb
EOF
echo /usr/bin/cargo >> "${T}/provider-${P}"
if use clippy; then
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
if use rustfmt; then
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
popd >/dev/null || die
#end native abi install
else
local rust_target
rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
dodir "/opt/${P}/lib/rustlib"
cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
"${ED}/opt/${P}/lib/rustlib" || die
fi
}
pkg_postinst() {
eselect rust update --if-unset
elog "Rust installs a helper script for calling GDB now,"
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
if has_version app-editors/emacs; then
elog "install app-emacs/rust-mode to get emacs support for rust."
fi
if has_version app-editors/gvim || has_version app-editors/vim; then
elog "install app-vim/rust-vim to get vim support for rust."
fi
if use elibc_musl; then
ewarn "${PN} on *-musl targets is configured with crt-static"
ewarn ""
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
ewarn "to use it with portage, otherwise you may see failures like"
ewarn "error: cannot produce proc-macro for serde_derive as the target "
ewarn "x86_64-unknown-linux-musl does not support these crate types"
fi
}
pkg_postrm() {
eselect rust cleanup
}

@ -26,5 +26,20 @@ DIST rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz 110594504 BLAKE2B eaf9c92e
DIST rust-1.41.1-s390x-unknown-linux-gnu.tar.xz 114814112 BLAKE2B ef22c377e1d89ef4ebe78df19d91bcf042e2e1d8997be80d7d40998b18f6b44f8bb1232b1f72e42e3ffb6d1ff235f3cd2f04854e996bbf7be8f6d5d7299e8514 SHA512 f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153
DIST rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz 111202140 BLAKE2B 226c68b1e97cc9be82e81f6c9e065e08514166a65a57159c2f63527063ae5f514650afc2591e0c4854ecd0239dc82cbc9a97b99412608645aca879a71354d857 SHA512 c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666
DIST rust-1.41.1-x86_64-unknown-linux-musl.tar.xz 96076684 BLAKE2B 3672e24a83c1e4c97a0844f9522a9fced19d5ef01c89d44e54bba8683514a86f7a14ea2e8c2f28d03c65b7e2e0358ff3cea2f85de1e69eb5334c55e18a8c8e4f SHA512 29e7b2aae35017d7f4313e0a482712390ffec752e62d8b1bda95d56a1f93ba882a8f610b469b5d2d7fa3d6d35c2cdc4e45d219ad85b8a3f71ba6ce04b1add48b
DIST rust-1.42.0-aarch64-unknown-linux-gnu.tar.xz 99903344 BLAKE2B 77e64c56c2f3ab505af9d9003d127b8beb3b2204344985faa6de92905c96d92342485e062e0ff1228baf51a67c8c2274078a60cc86e0c67ba99481a5c01d4d0d SHA512 691a11e279efdcafa6bdafacb7fb48ccf653e180e0e85909b6031105a297d47538efb36d63216f6185427f818483a51aa827f351ca2123840d72caf60079fe13
DIST rust-1.42.0-arm-unknown-linux-gnueabi.tar.xz 102380528 BLAKE2B 5df9a33fa2b1414c9986f01d8dbd85fab2a705818336e1b2c94ca63136be7be63d25a2586efa956cf31aa604106b3c92857e2133169c7f3062da22006f1896bf SHA512 8e1b5351a3289441823ed0ce12f2fb0cedc267efe5c504966aefbc9a74f37ed11f4da1086295d7351c58c2d0bf59c4b7b54b23d5ec0dec4750bd7e38500afeb0
DIST rust-1.42.0-arm-unknown-linux-gnueabihf.tar.xz 100300920 BLAKE2B eb90db613230e44f5002388d83460b635f33ceee349b094ca2472171d54ce3d459b6a2143a66705ef7ea89dcb0fc9b21e6d2f2f53479098ca8559f7c84ee0697 SHA512 d58c1820f39abfdf74569e26ba4f13347dde16632415d4ec0b54cc99c3b04563ed551ed1ba717b33e9b1a9b13e2502008203472f8ed712e302d1db66909e7ccf
DIST rust-1.42.0-armv7-unknown-linux-gnueabihf.tar.xz 105021972 BLAKE2B 5a04715582193138344ef05700af4ccc90074a1b7d6ed8109993b6c59315e6fd6bc947504fcde36b869da8db4b7b8d8240f908387c8b2d78e21e35f6c27fdef7 SHA512 26768ec530506e20fed8f9ef2c1ca85eec155fc90949f2063836b6109b296a976c8430a698971a8b1c11e8f6ad043d854a36e9f0e849417178411dc5cbd30e59
DIST rust-1.42.0-i686-unknown-linux-gnu.tar.xz 124258356 BLAKE2B 3e2e0c11e792943be65c989d4b9ba98cc92b2a1dfec7b8506f00d20e439050faf744b991e7e4fa91f0c8a52f7a4e5fb8dc5d383fd0430fa46c4e35dfa5bb26e7 SHA512 7376be5abed573bbf68f73ed5609fa8e22dfa3ead19a3f3d78d553347e3ae01604ab9906f5317f1687a8ab3f9ad9c38cde44ef6f56d7da65a788a74aee9df057
DIST rust-1.42.0-mips-unknown-linux-gnu.tar.xz 95265764 BLAKE2B b02a340c7689812f7e13286f3dcde893933869c9becb071e9b0455eb68130d74fd67babdf85859ff7b4ef449261be6e09f230a4cf6196041c199d717324c8b21 SHA512 cc19b383ac3dde62750cd247e7fdec9ca4b4ee16880b9b00c42e62c57b46c522950983b500bf8fc70b8198469a18ab92c1ca382e8a07abf8bc937d8f17208d5d
DIST rust-1.42.0-mips64-unknown-linux-gnuabi64.tar.xz 99814476 BLAKE2B 405fa7426a8d21648be97f6b93065b20878419a2c0aa5889ea6a66b9c0f5804d2673a23932a2462965f04e320c4e78f4c79d5b0a6f9877dfe9909d4b4b8864be SHA512 e8933af6290f2cb881fdfc7d2ba3da1c47ef67d847c8a3e659f8f626b7154f202f071ccd4e90555333a3f3dc2bf4101a645b5665dd00a6d72b5acacd6ad317a2
DIST rust-1.42.0-mipsel-unknown-linux-gnu.tar.xz 95248132 BLAKE2B 875597ba699281d7160ba2f36fe03f3a234d19e5c6e91ce1291ab2369799349a42e1e7e6dcdf524980548a8c499693d6b48967913d4280776da7a921dfd18ab1 SHA512 733307eec1f938385a43b38aadcd84b7d4c1cfc084e070333d955d8b36f3192a7f7e6c05c5c07d782b945acbb261e48db94f2f9f7d3a09e8669055a577c90528
DIST rust-1.42.0-powerpc-unknown-linux-gnu.tar.xz 100228400 BLAKE2B e05749ab974ffb0dbae332d4f59c8f71047f86c5e33a368555d996ccf14d229b0cda2cfbcf7f05902746fcf9b18a9a1ba4cd8d8cfeb51d3128f04914e8bc062d SHA512 ad2c9d3ebae5ccffd1f70d0a732a3e6cf793b203a8ab7bea3b90d45b63dac84cd513fcc494c7401a6dedcc1e4c3b6fa4ba95a4d3c10411dce5c2a06b84ef934a
DIST rust-1.42.0-powerpc64-unknown-linux-gnu.tar.xz 106116524 BLAKE2B bfa533d3fdeaba4c539f18f205ddaa99c6a6be8f4213cf2d02090cc576ee17c721295262c78d84ec01bc286b59f6a30bf32e7c44e435205908fec03de1a8d60a SHA512 668d1d353bdaf676043ab7f4baad464b202e8ae1be7713e3481b8e9fb5fabd1020e10e178d69d099541cb1b23362b50b826790740156f1c96efa3d2a7457e404
DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067ff95bf2293eb5dc3f055275646f9f9764a59ea5dc772b1d8da78c28acfbd93e7a9076dd7ddfb36255cecda0646a7e5cc4ef4767cdb320aaf046f77162 SHA512 e1db9bbef45e88e7d1d5b905379c04786a015c90d0d9de6a6c16276a3e91c342a8231dda7a4d46ecc7adc969d07fd7dd8595975647b9ab69f8997fee74401219
DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46
DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70
DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8
DIST rustc-1.41.1-src.tar.xz 93754192 BLAKE2B 235ece650d0c75e1c8700ce73d3811997cd0d827b850a6dd435a269f3f86d85849d54755ea346c5ddcbe0d1224836fd78213f6abeab4a9a8c4c3e2d8a05ff7b4 SHA512 ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9
DIST rustc-1.42.0-src.tar.xz 94186592 BLAKE2B 82298ef3da44188546bb945bcbfc1af630e6a4466b643667da08a04a33c6417afd68fc86302bdd22ab36c208fdb13cbc479e762d1217c05507bbfeb13bfbef7e SHA512 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16
DIST rustc-1.43.0-src.tar.xz 94354332 BLAKE2B 845b52b6e447b3c9bf3256256f0215056989334d99dc17d196fd088b4c515928602632ce8882316dff6dee462c22aebf5bc7f21da0b4b206ec88bc178ff69163 SHA512 dbff18567f2971da4eb13c670c30b136757692df1bc5024cdc0406f3c30574d3485fd616724987bcc765bc5f64c8ed5026f0e96f11eacb035e00256ed190b4f3

@ -0,0 +1,89 @@
From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:38:48 +0000
Subject: [PATCH 12/15] Ignore broken and non-applicable tests
c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
long-linker-command-lines: takes >10 minutes to run (but still passes)
simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
sparc-struct-abi: no sparc target
sysroot-crates-are-unstable: can't run rustc without RPATH
---
src/test/codegen/sparc-struct-abi.rs | 1 +
src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
src/test/ui/env-funky-keys.rs | 1 +
src/test/ui/simd/simd-intrinsic-generic-bitmask.rs | 2 ++
6 files changed, 10 insertions(+)
diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
index 78e5b14a212..6f93e93286b 100644
--- a/src/test/codegen/sparc-struct-abi.rs
+++ b/src/test/codegen/sparc-struct-abi.rs
@@ -4,6 +4,7 @@
// only-sparc64
// compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
+// ignore-test
#![feature(no_core, lang_items)]
#![no_core]
diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
index f124ca2ab61..363b18f0985 100644
--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
@@ -1,3 +1,5 @@
+# ignore-aarch64
+
-include ../tools.mk
all:
diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
index 5876fbc94bc..5f167ece1a2 100644
--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
@@ -1,3 +1,5 @@
+# ignore-test
+
-include ../tools.mk
all:
diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
index 9e770706857..6d92ec5cec8 100644
--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
@@ -1,1 +1,3 @@
+# ignore-test
+
all:
python2.7 test.py
diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
index c5c824ac58d..f3fe047a79c 100644
--- a/src/test/ui/env-funky-keys.rs
+++ b/src/test/ui/env-funky-keys.rs
@@ -1,6 +1,7 @@
// run-pass
// Ignore this test on Android, because it segfaults there.
+// ignore-test
// ignore-android
// ignore-windows
// ignore-cloudabi no execve
diff --git a/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs b/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs
index b28f742a92e..3ee4ccce731 100644
--- a/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs
+++ b/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs
@@ -2,6 +2,8 @@
#![allow(non_camel_case_types)]
// ignore-emscripten
+// ignore-powerpc
+// ignore-powerpc64
// Test that the simd_bitmask intrinsic produces correct results.
--
2.24.1

@ -0,0 +1,26 @@
From 724b7ee92f3e83af2a451b726ad990fe7db54528 Mon Sep 17 00:00:00 2001
From: Nikita Popov <nikita.ppv@gmail.com>
Date: Tue, 4 Feb 2020 20:35:50 +0100
Subject: [PATCH] Fix timeTraceProfilerInitialize for LLVM 10
---
src/rustllvm/PassWrapper.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
index 65071c3ed86e0..ebf4d4017a813 100644
--- a/src/rustllvm/PassWrapper.cpp
+++ b/src/rustllvm/PassWrapper.cpp
@@ -67,7 +67,11 @@ extern "C" void LLVMInitializePasses() {
}
extern "C" void LLVMTimeTraceProfilerInitialize() {
-#if LLVM_VERSION_GE(9, 0)
+#if LLVM_VERSION_GE(10, 0)
+ timeTraceProfilerInitialize(
+ /* TimeTraceGranularity */ 0,
+ /* ProcName */ "rustc");
+#elif LLVM_VERSION_GE(9, 0)
timeTraceProfilerInitialize();
#endif
}

@ -0,0 +1,194 @@
From fe83c6cd5922fd6f964fa40ca704fb7f92426202 Mon Sep 17 00:00:00 2001
From: Nikita Popov <nikita.ppv@gmail.com>
Date: Tue, 4 Feb 2020 19:23:45 +0100
Subject: [PATCH 2/7] Remove trailing newline from llvm-config output
---
src/bootstrap/test.rs | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
index 4cfda606c4bc8..aaec10ff10b38 100644
--- a/src/bootstrap/test.rs
+++ b/src/bootstrap/test.rs
@@ -1142,6 +1142,8 @@ impl Step for Compiletest {
let llvm_config = builder.ensure(native::Llvm { target: builder.config.build });
if !builder.config.dry_run {
let llvm_version = output(Command::new(&llvm_config).arg("--version"));
+ // Remove trailing newline from llvm-config output.
+ let llvm_version = llvm_version.trim_end();
cmd.arg("--llvm-version").arg(llvm_version);
}
if !builder.is_rust_llvm(target) {
From 545f18e8f1c2227b74091fbca5c73595f65eeeed Mon Sep 17 00:00:00 2001
From: Nikita Popov <nikita.ppv@gmail.com>
Date: Sat, 18 Jan 2020 23:00:30 +0100
Subject: [PATCH 3/7] Fix LLVM version handling in compiletest
Convert version string to integer before comparing. Otherwise
we get into trouble with double digit versions ;)
---
src/tools/compiletest/src/header.rs | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
index 2a24a8c3c9485..cb648db8830ef 100644
--- a/src/tools/compiletest/src/header.rs
+++ b/src/tools/compiletest/src/header.rs
@@ -191,6 +191,7 @@ impl EarlyProps {
return true;
}
if let Some(ref actual_version) = config.llvm_version {
+ let actual_version = version_to_int(actual_version);
if line.starts_with("min-llvm-version") {
let min_version = line
.trim_end()
@@ -199,7 +200,7 @@ impl EarlyProps {
.expect("Malformed llvm version directive");
// Ignore if actual version is smaller the minimum required
// version
- &actual_version[..] < min_version
+ actual_version < version_to_int(min_version)
} else if line.starts_with("min-system-llvm-version") {
let min_version = line
.trim_end()
@@ -208,7 +209,7 @@ impl EarlyProps {
.expect("Malformed llvm version directive");
// Ignore if using system LLVM and actual version
// is smaller the minimum required version
- config.system_llvm && &actual_version[..] < min_version
+ config.system_llvm && actual_version < version_to_int(min_version)
} else if line.starts_with("ignore-llvm-version") {
// Syntax is: "ignore-llvm-version <version1> [- <version2>]"
let range_components = line
@@ -219,15 +220,15 @@ impl EarlyProps {
.take(3) // 3 or more = invalid, so take at most 3.
.collect::<Vec<&str>>();
match range_components.len() {
- 1 => &actual_version[..] == range_components[0],
+ 1 => actual_version == version_to_int(range_components[0]),
2 => {
- let v_min = range_components[0];
- let v_max = range_components[1];
+ let v_min = version_to_int(range_components[0]);
+ let v_max = version_to_int(range_components[1]);
if v_max < v_min {
panic!("Malformed LLVM version range: max < min")
}
// Ignore if version lies inside of range.
- &actual_version[..] >= v_min && &actual_version[..] <= v_max
+ actual_version >= v_min && actual_version <= v_max
}
_ => panic!("Malformed LLVM version directive"),
}
@@ -238,6 +239,20 @@ impl EarlyProps {
false
}
}
+
+ fn version_to_int(version: &str) -> u32 {
+ let version_without_suffix = version.split('-').next().unwrap();
+ let components: Vec<u32> = version_without_suffix
+ .split('.')
+ .map(|s| s.parse().expect("Malformed version component"))
+ .collect();
+ match components.len() {
+ 1 => components[0] * 10000,
+ 2 => components[0] * 10000 + components[1] * 100,
+ 3 => components[0] * 10000 + components[1] * 100 + components[2],
+ _ => panic!("Malformed version"),
+ }
+ }
}
}
From e06fff0609fedf95b826d82ff32ff836b0e3f3da Mon Sep 17 00:00:00 2001
From: Nikita Popov <nikita.ppv@gmail.com>
Date: Sun, 19 Jan 2020 22:47:45 +0100
Subject: [PATCH 4/7] Adjust data layout in test
---
.../run-make-fulldeps/target-specs/my-awesome-platform.json | 2 +-
.../target-specs/my-x86_64-unknown-linux-gnu-platform.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
index 8d028280a8da7..00de3de05f07a 100644
--- a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
+++ b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
@@ -1,5 +1,5 @@
{
- "data-layout": "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128",
+ "data-layout": "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128",
"linker-flavor": "gcc",
"llvm-target": "i686-unknown-linux-gnu",
"target-endian": "little",
diff --git a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
index 48040ae3da0ef..6d5e964ed4fee 100644
--- a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
+++ b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
@@ -1,6 +1,6 @@
{
"pre-link-args": {"gcc": ["-m64"]},
- "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128",
+ "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
"linker-flavor": "gcc",
"llvm-target": "x86_64-unknown-linux-gnu",
"target-endian": "little",
From 724b7ee92f3e83af2a451b726ad990fe7db54528 Mon Sep 17 00:00:00 2001
From: Nikita Popov <nikita.ppv@gmail.com>
Date: Tue, 4 Feb 2020 20:35:50 +0100
Subject: [PATCH 5/7] Fix timeTraceProfilerInitialize for LLVM 10
---
src/rustllvm/PassWrapper.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
index 65071c3ed86e0..ebf4d4017a813 100644
--- a/src/rustllvm/PassWrapper.cpp
+++ b/src/rustllvm/PassWrapper.cpp
@@ -67,7 +67,11 @@ extern "C" void LLVMInitializePasses() {
}
extern "C" void LLVMTimeTraceProfilerInitialize() {
-#if LLVM_VERSION_GE(9, 0)
+#if LLVM_VERSION_GE(10, 0)
+ timeTraceProfilerInitialize(
+ /* TimeTraceGranularity */ 0,
+ /* ProcName */ "rustc");
+#elif LLVM_VERSION_GE(9, 0)
timeTraceProfilerInitialize();
#endif
}
From aed9cf36bb4b9c6b357e395552dbb5e1802feec9 Mon Sep 17 00:00:00 2001
From: Nikita Popov <nikita.ppv@gmail.com>
Date: Mon, 2 Mar 2020 22:37:55 +0100
Subject: [PATCH 6/7] Update CreateMemSet() usage for LLVM 10
---
src/rustllvm/RustWrapper.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index 49b6e1bfec38d..002eb031dac64 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -1300,8 +1300,13 @@ extern "C" LLVMValueRef LLVMRustBuildMemSet(LLVMBuilderRef B,
LLVMValueRef Dst, unsigned DstAlign,
LLVMValueRef Val,
LLVMValueRef Size, bool IsVolatile) {
+#if LLVM_VERSION_GE(10, 0)
+ return wrap(unwrap(B)->CreateMemSet(
+ unwrap(Dst), unwrap(Val), unwrap(Size), MaybeAlign(DstAlign), IsVolatile));
+#else
return wrap(unwrap(B)->CreateMemSet(
unwrap(Dst), unwrap(Val), unwrap(Size), DstAlign, IsVolatile));
+#endif
}
extern "C" LLVMValueRef

@ -0,0 +1,417 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
MY_P="rustc-beta"
SLOT="beta/${PV}"
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
else
ABI_VER="$(ver_cut 1-2)"
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
SRC_URI="
https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
!system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
"
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
# we need to *really* make sure we're not pulling more than one slot
# simultaneously.
# How to use it:
# 1. List all the working slots (with min versions) in ||, newest first.
# 2. Update the := to specify *max* version, e.g. < 11.
# 3. Specify LLVM_MAX_SLOT, e.g. 10.
LLVM_DEPEND="
|| (
sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}]
sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}]
)
<sys-devel/llvm-11:=
wasm? ( sys-devel/lld )
"
LLVM_MAX_SLOT=10
BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
# libgit2 should be at least same as bungled into libgit-sys #707746
COMMON_DEPEND="
>=dev-libs/libgit2-0.99:=
net-libs/libssh2:=
net-libs/http-parser:=
net-misc/curl:=[ssl]
sys-libs/zlib:=
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
elibc_musl? ( sys-libs/libunwind )
system-llvm? (
${LLVM_DEPEND}
)
"
DEPEND="${COMMON_DEPEND}
${PYTHON_DEPS}
|| (
>=sys-devel/gcc-4.7
>=sys-devel/clang-3.5
)
system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
!system-llvm? (
dev-util/cmake
dev-util/ninja
)
"
RDEPEND="${COMMON_DEPEND}
>=app-eselect/eselect-rust-20190311
"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
miri? ( nightly )
parallel-compiler? ( nightly )
wasm? ( llvm_targets_WebAssembly )
x86? ( cpu_flags_x86_sse2 )
"
QA_FLAGS_IGNORED="
usr/bin/.*-${PV}
usr/lib.*/lib.*.so
usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
usr/lib/rustlib/.*/lib/lib.*.so
"
# tests need a bit more work, currently they are causing multiple
# re-compilations and somewhat fragile.
RESTRICT="test"
QA_SONAME="usr/lib.*/librustc_macros.*.so"
PATCHES=(
"${FILESDIR}"/1.40.0-add-soname.patch
"${FILESDIR}"/0012-Ignore-broken-and-non-applicable-tests.patch
"${FILESDIR}"/1.43.0-llvm10.patch
"${FILESDIR}"/1.42.0-libressl.patch
)
S="${WORKDIR}/${MY_P}-src"
toml_usex() {
usex "$1" true false
}
pre_build_checks() {
CHECKREQS_DISK_BUILD="9G"
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
CHECKREQS_DISK_BUILD="15G"
fi
eshopts_pop
check-reqs_pkg_setup
}
pkg_pretend() {
pre_build_checks
}
pkg_setup() {
pre_build_checks
python-any-r1_pkg_setup
export LIBGIT2_SYS_USE_PKG_CONFIG=1
export LIBSSH2_SYS_USE_PKG_CONFIG=1
export PKG_CONFIG_ALLOW_CROSS=1
if use system-llvm; then
llvm_pkg_setup
local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
export LLVM_LINK_SHARED=1
export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
fi
}
src_prepare() {
if ! use system-bootstrap; then
local rust_stage0_root="${WORKDIR}"/rust-stage0
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
--destdir="${rust_stage0_root}" --prefix=/ || die
fi
default
}
src_configure() {
local rust_target="" rust_targets="" arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
done
if use wasm; then
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
fi
rust_targets="${rust_targets#,}"
local tools="\"cargo\","
if use clippy; then
tools="\"clippy\",$tools"
fi
if use miri; then
tools="\"miri\",$tools"
fi
if use rls; then
tools="\"rls\",\"analysis\",\"src\",$tools"
fi
if use rustfmt; then
tools="\"rustfmt\",$tools"
fi
local rust_stage0_root
if use system-bootstrap; then
rust_stage0_root="$(rustc --print sysroot)"
else
rust_stage0_root="${WORKDIR}"/rust-stage0
fi
rust_target="$(rust_abi)"
cat <<- EOF > "${S}"/config.toml
[llvm]
optimize = $(toml_usex !debug)
release-debuginfo = $(toml_usex debug)
assertions = $(toml_usex debug)
ninja = true
targets = "${LLVM_TARGETS// /;}"
experimental-targets = ""
link-shared = $(toml_usex system-llvm)
[build]
build = "${rust_target}"
host = ["${rust_target}"]
target = [${rust_targets}]
cargo = "${rust_stage0_root}/bin/cargo"
rustc = "${rust_stage0_root}/bin/rustc"
docs = $(toml_usex doc)
compiler-docs = $(toml_usex doc)
submodules = false
python = "${EPYTHON}"
locked-deps = true
vendor = true
extended = true
tools = [${tools}]
verbose = 2
sanitizers = false
profiler = false
cargo-native-static = false
[install]
prefix = "${EPREFIX}/usr"
libdir = "lib"
docdir = "share/doc/${PF}"
mandir = "share/man"
[rust]
optimize = true
debug = $(toml_usex debug)
debug-assertions = $(toml_usex debug)
debuginfo-level-rustc = 0
backtrace = true
incremental = false
default-linker = "$(tc-getCC)"
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
rpath = false
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
dist-src = false
lld = $(usex system-llvm false $(toml_usex wasm))
backtrace-on-ice = true
jemalloc = false
[dist]
src-tarball = false
EOF
for v in $(multilib_get_enabled_abi_pairs); do
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
cat <<- EOF >> "${S}"/config.env
CFLAGS_${rust_target}=${arch_cflags}
EOF
cat <<- EOF >> "${S}"/config.toml
[target.${rust_target}]
cc = "$(tc-getBUILD_CC)"
cxx = "$(tc-getBUILD_CXX)"
linker = "$(tc-getCC)"
ar = "$(tc-getAR)"
EOF
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
if use elibc_musl; then
cat <<- EOF >> "${S}"/config.toml
crt-static = false
EOF
fi
if use system-llvm; then
cat <<- EOF >> "${S}"/config.toml
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
EOF
fi
done
if use wasm; then
cat <<- EOF >> "${S}"/config.toml
[target.wasm32-unknown-unknown]
linker = "$(usex system-llvm lld rust-lld)"
EOF
fi
einfo "Rust configured with the following settings:"
cat "${S}"/config.toml || die
}
src_compile() {
env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_test() {
env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
"${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml -j$(makeopts_jobs) --no-doc --no-fail-fast \
src/test/codegen \
src/test/codegen-units \
src/test/compile-fail \
src/test/incremental \
src/test/mir-opt \
src/test/pretty \
src/test/run-fail \
src/test/run-make \
src/test/run-make-fulldeps \
src/test/ui \
src/test/ui-fulldeps || die
}
src_install() {
env $(cat "${S}"/config.env) DESTDIR="${D}" \
"${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
# bug #689562, #689160
rm "${D}/etc/bash_completion.d/cargo" || die
rmdir "${D}"/etc{/bash_completion.d,} || die
dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
if use clippy; then
mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
fi
if use miri; then
mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die
mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die
fi
if use rls; then
mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
fi
if use rustfmt; then
mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
fi
# Move public shared libs to abi specific libdir
# Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
if [[ $(get_libdir) != lib ]]; then
dodir /usr/$(get_libdir)
mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
fi
dodoc COPYRIGHT
rm "${ED}/usr/share/doc/${P}"/*.old || die
rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die
rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die
# note: eselect-rust adds EROOT to all paths below
cat <<-EOF > "${T}/provider-${P}"
/usr/bin/cargo
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-gdbgui
/usr/bin/rust-lldb
EOF
if use clippy; then
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
if use miri; then
echo /usr/bin/miri >> "${T}/provider-${P}"
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
fi
if use rls; then
echo /usr/bin/rls >> "${T}/provider-${P}"
fi
if use rustfmt; then
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}
pkg_postinst() {
eselect rust update --if-unset
elog "Rust installs a helper script for calling GDB and LLDB,"
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
if has_version app-editors/emacs; then
elog "install app-emacs/rust-mode to get emacs support for rust."
fi
if has_version app-editors/gvim || has_version app-editors/vim; then
elog "install app-vim/rust-vim to get vim support for rust."
fi
if use elibc_musl; then
ewarn "${PN} on *-musl targets is configured with crt-static"
ewarn ""
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
ewarn "to use it with portage, otherwise you may see failures like"
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
ewarn "x86_64-unknown-linux-musl does not support these crate types"
fi
}
pkg_postrm() {
eselect rust cleanup
}

@ -1,11 +1,10 @@
DIST vala-0.36.20.tar.xz 2918672 BLAKE2B 9c2c46992444fafd173f767a4a10ac185b0c49db0ede3cb52dec10da08ab3370adb4445087b24c91c9126e8586418a149ac783b3de92cac6c4badd488f3dc56f SHA512 21ca0573a2f9d945a362f7f15da7db25532fd7b19a0aa0442243b95df0568b7a88ae94d0659af44f6f57e364f4370de361102e7e46a070487985e7cb5d81277c
DIST vala-0.40.16.tar.xz 3412776 BLAKE2B 0cfe072ce3dfd8b95e804582899ff002869bc005b93ad1ba68e9b085e12444a3ef967c6282d65bab7f8302018edc075077ae8de65182b9123f8f74a91ea062bf SHA512 e37c8573fe6104c0ad6f29748cd28564638d62ebe499ce084481c74d2601a19334c431575904fbbed490b44ea117246516580a5d658dfba30c63de7e7c3fa3e0
DIST vala-0.40.18.tar.xz 3429060 BLAKE2B 113cebedfefec3a510085e6562012cefedcc6879f4a21eed835e779d850c39ea0c5d9ce5e5e036fa5d849c28f803fd80f1b4e55d4eb3db0fb0fa8f2706824823 SHA512 a58afc4ecf5a7c5c35d3f32d06947ed656f66672fd496d4963b5267d8be9ffecbbc0415af8ef15d35c92f986cb7861dc09d2ec35c2b6f77f3decc4adba24ced2
DIST vala-0.40.19.tar.xz 3435688 BLAKE2B caacacd0ed33a5a1fd465c7494d326941225f4cca052cdeda103430a6313d1f5bf30f254d1f7451663988b1303dc564923ab5717d796673b0af71912c49196ff SHA512 a1ef798ed754192da8677d9dd9627b24c0addd658d38e217ace6889c462a70d1d19c029cd7f660c82b97a48f77eba3b03758ab625ad6ccf4fe20dfd627ecd30a
DIST vala-0.40.20.tar.xz 3443256 BLAKE2B 4cb53448ffabd29ea2c1411d019aa3749be113371e411d90803aa77a5ba19790d3766dae43af58a107680acc04870b30670fd53d4ce239de8d15dd79571cadfb SHA512 767f156c85bd901e6e672439c2bf7fdfe60e4f7b088ca89f8787179e57b42904c92749ca8bd79c1e4319ec998e0e3f6bd6f13ed679be1f5240041f797657eb36
DIST vala-0.40.22.tar.xz 3458916 BLAKE2B 3a9516ea22f550ad4ee0bacb15c77be1f8fa971725cad30fb97ec6939c604406881ca6b2e981e6ed99a8cf6218bd55f54aff6b06e074bc09089d01c554ab817f SHA512 913af4725ff56f330815fc76ac4bf7f7fb28182fe2764db1b9da5d2452dd264df071f84f62eef6c56719ef4abe595d88ba5d89c0fea15d9e1835e0fdb23668ce
DIST vala-0.44.11.tar.xz 3370248 BLAKE2B c111b6175e6339148e30bedc77f62a9ef3ec912ad0621c9303fc5dba31694173b49ccc433d3681303d64a1e442ed9b7b064f27931369cb13fa028bfc25ffa3c9 SHA512 6111699039ed37084426d7603b82dfa9bd497c66ba7353ee22e8541bf15a2cbb634d315593c093f18c20bac877ae34884e5b570cd25237ce12aa73e941c4c540
DIST vala-0.44.9.tar.xz 3363004 BLAKE2B b87f8f7d9cda5a77486720b8c542c42ed448cfbb6a1bae899591a799dcf25882a0539c3acef282d0ba42a7ea78d68e7a5d99aa4daa306a70afe6938732d03c25 SHA512 9af559a6cb1680013886a4d425e619503d60394f2c7b1ab897cc7830ee566f8122dcd4380b78b551fbf556cead623c245adc1f7f3357b8315be8c120412a3e9f
DIST vala-0.46.6.tar.xz 3383032 BLAKE2B c7f38cf617f3a0d5a5915ebedd320ef6a5c3714e21618e95756529e1fb09abc12417f31aeefc0111e828da5c2dabd6195b07bb1cc69c6e74f73d72fe7403637a SHA512 ab24c3ad37af62e38289fd085a33f72e178e0b58c1f24c27c58c1010270a4b0e5cb4cc510b6147c51e5796a7ae63aed3a4ac219b24ff985f2546e25c9ad48992
DIST vala-0.46.7.tar.xz 3402828 BLAKE2B c028875e2c6036a6657244bff62d3a2eec2104c06ec3c993f4d59371f2ec7947cfd36f577d41a2c4ba52f6dd7fb03251cad989e3b2787e2817bd988cc16030ca SHA512 609694c2b773abdd8f47d0e9dd8e1dabac2053f7e0321eac7232b3931b15df30e095541dbb02965fc74f3a29b7562b7a326c56ce7c570e6528f8cfa480363c76
DIST vala-0.48.2.tar.xz 3433912 BLAKE2B 25b10235b81b34e0baf6a3cceed660affca9d226ca4f04e96d0dbf4d2ba10635452806bca4f9a82387778bbf813f8ee43c36cf476ab81c524cefaba0febcbad0 SHA512 0ea2d2c56d6d01007fe41e13bc51faa5e780259bc55f34a2d84270a5b6a0a46d59cce5eb195f81c78f1acbfb118cc3c5882edf0d187788791ee3ce865faece89
DIST vala-0.46.9.tar.xz 3413264 BLAKE2B 6bc14f9316b3d5a2c81b0fbaed48ca85ffec37c616746b1bf432c883838097938e13931d06efc1e4abd027441e31fe73b2e76ba9b578ea33948f4dbe38a18bf2 SHA512 64ce902a15de9a477d50e3b0a0f64007c1acea7ad620ad224ed49cecbb029ebf8c9fcd79df6f0c64f46c0fd25cbf34f94be145a937460329dc9c38087073f240
DIST vala-0.48.3.tar.xz 3438824 BLAKE2B 4d743a158e12134f31f2e9850713594e3bd668b2a5e74d05df2d828b10a2272dc2cb228bc0041a394dc08633db3e2497eb095c5526763d69225388198995e470 SHA512 e73eade8b0cfa312d896c81b76e045bc9b8b71bd89298c0f8d78b2f596eebf64dc0eea8d1e266b2c17a774105560ed47590fbe00d65b1fda8db6823ac3ba4bb4
DIST vala-0.48.5.tar.xz 3445096 BLAKE2B a41fd6b5b06526eb1a743c2e8681b4e3891b19a24213669f28407f9e8e29c3aa1a077458558491e0af05aed5659a7a6d4a0a18d711465d9c936e719245b944b1 SHA512 129097880c0dbe40cb84dc60a0af454b247759131ce29e9b5cbf74ca9dae35917e1ba973eff1d5ee025e54afe5a0881eb37d11ab433346e5e4c9a7625952b2d3

@ -1,54 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GNOME2_EAUTORECONF="yes"
inherit gnome2
DESCRIPTION="Compiler for the GObject type system"
HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
LICENSE="LGPL-2.1"
SLOT="0.40"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux"
IUSE="test valadoc"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/glib-2.40.0:2
>=dev-libs/vala-common-${PV}
valadoc? ( >=media-gfx/graphviz-2.16 )
"
DEPEND="${RDEPEND}
!${CATEGORY}/${PN}:0
dev-libs/libxslt
sys-devel/flex
virtual/pkgconfig
virtual/yacc
test? (
dev-libs/dbus-glib
>=dev-libs/glib-2.26:2
dev-libs/gobject-introspection )
"
PATCHES=(
# From master
"${FILESDIR}"/0.40-Allow-disabling-the-build-of-valadoc.patch
# Add missing bits to make valadoc parallel installable
"${FILESDIR}"/0.40-valadoc-doclets-data-parallel-installable.patch
)
src_configure() {
# weasyprint enables generation of PDF from HTML
gnome2_src_configure \
--disable-unversioned \
$(use_enable valadoc) \
VALAC=: \
WEASYPRINT=:
}
src_install() {
default
find "${D}" -name "*.la" -delete || die
}

Binary file not shown.

@ -1,2 +1,3 @@
DIST distorm-3.4.1.tar.gz 220042 BLAKE2B a845fb3b5a3c98c1b25601896785273668b48c8477dd29c5db4c4ddcf3cdfe73095e3c4c883ca0909820430989a412d9b47c87471450eba2a4d969a9a03d32c1 SHA512 0e9f8b62bc190ef7d516f1902b6003adef9c7d5d4a5f985fb0bdfc5d4838b2805e2b8836b02d5eccdb3401e814417de615dec675aed9e606c93122ca8a0d2083
DIST distorm3-3.4.2.tar.gz 182134 BLAKE2B 82bff5b12503acce156be2b2b16d2d60eb39329092dabfdd51815c468a7fa1e0cfe27351fb09e3f587054ec8262f5535d1b29f1269ccde94e01e1d326ba3df85 SHA512 a723bce70f0fddf065aa53fa7ea48c5e9f354c0fbe241c70ffd1404950fcf79b5ad6c6be64d20cb80567024bdc05e6bb41f788267a069c8e7b7b9dbb7c5c01af
DIST distorm3-3.4.4.tar.gz 134803 BLAKE2B 4c496db182c874b1f2d3e1433b53f59c51000d18c2e128d642e8088cb3150757a54d16d4f8303a2d46dfa0e83a941f9e75798d03643835938451c4b4903fd1f4 SHA512 ee39054a37436bb2137261d8fcf6da5e4849ef649bfa323c4523c195c1d9ee90708057fd1e1818f676300a410a184006d8db54ec3eef9aa8f5fcd455b25fc7a2

@ -0,0 +1,32 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
HOMEPAGE="http://www.ragestorm.net/distorm/"
MY_PN=distorm3
MY_P=${MY_PN}-${PV}
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
DEPEND=""
RDEPEND=""
LICENSE="BSD-4"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
python_install() {
distutils-r1_python_install
# don't know why it does not happen by default
python_optimize
}

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

Loading…
Cancel
Save