Sync with portage [Fri Oct 28 09:42:10 MSK 2022].

akrasnyh
root 2 years ago
parent a84c8c30a0
commit 4588f1167f

Binary file not shown.

Binary file not shown.

@ -2,3 +2,4 @@ DIST aws-cli-1.25.89.gh.tar.gz 2285887 BLAKE2B 1da21b1e314b187ee105d2bf256ce2fea
DIST aws-cli-1.25.97.gh.tar.gz 2290672 BLAKE2B 4fbff8d9747b615f7b8633ce2a1c7a68880d50d3a22c5bcdfe2e352a8ea84f8b9d0d1c94d514be3e871beeba5c2cc69853fb40daaa4fa4bfd3409779ca2713b5 SHA512 a27dab95240036158d2dc331a3b1768e7c705b52cb1fcf7f5d0bbc3f40bed62838565493c463e22cf2b249981b0fca255ce65d64b7cfa45df24621cb788171e7
DIST aws-cli-1.26.0.gh.tar.gz 2291209 BLAKE2B ad2b9380d45d986b2cc4219a93ee30fdc1e86e35e66dc095c76f29e6062601d0e443a96fa93edbc65562580eb9815a8d3f31a59a0c850513793df3870e809be8 SHA512 5b7e87b4fe02d7fbca0482cb93616b8f78f0bb074ed779ca553532be54f914c827a30b8458e209e6fbd23d22b5e734dfe14fb79e8833c3055c771a1766153d2d
DIST aws-cli-1.26.1.gh.tar.gz 2291902 BLAKE2B 04df153b4b7608ab3c2e86c230065f7b935a911e88e1a5b788dee545d328d9839ba9aba44b334522f2afafef8fa613aea6e749a2a7f9089f40993544f3cec9e9 SHA512 418257a8e4c92a6d21c89f7725cd70f463f4dd53c798783b29c4166daac644501e4a03a180257dfe356bf30228dedcf7a672ad46ff6f36afd40a8efd9ad786f9
DIST aws-cli-1.26.2.gh.tar.gz 2292384 BLAKE2B 72a24a647ba73ce492f2c7c43984af2c7185da8415c3124c4d55acd81bb8bb8895d5d01232bf2267166094ba0ca24fa690c81838f28ef5b40fbcdaaa6fd93c5a SHA512 fc3569a9c81481fa2b1b04c74b89073724cea0c0f035f60ceb5a8f47f848a2a6c8e104ef1e1ed883c1d330c4b5c240c2b79e86d6eaf28c7a120d1c3cae826e92

@ -0,0 +1,72 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..11} )
inherit bash-completion-r1 distutils-r1 multiprocessing
MY_P=aws-cli-${PV}
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="
https://github.com/aws/aws-cli/
https://pypi.org/project/awscli/
"
SRC_URI="
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
# botocore is x.(y+2).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/rsa[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
src_prepare() {
# do not rely on bundled deps in botocore (sic!)
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
# strip overzealous upper bounds on requirements
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
distutils-r1_src_prepare
}
python_test() {
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
}
python_install_all() {
newbashcomp bin/aws_bash_completer aws
insinto /usr/share/zsh/site-functions
newins bin/aws_zsh_completer.sh _aws
distutils-r1_python_install_all
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
}

@ -1,2 +1,3 @@
DIST conky-1.12.2.tar.gz 2407428 BLAKE2B b8d1b40dc4b547679b5ab4bf0328aabaac868025433729f48baf572c536da4a527a073a6d47f36c179851aecef58535dccb956e3a695700f06bf8e6ab170ae1f SHA512 55280953da437efe36320e4c12f74d95b8406bd7d8b7d93c6582f9b346c1c80a94b71d1c27860f6274de9171865fca91e330dfc39feb80bb2f453a538bc5ce1a
DIST conky-1.13.1.tar.gz 2443276 BLAKE2B e51610172e830d0368e8c9a48ea056285efe48275364c4d0c973da6467ea044303d75f94cc0b963c3b423a7ec61d8eff26da30c102c557ccd5a4e8cf984db4f6 SHA512 3ee0e14f6ff2bac39404c272790055ac1106f47a00e8298da909a0febf6de0661486e8ce23f34e8c5050e364168b2efcefd0b28736cbd0bc135e1362f0dc5516
DIST conky-1.15.0.tar.gz 1800684 BLAKE2B e3b8c682e99be42cd28ed9507c346f16afefb525269c31bf9731169fa2c52bcaac4f523ecd0ec8c722fb4e269226254f8579876e68a2b27c3a3f5685dd50b423 SHA512 d317b0a141355ce56c9dce5ba6e4b9dbe73b05b9b0b85d93d491f6d6da4194c1aceefbbc7e1b10e5fc233a9732933949e273630845194f6c16dce34a77ee5841

@ -13,7 +13,7 @@ SRC_URI="https://github.com/brndnmtthws/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="GPL-3 BSD LGPL-2.1 MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv sparc ~x86"
IUSE="apcupsd bundled-toluapp cmus curl doc hddtemp ical iconv imlib
intel-backlight iostats ipv6 irc lua-cairo lua-imlib lua-rsvg math moc
mpd mysql nano-syntax ncurses nvidia +portmon pulseaudio rss systemd

@ -0,0 +1,185 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-3 )
inherit cmake linux-info lua-single readme.gentoo-r1 xdg
DESCRIPTION="An advanced, highly configurable system monitor for X"
HOMEPAGE="https://github.com/brndnmtthws/conky"
SRC_URI="https://github.com/brndnmtthws/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3 BSD LGPL-2.1 MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm64 ~x86"
IUSE="apcupsd bundled-toluapp cmus curl doc extras hddtemp ical iconv imlib
intel-backlight iostats irc lua-cairo lua-imlib lua-rsvg math moc mpd
mysql ncurses nvidia +portmon pulseaudio rss systemd thinkpad truetype
webserver wifi X xinerama xmms2"
COMMON_DEPEND="
cmus? ( media-sound/cmus )
curl? ( net-misc/curl )
ical? ( dev-libs/libical:= )
iconv? ( virtual/libiconv )
imlib? ( media-libs/imlib2[X] )
irc? ( net-libs/libircclient )
lua-cairo? ( x11-libs/cairo[X] )
lua-imlib? ( media-libs/imlib2[X] )
lua-rsvg? ( gnome-base/librsvg )
mysql? ( dev-db/mysql-connector-c )
ncurses? ( sys-libs/ncurses:= )
nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
pulseaudio? ( media-libs/libpulse )
rss? ( dev-libs/libxml2 net-misc/curl dev-libs/glib:2 )
systemd? ( sys-apps/systemd )
truetype? ( x11-libs/libXft >=media-libs/freetype-2 )
wifi? ( net-wireless/wireless-tools )
webserver? ( net-libs/libmicrohttpd )
X? (
x11-libs/libX11
x11-libs/libXdamage
x11-libs/libXfixes
x11-libs/libXext
)
xinerama? ( x11-libs/libXinerama )
xmms2? ( media-sound/xmms2 )
${LUA_DEPS}
"
RDEPEND="
${COMMON_DEPEND}
apcupsd? ( sys-power/apcupsd )
hddtemp? ( app-admin/hddtemp )
moc? ( media-sound/moc )
extras? (
app-editors/nano
|| ( app-editors/vim app-editors/gvim )
)
"
DEPEND="
${COMMON_DEPEND}
doc? ( virtual/pandoc dev-python/pyyaml dev-python/jinja )
extras? ( dev-python/pyyaml dev-python/jinja )
"
REQUIRED_USE="
imlib? ( X )
lua-cairo? ( X bundled-toluapp )
lua-imlib? ( X bundled-toluapp )
lua-rsvg? ( X bundled-toluapp )
nvidia? ( X )
truetype? ( X )
xinerama? ( X )
"
CONFIG_CHECK="~IPV6"
DOCS=( README.md AUTHORS )
DISABLE_AUTOFORMATTING="yes"
DOC_CONTENTS="You can find sample configurations at ${ROOT}/usr/share/doc/${PF}.
To customize, copy to \${XDG_CONFIG_HOME}/conky/conky.conf and edit it to your liking.
There are pretty html docs available at https://conky.cc/.
Also see https://github.com/brndnmtthws/conky/wiki or https://wiki.gentoo.org/wiki/Conky"
pkg_setup() {
linux-info_pkg_setup
lua-single_pkg_setup
}
src_prepare() {
cmake_src_prepare
xdg_environment_reset
}
src_configure() {
local mycmakeargs
if use X; then
mycmakeargs=(
-DBUILD_ARGB=yes
-DBUILD_X11=yes
-DBUILD_XDAMAGE=yes
-DBUILD_XDBE=yes
-DBUILD_XSHAPE=yes
-DOWN_WINDOW=yes
)
else
mycmakeargs=(
-DBUILD_X11=no
)
fi
mycmakeargs+=(
-DBUILD_APCUPSD=$(usex apcupsd)
-DBUILD_AUDACIOUS=no
-DBUILD_BUILTIN_CONFIG=yes
-DBUILD_CMUS=$(usex cmus)
-DBUILD_CURL=$(usex curl)
-DBUILD_DOCS=$(usex doc)
-DBUILD_EXTRAS=$(usex extras)
-DBUILD_HDDTEMP=$(usex hddtemp)
-DBUILD_HTTP=$(usex webserver)
-DBUILD_I18N=yes
-DBUILD_IBM=$(usex thinkpad)
-DBUILD_ICAL=$(usex ical)
-DBUILD_ICONV=$(usex iconv)
-DBUILD_IMLIB2=$(usex imlib)
-DBUILD_INTEL_BACKLIGHT=$(usex intel-backlight)
-DBUILD_IOSTATS=$(usex iostats)
-DBUILD_IPV6=yes
-DBUILD_IRC=$(usex irc)
-DBUILD_JOURNAL=$(usex systemd)
-DBUILD_LUA_CAIRO=$(usex lua-cairo)
-DBUILD_LUA_IMLIB2=$(usex lua-imlib)
-DBUILD_LUA_RSVG=$(usex lua-rsvg)
-DBUILD_MATH=$(usex math)
-DBUILD_MOC=$(usex moc)
-DBUILD_MPD=$(usex mpd)
-DBUILD_MYSQL=$(usex mysql)
-DBUILD_NCURSES=$(usex ncurses)
-DBUILD_NVIDIA=$(usex nvidia)
-DBUILD_OLD_CONFIG=yes
-DBUILD_PORT_MONITORS=$(usex portmon)
-DBUILD_PULSEAUDIO=$(usex pulseaudio)
-DBUILD_RSS=$(usex rss)
-DBUILD_WLAN=$(usex wifi)
-DBUILD_XFT=$(usex truetype)
-DBUILD_XINERAMA=$(usex xinerama)
-DBUILD_XMMS2=$(usex xmms2)
-DDOC_PATH=/usr/share/doc/${PF}
-DMAINTAINER_MODE=no
-DRELEASE=yes
)
cmake_src_configure
}
src_install() {
cmake_src_install
if use extras; then
insinto /usr/share/vim/vimfiles/ftdetect
doins "${S}"/extras/vim/ftdetect/conkyrc.vim
insinto /usr/share/vim/vimfiles/syntax
doins "${BUILD_DIR}"/extras/vim/syntax/conkyrc.vim
insinto /usr/share/nano/
doins "${BUILD_DIR}"/extras/nano/conky.nanorc
fi
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
xdg_pkg_postinst
}

@ -18,6 +18,7 @@
<flag name="apcupsd">Enable support for <pkg>sys-power/apcupsd</pkg></flag>
<flag name="bundled-toluapp">Enable support for bundled toluapp. This only makes sense in combination with the lua-* flags</flag>
<flag name="cmus">Enable monitoring of music played by <pkg>media-sound/cmus</pkg></flag>
<flag name="extras">Enable syntax highlighting for <pkg>app-editors/nano</pkg>and app-editors/vim</flag>
<flag name="ical">Enable support for events from iCalendar (RFC 5545) files using <pkg>dev-libs/libical</pkg></flag>
<flag name="intel-backlight">Enable support for Intel backlight</flag>
<flag name="iostats">Enable support for per-task I/O statistics</flag>

@ -1 +1,2 @@
DIST keepassxc-2.7.1.tar.gz 11168642 BLAKE2B 4708821c596e8fc736e086a700d5526be6d9c4cfcb270e3a0a8b73395e9ca3544cbb5973494b15d66e0b98264f4e79d9fa122961407211d346275a9aa1bd5cae SHA512 c2f780ba1f464b32f741d1c6e83734ff220de56dce382f3c38d940abf255d689559c13bff6ad565c38c18cfdb1d883aca52650dba0486e3e28bb4ef872253cc9
DIST keepassxc-2.7.3-src.tar.xz 8963496 BLAKE2B 7f467960eb618d771e24980caa41ee15ecbb2bbfc6c0d37ddf1c8209e06b81a30b157c9ce00b3fd6c91c39ebaad60cec3513f7c1a64c8b7e0e2f0a116246f080 SHA512 29bf067308915d5ac7843eff3bcfb6c4c53a2108e9e2f5349ed03a0b8893f143dcc743cfc175c0831709bafef566d66baa31c5fe3e6fa5fc9c621bf87362e842

@ -0,0 +1,14 @@
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 776c40d9..477bf179 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -233,9 +233,6 @@ if(WITH_XC_BROWSER)
LIBS ${TEST_LIBRARIES})
endif()
-add_unit_test(NAME testcli SOURCES TestCli.cpp
- LIBS testsupport cli ${TEST_LIBRARIES})
-
if(WITH_GUI_TESTS)
add_subdirectory(gui)
endif(WITH_GUI_TESTS)

@ -0,0 +1,101 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org/
https://github.com/keepassxreboot/keepassxc/"
if [[ "${PV}" != *9999 ]] ; then
if [[ "${PV}" == *_beta* ]] ; then
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
fi
else
inherit git-r3
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
[[ "${PV}" != 9999 ]] && EGIT_BRANCH="master"
fi
LICENSE="LGPL-2.1 GPL-2 GPL-3"
SLOT="0"
IUSE="X autotype browser doc keeshare +network test yubikey"
RESTRICT="!test? ( test )"
REQUIRED_USE="autotype? ( X )"
RDEPEND="
app-crypt/argon2:=
dev-libs/botan:2=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-gfx/qrencode:=
sys-libs/readline:0=
sys-libs/zlib:=
X? ( dev-qt/qtx11extras:5 )
autotype? (
x11-libs/libX11
x11-libs/libXtst
)
keeshare? ( sys-libs/zlib:=[minizip] )
yubikey? (
dev-libs/libusb:1
sys-apps/pcsc-lite
)
"
DEPEND="${RDEPEND}
dev-qt/qttest:5
"
BDEPEND="
dev-qt/linguist-tools:5
doc? ( dev-ruby/asciidoctor )
"
PATCHES=( "${FILESDIR}"/${P}-tests.patch )
src_prepare() {
if [[ "${PV}" != *_beta* ]] && [[ "${PV}" != *9999 ]] && [[ ! -f .version ]] ; then
printf '%s' "${PV}" > .version || die
fi
cmake_src_prepare
}
src_configure() {
# https://github.com/keepassxreboot/keepassxc/issues/5801
filter-flags -flto*
local mycmakeargs=(
# Gentoo users enable ccache via e.g. FEATURES=ccache or
# other means. We don't want the build system to enable it for us.
-DWITH_CCACHE=OFF
-DWITH_GUI_TESTS=OFF
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_DOCS="$(usex doc)"
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_FDOSECRETS=ON
-DWITH_XC_KEESHARE="$(usex keeshare)"
-DWITH_XC_NETWORKING="$(usex network)"
-DWITH_XC_SSHAGENT=ON
-DWITH_XC_UPDATECHECK=OFF
-DWITH_XC_YUBIKEY="$(usex yubikey)"
-DWITH_XC_X11="$(usex X)"
)
if [[ "${PV}" == *_beta* ]] ; then
mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
fi
cmake_src_configure
}

@ -6,7 +6,8 @@ EAPI=8
inherit cmake flag-o-matic xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org"
HOMEPAGE="https://keepassxc.org/
https://github.com/keepassxreboot/keepassxc/"
if [[ "${PV}" != *9999 ]] ; then
if [[ "${PV}" == *_beta* ]] ; then
@ -67,7 +68,7 @@ src_prepare() {
printf '%s' "${PV}" > .version || die
fi
cmake_src_prepare
cmake_src_prepare
}
src_configure() {

@ -17,7 +17,7 @@ S="${WORKDIR}"/${PN}-${MY_PV}
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~ppc sparc x86"
KEYWORDS="amd64 ppc sparc x86"
BDEPEND="app-arch/unzip"

Binary file not shown.

@ -1,2 +1 @@
DIST tarlz-0.22.tar.lz 105724 BLAKE2B 7921f7085d63f553f745cf8b7fee43ece32346a0804e41227806efae0ab338c48ee1830a8b087f03000a27fcf44338b3dba6d52d37f4de790d8b7bc5f0234ade SHA512 4e241ea0571e421c93fbeeb54a20e73fd4a7e9c85dc3b24295caec1a52e156cdcf5e85f4ee41f5dfae712b851d17fe0e96955380bb86306d8002f4187d0c60ec
DIST tarlz-0.23.tar.lz 112276 BLAKE2B 87153b1e843ed74b5efd339d29e79ddef2bbd11ff951898383ae4c6c099f4e97ef58b8bd2f14ff5bff2cfd6baccb433ab55b9b9b78d0893caef5bd1f4d07a36e SHA512 623407142d03e0ddae3dbb057b8ef5f1aea850418dbb47c6278affa42c88bc1786cd3249d1e8c018643f41516787225cb2ed3aca2fc02ba8e65dfe4744f965d8

@ -1,27 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs unpacker
DESCRIPTION="A parallel archiver combining tar and lzip"
HOMEPAGE="https://www.nongnu.org/lzip/tarlz.html"
SRC_URI="https://download.savannah.gnu.org/releases/lzip/${PN}/${P}.tar.lz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64"
RDEPEND=">=app-arch/lzlib-1.12"
DEPEND="${RDEPEND}"
BDEPEND="$(unpacker_src_uri_depends)"
src_configure() {
econf \
CXX="$(tc-getCXX)" \
CXXFLAGS="${CXXFLAGS}" \
CPPFLAGS="${CPPFLAGS}" \
LDFLAGS="${LDFLAGS}"
}

@ -11,7 +11,7 @@ SRC_URI="https://download.savannah.gnu.org/releases/lzip/${PN}/${P}.tar.lz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
RDEPEND="
>=app-arch/lzlib-1.12

@ -1 +1,2 @@
DIST unrar-6.1.7.tar.gz 236798 BLAKE2B e33a7500b4a03a54f84b018ab90934366f52ef54c83257ed7fe4419ba993d2a8c21de26f445ae18d870aa5232cfbf1f5d8fbc0b3965803aeec6cac5e5a38e949 SHA512 b1a95358ff66b0e049597bbc4e1786d0bc909a8aff4aca94ee793d0d5a3c8b052eb347d88f44b6bc2e6231e777f1b711c198711118ae9ffbe8db2f72e7fbe846
DIST unrar-6.2.1.tar.gz 242918 BLAKE2B 55cd5d11caae2e6cef2a36f5656b76d96946d6d7df3f34d7c65cc31b43b820d955da4751666797f8147c6a7b20c3429527b2b1629842334d3bec6de49e1d6a72 SHA512 920819b4b3e76004492813b4c22309443976fe5e7c873032bc084603b902c6873775cb90cb173d78de3624a3161a2238c9ece1e817f6b7d915937e2e18d8def9

@ -0,0 +1,65 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit multilib toolchain-funcs
MY_PN="${PN}src"
DESCRIPTION="Uncompress rar files"
HOMEPAGE="https://www.rarlab.com/rar_add.htm"
SRC_URI="https://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/unrar"
LICENSE="unRAR"
SLOT="0/6" # subslot = soname version
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
PATCHES=(
"${FILESDIR}"/${PN}-5.9.3-build.patch
"${FILESDIR}"/${PN}-5.5.5-honor-flags.patch
)
src_prepare() {
default
local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
if [[ ${CHOST} == *-darwin* ]] ; then
sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
else
sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
fi
sed -i "${sed_args[@]}" makefile || die
}
src_configure() {
mkdir -p build-{lib,bin} || die
printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
cp build-{lib,bin}/Makefile || die
}
src_compile() {
unrar_make() {
emake AR="$(tc-getAR)" CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
}
unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
unrar_make -C build-bin
}
src_install() {
dobin build-bin/unrar
dodoc readme.txt
dolib.so build-lib/libunrar*
insinto /usr/include/libunrar${PV%.*.*}
doins *.hpp
dosym libunrar${PV%.*.*} /usr/include/libunrar
find "${ED}" -type f -name "*.a" -delete || die
}

@ -1 +1,2 @@
DIST xarchiver-0.5.4.19.tar.gz 1120885 BLAKE2B 4b8b9e188b16b799f33a1816a5f19a0f67720369282239e3a22af8588b9776ee37dbc63cb1b42a426c515a360aeb1abda84b22e783bd8e4e3578eb2f2fb66ab6 SHA512 f35846bcb1236957d4201980eb1c9e49e16472ab2316935c9f8c94a9b4c3c2da879cd2730c3413041098042251607432f6af1cbacadd97b81efb81180fa5ee6a
DIST xarchiver-0.5.4.20.tar.gz 1120317 BLAKE2B dbeb21492a4045d504aac92c28847a91c23e0feedeb82074fe89736f64b2b7d09b41bbefe321441c51736a8273267ac13dd616d4f61ba1b9e72cc805e749aa79 SHA512 c05be6f69a576988ca1a67c1664e4e4e3c53588ef4c85ce943e204ae72b08e705eb20be1018274c5420e30c5ed71d773bdacccc538ab458d658fba494c097777

@ -0,0 +1,61 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit xdg-utils
DESCRIPTION="A GTK+ archive manager that can be used with Thunar"
HOMEPAGE="https://github.com/ib/xarchiver/"
SRC_URI="
https://github.com/ib/xarchiver/archive/${PV}.tar.gz -> ${P}.tar.gz
"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc"
DEPEND="
>=dev-libs/glib-2:=
x11-libs/gtk+:3=
"
RDEPEND="
${DEPEND}
"
BDEPEND="
dev-util/intltool
sys-devel/gettext
virtual/pkgconfig
doc? (
app-text/docbook-xml-dtd
app-text/docbook-xsl-stylesheets
dev-libs/libxml2
dev-libs/libxslt
)
"
src_configure() {
local myconf=(
$(use_enable doc)
)
econf "${myconf[@]}"
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
elog "You need external programs for some formats, including:"
elog "7zip - app-arch/p7zip"
elog "arj - app-arch/arj"
elog "lha - app-arch/lha"
elog "lzop - app-arch/lzop"
elog "rar - app-arch/unrar app-arch/rar"
elog "zip - app-arch/unzip app-arch/zip"
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

@ -1,5 +1,3 @@
DIST xz-5.2.5.tar.gz 1791345 BLAKE2B aded57324e129572c41646b3cc3b0b59a459452d9338d9245663b63dac2a463fb1f1b2b1d2d4ad3c09cb71fb8439df52cd94f24db99e782fc899b94a288a3043 SHA512 7443674247deda2935220fbc4dfc7665e5bb5a260be8ad858c8bd7d7b9f0f868f04ea45e62eb17c0a5e6a2de7c7500ad2d201e2d668c48ca29bd9eea5a73a3ce
DIST xz-5.2.5.tar.gz.sig 566 BLAKE2B 8b40d8d7913eaebe2595ea41a735d972d1969d8b58f42b2bee6591b51e2e626473fc85d64f1bbbff3cba6b0e1b4423556d6ddaf16f646ccc18ba1bad5cf45d83 SHA512 3aa21484bef0282ed0b83e3fcd5cf3d87bf51fa68e24d55bb11f91bc96f0ac29f468949bc4c8cc20fbd6ad12f5735686fe09ee42efe2b8d728010da9668aa5a9
DIST xz-5.2.6.tar.gz 2069602 BLAKE2B 3cc160dc76944ad2a181fbfb23ce386dbbd04e75bbeb0b159aaaf82e2e8157ea8b2bb80b216d79a7c25339bfbd13bd9d8c261789829cc7c3cb86fc893a7b4b94 SHA512 090958dd6c202c989746686094c86707ad4ae835026640080fc0a9d0fad699821b7d5cb3a67e6700661a0938818ba153662366f89ab8ec47e0bae4a3fe9b1961
DIST xz-5.2.6.tar.gz.sig 566 BLAKE2B 7c6114d93b4e3c8553108da3985029fc4585bfea5d72fc5028024221e91cc43c3b6cd3b7d169e4c8afed445a6beef7c255ef8420c5266a22ee9449a57cacec5d SHA512 50a1ac0f8f87f8c04c25c69870ba054094abf20b668bdecd42ed247a2eff24b8e52178b6442da84c125a9401a6f98d40ca76b27453833a30807c83128ab70eee
DIST xz-5.2.7.tar.gz 2105803 BLAKE2B 5363c5d0403e041c6d2e35b5d3321feeb8e63b8556496373c820975850b50e28e0da903446a49ba516fd9f40e0101dd39cfa9a9b8dd143c9849c84a715bb5d7b SHA512 06329fdbd1d897aa99dc96900c6246457288c586d02bb4869a92dd2f97973f95acb3a2fa9598a20613ea029f816836a8e3b65e36fec2b807b5e7553141429ab9

@ -1,88 +0,0 @@
https://bugs.gentoo.org/837155
https://git.tukaani.org/?p=xz.git;a=commitdiff;h=69d1b3fc29677af8ade8dc15dba83f0589cb63d6;hp=bd93b776c1bd15e90661033c918cdeb354dbcc38
From: Lasse Collin <lasse.collin@tukaani.org>
Date: Tue, 29 Mar 2022 19:19:12 +0300
Subject: [PATCH 1/1] xzgrep: Fix escaping of malicious filenames
(ZDI-CAN-16587).
Malicious filenames can make xzgrep to write to arbitrary files
or (with a GNU sed extension) lead to arbitrary code execution.
xzgrep from XZ Utils versions up to and including 5.2.5 are
affected. 5.3.1alpha and 5.3.2alpha are affected as well.
This patch works for all of them.
This bug was inherited from gzip's zgrep. gzip 1.12 includes
a fix for zgrep.
The issue with the old sed script is that with multiple newlines,
the N-command will read the second line of input, then the
s-commands will be skipped because it's not the end of the
file yet, then a new sed cycle starts and the pattern space
is printed and emptied. So only the last line or two get escaped.
One way to fix this would be to read all lines into the pattern
space first. However, the included fix is even simpler: All lines
except the last line get a backslash appended at the end. To ensure
that shell command substitution doesn't eat a possible trailing
newline, a colon is appended to the filename before escaping.
The colon is later used to separate the filename from the grep
output so it is fine to add it here instead of a few lines later.
The old code also wasn't POSIX compliant as it used \n in the
replacement section of the s-command. Using \<newline> is the
POSIX compatible method.
LC_ALL=C was added to the two critical sed commands. POSIX sed
manual recommends it when using sed to manipulate pathnames
because in other locales invalid multibyte sequences might
cause issues with some sed implementations. In case of GNU sed,
these particular sed scripts wouldn't have such problems but some
other scripts could have, see:
info '(sed)Locale Considerations'
This vulnerability was discovered by:
cleemy desu wayo working with Trend Micro Zero Day Initiative
Thanks to Jim Meyering and Paul Eggert discussing the different
ways to fix this and for coordinating the patch release schedule
with gzip.
--- a/src/scripts/xzgrep.in
+++ b/src/scripts/xzgrep.in
@@ -180,22 +180,26 @@ for i; do
{ test $# -eq 1 || test $no_filename -eq 1; }; then
eval "$grep"
else
+ # Append a colon so that the last character will never be a newline
+ # which would otherwise get lost in shell command substitution.
+ i="$i:"
+
+ # Escape & \ | and newlines only if such characters are present
+ # (speed optimization).
case $i in
(*'
'* | *'&'* | *'\'* | *'|'*)
- i=$(printf '%s\n' "$i" |
- sed '
- $!N
- $s/[&\|]/\\&/g
- $s/\n/\\n/g
- ');;
+ i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/');;
esac
- sed_script="s|^|$i:|"
+
+ # $i already ends with a colon so don't add it here.
+ sed_script="s|^|$i|"
# Fail if grep or sed fails.
r=$(
exec 4>&1
- (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
+ (eval "$grep" 4>&-; echo $? >&4) 3>&- |
+ LC_ALL=C sed "$sed_script" >&3 4>&-
) || r=2
exit $r
fi >&3 5>&-

@ -1,118 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Remember: we cannot leverage autotools in this ebuild in order
# to avoid circular deps with autotools
EAPI=7
inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://git.tukaani.org/xz.git"
inherit git-r3 autotools
# bug #272880 and bug #286068
BDEPEND="sys-devel/gettext >=sys-devel/libtool-2"
else
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/lassecollin.asc
inherit verify-sig
MY_P="${PN/-utils}-${PV/_}"
SRC_URI="https://tukaani.org/xz/${MY_P}.tar.gz"
SRC_URI+=" verify-sig? ( https://tukaani.org/xz/${MY_P}.tar.gz.sig )"
if [[ ${PV} != *_alpha* ]] && [[ ${PV} != *_beta* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
S="${WORKDIR}/${MY_P}"
fi
DESCRIPTION="Utils for managing LZMA compressed files"
HOMEPAGE="https://tukaani.org/xz/"
# See top-level COPYING file as it outlines the various pieces and their licenses.
LICENSE="public-domain LGPL-2.1+ GPL-2+"
SLOT="0"
IUSE="+extra-filters nls static-libs"
RDEPEND="!<app-arch/lzma-4.63
!<app-arch/p7zip-4.57
!<app-i18n/man-pages-de-2.16"
DEPEND="${RDEPEND}"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-lassecollin )"
# Tests currently do not account for smaller feature set
RESTRICT="!extra-filters? ( test )"
PATCHES=(
"${FILESDIR}"/${P}-xzgrep-ZDI-CAN-16587.patch
)
src_prepare() {
default
if [[ ${PV} == 9999 ]] ; then
eautopoint
eautoreconf
else
# Allow building shared libs on Solaris/x64
elibtoolize
fi
}
multilib_src_configure() {
local myconf=(
--enable-threads
$(use_enable nls)
$(use_enable static-libs static)
)
if ! multilib_is_native_abi ; then
myconf+=(
--disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
)
fi
if ! use extra-filters ; then
myconf+=(
# LZMA1 + LZMA2 for standard .lzma & .xz files
--enable-encoders=lzma1,lzma2
--enable-decoders=lzma1,lzma2
# those are used by default, depending on preset
--enable-match-finders=hc3,hc4,bt4
# CRC64 is used by default, though some (old?) files use CRC32
--enable-checks=crc32,crc64
)
fi
if [[ ${CHOST} == *-solaris* ]] ; then
export gl_cv_posix_shell="${EPREFIX}"/bin/sh
# Undo Solaris-based defaults pointing to /usr/xpg5/bin
myconf+=( --disable-path-for-script )
fi
ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
multilib_src_install() {
default
gen_usr_ldscript -a lzma
}
multilib_src_install_all() {
find "${ED}" -type f -name '*.la' -delete || die
rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
}

@ -23,7 +23,7 @@ else
SRC_URI+=" verify-sig? ( https://tukaani.org/xz/${MY_P}.tar.gz.sig )"
if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
S="${WORKDIR}/${MY_P}"

@ -41,9 +41,6 @@ if [[ ${PV} != 9999 ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-lassecollin )"
fi
# Tests currently do not account for smaller feature set
RESTRICT="!extra-filters? ( test )"
src_prepare() {
default

Binary file not shown.

@ -1,2 +1 @@
DIST dar-2.7.6.tar.gz 2410200 BLAKE2B 925b4854c66fec9287e0f42d213f94f208b5248d09eb6abe4e36a41df1fc57641d7a6b41e1f8aaa202e6f74ad04399c70a8cb74dc63685985a5671ba54efdf93 SHA512 517fa06a5b8caa53ad111e4287446583f328ee2027169db067610877e05291e63179c1bdd92312a6885d1c7eba0566a86301e974d1d48df56f0fce9ccfdb3a19
DIST dar-2.7.7.tar.gz 2410835 BLAKE2B c2b1cff205a7af0b714808bbb952677ffdfa8d62289d412e4e3056db16f5c204a2eecc8f770ff57d18839218ff1babcb5c56c9729e03316d698a351dacf47e25 SHA512 984328cff1ed3338707858aced83a6a18e950581f02dd686a2a01668f6c374d0af2d98ba49068a61624641fcfbb139ae893d02e5b5f303b8b26d8e05fcb6a229

@ -1,91 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic
DESCRIPTION="A full featured backup tool, aimed for disks"
HOMEPAGE="http://dar.linux.free.fr/"
SRC_URI="mirror://sourceforge/dar/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc sparc x86 ~amd64-linux"
IUSE="argon2 curl dar32 dar64 doc gcrypt gpg lz4 lzo nls rsync threads xattr"
REQUIRED_USE="?? ( dar32 dar64 )
gpg? ( gcrypt )"
RESTRICT="test" # need to be run as root
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils
app-arch/zstd:=
sys-libs/libcap
>=sys-libs/zlib-1.2.3:=
argon2? ( app-crypt/argon2:= )
curl? ( net-misc/curl )
gcrypt? (
dev-libs/libgcrypt:0=
dev-libs/libgpg-error
)
gpg? ( app-crypt/gpgme:= )
lz4? ( app-arch/lz4:= )
lzo? ( dev-libs/lzo:2 )
nls? ( virtual/libintl )
rsync? ( net-libs/librsync:= )
threads? ( dev-libs/libthreadar )
xattr? ( sys-apps/attr )
"
DEPEND="${RDEPEND}"
BDEPEND="
doc? ( app-doc/doxygen )
nls? ( sys-devel/gettext )
"
src_configure() {
# configure.ac is totally funked up regarding the AC_ARG_ENABLE
# logic.
# For example "--enable-dar-static" causes configure to DISABLE
# static builds of dar.
# Do _not_ use $(use_enable) until you have verified that the
# logic has been fixed by upstream.
local myconf=(
--disable-dar-static
--disable-python-binding
--disable-upx
$(usev !argon2 --disable-libargon2-linking)
$(usev !curl --disable-libcurl-linking)
$(usev dar32 --enable-mode=32)
$(usev dar64 --enable-mode=64)
$(usev !doc --disable-build-html)
$(usev !gcrypt --disable-libgcrypt-linking)
$(usev !gpg --disable-gpgme-linking)
$(usev !lz4 --disable-liblz4-linking)
$(usev !lzo --disable-liblzo2-linking)
$(usev !nls --disable-nls)
$(usev !rsync --disable-librsync-linking)
$(usev !threads --disable-threadar)
$(usev !xattr --disable-ea-support)
)
# Bug 103741
filter-flags -fomit-frame-pointer
econf "${myconf[@]}"
}
src_install() {
emake DESTDIR="${D}" pkgdatadir="${EPREFIX}"/usr/share/doc/${PF}/html install
einstalldocs
find "${ED}" -name "*.la" -delete || die
# Bug 729150
rm "${ED}/usr/share/doc/${PF}/html/samples/MyBackup.sh.tar.gz" || die
}

Binary file not shown.

@ -0,0 +1,20 @@
https://sourceforge.net/p/mhash/patches/11/
Compiling mhash-0.9.9.9 on platforms (like AIX) without GNU libc compatible malloc leads to undefined symbol rpl_malloc
when linking the in-mhash executables drver, frag_test, rest_test, hmac_test, keygen_test.
Reason is that configure.in still contains AC_FUNC_MALLOC, detecting need
to "#define malloc rpl_malloc", while mhash does not provide a rpl_malloc implementation.
As the only use of malloc() in lib/stdfns.c does not rely on GNU libc
compatible malloc actually, there is no need to check for one.
--- a/configure.in
+++ b/configure.in
@@ -64,7 +64,6 @@ AC_CHECK_HEADERS(signal.h stdint.h stdio.h stdlib.h string.h strings.h)
dnl Checks for functions
-AC_FUNC_MALLOC
AC_FUNC_MEMCMP
AC_CHECK_FUNCS(bcopy bzero)

@ -25,6 +25,7 @@ PATCHES=(
"${FILESDIR}"/${P}-force64bit-tiger.patch
"${FILESDIR}"/${P}-align.patch
"${FILESDIR}"/${P}-alignment.patch
"${FILESDIR}"/${P}-no-malloc-check.patch
)
DOCS=( doc/example.c doc/skid2-authentication )
@ -45,9 +46,6 @@ src_prepare() {
}
src_configure() {
# https://sourceforge.net/p/mhash/patches/11/
export ac_cv_func_malloc_0_nonnull=yes
econf $(use_enable static-libs static)
}

Binary file not shown.

@ -2,3 +2,4 @@ DIST dict-en-20210601.oxt 6104083 BLAKE2B 192252e85918d3d47167ff9243f70178bc548d
DIST dict-en-20220701_lo.oxt 6124450 BLAKE2B 0fcd479efcbe9cbf6d2e7d479cb070b32bcf62d6ab6154e64c27d155dbc6d9e7521aee4a76e08288b77b583a7f3273f7817694a3b7fe194861ac64b785188ce8 SHA512 3df04d9ff2edf12d1d717a6b95893cf69e394fe2cbdcba77d0c804b37500feeaf42379d743f3c21cb9c8f8ae17ad2eb990806ea3f9fc8af954bd7b89f3253a4d
DIST dict-en-20220801_lo.oxt 6098496 BLAKE2B 38d216627665aac750528f29eef09baee43bc4cddfe931f8b6a4fa69442fa0489dc89a996850d93a4fc955953e6d33f7950f2efa2549932dbdb862bb07505ac1 SHA512 4ec52df3fafe6432b522f0b2912b3c046820518fd11079ae46506fc120943c31df46820164c7a786881797ae3508263d34e26c6226d23b861097926d7dd396e4
DIST dict-en-20220901_lo.oxt 6098929 BLAKE2B 61b5e20b567561b7418ad9a932bf14dcd2048a874330faa86e10ae456b360ba287030a7c33146447134e20c10084e5f77d986e8bce87f215447a06cd492e8fc2 SHA512 d3f6decbd55956176651813dd8a9364bb8c8b296645c215deebf556f0ddf0e6a61da306c12d01943a8dddf2f765b577d40d55d24e1bbdf08803ac501814364b2
DIST dict-en-20221001_lo.oxt 6099681 BLAKE2B 206380ca9da3198cc057a43f71b9bc1bcbf2c2794f4bcff8893b86bacb2201f7709a645e98b131072a92df5dc5a95127807e2f5726d1224fe3fa75e11bd93b50 SHA512 d08f66829f3d5f03c1cfcefb4981af016f1f7127fbccfbe76cf40cbcdf70ad4c5d612517fe6beb4d0457e5cdd4e779b5816d9685468e5b3cb0c8058efa064c74

@ -0,0 +1,53 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit myspell-r2
DESCRIPTION="English dictionaries for myspell/hunspell"
HOMEPAGE="https://extensions.libreoffice.org/extensions/english-dictionaries"
SRC_URI="https://extensions.libreoffice.org/assets/downloads/41/1664437278/dict-en-20221001_lo.oxt"
LICENSE="BSD MIT LGPL-3+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
PLOCALES=( "en" "en-AU" "en-CA" "en-GB" "en-US" "en-ZA" )
IUSE+="${PLOCALES[@]/#/l10n_}"
REQUIRED_USE="|| ( ${IUSE[@]} )"
src_prepare() {
if use l10n_en-GB || use l10n_en; then
MYSPELL_HYPH+=( "hyph_en_GB.dic" )
fi
if use l10n_en-US || use l10n_en; then
MYSPELL_THES+=(
"th_en_US_v2.dat"
"th_en_US_v2.idx"
)
MYSPELL_HYPH+=( "hyph_en_US.dic" )
fi
MYSPELL_DICT=( )
for lang in "${PLOCALES[@]}"; do
if [[ "${lang}" == "en" ]]; then
continue
fi
local mylinguas="${lang//-/_}"
if use "l10n_${lang}" || use l10n_en; then
MYSPELL_DICT+=( "${mylinguas}.aff" "${mylinguas}.dic" )
else
rm "README_${mylinguas}.txt" || die
if [[ ${lang} == "en-US" ]]; then
rm "README_hyph_en_US.txt" || die
fi
if [[ ${lang} == "en-GB" ]]; then
rm "README_hyph_en_GB.txt" || die
rm "README_en_GB_thes.txt" || die
fi
fi
done
default
}

Binary file not shown.

@ -1,4 +1,4 @@
DIST vim-core-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
DIST vim-core-9.0.0399.tar.gz 16833387 BLAKE2B f9d6588920b49ef32b82d012e1c4f8a34dc505267b67027a3b4302dd99d7987645c29a91fdb234fffa873b342488b4d9c85d05d3fe7a332042781881a61bea5e SHA512 6b261bf3aaa355e7a42de1785b134bccc51086495578730b9bc3b8e048679caa3a901e576a360cba5f1aa4d164c7f162a3f916e945b3f5f71e893ea30e0ca826
DIST vim-core-9.0.0655.tar.gz 16804127 BLAKE2B e021ff4dd370cdd9b39fb9df0a12309215abd780ec297760b92b6caf924882465b28f9ba65d94ad75a229eb01c8f393f24a29a11919a96d78bb6fb45ef2971e3 SHA512 aa267941e835eecbeeffa7989fb525bdf4269f84d9c88d135a26d74ab7d025487863405b6e0f1391023c30193a122ed3e85a7a71bd4dc48058f3fe3377798f38
DIST vim-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
DIST vim-9.0.0399.tar.gz 16833387 BLAKE2B f9d6588920b49ef32b82d012e1c4f8a34dc505267b67027a3b4302dd99d7987645c29a91fdb234fffa873b342488b4d9c85d05d3fe7a332042781881a61bea5e SHA512 6b261bf3aaa355e7a42de1785b134bccc51086495578730b9bc3b8e048679caa3a901e576a360cba5f1aa4d164c7f162a3f916e945b3f5f71e893ea30e0ca826
DIST vim-9.0.0655.tar.gz 16804127 BLAKE2B e021ff4dd370cdd9b39fb9df0a12309215abd780ec297760b92b6caf924882465b28f9ba65d94ad75a229eb01c8f393f24a29a11919a96d78bb6fb45ef2971e3 SHA512 aa267941e835eecbeeffa7989fb525bdf4269f84d9c88d135a26d74ab7d025487863405b6e0f1391023c30193a122ed3e85a7a71bd4dc48058f3fe3377798f38
DIST vim-patches-vim-9.0.0049-patches.tar.gz 2743 BLAKE2B dff3e215b235e1cbc2c62b1af2d1414d10b794dbee9f5e7797fb3d34e00c2e065c339d4c82bf28aed53e0b5f2f8f1ee5c7ce69851cd63360788609bf144ac922 SHA512 7d5c64d674fa77048fdca7287072c0e488723133e254c10711dbadf750416c368725327ca9b76f332017bc70aa544a9baef671765eabf0d172d39921ffd7d942

@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
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 -> ${P}.tar.gz
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi

@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
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 -> ${P}.tar.gz
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi

@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
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 -> ${P}.tar.gz
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi

@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
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 -> ${P}.tar.gz
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi

Binary file not shown.

@ -1 +1,2 @@
DIST projectile-2.5.0.tar.gz 1915860 BLAKE2B 4d215e2c1e44c7f85121fc36445112f3064129fe95866b4fbb2e14b11d31519057d9cc69bcdf44c82cd516768cc73a031da48a7c5352b9825816db54810cafcb SHA512 3faeb7db70e5e2198ad307c1d5d24a5fadd207765387e7094691e40071411506e6df690995f923bf246b7176173ca41882d369276862b631d7436747bfeae3a3
DIST projectile-2.6.0.tar.gz 1922935 BLAKE2B 40e5fc3d152b4fa244bb42cd606d4d6c92e9a212a3d58b7e5e3b333a6b9eb07ca05d61c18aa1859ba5e99872c92f2b8ae11442e5ebda22b057cb49017b1deff8 SHA512 28898d8e48c1dc90ada0f3648e8ef96bff96a3873af61d7f454160fa9fb5f2e8b08c7e0ab99953170b252a29bc04ccb3c10803807b0b96cfcead167855642fed

@ -0,0 +1,28 @@
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
NEED_EMACS="25.1"
inherit elisp
DESCRIPTION="A project interaction library for Emacs"
HOMEPAGE="https://docs.projectile.mx"
SRC_URI="https://github.com/bbatsov/projectile/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="test? ( app-emacs/buttercup )"
SITEFILE="50projectile-gentoo.el"
DOCS=( README.md )
src_test() {
mkdir -p "${HOME}"/.emacs.d || die # For "projectile--directory-p" test
buttercup -L . -L test --traceback full || die
}

Binary file not shown.

@ -1,2 +1 @@
DIST diskimage-builder-3.24.0.tar.gz 511917 BLAKE2B 4db5132d449c932202ede7a4d9e9f5711b667c39f3dad51dcd68ec81f49a71bafc4bfb09de363a5d16cac89942385a0b43b1adb31424581ccf0c903c0df5f80e SHA512 1e98e8c8886f2d046ccb2b02a647e294ba2d8bd691168678ef81ddab889f8945bae3c46e5e26ad03e0b2311c367bf3dd5d4bd2f07baab6e2002433ca1dfe0f74
DIST diskimage-builder-3.25.0.tar.gz 512950 BLAKE2B 3a0c5658df5bc2498d4656b77c152dba9bedbbc342b53b20b88e89327cbb98e9c8e5dd8de97cc0b7b0bd31f01cd4d425e8e2f158bde24746b08a460db4ac79da SHA512 e602a9e8e3a8cef1c3cc62fcb3074183a4028c70f2b9e9c27416b6244773eb7cf2aa33a5bf38dca5f10dcfbee5d80eaffa9287e14beccb065cec3ddaf7a76ff7

@ -1,39 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Golden Disk Image builder"
HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
!~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}"
RDEPEND="${CDEPEND}
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
app-emulation/qemu
sys-block/parted
sys-fs/multipath-tools
sys-fs/dosfstools
sys-apps/gptfdisk
!dev-python/dib-utils[${PYTHON_USEDEP}]"

@ -15,7 +15,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0/$(ver_cut 1-2)"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
RESTRICT="mirror"

@ -24,7 +24,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpac
LICENSE="PUEL"
SLOT="0/$(ver_cut 1-2)"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
RESTRICT="bindist mirror strip"

@ -19,7 +19,7 @@ SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="X"
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist

@ -16,7 +16,7 @@ SRC_URI="https://github.com/ceamac/virtualbox-modules-dist/releases/download/v${
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE="pax-kernel"
S="${WORKDIR}"

@ -34,7 +34,7 @@ S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0/$(ver_cut 1-2)"
if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~amd64"
KEYWORDS="amd64"
fi
IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pch pulseaudio +opengl python +qt5 +sdk +sdl +udev vboxwebsrv vnc"

@ -1,4 +1,8 @@
DIST vkd3d-proton-2.6-dxil-spirv.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
DIST vkd3d-proton-2.6-spirv-headers.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
DIST vkd3d-proton-2.6-vulkan-headers.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
DIST vkd3d-proton-2.7.tar.gz 1403317 BLAKE2B 4ae975537ac1f39d38155b106aed3fa5542925f0980c23ad2fa8f1f9cf168b104311d14b7ba68a539fd92ab131cc878d8822ff23b551ca6ba9b3b86ac580f927 SHA512 a8d055dc7bc1ecdd7edcb5dafe304804cd516623f6771b786778a2ef6a0e7ebc4ba6ce53897b2ee830eb6dc39da16805c638f1db56444385febedd13276aed18
DIST vkd3d-proton-dxil-spirv-2166bc7ea0.tar.gz 688874 BLAKE2B 746dc8232ca0130f2b693ab7b9d3d93a4c514eacc473fa5d6fa91580e9daac48e9a51e63e93d3907f95c980e922ad3599190740dc280ef2ba1c96a4aea975416 SHA512 0a3308a10d3afc636e55c44fc4f2f3d067b5b828a6a93f3832698faf9a6ee26d53d25ad7eb0cbd6074b29395d073422434d63dd55004ce64e0aaf73334e4f5cc
DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
DIST vkd3d-proton-vulkan-headers-5177b119bb.tar.gz 1588963 BLAKE2B 3e973c9fc1fd8c8f725fbe8dbd67ca451aa7ffbb202d2395f3b26bbad9cb4e9e39514c7c78825be7ca122ccd5b434adb0b3fcce25cb7fff7c831dcc5909bbdc3 SHA512 3848e5b14f73dda60f133d396742a9a2aa2fc3914b8cbd8bde90e392437398321865ade63e81ec99a83af20a42424cf2c6d06e4dda0d7323486d59fbc4504a3b
DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96

@ -17,15 +17,15 @@ if [[ ${PV} == 9999 ]]; then
subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
)
else
VKD3D_HASH=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
DXIL_HASH=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
SPIRV_HASH=ae217c17809fadb232ec94b29304b4afcd417bb4
VULKAN_HASH=83e1a9ed8ce289cebb1c02c8167d663dc1befb24
HASH_VKD3D=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
HASH_DXIL=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
HASH_VULKAN=83e1a9ed8ce289cebb1c02c8167d663dc1befb24
SRC_URI="
https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/HansKristian-Work/dxil-spirv/archive/${DXIL_HASH}.tar.gz -> ${P}-dxil-spirv.tar.gz
https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HASH}.tar.gz -> ${P}-vulkan-headers.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HASH}.tar.gz -> ${P}-spirv-headers.tar.gz"
https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz -> ${PN}-dxil-spirv-${HASH_DXIL::10}.tar.gz
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
@ -51,11 +51,11 @@ pkg_pretend() {
eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
use abi_x86_32 && use abi_x86_64 &&
eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
die "USE=crossdev-mingw is set but ${tool} was not found"
die "USE=crossdev-mingw is enabled, but ${tool} was not found"
elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
eerror "${PN} requires GCC to be built with --enable-threads=posix"
eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
fi
done
tool=-w64-mingw32-widl
@ -72,9 +72,9 @@ pkg_pretend() {
src_prepare() {
if [[ ${PV} != 9999 ]]; then
rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
mv ../dxil-spirv-${DXIL_HASH} subprojects/dxil-spirv || die
mv ../SPIRV-Headers-${SPIRV_HASH} subprojects/SPIRV-Headers || die
mv ../Vulkan-Headers-${VULKAN_HASH} subprojects/Vulkan-Headers || die
mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
mv ../SPIRV-Headers-${HASH_SPIRV} subprojects/SPIRV-Headers || die
mv ../Vulkan-Headers-${HASH_VULKAN} subprojects/Vulkan-Headers || die
ln -s ../../../SPIRV-Headers/include \
subprojects/dxil-spirv/third_party/spirv-headers || die
fi
@ -85,8 +85,8 @@ src_prepare() {
if [[ ${PV} != 9999 ]]; then
# without .git, meson sets vkd3d_build as 0x${PV} leading to failure
sed -i "s/@VCS_TAG@/${VKD3D_HASH::15}/" vkd3d_build.h.in || die
sed -i "s/@VCS_TAG@/${VKD3D_HASH::7}/" vkd3d_version.h.in || die
sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
fi
}
@ -160,7 +160,7 @@ pkg_postinst() {
# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
local wine
for wine in app-emulation/wine-{vanilla,staging}; do
has_version ${wine} && ! has_version ${wine}[vulkan] &&
has_version ${wine} && ! has_version "${wine}[vulkan]" &&
ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
done
}

@ -0,0 +1,171 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
inherit flag-o-matic meson-multilib toolchain-funcs
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/HansKristian-Work/vkd3d-proton.git"
EGIT_SUBMODULES=(
# uses hacks / recent features and easily breaks, keep bundled headers
# (also cross-compiled and -I/usr/include is troublesome)
subprojects/{SPIRV,Vulkan}-Headers
subprojects/dxil-spirv
subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
)
else
HASH_VKD3D=4df366172e025c23621c8df5a794de90de165d97 # match tag on bumps
HASH_DXIL=2166bc7ea0ceb2d7ff6d787d9b007f7eb7d4aaa8
HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
HASH_VULKAN=5177b119bbdf463b7b909855a83230253c2d8b68
SRC_URI="
https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz -> ${PN}-dxil-spirv-${HASH_DXIL::10}.tar.gz
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
LICENSE="LGPL-2.1+ Apache-2.0 MIT"
SLOT="0"
IUSE="+abi_x86_32 crossdev-mingw debug extras"
BDEPEND="
dev-util/glslang
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
pkg_pretend() {
[[ ${MERGE_TYPE} == binary ]] && return
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
local tool=-w64-mingw32-g++
for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
if ! type -P ${tool} >/dev/null; then
eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
use abi_x86_32 && use abi_x86_64 &&
eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
die "USE=crossdev-mingw is enabled, but ${tool} was not found"
elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
eerror "${PN} requires GCC to be built with --enable-threads=posix"
eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
fi
done
tool=-w64-mingw32-widl
for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
fi
done
fi
}
src_prepare() {
if [[ ${PV} != 9999 ]]; then
rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
mv ../SPIRV-Headers-${HASH_SPIRV} subprojects/SPIRV-Headers || die
mv ../Vulkan-Headers-${HASH_VULKAN} subprojects/Vulkan-Headers || die
# dxil and vkd3d's spirv headers currently mismatch and incompatible
rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
subprojects/dxil-spirv/third_party/spirv-headers || die
fi
default
sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
if [[ ${PV} != 9999 ]]; then
# without .git, meson sets vkd3d_build as 0x${PV} leading to failure
sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
fi
}
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
if [[ ${CHOST} != *-mingw* ]]; then
if [[ ! -v MINGW_BYPASS ]]; then
unset AR CC CXX RC STRIP WIDL
filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
filter-flags '-fuse-ld=*'
fi
CHOST_amd64=x86_64-w64-mingw32
CHOST_x86=i686-w64-mingw32
CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
# preferring meson eclass' cross file over upstream's but, unlike
# dxvk, we lose static options in the process (from build-win*.txt)
append-ldflags -static -static-libgcc -static-libstdc++
strip-unsupported-flags
fi
multilib-minimal_src_configure
}
multilib_src_configure() {
# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
# unset again so meson eclass will set ${CHOST}-gcc + others
use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
# prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
# possible, but eclasses don't handle that so setup machine files
local widl=$(tc-getPROG WIDL widl)
use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
local emesonargs=(
--prefix="${EPREFIX}"/usr/lib/${PN}
--{bin,lib}dir=x${ABI: -2}
--{cross,native}-file="${T}"/widl.${ABI}.ini
$(meson_use {,enable_}extras)
$(meson_use debug enable_trace)
$(usev !debug --strip) # portage won't strip .dll, so allow it here
-Denable_tests=false # needs wine/vulkan and is intended for manual use
)
meson_src_configure
}
multilib_src_install_all() {
dobin setup_vkd3d_proton.sh
einstalldocs
# unnecesasry files, see package-release.sh
rm "${ED}"/usr/lib/${PN}/x*/libvkd3d-proton-utils-3.dll || die
find "${ED}" -type f -name '*.a' -delete || die
}
pkg_postinst() {
if [[ ! ${REPLACING_VERSIONS} ]]; then
elog "To enable ${PN} on a wine prefix, you can run the following command:"
elog
elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
elog
elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
fi
# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
local wine
for wine in app-emulation/wine-{vanilla,staging}; do
has_version ${wine} && ! has_version "${wine}[vulkan]" &&
ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
done
}

@ -17,15 +17,17 @@ if [[ ${PV} == 9999 ]]; then
subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
)
else
VKD3D_HASH=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
DXIL_HASH=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
SPIRV_HASH=ae217c17809fadb232ec94b29304b4afcd417bb4
VULKAN_HASH=83e1a9ed8ce289cebb1c02c8167d663dc1befb24
HASH_VKD3D=4df366172e025c23621c8df5a794de90de165d97 # match tag on bumps
HASH_DXIL=2166bc7ea0ceb2d7ff6d787d9b007f7eb7d4aaa8
HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
HASH_VULKAN=5177b119bbdf463b7b909855a83230253c2d8b68
SRC_URI="
https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/HansKristian-Work/dxil-spirv/archive/${DXIL_HASH}.tar.gz -> ${P}-dxil-spirv.tar.gz
https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HASH}.tar.gz -> ${P}-vulkan-headers.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HASH}.tar.gz -> ${P}-spirv-headers.tar.gz"
https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz -> ${PN}-dxil-spirv-${HASH_DXIL::10}.tar.gz
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz -> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
@ -51,11 +53,11 @@ pkg_pretend() {
eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
use abi_x86_32 && use abi_x86_64 &&
eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
die "USE=crossdev-mingw is set but ${tool} was not found"
die "USE=crossdev-mingw is enabled, but ${tool} was not found"
elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
eerror "${PN} requires GCC to be built with --enable-threads=posix"
eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
fi
done
tool=-w64-mingw32-widl
@ -72,11 +74,16 @@ pkg_pretend() {
src_prepare() {
if [[ ${PV} != 9999 ]]; then
rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
mv ../dxil-spirv-${DXIL_HASH} subprojects/dxil-spirv || die
mv ../SPIRV-Headers-${SPIRV_HASH} subprojects/SPIRV-Headers || die
mv ../Vulkan-Headers-${VULKAN_HASH} subprojects/Vulkan-Headers || die
ln -s ../../../SPIRV-Headers/include \
mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
mv ../SPIRV-Headers-${HASH_SPIRV} subprojects/SPIRV-Headers || die
mv ../Vulkan-Headers-${HASH_VULKAN} subprojects/Vulkan-Headers || die
# dxil and vkd3d's spirv headers currently mismatch and incompatible
rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
subprojects/dxil-spirv/third_party/spirv-headers || die
# ln -s ../../../SPIRV-Headers/include \
# subprojects/dxil-spirv/third_party/spirv-headers || die
fi
default
@ -85,8 +92,8 @@ src_prepare() {
if [[ ${PV} != 9999 ]]; then
# without .git, meson sets vkd3d_build as 0x${PV} leading to failure
sed -i "s/@VCS_TAG@/${VKD3D_HASH::15}/" vkd3d_build.h.in || die
sed -i "s/@VCS_TAG@/${VKD3D_HASH::7}/" vkd3d_version.h.in || die
sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
fi
}
@ -160,7 +167,7 @@ pkg_postinst() {
# don't try to keep wine-*[vulkan] in RDEPEND, but still give a warning
local wine
for wine in app-emulation/wine-{vanilla,staging}; do
has_version ${wine} && ! has_version ${wine}[vulkan] &&
has_version ${wine} && ! has_version "${wine}[vulkan]" &&
ewarn "${wine} was not built with USE=vulkan, ${PN} will not be usable with it"
done
}

@ -4,3 +4,5 @@ DIST wine-mono-7.3.0-x86.msi 86919680 BLAKE2B 917aa260ba7a012ed1e1565f8ed23225c8
DIST wine-mono-7.3.0-x86.tar.xz 43557004 BLAKE2B 919912faf97cf38b2fcc9813de4e035d907b0a00db78d2a251c1c43dab65ba44847ecbf494a15dba761d9ba8203855c1a6e5f5bbd07f20484c9948c3cfe4d3bc SHA512 c26dc21d0d462b3c79e778497815e33d26b5ab545eba0552b436f30d9b7aa340ccdef69fe0dcbf32c04330e6d0f813314646ded7d2d24e6f4746e4893adbbf7f
DIST wine-mono-7.3.1-x86.msi 86930432 BLAKE2B f43b605ab7b07a7b4d8d4675297af6e827e81b2b232c6991fb1f559a247c6b546490017dd4e1aab04aad664570cb90152ff872be61bb8e12a154ae2366dbb21c SHA512 dd9f3860c4b52edce44f51b27de2a3b4acc97271d661e41310b889fa378f502458739caaa548fff5e16ddba418d40d647528c151c0413519df54c38f9e237946
DIST wine-mono-7.3.1-x86.tar.xz 43216532 BLAKE2B bc00f41d2e9e88c0a687fad6bdd48e9a836f3d7369747602665691ca3e430c895655e9c5e9ef955a5cf45a96818b6858bc3cc93d90c3d7a49f8d8f4ff824d45a SHA512 a2c8d10d9b34fd7775eeddb6494b84f2f04e6a2f21d93940dc902434b189d43bdfdcd198baf8133cda8b17c2bc25ee84538e12a32027cdd66da9ab029eed6777
DIST wine-mono-7.4.0-x86.msi 87334912 BLAKE2B c0b778f9db59d1a2917631f1d6ca1a1798972a6a42e27975da78f3a35b77018a99228d7d95e5640c57618533a6b01bf2252859e3e978e2aa8dbdc8cd62afcc28 SHA512 cf35513b368324487c387d4339e5b05a90c4825b25ea603140524b79e69786ccc20dfb898213a9548c0313c0b0e4b160acb88364e4b280dd6712d185d9e5ae57
DIST wine-mono-7.4.0-x86.tar.xz 45404344 BLAKE2B 3a74106b9b3f21a88c2435f7988d66a54e08beea931a0ce0df6431c21add4ee2685bf9c9cb2404ee1a685736d61b1aee3cdd507130e5c5dddba7e506a2ff18bb SHA512 108cb5d969e84deeda3d2b11dba7cd73853fc3b088ecf2bcdb9bc5c5bbaaff03e72cd4f485d1935eda43cdd95b927886441be1d2204edeaee1ff1fea75735d22

@ -0,0 +1,26 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Replacement for the .NET runtime and class libraries in Wine"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="
shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.tar.xz )
!shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.msi )"
S="${WORKDIR}"
LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
SLOT="${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="+shared"
src_install() {
insinto /usr/share/wine/mono
if use shared; then
doins -r ${P}
else
doins "${DISTDIR}"/${P}-x86.msi
fi
}

@ -7,7 +7,7 @@ MULTILIB_COMPAT=( abi_x86_{32,64} )
inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.3.0
WINE_MONO=7.4.0
if [[ ${PV} == *9999 ]]; then
inherit git-r3

@ -7,7 +7,7 @@ MULTILIB_COMPAT=( abi_x86_{32,64} )
inherit autotools flag-o-matic multilib multilib-build toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.3.0
WINE_MONO=7.4.0
if [[ ${PV} == *9999 ]]; then
inherit git-r3

@ -1,532 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="amd64 ~arm ~arm64 x86"
SEABIOS_VER="1.14.0"
EDK2_COMMIT="7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5"
EDK2_OPENSSL_VERSION="1_1_1j"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
IPXE_COMMIT="3c040ad387099483102708bb1839110bc788cefb"
XEN_PRE_PATCHSET_NUM=
XEN_GENTOO_PATCHSET_NUM=2
XEN_PRE_VERSION_BASE=
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
fi
SRC_URI="
https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
ipxe? ( https://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
)
"
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
fi
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
XEN_GENTOO_PATCHES_TAG="${PV}-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
fi
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://xenproject.org"
DOCS=( README )
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
lzma? ( app-arch/xz-utils )
qemu? (
dev-libs/glib:2
sys-libs/pam
)
app-arch/bzip2
dev-libs/libnl:3
dev-libs/lzo:2
dev-libs/yajl
sys-apps/util-linux
sys-fs/e2fsprogs
sys-libs/ncurses
sys-libs/zlib
${PYTHON_DEPS}
"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)
selinux? ( sec-policy/selinux-xen )"
DEPEND="${COMMON_DEPEND}
app-misc/pax-utils
>=sys-kernel/linux-headers-4.11
x11-libs/pixman
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_USEDEP}]
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? ( sys-firmware/seabios )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
arm64? ( sys-power/iasl
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
doc? (
app-text/ghostscript-gpl
app-text/pandoc
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
dev-util/meson
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
dev-lang/ocaml[ocamlopt] )
python? ( >=dev-lang/swig-4.0.0 )"
BDEPEND="dev-lang/perl
sys-devel/bison
sys-devel/gettext"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_EXECSTACK="
usr/share/qemu-xen/qemu/hppa-firmware.img
"
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-storage-daemon
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/libexec/xen/libexec/qemu-pr-helper
usr/libexec/xen/libexec/virtfs-proxy-helper
usr/libexec/xen/libexec/virtiofsd
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
# Rename qemu-bridge-helper to xen-bridge-helper to avoid file
# collisions with app-emulation/qemu.
sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
tools/qemu-xen/include/net/net.h \
tools/qemu-xen/Makefile \
tools/qemu-xen/qemu-bridge-helper.c \
tools/qemu-xen/qemu-options.hx \
|| die
if use ovmf; then
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
# Bug #816987
pushd tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli > /dev/null
eapply "${FILESDIR}/${PN}-4.15.1-brotli-gcc11.patch"
popd > /dev/null
pushd tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli > /dev/null
eapply "${FILESDIR}/${PN}-4.15.1-brotli-gcc11.patch"
popd > /dev/null
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz || die
# gcc 11
cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
fi
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
-i config/Paths.mk.in || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
# disable jpeg automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
-i tools/Makefile || die
# disable png automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
-i tools/Makefile || die
# disable docker (Bug #732970)
sed -e "s:\$\$source/configure:\0 --disable-containers:" \
-i tools/Makefile || die
# disable abi-dumper (Bug #791172)
sed -e 's/$(ABI_DUMPER) /echo /g' \
-i tools/libs/libs.mk || die
# Remove -Werror
find . -type f \( -name Makefile -o -name "*.mk" \) \
-exec sed -i \
-e 's/-Werror //g' \
-e '/^CFLAGS *+= -Werror$/d' \
-e 's/, "-Werror"//' \
{} + || die
default
}
src_configure() {
local myconf=(
--libdir="${EPREFIX}/usr/$(get_libdir)"
--libexecdir="${EPREFIX}/usr/libexec"
--localstatedir="${EPREFIX}/var"
--disable-golang
--disable-werror
--disable-xen
--enable-tools
--enable-docs
$(use_enable api xenapi)
$(use_enable ipxe)
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '')
$(use_enable ocaml ocamltools)
$(use_enable ovmf)
$(use_enable rombios)
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored')
)
use system-seabios && myconf+=( --with-system-seabios=/usr/share/seabios/bios.bin )
use system-qemu && myconf+=( --with-system-qemu=/usr/bin/qemu-system-x86_64 )
use amd64 && myconf+=( $(use_enable qemu-traditional) )
tc-ld-disable-gold # Bug 669570
econf ${myconf[@]}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
# bug #845099
if use ipxe; then
local -x NO_WERROR=1
fi
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
fi
python_optimize
}
pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
elog ""
elog "Recommended to utilise the xencommons script to config system at boot"
elog "Add by use of rc-update on completion of the install"
if ! use hvm; then
echo
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
elog "support enable the hvm use flag."
elog "An x86 or amd64 system is required to build HVM support."
fi
if use qemu; then
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
fi
}

@ -1,527 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 readme.gentoo-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
SEABIOS_VER="1.14.0"
EDK2_COMMIT="7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5"
EDK2_OPENSSL_VERSION="1_1_1j"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
IPXE_COMMIT="3c040ad387099483102708bb1839110bc788cefb"
XEN_GENTOO_PATCHSET_NUM=2
XEN_GENTOO_PATCHSET_BASE=4.16.1
XEN_PRE_PATCHSET_NUM=
XEN_PRE_VERSION_BASE=
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
fi
SRC_URI="
https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
ipxe? ( https://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
)
"
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
fi
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
fi
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://xenproject.org"
DOCS=( README )
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios systemd zstd"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
lzma? ( app-arch/xz-utils )
qemu? (
dev-libs/glib:2
sys-libs/pam
)
zstd? ( app-arch/zstd )
app-arch/bzip2
app-arch/zstd
dev-libs/libnl:3
dev-libs/lzo:2
dev-libs/yajl
sys-apps/util-linux
sys-fs/e2fsprogs
sys-libs/ncurses
sys-libs/zlib
${PYTHON_DEPS}
"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)
selinux? ( sec-policy/selinux-xen )"
DEPEND="${COMMON_DEPEND}
app-misc/pax-utils
>=sys-kernel/linux-headers-4.11
x11-libs/pixman
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_USEDEP}]
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? ( sys-firmware/seabios )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
arm64? ( sys-power/iasl
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
doc? (
app-text/ghostscript-gpl
app-text/pandoc
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
dev-util/meson
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
dev-lang/ocaml[ocamlopt] )
python? ( >=dev-lang/swig-4.0.0 )"
BDEPEND="dev-lang/perl
sys-devel/bison
sys-devel/gettext"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_EXECSTACK="
usr/share/qemu-xen/qemu/hppa-firmware.img
"
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-storage-daemon
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/libexec/xen/libexec/qemu-pr-helper
usr/libexec/xen/libexec/virtfs-proxy-helper
usr/libexec/xen/libexec/virtiofsd
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
# Rename qemu-bridge-helper to xen-bridge-helper to avoid file
# collisions with app-emulation/qemu.
sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
tools/qemu-xen/include/net/net.h \
tools/qemu-xen/meson.build \
tools/qemu-xen/qemu-bridge-helper.c \
tools/qemu-xen/qemu-options.hx \
|| die
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
if use ovmf; then
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
# Bug #816987
pushd tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli > /dev/null
eapply "${XEN_GENTOO_PATCHES_DIR}/ovmf/${PN}-4.15.1-brotli-gcc11.patch"
popd > /dev/null
pushd tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli > /dev/null
eapply "${XEN_GENTOO_PATCHES_DIR}/ovmf/${PN}-4.15.1-brotli-gcc11.patch"
popd > /dev/null
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz || die
# gcc 11
cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
fi
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
-i config/Paths.mk.in || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
# disable jpeg automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
-i tools/Makefile || die
# disable png automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
-i tools/Makefile || die
# disable docker (Bug #732970)
sed -e "s:\$\$source/configure:\0 --disable-containers:" \
-i tools/Makefile || die
# disable abi-dumper (Bug #791172)
sed -e 's/$(ABI_DUMPER) /echo /g' \
-i tools/libs/libs.mk || die
# Remove -Werror
find . -type f \( -name Makefile -o -name "*.mk" \) \
-exec sed -i \
-e 's/-Werror //g' \
-e '/^CFLAGS *+= -Werror$/d' \
-e 's/, "-Werror"//' \
{} + || die
default
}
src_configure() {
local myconf=(
--libdir="${EPREFIX}/usr/$(get_libdir)"
--libexecdir="${EPREFIX}/usr/libexec"
--localstatedir="${EPREFIX}/var"
--disable-golang
--disable-werror
--disable-xen
--enable-tools
--enable-docs
$(use_enable api xenapi)
$(use_enable ipxe)
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '')
$(use_enable ocaml ocamltools)
$(use_enable ovmf)
$(use_enable rombios)
$(use_enable systemd)
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored')
)
use system-seabios && myconf+=( --with-system-seabios=/usr/share/seabios/bios.bin )
use system-qemu && myconf+=( --with-system-qemu=/usr/bin/qemu-system-x86_64 )
use amd64 && myconf+=( $(use_enable qemu-traditional) )
tc-ld-disable-gold # Bug 669570
econf ${myconf[@]}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
# bug #845099
if use ipxe; then
local -x NO_WERROR=1
fi
emake \
HOSTCC="$(tc-getBUILD_CC)" \
HOSTCXX="$(tc-getBUILD_CXX)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
LD="$(tc-getLD)" \
AR="$(tc-getAR)" \
OBJDUMP="$(tc-getOBJDUMP)" \
RANLIB="$(tc-getRANLIB)" \
build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
fi
python_optimize
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

@ -1,183 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
KEYWORDS="amd64 ~arm -x86"
XEN_PRE_PATCHSET_NUM=
XEN_GENTOO_PATCHSET_NUM=
XEN_PRE_VERSION_BASE=
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
fi
SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
SRC_URI+=" https://github.com/Flowdalic/xen-upstream-patches/archive/refs/tags/${XEN_UPSTREAM_PATCHES_TAG}.tar.gz -> ${XEN_UPSTREAM_PATCHES_NAME}.tar.gz"
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
fi
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
XEN_GENTOO_PATCHES_TAG="4.16.1-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
SRC_URI+=" https://github.com/Flowdalic/xen-gentoo-patches/archive/refs/tags/${XEN_GENTOO_PATCHES_TAG}.tar.gz -> ${XEN_GENTOO_PATCHES_NAME}.tar.gz"
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
fi
fi
DESCRIPTION="The Xen virtual machine monitor"
HOMEPAGE="https://xenproject.org"
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
LICENSE="GPL-2"
SLOT="0"
IUSE="debug efi flask"
REQUIRED_USE="arm? ( debug )"
DEPEND="${PYTHON_DEPS}
efi? ( >=sys-devel/binutils-2.22[multitarget] )
!efi? ( >=sys-devel/binutils-2.22 )
flask? ( sys-apps/checkpolicy )"
RDEPEND=""
PDEPEND="~app-emulation/xen-tools-${PV}"
# no tests are available for the hypervisor
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
RESTRICT="test splitdebug strip"
# Approved by QA team in bug #144032
QA_WX_LOAD="boot/xen-syms-${PV}"
pkg_setup() {
python-any-r1_pkg_setup
if [[ -z ${XEN_TARGET_ARCH} ]]; then
if use amd64; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
eapply "${FILESDIR}"/${PN}-4.15-efi.patch
# Enable XSM-FLASK
use flask && eapply "${FILESDIR}"/${PN}-4.15-flask.patch
# Workaround new gcc-11 options
sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
# Drop .config
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
if use efi; then
export EFI_VENDOR="gentoo"
export EFI_MOUNTPOINT="/boot"
fi
default
}
xen_make() {
# Setting clang to either 'y' or 'n' tells Xen's build system
# whether or not clang is used.
local clang=n
if tc-is-clang; then
clang=y
fi
# Send raw LDFLAGS so that --as-needed works
emake \
V=1 \
LDFLAGS="$(raw-ldflags)" \
HOSTCC="$(tc-getBUILD_CC)" \
HOSTCXX="$(tc-getBUILD_CXX)" \
clang="${clang}" \
"$@"
}
src_configure() {
cd xen || die
touch gentoo-config || die
if use arm; then
echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
fi
if use debug; then
cat <<-EOF >> gentoo-config || die
CONFIG_DEBUG=y
CONFIG_CRASH_DEBUG=y
EOF
fi
if use flask; then
echo "CONFIG_XSM=y" >> gentoo-config || die
fi
# remove flags
unset CFLAGS
tc-ld-disable-gold # Bug 700374
xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
}
src_compile() {
xen_make -C xen
}
src_install() {
# The 'make install' doesn't 'mkdir -p' the subdirs
if use efi; then
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
fi
xen_make DESTDIR="${D}" -C xen install
# make install likes to throw in some extra EFI bits if it built
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
}
pkg_postinst() {
elog "Official Xen Guide:"
elog " https://wiki.gentoo.org/wiki/Xen"
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
ewarn
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
ewarn "to work fine."
ewarn
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
ewarn
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
}

@ -1,174 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
KEYWORDS="~amd64 ~arm -x86"
XEN_GENTOO_PATCHSET_NUM=2
XEN_GENTOO_PATCHSET_BASE=4.16.1
XEN_PRE_PATCHSET_NUM=
XEN_PRE_VERSION_BASE=
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
fi
SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
fi
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
fi
fi
DESCRIPTION="The Xen virtual machine monitor"
HOMEPAGE="https://xenproject.org"
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
LICENSE="GPL-2"
SLOT="0"
IUSE="+boot-symlinks debug efi flask"
REQUIRED_USE="arm? ( debug )"
DEPEND="${PYTHON_DEPS}
efi? ( >=sys-devel/binutils-2.22[multitarget] )
!efi? ( >=sys-devel/binutils-2.22 )
flask? ( sys-apps/checkpolicy )"
RDEPEND=""
PDEPEND="~app-emulation/xen-tools-${PV}"
# no tests are available for the hypervisor
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
RESTRICT="test splitdebug strip"
# Approved by QA team in bug #144032
QA_WX_LOAD="boot/xen-syms-${PV}"
pkg_setup() {
python-any-r1_pkg_setup
if [[ -z ${XEN_TARGET_ARCH} ]]; then
if use amd64; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
# Symlinks do not work on fat32 volumes # 829765
if ! use boot-symlinks || use efi; then
eapply "${XEN_GENTOO_PATCHES_DIR}"/no-boot-symlinks/${PN}-4.16-no-symlinks.patch
fi
# Workaround new gcc-11 options
sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
# Drop .config
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
if use efi; then
export EFI_VENDOR="gentoo"
export EFI_MOUNTPOINT="/boot"
fi
default
}
xen_make() {
# Setting clang to either 'y' or 'n' tells Xen's build system
# whether or not clang is used.
local clang=n
if tc-is-clang; then
clang=y
fi
# Send raw LDFLAGS so that --as-needed works
emake \
V=1 \
LDFLAGS="$(raw-ldflags)" \
HOSTCC="$(tc-getBUILD_CC)" \
HOSTCXX="$(tc-getBUILD_CXX)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
LD="$(tc-getLD)" \
AR="$(tc-getAR)" \
OBJDUMP="$(tc-getOBJDUMP)" \
RANLIB="$(tc-getRANLIB)" \
clang="${clang}" \
"$@"
}
src_configure() {
cd xen || die
touch gentoo-config || die
if use arm; then
echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
fi
if use debug; then
cat <<-EOF >> gentoo-config || die
CONFIG_DEBUG=y
CONFIG_CRASH_DEBUG=y
EOF
fi
if use flask; then
echo "CONFIG_XSM=y" >> gentoo-config || die
fi
# remove flags
unset CFLAGS
tc-ld-disable-gold # Bug 700374
xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
}
src_compile() {
xen_make -C xen
}
src_install() {
# The 'make install' doesn't 'mkdir -p' the subdirs
if use efi; then
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
fi
xen_make DESTDIR="${D}" -C xen install
# make install likes to throw in some extra EFI bits if it built
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
}

Binary file not shown.

@ -11,7 +11,7 @@ SRC_URI="https://github.com/ionenwks/iwdevtools/archive/refs/tags/v${PV}.tar.gz
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"

Binary file not shown.

@ -69,10 +69,10 @@ COMMON_DEPEND="${PYTHON_DEPS}
>=dev-python/pychm-0.8.6[${PYTHON_USEDEP}]
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
dev-python/python-zeroconf[${PYTHON_USEDEP}]
>=dev-python/PyQt5-5.12[gui,svg,widgets,network,printsupport,${PYTHON_USEDEP}]
>=dev-python/PyQtWebEngine-5.12[${PYTHON_USEDEP}]
dev-python/regex[${PYTHON_USEDEP}]
dev-python/zeroconf[${PYTHON_USEDEP}]
')
dev-qt/qtcore:5=
dev-qt/qtdbus:5=

@ -74,11 +74,11 @@ COMMON_DEPEND="${PYTHON_DEPS}
dev-python/pycryptodome[${PYTHON_USEDEP}]
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
dev-python/python-zeroconf[${PYTHON_USEDEP}]
>=dev-python/PyQt5-5.15.5_pre2107091435[gui,svg,widgets,network,printsupport,${PYTHON_USEDEP}]
>=dev-python/PyQt-builder-1.10.3[${PYTHON_USEDEP}]
>=dev-python/PyQtWebEngine-5.15.5_pre2108100905[${PYTHON_USEDEP}]
dev-python/regex[${PYTHON_USEDEP}]
dev-python/zeroconf[${PYTHON_USEDEP}]
')
dev-qt/qtcore:5=
dev-qt/qtdbus:5=

@ -74,11 +74,11 @@ COMMON_DEPEND="${PYTHON_DEPS}
dev-python/pycryptodome[${PYTHON_USEDEP}]
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
dev-python/python-zeroconf[${PYTHON_USEDEP}]
>=dev-python/PyQt5-5.15.5_pre2107091435[gui,svg,widgets,network,printsupport,${PYTHON_USEDEP}]
>=dev-python/PyQt-builder-1.10.3[${PYTHON_USEDEP}]
>=dev-python/PyQtWebEngine-5.15.5_pre2108100905[${PYTHON_USEDEP}]
dev-python/regex[${PYTHON_USEDEP}]
dev-python/zeroconf[${PYTHON_USEDEP}]
')
dev-qt/qtcore:5=
dev-qt/qtdbus:5=

@ -1,2 +1,3 @@
DIST libpaper-2.0.0.tar.gz 1221217 BLAKE2B ef2c08ff7dc537734d080a29560a711b196b05a3b0c4b375c8dc73d4dd9588156d325d233e27940fac96a18dfa6bf523128b53eb4c7098e561aa6054efb88408 SHA512 ca5c79969a8c5d56322a6993917d5aa47089bb396a144edd0d9040b0bdde78c8fb59468a3d4063ae1fb323a1b23fb28169616d153de65f9085351b9c9d47f8c0
DIST libpaper-2.0.1.tar.gz 1229250 BLAKE2B 67730d6783d8ab9c2f837f8f477ab8ea04be7df2b2f419e81d57834c86bfcdd373ecc29cbea51fee06ca102ea12c18646f96caafe7b7cc53580153d01873a329 SHA512 ccc77e2f7805e7e5f6b3e96acffa9aeb2854a21acbdbb40947251a6a8dca6f9d97db0c8e2859d2056d3b60b06200ef50d9cccae58f961ff77f234ad1ab3c32dc
DIST libpaper_1.1.28.tar.gz 42356 BLAKE2B 48c4a28c6ff01bd91e257b6b306e787e5c6112052cff09bdb501d1cc4ddd10964c3588942098a6092d5a44391dfb22e10d5147d4c5012497f473473129ff7422 SHA512 3bf6ebb0af89931d2f72ea4a09a7fa958b2facda5f238983ec7bac39652e08614b33f0de3af74a03457b2a4203eee4950bf18a4b726e79aa64093ace6a1fb0bc

@ -0,0 +1,34 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Library for handling paper characteristics"
HOMEPAGE="https://github.com/rrthomas/libpaper"
SRC_URI="https://github.com/rrthomas/libpaper/releases/download/v${PV}/${P}.tar.gz"
# See README.
# paperspecs is public-domain
LICENSE="LGPL-2.1+ GPL-2 public-domain"
SLOT="0/$(ver_cut 1)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
src_configure() {
econf --enable-relocatable
}
src_install() {
default
find "${ED}" -type f -name '*.la' -delete || die
dodir /etc
(paperconf 2>/dev/null || echo a4) > "${ED}"/etc/papersize \
|| die "papersize config failed"
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "Run e.g. \"paperconfig -p letter\" as root to use letter-pagesizes"
fi
}

@ -3,7 +3,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{7..10} )
PYTHON_COMPAT=( python3_{7..11} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1 optfeature xdg desktop

@ -15,7 +15,7 @@ SRC_URI="https://gitlab.com/pdftk-java/pdftk/-/archive/v${PV}/pdftk-v${PV}.tar.g
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
CP_DEPEND="
dev-java/bcprov:0

@ -14,7 +14,7 @@ SRC_URI+=" doc? ( https://github.com/qpdf/qpdf/releases/download/v${PV}/${P}-doc
LICENSE="|| ( Apache-2.0 Artistic-2 )"
# Subslot for libqpdf soname version (just represent via major version)
SLOT="0/$(ver_cut 1)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris"
IUSE="doc examples gnutls ssl test"
RESTRICT="!test? ( test )"

@ -47,8 +47,11 @@ src_configure() {
# on solaris -lintl is needed to compile
[[ ${CHOST} == *-solaris* ]] && append-libs "-lintl"
# --without-included-gettext means we always use system headers
# and library
# -fanalyzer substantially slows down the build and isn't useful for
# us. It's useful for upstream as it's static analysis, but it's not
# useful when just getting something built.
export gl_cv_warn_c__fanalyzer=no
econf \
$(use_enable nls) \
--disable-static

Binary file not shown.

@ -28,6 +28,7 @@ RDEPEND="
dev-python/colorama[${PYTHON_USEDEP}]
>=dev-python/pyserial-3[${PYTHON_USEDEP}]
<dev-python/pyserial-4[${PYTHON_USEDEP}]
>=dev-python/python-zeroconf-0.37[${PYTHON_USEDEP}]
>=dev-python/requests-2.4[${PYTHON_USEDEP}]
<dev-python/requests-3[${PYTHON_USEDEP}]
>=dev-python/semantic_version-2.9[${PYTHON_USEDEP}]
@ -41,7 +42,6 @@ RDEPEND="
=dev-python/starlette-0.18*[${PYTHON_USEDEP}]
=dev-python/uvicorn-0.17*[${PYTHON_USEDEP}]
dev-python/wsproto[${PYTHON_USEDEP}]
>=dev-python/zeroconf-0.37[${PYTHON_USEDEP}]
')
virtual/udev"
DEPEND="virtual/udev"

@ -37,11 +37,11 @@ RDEPEND="
dev-python/twisted[${PYTHON_USEDEP}]
>=dev-python/pyelftools-0.25[${PYTHON_USEDEP}]
<dev-python/pyelftools-1[${PYTHON_USEDEP}]
>=dev-python/python-zeroconf-0.37[${PYTHON_USEDEP}]
>=dev-python/marshmallow-2.20.5[${PYTHON_USEDEP}]
=dev-python/starlette-0.18*[${PYTHON_USEDEP}]
=dev-python/uvicorn-0.17*[${PYTHON_USEDEP}]
dev-python/wsproto[${PYTHON_USEDEP}]
>=dev-python/zeroconf-0.37[${PYTHON_USEDEP}]
')
virtual/udev"
DEPEND="virtual/udev"

@ -1,95 +0,0 @@
--- a/src/KXLsound.c
+++ b/src/KXLsound.c
@@ -4,6 +4,9 @@
#include <sys/ioctl.h>
#include <sys/time.h>
#include <linux/soundcard.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
#include "KXL.h"
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
@@ -22,7 +24,7 @@
struct {
Uint16 ListCnt;
Sint32 ID;
- Sint32 Pipe[2];
+ int Pipe[2];
Sint32 Device;
Uint16 PlayCnt;
KXL_SoundControl PlaySound[MAX_SOUNDS_PLAYING];
@@ -242,11 +244,19 @@
KXL_SoundOk = False;
KXL_LoadSoundData(path, fname);
- // device check
- if ((KXL_SoundData.Device = open("/dev/dsp", O_WRONLY)) == -1) {
- fprintf(stderr, "KXL error message\nnot found sound card\n");
+ // Open the sound device in non-blocking mode, because ALSA's OSS
+ // emulation and some broken OSS drivers would make a blocking call
+ // wait forever until the device is available. Since this breaks the
+ // OSS spec, we immediately put it back to blocking mode if the
+ // operation was successful.
+ KXL_SoundData.Device = open("/dev/dsp", O_WRONLY|O_NDELAY);
+ if (KXL_SoundData.Device < 0) {
+ fprintf(stderr, "KXL error message\ncould not open sound card (%s)\n",
+ strerror(errno));
return;
}
+ fcntl( KXL_SoundData.Device, F_SETFL,
+ fcntl( KXL_SoundData.Device, F_GETFL ) &~ FNDELAY );
// create pipe
if (pipe(KXL_SoundData.Pipe) < 0) {
fprintf(stderr, "KXL error message\npipe error\n");
--- a/src/KXL.h
+++ b/src/KXL.h
@@ -205,6 +205,7 @@
KXL_Frame *Frame; // Pointer of frame structure
GC FontGC; // GC of font
XFontStruct *WinFont; // Pointer of font structrue
+ Bool DetectAutoRepeat; // Does the server have detectable auto repeat
} KXL_Window;
// RGBE palette
typedef struct {
--- a/src/KXLimage.c
+++ b/src/KXLimage.c
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <stdlib.h>
#include "KXL.h"
extern KXL_Window *KXL_Root;
--- a/src/KXLvisual.c
+++ b/src/KXLvisual.c
@@ -1,4 +1,6 @@
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include "KXL.h"
//================================================================
@@ -364,7 +366,11 @@
KXL_ReSizeFrame(w, h);
KXL_Clear_Frame(0, 0, w, h);
// Auto repeat off
- XAutoRepeatOff(KXL_Root->Display);
+ XkbSetDetectableAutoRepeat(KXL_Root->Display, True,
+ &KXL_Root->DetectAutoRepeat);
+ if(!KXL_Root->DetectAutoRepeat) {
+ XAutoRepeatOff(KXL_Root->Display);
+ }
}
//==============================================================
@@ -377,7 +383,9 @@
XFreeGC(KXL_Root->Display, KXL_Root->Frame->Gc);
KXL_Free(KXL_Root->Frame);
// Auto repeat on
- XAutoRepeatOn(KXL_Root->Display);
+ if(!KXL_Root->DetectAutoRepeat) {
+ XAutoRepeatOn(KXL_Root->Display);
+ }
// Delete font
XFreeGC(KXL_Root->Display, KXL_Root->FontGC);
// Delete window

@ -1,9 +0,0 @@
Get rid of aclocal warning:
/usr/share/aclocal/KXL.m4:6: warning: underquoted definition of AM_PATH_KXL
--- a/KXL.m4
+++ b/KXL.m4
@@ -5,3 +5,3 @@
dnl
-AC_DEFUN(AM_PATH_KXL,
+AC_DEFUN([AM_PATH_KXL],
[dnl

Binary file not shown.

Binary file not shown.

@ -19,7 +19,7 @@ SRC_URI="https://github.com/stefanbirkner/${PN}/archive/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~ppc64"
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
# Compile dependencies
# POM: pom.xml

@ -18,7 +18,7 @@ SRC_URI="https://github.com/qos-ch/logback/archive/v_${PV}.tar.gz -> logback-${P
LICENSE="EPL-1.0 LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
# Common dependencies
# POM: pom.xml

@ -1,2 +1 @@
DIST msv-2022.7.tar.gz 2594951 BLAKE2B fce006f4b845efcd930b7999ac00eaab06c404888eb73a6eeab6cfad616b4922271d2d682abc82f3be4c4f6a791aa14681f6e6bfebd2118ac3aa2bcba41fd1f8 SHA512 315342628f79c561883be0d966211dd81daae66a414dcc9bb5a87d86f97121d38b5835e9a6d1ac7c21ccff46040e53d3cabd32e9ea677c9ca4335a86c5259949
DIST msv-core-2013.6.1-sources.jar 1011944 BLAKE2B 474d8a45bc5f16ec76dbe853a835b66cd1d733973ffad0dd5e0a653d349f075e22a72d29d91da312a9a133218f4187ece15fd66b19dc34bc00cdea72b95a5929 SHA512 3985451ff52e50957fdc22ef598edcd7b02495b834a53a048018064d1a6063d4554a7cb5d7752c2d265b852d17c7a55787d9b1ec2b580988ad005fcbc9c6eb8a

@ -1,56 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PV="${PV:4:2}.${PV:6}"
MY_PV="${PV:0:4}.${MY_PV//0}"
JAVA_PKG_IUSE="doc source"
MAVEN_ID="net.java.dev.msv:msv-core:2013.6.1"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Multi-Schema XML Validator, a Java tool for validating XML documents"
HOMEPAGE="https://msv.java.net/"
SRC_URI="https://search.maven.org/remotecontent?filepath=net/java/dev/${PN}/${PN}-core/${MY_PV}/${PN}-core-${MY_PV}-sources.jar"
LICENSE="BSD Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
CP_DEPEND="
dev-java/iso-relax:0
dev-java/relaxng-datatype:0
dev-java/xml-commons-resolver:0
dev-java/xsdlib:0"
DEPEND="${CP_DEPEND}
>=virtual/jdk-1.8:*"
RDEPEND="${CP_DEPEND}
dev-java/xerces:2
>=virtual/jre-1.8:*"
BDEPEND="app-arch/unzip"
JAVAC_ARGS="-XDignore.symbol.file"
JAVA_SRC_DIR="."
JAVA_RESOURCE_DIRS="res"
src_prepare() {
default
mkdir "res" || die
cp -r "com" "res" || die
# The only resources to have are '*.properties'
find res -type f ! -name '*.properties' -exec rm -rf {} + || die
sed -e '/resolver.tools.CatalogResolver/s/com.sun.org.apache.xml.internal/org.apache.xml/' \
-i com/sun/msv/driver/textui/Driver.java || die
}
src_install() {
java-pkg-simple_src_install
java-pkg_register-dependency xerces-2
java-pkg_dolauncher "${PN}" --main com.sun.msv.driver.textui.Driver
}

@ -1,5 +1,2 @@
DIST protobuf-21.8.tar.gz 5110670 BLAKE2B 3c1b0c857a86e9586481d63896341d0cb11290dbd710d87a6f7889d34f5f262abe2986a29ed19a730f8fa5df0b5c62d77a4db6aa415a72b239f7483ae8d6380c SHA512 cb17be759311e91172801add1f88fe7a0291b547170c40d2e3303f5c248570dddeade96bd48740edd628215f55269c97475e2f4c4a41c50f1018d525f52036cb
DIST protobuf-3.19.3.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6
DIST protobuf-3.19.6.tar.gz 5299501 BLAKE2B 3121f76b95f83c5309ce49ce296b738eff7be9d3a5093c564fbe2339fb5f3729e406f1b44bfcc05feb0d31ab63838bb4f54685017977c73a33b91215a6776072 SHA512 8f92242f2be8e1bbfba41341c87709ad91ad83b8b3e3df88bb430411541d3399295f49291fd52b50e3487b0fce33181cb4d175685fd25aac72adfaee26a612d4
DIST protobuf-3.20.1.tar.gz 5368262 BLAKE2B 1ce1aef2e4c4f3ea4863629cc75d89fe17d0c7ac0c342ac641c787456fd4a12756c2892a27ddadedc94a7201494ec84566638ce33a03cb0c867b04e9eee0edb3 SHA512 fde3eb9f13946887ddfd87df428c5615ad09aaf191e4478b24e98e5e13231feeff4e70b4ca6a2ff7d9b9b2e2c60bc1d5479526edeafa78f9a8ed3bef2e0bacb0
DIST protobuf-3.20.3.tar.gz 5374320 BLAKE2B fb51f2a0ecf5b83235f5252051f8192ae377bb7a5e030c3f3e9435ccde25919c059830cf476e840fa6c970928a32c0075e213c9d5d4d9e3d3b24732c39a9fbfa SHA512 01d6703bdbe769a1200ee6e4ebcdcb99688ec21f576988c60d82ec36e0822820fb245fcb4ca53293143d53e666d748b5a0c6937bc659fb3cdc4cd9b05ed12a1c
DIST protobuf-3.21.9.tar.gz 5112917 BLAKE2B 1788652e89ccb77feeaf2a3f4ce8e8554b29c1bccf3f58d79c66f3e5f080659a9b7eb4f2b4a07ce640549749f376deaf725d20e19674348b5bce9168aad5d095 SHA512 d54843a4ed66edf6cab7262849216b909313d70e9758aa7f00d02902c576396f0a77bb224fe2ce408da37aefaf7da9f568dea7bda4e397fc1e3666c8aaf9cb0f

@ -1,102 +0,0 @@
# Copyright 2008-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="com.google.protobuf:${PN}:${PV}"
# Tests not enabled, depend on com.google.truth which is not packaged
# https://github.com/protocolbuffers/protobuf/blob/v3.19.6/java/core/pom.xml#L35-L40
# JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
PARENT_PN="${PN/-java/}"
PARENT_PV="${PV}"
PARENT_P="${PARENT_PN}-${PARENT_PV}"
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
else
SRC_URI="
https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
-> ${PARENT_P}.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
DESCRIPTION="Google's Protocol Buffers - Java bindings"
HOMEPAGE="
https://developers.google.com/protocol-buffers/
"
LICENSE="BSD"
SLOT="0/30"
S="${WORKDIR}/${PARENT_P}/java"
BDEPEND="
dev-libs/protobuf:${SLOT}
"
DEPEND="
>=virtual/jdk-1.8:*
test? (
dev-java/guava:0
dev-java/mockito:4
)
"
RDEPEND="
>=virtual/jre-1.8:*
"
JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
JAVA_JAR_FILENAME="protobuf.jar"
JAVA_RESOURCE_DIRS="core/src/main/resources"
JAVA_SRC_DIR="core/src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
JAVA_TEST_RESOURCE_DIRS="../src"
JAVA_TEST_SRC_DIR="core/src/test/java"
# Same than PATCHES but from repository's root directory,
# please see function `src_prepare` below.
# Simplier for users IMHO.
PARENT_PATCHES=(
)
# Here for patches within "java/" subdirectory.
PATCHES=(
)
src_prepare() {
pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
[[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
eapply_user
popd > /dev/null || die
# Remove bundled jars
java-pkg_clean
java-pkg-2_src_prepare
# There is also compiler/plugin, but not in this list because in a subdirectory
core_protos=( any api descriptor duration empty field_mask source_context struct timestamp type wrappers )
# Copy resources from ../src/google/protobuf according to
# https://github.com/protocolbuffers/protobuf/blob/v3.19.6/java/core/pom.xml#L45-L61
mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die
cp "../src/google/protobuf/${core_protos[@]}.proto" \
"${JAVA_RESOURCE_DIRS}/google/protobuf" || die
cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die
# Generate 146 .java files according to
# https://github.com/protocolbuffers/protobuf/blob/v3.19.6/java/core/generate-sources-build.xml
for proto in "${core_protos[@]}" compiler/plugin; do
"${BROOT}/usr/bin/protoc" \
--java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${proto}".proto || die
done
}

@ -1,54 +0,0 @@
# Copyright 2008-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-pkg-simple
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
EGIT_SUBMODULES=()
fi
DESCRIPTION="Google's Protocol Buffers - Java bindings"
HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz"
fi
S="${WORKDIR}/protobuf-${PV}/java"
LICENSE="BSD"
SLOT="0/31"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
COMMON_DEPEND=">=virtual/jdk-1.8:*"
BDEPEND="
~dev-libs/protobuf-${PV}
${COMMON_DEPEND}
"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${DEPEND}"
src_prepare() {
pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die
eapply_user
popd > /dev/null || die
java-pkg-2_src_prepare
}
src_compile() {
"${BROOT}/usr/bin/protoc" --java_out=core/src/main/java -I../src ../src/google/protobuf/descriptor.proto || die
JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_compile
}
src_install() {
JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_install
}

@ -1,102 +0,0 @@
# Copyright 2008-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="com.google.protobuf:${PN}:${PV}"
# Tests not enabled, depend on com.google.truth which is not packaged
# https://github.com/protocolbuffers/protobuf/blob/v3.20.3/java/core/pom.xml#L35-L40
# JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
PARENT_PN="${PN/-java/}"
PARENT_PV="${PV}"
PARENT_P="${PARENT_PN}-${PARENT_PV}"
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
else
SRC_URI="
https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
-> ${PARENT_P}.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
DESCRIPTION="Google's Protocol Buffers - Java bindings"
HOMEPAGE="
https://developers.google.com/protocol-buffers/
"
LICENSE="BSD"
SLOT="0/31"
S="${WORKDIR}/${PARENT_P}/java"
BDEPEND="
dev-libs/protobuf:${SLOT}
"
DEPEND="
>=virtual/jdk-1.8:*
test? (
dev-java/guava:0
dev-java/mockito:4
)
"
RDEPEND="
>=virtual/jre-1.8:*
"
JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
JAVA_JAR_FILENAME="protobuf.jar"
JAVA_RESOURCE_DIRS="core/src/main/resources"
JAVA_SRC_DIR="core/src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
JAVA_TEST_RESOURCE_DIRS="../src"
JAVA_TEST_SRC_DIR="core/src/test/java"
# Same than PATCHES but from repository's root directory,
# please see function `src_prepare` below.
# Simplier for users IMHO.
PARENT_PATCHES=(
)
# Here for patches within "java/" subdirectory.
PATCHES=(
)
src_prepare() {
pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
[[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
eapply_user
popd > /dev/null || die
# Remove bundled jars
java-pkg_clean
java-pkg-2_src_prepare
# There is also compiler/plugin, but not in this list because in a subdirectory
core_protos=( any api descriptor duration empty field_mask source_context struct timestamp type wrappers )
# Copy resources from ../src/google/protobuf according to
# https://github.com/protocolbuffers/protobuf/blob/v3.20.2/java/core/pom.xml#L45-L61
mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die
cp "../src/google/protobuf/${core_protos[@]}.proto" \
"${JAVA_RESOURCE_DIRS}/google/protobuf" || die
cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die
# Generate 146 .java files according to
# https://github.com/protocolbuffers/protobuf/blob/v3.20.3/java/core/generate-sources-build.xml
for proto in "${core_protos[@]}" compiler/plugin; do
"${BROOT}/usr/bin/protoc" \
--java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${proto}".proto || die
done
}

@ -1,102 +0,0 @@
# Copyright 2008-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="com.google.protobuf:${PN}:${PV}"
# Tests not enabled, depend on com.google.truth which is not packaged
# https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/pom.xml#L35-L40
# JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
PARENT_PN="${PN/-java/}"
PARENT_PV="$(ver_cut 2-)"
PARENT_P="${PARENT_PN}-${PARENT_PV}"
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
else
SRC_URI="
https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
-> ${PARENT_P}.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
DESCRIPTION="Google's Protocol Buffers - Java bindings"
HOMEPAGE="
https://developers.google.com/protocol-buffers/
"
LICENSE="BSD"
SLOT="0/32"
S="${WORKDIR}/${PARENT_P}/java"
BDEPEND="
dev-libs/protobuf:${SLOT}
"
DEPEND="
>=virtual/jdk-1.8:*
test? (
dev-java/guava:0
dev-java/mockito:4
)
"
RDEPEND="
>=virtual/jre-1.8:*
"
JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
JAVA_JAR_FILENAME="protobuf.jar"
JAVA_RESOURCE_DIRS="core/src/main/resources"
JAVA_SRC_DIR="core/src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
JAVA_TEST_RESOURCE_DIRS="../src"
JAVA_TEST_SRC_DIR="core/src/test/java"
# Same than PATCHES but from repository's root directory,
# please see function `src_prepare` below.
# Simplier for users IMHO.
PARENT_PATCHES=(
)
# Here for patches within "java/" subdirectory.
PATCHES=(
)
src_prepare() {
pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
[[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
eapply_user
popd > /dev/null || die
# Remove bundled jars
java-pkg_clean
java-pkg-2_src_prepare
# There is also compiler/plugin, but not in this list because in a subdirectory
core_protos=( any api descriptor duration empty field_mask source_context struct timestamp type wrappers )
# Copy resources from ../src/google/protobuf according to
# https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/pom.xml#L45-L61
mkdir -p "${JAVA_RESOURCE_DIRS}/google/protobuf/compiler" || die
cp "../src/google/protobuf/${core_protos[@]}.proto" \
"${JAVA_RESOURCE_DIRS}/google/protobuf" || die
cp {../src,"${JAVA_RESOURCE_DIRS}"}/google/protobuf/compiler/plugin.proto || die
# Generate 146 .java files according to
# https://github.com/protocolbuffers/protobuf/blob/v21.7/java/core/generate-sources-build.xml
for proto in "${core_protos[@]}" compiler/plugin; do
"${BROOT}/usr/bin/protoc" \
--java_out="${JAVA_SRC_DIR}" -I../src ../src/google/protobuf/"${proto}".proto || die
done
}

@ -0,0 +1,60 @@
# Copyright 2008-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="com.google.protobuf:protobuf-java:3.21.9"
# Tests not enabled, depend on com.google.truth which is not packaged
# https://github.com/protocolbuffers/protobuf/blob/v3.21.6/java/core/pom.xml#L35-L39"
# JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Google's Protocol Buffers - Java bindings"
HOMEPAGE="https://developers.google.com/protocol-buffers/"
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
DEPEND="
>=virtual/jdk-1.8:*
test? (
dev-java/guava:0
dev-java/mockito:4
)
"
RDEPEND=">=virtual/jre-1.8:*"
BDEPEND="dev-libs/protobuf:0"
S="${WORKDIR}/protobuf-${PV}/java"
JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
JAVA_JAR_FILENAME="protobuf.jar"
JAVA_RESOURCE_DIRS="core/src/main/resources"
JAVA_SRC_DIR="core/src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
JAVA_TEST_RESOURCE_DIRS="../src"
JAVA_TEST_SRC_DIR="core/src/test/java"
src_prepare() {
default
java-pkg-2_src_prepare
# Copy resources from ../src/google/protobuf according to
# https://github.com/protocolbuffers/protobuf/blob/v3.21.6/java/core/pom.xml#L45-L61
mkdir -p core/src/main/resources/google/protobuf/compiler || die
cp {../src,core/src/main/resources}/google/protobuf/compiler/plugin.proto || die
cp ../src/google/protobuf/{any,api,descriptor,duration,empty,field_mask,source_context,struct,timestamp,type,wrappers}.proto \
"${JAVA_RESOURCE_DIRS}/google/protobuf" || die
# Generate 146 .java files according to
# https://github.com/protocolbuffers/protobuf/blob/v3.21.6/java/core/generate-sources-build.xml
for proto in any api compiler/plugin descriptor duration empty field_mask source_context struct timestamp type wrappers; do
"${BROOT}/usr/bin/protoc" \
--java_out=core/src/main/java -I../src ../src/google/protobuf/$proto.proto || die
done
}

@ -1 +1,2 @@
DIST qdox-1.12.1.tar.gz 519833 BLAKE2B 83a732f1582b714cf943ede61bacc5216804c00cfbb642a479afb74739564f4fdbcd923dd7cb84a9626a97c5ad0a0f04895e0ae68252891cb25299e1fe1c9c72 SHA512 17ac933854ebd0560921805ea4339c151a7fd095bf8d50d5d71e656afda77ba30efac7926cfcc7543e4a8420b12d1eb75cdd305c50d1c28ad8cd6b0f4d95f5c5
DIST qdox-2.0.1.tar.gz 528305 BLAKE2B ff2f4b59d650b93a466eae6cc69239b059f7786ea609c18c56414e7e849d711d5316664a376b2c2c6e0021a21e7577cc21c9f5cfd215c4af612100a4c81da758 SHA512 db9d9ed8e8cf38c74e35be493aebcca54ba9d2c43a92c066d1964777293ad3af8e3212fcb8c20e9453b93e9bbe868c988dab69f936e7df41450183ce385137fa

@ -10,6 +10,6 @@
definitions from source files complete with JavaDoc @tags.
</longdescription>
<upstream>
<remote-id type="github">codehaus/qdox</remote-id>
<remote-id type="github">paul-hammant/qdox</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,102 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="com.thoughtworks.qdox:qdox:2.0.1"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Parser for extracting class/interface/method definitions"
HOMEPAGE="https://github.com/paul-hammant/qdox"
SRC_URI="https://github.com/paul-hammant/qdox/archive/qdox-${PV}.tar.gz"
LICENSE="Apache-2.0"
SLOT="2"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~ppc-macos ~x64-macos"
DEPEND="
dev-java/jflex:0
>=virtual/jdk-1.8:*
test? (
dev-java/junit:4
dev-java/mockito:0
)
"
RDEPEND=">=virtual/jre-1.8:*"
BDEPEND="dev-java/byaccj:0"
S="${WORKDIR}/qdox-${P}"
JAVA_AUTOMATIC_MODULE_NAME="com.thoughtworks.qdox"
JAVA_SRC_DIR="src/main/java"
JAVA_CLASSPATH_EXTRA="jflex"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
JAVA_TEST_GENTOO_CLASSPATH="
junit-4
mockito
"
src_compile() {
einfo "Running jflex"
jflex src/grammar/lexer.flex src/grammar/commentlexer.flex \
-d src/main/java/com/thoughtworks/qdox/parser/impl || die
einfo "Running byaccj for DefaultJavaCommentParser"
byaccj -v \
-Jnorun \
-Jnoconstruct \
-Jclass=DefaultJavaCommentParser \
-Jpackage=com.thoughtworks.qdox.parser.impl \
src/grammar/commentparser.y || die
einfo "Running byaccj for Parser"
byaccj -v \
-Jnorun \
-Jnoconstruct \
-Jclass=Parser \
-Jimplements=CommentHandler \
-Jsemantic=Value \
-Jpackage=com.thoughtworks.qdox.parser.impl \
src/grammar/parser.y || die
mv Parser.java src/main/java/com/thoughtworks/qdox/parser/impl/ || die
mv DefaultJavaCommentParser.java src/main/java/com/thoughtworks/qdox/parser/impl/ || die
mv DefaultJavaCommentParserVal.java src/main/java/com/thoughtworks/qdox/parser/impl/ || die
einfo "Running java-pkg-simple_src_compile"
java-pkg-simple_src_compile
}
src_test() {
# Too many tests fail with Java 17.
local vm_version="$(java-config -g PROVIDES_VERSION)"
if ver_test "${vm_version}" -ge 17 ; then
einfo "Tests only for Java < 17"
else
einfo "Running tests"
pushd src/test/java || die
local JAVA_TEST_RUN_ONLY=$(find * \
\( -wholename "**/*Test.java" \
-o -name 'TestMultipleLevelGenericInheritance.java' \)\
! -name "ClassLibraryBuilderTest.java" \
! -name "JavaClassTest.java" \
! -name "JavaConstructorTest.java" \
! -name "JavaFieldTest.java" \
! -name "JavaMethodTest.java" \
! -name "JavaPackageTest.java" \
! -name "JavaParameterTest.java" \
! -name "JavaSourceTest.java" \
! -name "JavaTypeTest.java" \
! -name "AbstractDocletTagTest.java" \
)
popd
JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
java-pkg-simple_src_test
fi
}

@ -73,3 +73,10 @@ src_prepare() {
# at org.slf4j.reload4j.EventFieldsTest.testWhetherEventsFieldsAreSet(EventFieldsTest.java:35)
rm src/test/java/org/slf4j/reload4j/EventFieldsTest.java || die "cannot remove test"
}
src_test() {
if use ppc64; then #877903
JAVA_TEST_EXCLUDES+=( org.slf4j.reload4j.Reload4jMultithreadedInitializationTest )
fi
java-pkg-simple_src_test
}

@ -18,7 +18,7 @@ SRC_URI="https://github.com/stefanbirkner/${PN}/archive/${P}.tar.gz"
LICENSE="CPL-1.0"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~ppc64"
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
# Common dependencies
# POM: pom.xml

@ -15,7 +15,7 @@ SRC_URI="mirror://apache/tomcat/tomcat-9/v${PV}/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="4.0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND=">=virtual/jdk-1.8:*"

Binary file not shown.

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

Loading…
Cancel
Save