parent
0554672479
commit
380310b5a6
@ -1,23 +1,23 @@
|
|||||||
-----BEGIN PGP SIGNED MESSAGE-----
|
-----BEGIN PGP SIGNED MESSAGE-----
|
||||||
Hash: SHA512
|
Hash: SHA512
|
||||||
|
|
||||||
MANIFEST Manifest.files.gz 29802 BLAKE2B 7396be9efe3c600c06e215b0135128b1759f09c7e244528657186f3fefdca6585f4cfeecdd5a592b449f85a011cb89bb8223836ddf215bfb875f2fb06240acc2 SHA512 83089778c68938db514ec337f8739d9849ff2d88bc9aae1bbbf86e41cfa7851e151a73503eb2e9fb2c2c8176a00cce7e720588d38d484d6eb98db862ced5acef
|
MANIFEST Manifest.files.gz 29442 BLAKE2B f8ea2b5dba95ad0bc5511bafd8b493c04a098ea9894af48a53e0ed1d77ed16816e39e2c7319fef9763c803c5a10ea9a8cf56e5880dd764a3d96ed02d54b10b8f SHA512 ea4b205806cd86a8f6e85be3fcd42695cd90ab001ddc6ab660967390f57c549236c58dae06a984cce419bc55bb55d9ed2b9832615560f64bc03f73a758b8e0f2
|
||||||
TIMESTAMP 2023-01-24T10:39:45Z
|
TIMESTAMP 2023-01-26T17:09:49Z
|
||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmPPtXFfFIAAAAAALgAo
|
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmPSs91fFIAAAAAALgAo
|
||||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||||
klDw/hAApgja7MMvSrIBJT2bQpx8nEVch6nJzqVBdoWVf59gxQJtyWCuGQI0ca7+
|
klBLmg/+OM1IQXg12qx8th4HJ+dX5IxEEoU17cm7miFx/Kxgk8n+qhaASxaW8/rz
|
||||||
fArtv7IuQfEo2rAe2xBF5bCVzQodvSMQg2zFiPOSnwJ+e3ETujvF6Treio0N2nkv
|
mfhcw8FBcSyT8QsrUWg6jBW9LZb8h6Z89odZrBQfOSMswKPQcF92navY90btTA8w
|
||||||
hTVvhD7GBmk2DUTlw2I11d+xM3xTTcurUxkp6Jtv3YSHOaAySjFYzotoJogp3Q5Q
|
EtMeG8UY7ivZqH4lrL+qek3C3r5UCLuJLYDKJNq+DFm3ZCRbcxUqdLYrjlKv6zB4
|
||||||
EMSXlNcNhCb+3Wuz2nuM7ftHOfA1Q8faxnsJ5djwS4RvF8XO658fYBdo+aiPEgGn
|
n53M8WraFaPLpDAJf1Z49J/+V04KiTLMdgydZFay7tGd3Bkd8LxH+3lXVg4xmcWs
|
||||||
biBUECOKuqusg2crZ2dF/DmGPI3KXiP0y10IJs/7Sbwz4savlR0ULGoU1KV4WTHs
|
Uo8pWF9IRJqiHBcKn8J2fAd1++su+v/YsdmRlbhP3ftAg33YQHEE1WKCrCMcq5iZ
|
||||||
2WmZxOSPeyfVnB60uV5EByHqjEcUQJXNO3vNja56xqXUQzX6R7ycuclybjkPGqPT
|
qd9dOe2fT8pfF3EJkPToDhTh2uTUHJmMo4QWkwhaCDS6ZPOUnODQPIFuBZsaWjmk
|
||||||
bSjjEF1caYcNi/R6bNGEPZeuX4szc85Uc0N9gkrReMYsnPQfPOpuM2e12zS28g8O
|
a+A3jGNRqHd5lXFOwbp/KvLYC2eBOO2upV3yXBF7l5e28Jdn1x1LaN31rr32R3jl
|
||||||
B+DjkiwfVV48RBCBwpFxMHMhS+gRalJBE84FBNuVt+fsA9CL/TtYdEJmuAQ+itVt
|
SrSrCPOACT9V8Hvpi7r3hvCb6J32oIZjUkszlbrWHt5YZ/d9++JSwa8WlmZpy1fp
|
||||||
noJ1VtjH6lIws6R9uW3BPuYa4LMW6kf40DHSzQgVjBUwwfhH9q3Y/uhvS/Sje020
|
RksQ42f3CTaxSp4BAKKTw4/pIe4M01gO0Fkmm/mmwyaEdBFnjINBVIWf+1OjMx9D
|
||||||
+Why2jvbCDzKfIMaspp/3J1BmswNmHdxd5f40BiJqLArJd/eoJ0muX/0Fxo4MUIm
|
0FtuMAv8cqy6j0J1OoONZ+lo0uhoT64zkLsfToyPB5asdQaGkQTdYrJWtuTb5XRF
|
||||||
r+697mr+/InzhjS9nxrWwz+Dm/ig+GowC068MJEOAu8PvltSjQ0=
|
GwqUBvcmep+qGIi+vFu+bqtGaB6w+WGSGRI2ii1VnqNEXdrjy+w=
|
||||||
=fa9u
|
=whSx
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
EBUILD ros-0.ebuild 198 BLAKE2B cd27b150402dba07c213c2a7f8539359b064a3ce14c82c8e3cf7f1f93dadc038b188f212a5982dd7a223ac836a530406fd54dc661ab4b28c02a2edeca9809679 SHA512 2914c969b0ee18d858caa90102731eafaa4e2a7554b53a39bef600fd5bcfa822dbdf8996804dede3c8eaae1f1924c8178c4c488242b2d9d1e64bd86de9d0ffde
|
|
||||||
MISC metadata.xml 250 BLAKE2B b33e2f6f8aa0b8a16db09689549cb264ed6ab306d984d7ca5f82114d58d84186666fb86cae8b6c2d4ff31aa8811238dcf68dbf8d66c01413a212a04fbca3903b SHA512 deeb9f6cacb8195d8291c6b7a9ff72ba9b5461efe08beda60137bf1c106223c424febc1d68290cd39d03a4615a66ea224ddf6b2ae1019eee141aa3f583ce2c76
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="project">
|
|
||||||
<email>ros@gentoo.org</email>
|
|
||||||
<name>Gentoo ROS Project</name>
|
|
||||||
</maintainer>
|
|
||||||
</pkgmetadata>
|
|
@ -1,10 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit acct-group
|
|
||||||
|
|
||||||
DESCRIPTION="A group for dev-ros/roslaunch"
|
|
||||||
|
|
||||||
ACCT_GROUP_ID="130"
|
|
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
EBUILD ros-0.ebuild 269 BLAKE2B fdc4f9d3cccdfd391f8f1930bcd54c155ca4b8437305077df387087c5a94af1d5cb68febf5cefccc43a1753573cae802e27457373e4ab5eef6823168a75464b9 SHA512 9275c99874ea453efabbcb79e44445f43fb696467f0614c99f969298e5ac128fff1e09f808a05dd8d58b33667d37afa13362836c1348fb63db542ced47e96836
|
|
||||||
MISC metadata.xml 250 BLAKE2B b33e2f6f8aa0b8a16db09689549cb264ed6ab306d984d7ca5f82114d58d84186666fb86cae8b6c2d4ff31aa8811238dcf68dbf8d66c01413a212a04fbca3903b SHA512 deeb9f6cacb8195d8291c6b7a9ff72ba9b5461efe08beda60137bf1c106223c424febc1d68290cd39d03a4615a66ea224ddf6b2ae1019eee141aa3f583ce2c76
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="project">
|
|
||||||
<email>ros@gentoo.org</email>
|
|
||||||
<name>Gentoo ROS Project</name>
|
|
||||||
</maintainer>
|
|
||||||
</pkgmetadata>
|
|
@ -1,14 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit acct-user
|
|
||||||
|
|
||||||
DESCRIPTION="A user for dev-ros/roslaunch"
|
|
||||||
|
|
||||||
ACCT_USER_GROUPS=( "ros" )
|
|
||||||
ACCT_USER_HOME="/home/ros"
|
|
||||||
ACCT_USER_ID="130"
|
|
||||||
|
|
||||||
acct-user_add_deps
|
|
Binary file not shown.
@ -1,5 +1,6 @@
|
|||||||
AUX brltty-6.4-respect-AR.patch 385 BLAKE2B 0029b98054c21b86bb3d03ff52a358fd08585fd10dcf43443c44857c13c17e65e8a60c1e14c06e708dbf77e55760d465a7929bf35cb37cb5758b42770cd7e4c7 SHA512 d603e195d9981a608b46ebb047536acece13c5106b46d1a4b76cc7e7aad6db2fb47d338224faaa9973295e10994fdd62a6986b0a3fd193a4808d432681d3dd60
|
AUX brltty-6.4-respect-AR.patch 385 BLAKE2B 0029b98054c21b86bb3d03ff52a358fd08585fd10dcf43443c44857c13c17e65e8a60c1e14c06e708dbf77e55760d465a7929bf35cb37cb5758b42770cd7e4c7 SHA512 d603e195d9981a608b46ebb047536acece13c5106b46d1a4b76cc7e7aad6db2fb47d338224faaa9973295e10994fdd62a6986b0a3fd193a4808d432681d3dd60
|
||||||
AUX brltty.initd 241 BLAKE2B 80969e4840d2d38af6bc310ecf18e0253ef01667517135bc5a2f92e50882c2b72e8a4763b215c62ccbfd8d2250067b44ce9a4cb5d318dd6eb48b298826d8d5de SHA512 55ea97a546a2335ee1148396df71363442b66ed4526f8adb93e88c2cf489f10a21b5361658f590b3f64eec24844235491b15349bd0e1c4533fef7b1390fc3a6e
|
AUX brltty.initd 241 BLAKE2B 80969e4840d2d38af6bc310ecf18e0253ef01667517135bc5a2f92e50882c2b72e8a4763b215c62ccbfd8d2250067b44ce9a4cb5d318dd6eb48b298826d8d5de SHA512 55ea97a546a2335ee1148396df71363442b66ed4526f8adb93e88c2cf489f10a21b5361658f590b3f64eec24844235491b15349bd0e1c4533fef7b1390fc3a6e
|
||||||
DIST brltty-6.5.tar.xz 3631628 BLAKE2B b2e5f82f15dff9a99bf3d75523f6ec48d531d413d860079af0023b9efdc07a93563226c6388cc89ce025f8d13b1635e883680f0ddb8a688ffcc4cd9c335d7aee SHA512 bbfbb89b1c3ba5063ad3bc0aa97b859dd23acea1feb79dab20c57dc74ff2f26649942fcecc7030a3f70555596f4d9d35cd05616af2a8e101d4d56b4c471a6ad3
|
DIST brltty-6.5.tar.xz 3631628 BLAKE2B b2e5f82f15dff9a99bf3d75523f6ec48d531d413d860079af0023b9efdc07a93563226c6388cc89ce025f8d13b1635e883680f0ddb8a688ffcc4cd9c335d7aee SHA512 bbfbb89b1c3ba5063ad3bc0aa97b859dd23acea1feb79dab20c57dc74ff2f26649942fcecc7030a3f70555596f4d9d35cd05616af2a8e101d4d56b4c471a6ad3
|
||||||
EBUILD brltty-6.5.ebuild 5668 BLAKE2B fac441eb3bde2e3b0de64924afe486e4e4ca78d176ce9e6484e73773648bba32e023a37836f12928b6417ff7c2bac98bf35afa5f4812906a8a76d054860bc90d SHA512 2f66e1bb281c16685bb4b0e6a5f3cff00b6b2bb4cabcbfa67f9e5343f44c72a0fcf122548b60d92c10ff53ea7fca3613c17f6a24ce81117eb11ccdc104fc8a3e
|
EBUILD brltty-6.5-r1.ebuild 5690 BLAKE2B ac81eec50a4e49d1242a1902aa6e8d9699ba4f6d7dddcbea5d3607c1456e1172d71c8960aee177b42abfb116c47369141da93eac672dec1f22a846c7ceade535 SHA512 1cb4b1a1c001c1d1b612ac41c3fc97c21c72f98ff18010ea0d883802905f592ec45ff8d2941508b190a2f13ea907b9c7f09285646b9801bfde576169ee5f6ea8
|
||||||
|
EBUILD brltty-6.5.ebuild 5683 BLAKE2B 4edd212a53bef39aec72393cffbb3c23af1302a25d4faf3ed0d4c515bdae0c3423b4ce37f5bac6cfa49aa25cca8db08d5a9c12ebe02e263b2f2dfe8ebcda945a SHA512 b689f849ac6b6cd1c60dc10ae8bdc07065771db7c6baf9f10086d18b02417a060e5ecedc1421a52dd7017d54d0de9e09fd0fb6f4f618aef1be6990ff6d12e837
|
||||||
MISC metadata.xml 1640 BLAKE2B eb6127143a054eda7263e2a3bf27555ac6193c2d9363476be6e6cb4e9269f454a808890ff8587189784a51877f44ed8ff5b9231aeea8d4c3172c98f66481c856 SHA512 74017c3f562c638fe1f547ed3e23c303d2248cbcc602404a4e394439ed4ad314ca359a9dccd181ba264a19b822fc46c7c961f992ad2bce95f6c3bfb3436d461f
|
MISC metadata.xml 1640 BLAKE2B eb6127143a054eda7263e2a3bf27555ac6193c2d9363476be6e6cb4e9269f454a808890ff8587189784a51877f44ed8ff5b9231aeea8d4c3172c98f66481c856 SHA512 74017c3f562c638fe1f547ed3e23c303d2248cbcc602404a4e394439ed4ad314ca359a9dccd181ba264a19b822fc46c7c961f992ad2bce95f6c3bfb3436d461f
|
||||||
|
@ -0,0 +1,223 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{9..11} )
|
||||||
|
FINDLIB_USE="ocaml"
|
||||||
|
JAVA_PKG_WANT_SOURCE="1.8"
|
||||||
|
JAVA_PKG_WANT_TARGET="1.8"
|
||||||
|
|
||||||
|
inherit findlib toolchain-funcs java-pkg-opt-2 autotools python-r1 tmpfiles
|
||||||
|
|
||||||
|
DESCRIPTION="Daemon that provides access to the Linux/Unix console for a blind person"
|
||||||
|
HOMEPAGE="https://brltty.app/"
|
||||||
|
SRC_URI="https://brltty.app/archive/${P}.tar.xz"
|
||||||
|
|
||||||
|
LICENSE="GPL-2 LGPL-2.1"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||||
|
IUSE="+api +beeper bluetooth doc +fm gpm iconv icu
|
||||||
|
java louis +midi ncurses nls ocaml +pcm policykit python
|
||||||
|
usb systemd +speech tcl xml X"
|
||||||
|
REQUIRED_USE="doc? ( api )
|
||||||
|
java? ( api )
|
||||||
|
ocaml? ( api )
|
||||||
|
python? ( api ${PYTHON_REQUIRED_USE} )
|
||||||
|
tcl? ( api )"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
acct-group/brltty
|
||||||
|
acct-user/brltty
|
||||||
|
dev-libs/libpcre2[pcre32]
|
||||||
|
bluetooth? (
|
||||||
|
sys-apps/dbus
|
||||||
|
net-wireless/bluez
|
||||||
|
)
|
||||||
|
gpm? ( >=sys-libs/gpm-1.20 )
|
||||||
|
iconv? ( virtual/libiconv )
|
||||||
|
icu? ( dev-libs/icu:= )
|
||||||
|
louis? ( dev-libs/liblouis:= )
|
||||||
|
midi? ( media-libs/alsa-lib )
|
||||||
|
ncurses? ( sys-libs/ncurses:0= )
|
||||||
|
pcm? ( media-libs/alsa-lib )
|
||||||
|
policykit? ( sys-auth/polkit )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
speech? (
|
||||||
|
app-accessibility/espeak-ng
|
||||||
|
app-accessibility/flite
|
||||||
|
app-accessibility/speech-dispatcher
|
||||||
|
)
|
||||||
|
systemd? ( sys-apps/systemd )
|
||||||
|
tcl? ( >=dev-lang/tcl-8.6.13-r1:= )
|
||||||
|
usb? ( virtual/libusb:1 )
|
||||||
|
xml? ( dev-libs/expat )
|
||||||
|
X? (
|
||||||
|
app-accessibility/at-spi2-core:2
|
||||||
|
sys-apps/dbus
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXaw
|
||||||
|
x11-libs/libXfixes
|
||||||
|
x11-libs/libXt
|
||||||
|
x11-libs/libXtst
|
||||||
|
)"
|
||||||
|
RDEPEND="${DEPEND}
|
||||||
|
java? ( >=virtual/jre-1.8:* )
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
virtual/pkgconfig
|
||||||
|
java? ( >=virtual/jdk-1.8:* )
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
python? ( >=dev-python/cython-0.16[${PYTHON_USEDEP}] )
|
||||||
|
"
|
||||||
|
|
||||||
|
HTML_DOCS=( "${S}"/Documents/Manual-BrlAPI/. )
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-6.4-respect-AR.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
java-pkg-opt-2_src_prepare
|
||||||
|
|
||||||
|
# We run eautoconf instead of using eautoreconf because brltty uses
|
||||||
|
# a custom build system that uses autoconf without the rest of the
|
||||||
|
# autotools.
|
||||||
|
eautoconf
|
||||||
|
use python && python_copy_sources
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-export AR LD PKG_CONFIG
|
||||||
|
|
||||||
|
export JAVAC=""
|
||||||
|
export JAVA_JNI_FLAGS=""
|
||||||
|
if use java; then
|
||||||
|
export JAVA_HOME="$(java-config -g JAVA_HOME)"
|
||||||
|
export JAVAC_HOME="${JAVA_HOME}/bin"
|
||||||
|
export JAVA_JNI_FLAGS="$(java-pkg_get-jni-cflags)"
|
||||||
|
export JAVAC="$(java-pkg_get-javac) -encoding UTF-8 $(java-pkg_javac-args)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Override bindir for backward compatibility.
|
||||||
|
# Also override localstatedir so that the lib/brltty directory is installed
|
||||||
|
# correctly.
|
||||||
|
# Disable stripping since we do that ourselves.
|
||||||
|
local myconf=(
|
||||||
|
--bindir="${EPREFIX}"/bin
|
||||||
|
--htmldir="${EPREFIX}"/usr/share/doc/"${P}"/html
|
||||||
|
--localstatedir="${EPREFIX}"/var
|
||||||
|
--runstatedir="${EPREFIX}"/run
|
||||||
|
# the next two lines should be removed once support is added.
|
||||||
|
--disable-emacs-bindings
|
||||||
|
--disable-lua-bindings
|
||||||
|
--disable-stripping
|
||||||
|
--with-updatable-directory="${EPREFIX}"/var/lib/brltty
|
||||||
|
--with-writable-directory="${EPREFIX}"/run/brltty
|
||||||
|
--with-privilege-parameters=lx:user=brltty
|
||||||
|
$(use_enable api)
|
||||||
|
$(use_with beeper beep-package)
|
||||||
|
# $(use_enable emacs emacs-bindings)
|
||||||
|
$(use_with fm fm-package)
|
||||||
|
$(use_enable gpm)
|
||||||
|
$(use_enable iconv)
|
||||||
|
$(use_enable icu)
|
||||||
|
$(use_enable java java-bindings)
|
||||||
|
$(use_enable louis liblouis)
|
||||||
|
# $(use_enable lua lua-bindings)
|
||||||
|
$(use_with midi midi-package)
|
||||||
|
$(use_enable nls i18n)
|
||||||
|
$(use_enable ocaml ocaml-bindings)
|
||||||
|
$(use_with pcm pcm-package)
|
||||||
|
$(use_enable policykit polkit)
|
||||||
|
$(use_enable python python-bindings)
|
||||||
|
$(use_enable speech speech-support)
|
||||||
|
$(use_with systemd service-package)
|
||||||
|
$(use_enable tcl tcl-bindings)
|
||||||
|
$(use_enable xml expat)
|
||||||
|
$(use_enable X x)
|
||||||
|
$(use_with bluetooth bluetooth-package)
|
||||||
|
$(use_with ncurses curses)
|
||||||
|
$(use_with usb usb-package)
|
||||||
|
)
|
||||||
|
# disable espeak since we use espeak-ng
|
||||||
|
use speech && myconf+=( --with-speech-driver=-es )
|
||||||
|
|
||||||
|
econf "${myconf[@]}"
|
||||||
|
|
||||||
|
if use python; then
|
||||||
|
python_configure() {
|
||||||
|
econf "${myconf[@]}"
|
||||||
|
}
|
||||||
|
python_foreach_impl run_in_build_dir python_configure
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
emake -j1 JAVA_JNI_FLAGS="${JAVA_JNI_FLAGS}" JAVAC="${JAVAC}"
|
||||||
|
|
||||||
|
if use python; then
|
||||||
|
python_build() {
|
||||||
|
cd "Bindings/Python" || die
|
||||||
|
emake -j1
|
||||||
|
}
|
||||||
|
python_foreach_impl run_in_build_dir python_build
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
if use ocaml; then
|
||||||
|
findlib_src_preinst
|
||||||
|
fi
|
||||||
|
|
||||||
|
emake -j1 INSTALL_ROOT="${D}" OCAML_LDCONF= install
|
||||||
|
|
||||||
|
if use python; then
|
||||||
|
python_install() {
|
||||||
|
cd "Bindings/Python" || die
|
||||||
|
emake -j1 INSTALL_ROOT="${D}" install
|
||||||
|
}
|
||||||
|
python_foreach_impl run_in_build_dir python_install
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use java; then
|
||||||
|
java-pkg_doso Bindings/Java/libbrlapi_java.so
|
||||||
|
java-pkg_dojar Bindings/Java/brlapi.jar
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /etc
|
||||||
|
doins Documents/brltty.conf
|
||||||
|
newinitd "${FILESDIR}"/brltty.initd brltty
|
||||||
|
pushd Autostart/Systemd 1> /dev/null || die
|
||||||
|
emake -j1 INSTALL_ROOT="${ED}" install
|
||||||
|
popd || die
|
||||||
|
pushd Autostart/Udev 1> /dev/null || die
|
||||||
|
emake -j1 INSTALL_ROOT="${ED}" install
|
||||||
|
popd || die
|
||||||
|
|
||||||
|
dodoc Documents/{CONTRIBUTORS,ChangeLog,HISTORY,README*,TODO}
|
||||||
|
if use doc; then
|
||||||
|
HTML_DOCS="doc/Manual-BRLTTY" einstalldocs
|
||||||
|
fi
|
||||||
|
|
||||||
|
keepdir /var/lib/BrlAPI
|
||||||
|
rm -fr "${ED}/run" || die
|
||||||
|
find "${ED}" -name '*.a' -delete || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
tmpfiles_process ${PN}.conf
|
||||||
|
|
||||||
|
elog "please be sure ${EROOT}/etc/brltty.conf is correct for your system."
|
||||||
|
elog
|
||||||
|
elog "To make brltty start on boot on an OpenRC system, type this command:"
|
||||||
|
elog "# rc-update add brltty boot"
|
||||||
|
elog
|
||||||
|
elog "If you are using systemd, type this command:"
|
||||||
|
elog "# systemctl daemon-reload"
|
||||||
|
elog
|
||||||
|
elog "Please reload udev by typing:"
|
||||||
|
elog "# udevadm control --reload"
|
||||||
|
}
|
Binary file not shown.
@ -1,109 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit autotools toolchain-funcs
|
|
||||||
|
|
||||||
DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
|
|
||||||
HOMEPAGE="https://httpd.apache.org/"
|
|
||||||
SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
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 ~sparc64-solaris ~x64-solaris"
|
|
||||||
IUSE="ssl"
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
RDEPEND=">=dev-libs/apr-1.5.0:1=
|
|
||||||
dev-libs/apr-util:1=
|
|
||||||
dev-libs/expat
|
|
||||||
dev-libs/libpcre
|
|
||||||
virtual/libcrypt:=
|
|
||||||
kernel_linux? ( sys-apps/util-linux )
|
|
||||||
ssl? ( dev-libs/openssl:0= )"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
sys-devel/libtool"
|
|
||||||
BDEPEND="
|
|
||||||
virtual/pkgconfig
|
|
||||||
"
|
|
||||||
|
|
||||||
S="${WORKDIR}/httpd-${PV}"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${PN}-2.4.54-Makefile.patch" #459446
|
|
||||||
"${FILESDIR}/${PN}-2.4.54-no-which.patch" #844868
|
|
||||||
"${FILESDIR}/${PN}-2.4.54-libtool.patch" #858833
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
# This package really should upgrade to using pcre's .pc file.
|
|
||||||
cat <<-\EOF >"${T}"/pcre-config
|
|
||||||
#!/bin/bash
|
|
||||||
flags=()
|
|
||||||
for flag; do
|
|
||||||
if [[ ${flag} == "--version" ]]; then
|
|
||||||
flags+=( --modversion )
|
|
||||||
else
|
|
||||||
flags+=( "${flag}" )
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
exec ${PKG_CONFIG} libpcre "${flags[@]}"
|
|
||||||
EOF
|
|
||||||
chmod a+x "${T}"/pcre-config || die
|
|
||||||
|
|
||||||
# Only here for libtool and which patches
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Brain dead check.
|
|
||||||
tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
|
|
||||||
|
|
||||||
tc-export PKG_CONFIG
|
|
||||||
|
|
||||||
local myeconfargs=(
|
|
||||||
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules
|
|
||||||
--sbindir="${EPREFIX}"/usr/sbin
|
|
||||||
--with-z="${EPREFIX}"/usr
|
|
||||||
--with-apr="${ESYSROOT}"/usr
|
|
||||||
--with-apr-util="${ESYSROOT}"/usr
|
|
||||||
--with-pcre="${T}"/pcre-config
|
|
||||||
$(use_enable ssl)
|
|
||||||
$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
|
|
||||||
)
|
|
||||||
# econf overwrites the stuff from config.layout.
|
|
||||||
ac_cv_path_PKGCONFIG="${PKG_CONFIG}" \
|
|
||||||
econf "${myeconfargs[@]}"
|
|
||||||
sed -i \
|
|
||||||
-e '/^LTFLAGS/s:--silent::' \
|
|
||||||
build/rules.mk build/config_vars.mk || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake -C support
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
emake -C support DESTDIR="${D}" install
|
|
||||||
dodoc CHANGES
|
|
||||||
doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
|
|
||||||
docs/man/{htcacheclean,rotatelogs}.8
|
|
||||||
|
|
||||||
# Providing compatiblity symlinks for #177697 (which we'll stop to install
|
|
||||||
# at some point).
|
|
||||||
pushd "${ED}"/usr/sbin >/dev/null || die
|
|
||||||
local i
|
|
||||||
for i in *; do
|
|
||||||
dosym ${i} /usr/sbin/${i}2
|
|
||||||
done
|
|
||||||
popd >/dev/null || die
|
|
||||||
|
|
||||||
# Provide a symlink for ab-ssl
|
|
||||||
if use ssl ; then
|
|
||||||
dosym ab /usr/bin/ab-ssl
|
|
||||||
dosym ab /usr/bin/ab2-ssl
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,104 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
inherit toolchain-funcs
|
|
||||||
|
|
||||||
DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
|
|
||||||
HOMEPAGE="https://httpd.apache.org/"
|
|
||||||
SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc64-solaris ~x64-solaris"
|
|
||||||
IUSE="ssl"
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
RDEPEND=">=dev-libs/apr-1.5.0:1=
|
|
||||||
dev-libs/apr-util:1=
|
|
||||||
dev-libs/expat
|
|
||||||
dev-libs/libpcre
|
|
||||||
virtual/libcrypt:=
|
|
||||||
kernel_linux? ( sys-apps/util-linux )
|
|
||||||
ssl? ( dev-libs/openssl:0= )"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
sys-devel/libtool"
|
|
||||||
BDEPEND="
|
|
||||||
sys-apps/which
|
|
||||||
virtual/pkgconfig
|
|
||||||
"
|
|
||||||
|
|
||||||
S="${WORKDIR}/httpd-${PV}"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${PN}-2.4.7-Makefile.patch" #459446
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
# This package really should upgrade to using pcre's .pc file.
|
|
||||||
cat <<-\EOF >"${T}"/pcre-config
|
|
||||||
#!/bin/bash
|
|
||||||
flags=()
|
|
||||||
for flag; do
|
|
||||||
if [[ ${flag} == "--version" ]]; then
|
|
||||||
flags+=( --modversion )
|
|
||||||
else
|
|
||||||
flags+=( "${flag}" )
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
exec ${PKG_CONFIG} libpcre "${flags[@]}"
|
|
||||||
EOF
|
|
||||||
chmod a+x "${T}"/pcre-config || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Brain dead check.
|
|
||||||
tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
|
|
||||||
|
|
||||||
tc-export PKG_CONFIG
|
|
||||||
|
|
||||||
local myeconfargs=(
|
|
||||||
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules
|
|
||||||
--sbindir="${EPREFIX}"/usr/sbin
|
|
||||||
--with-z="${EPREFIX}"/usr
|
|
||||||
--with-apr="${ESYSROOT}"/usr
|
|
||||||
--with-apr-util="${ESYSROOT}"/usr
|
|
||||||
--with-pcre="${T}"/pcre-config
|
|
||||||
$(use_enable ssl)
|
|
||||||
$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
|
|
||||||
)
|
|
||||||
# econf overwrites the stuff from config.layout.
|
|
||||||
ac_cv_path_PKGCONFIG="${PKG_CONFIG}" \
|
|
||||||
econf "${myeconfargs[@]}"
|
|
||||||
sed -i \
|
|
||||||
-e '/^LTFLAGS/s:--silent::' \
|
|
||||||
build/rules.mk build/config_vars.mk || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake -C support
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
emake -C support DESTDIR="${D}" install
|
|
||||||
dodoc CHANGES
|
|
||||||
doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
|
|
||||||
docs/man/{htcacheclean,rotatelogs}.8
|
|
||||||
|
|
||||||
# Providing compatiblity symlinks for #177697 (which we'll stop to install
|
|
||||||
# at some point).
|
|
||||||
pushd "${ED}"/usr/sbin >/dev/null || die
|
|
||||||
local i
|
|
||||||
for i in *; do
|
|
||||||
dosym ${i} /usr/sbin/${i}2
|
|
||||||
done
|
|
||||||
popd >/dev/null || die
|
|
||||||
|
|
||||||
# Provide a symlink for ab-ssl
|
|
||||||
if use ssl ; then
|
|
||||||
dosym ab /usr/bin/ab-ssl
|
|
||||||
dosym ab /usr/bin/ab2-ssl
|
|
||||||
fi
|
|
||||||
}
|
|
@ -0,0 +1,113 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit autotools toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
|
||||||
|
HOMEPAGE="https://httpd.apache.org/"
|
||||||
|
SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
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 ~sparc64-solaris ~x64-solaris"
|
||||||
|
IUSE="ssl"
|
||||||
|
RESTRICT="test"
|
||||||
|
|
||||||
|
RDEPEND=">=dev-libs/apr-1.5.0:1=
|
||||||
|
dev-libs/apr-util:1=
|
||||||
|
dev-libs/expat
|
||||||
|
dev-libs/libpcre2
|
||||||
|
virtual/libcrypt:=
|
||||||
|
kernel_linux? ( sys-apps/util-linux )
|
||||||
|
ssl? ( dev-libs/openssl:0= )"
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
sys-devel/libtool"
|
||||||
|
BDEPEND="
|
||||||
|
virtual/pkgconfig
|
||||||
|
"
|
||||||
|
|
||||||
|
S="${WORKDIR}/httpd-${PV}"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-2.4.54-Makefile.patch" #459446
|
||||||
|
"${FILESDIR}/${PN}-2.4.54-no-which.patch" #844868
|
||||||
|
"${FILESDIR}/${PN}-2.4.54-libtool.patch" #858833
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# This package really should upgrade to using pcre's .pc file.
|
||||||
|
cat <<-\EOF > "${T}"/pcre2-config
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
flags=()
|
||||||
|
for flag; do
|
||||||
|
if [[ ${flag} == "--version" ]]; then
|
||||||
|
flags+=( --modversion )
|
||||||
|
else
|
||||||
|
flags+=( "${flag}" )
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exec ${PKG_CONFIG} libpcre2-8 "${flags[@]}"
|
||||||
|
EOF
|
||||||
|
chmod a+x "${T}"/pcre2-config || die
|
||||||
|
|
||||||
|
# Only here for libtool and which patches
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Silly check.
|
||||||
|
tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
|
||||||
|
|
||||||
|
tc-export PKG_CONFIG
|
||||||
|
export ac_cv_path_PKGCONFIG="${PKG_CONFIG}"
|
||||||
|
export ac_cv_prog_ac_ct_PCRE_CONFIG="${T}"/pcre2-config
|
||||||
|
|
||||||
|
local myeconfargs=(
|
||||||
|
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules
|
||||||
|
--sbindir="${EPREFIX}"/usr/sbin
|
||||||
|
--with-z="${EPREFIX}"/usr
|
||||||
|
--with-apr="${ESYSROOT}"/usr
|
||||||
|
--with-apr-util="${ESYSROOT}"/usr
|
||||||
|
--without-pcre
|
||||||
|
--with-pcre2="${T}"/pcre2-config
|
||||||
|
$(use_enable ssl)
|
||||||
|
$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
|
||||||
|
)
|
||||||
|
|
||||||
|
# econf overwrites the stuff from config.layout.
|
||||||
|
econf "${myeconfargs[@]}"
|
||||||
|
|
||||||
|
sed -i \
|
||||||
|
-e '/^LTFLAGS/s:--silent::' \
|
||||||
|
build/rules.mk build/config_vars.mk || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
emake -C support
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake -C support DESTDIR="${D}" install
|
||||||
|
dodoc CHANGES
|
||||||
|
doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
|
||||||
|
docs/man/{htcacheclean,rotatelogs}.8
|
||||||
|
|
||||||
|
# Providing compatiblity symlinks for #177697 (which we'll stop to install
|
||||||
|
# at some point).
|
||||||
|
pushd "${ED}"/usr/sbin >/dev/null || die
|
||||||
|
local i
|
||||||
|
for i in *; do
|
||||||
|
dosym ${i} /usr/sbin/${i}2
|
||||||
|
done
|
||||||
|
popd >/dev/null || die
|
||||||
|
|
||||||
|
# Provide a symlink for ab-ssl
|
||||||
|
if use ssl ; then
|
||||||
|
dosym ab /usr/bin/ab-ssl
|
||||||
|
dosym ab /usr/bin/ab2-ssl
|
||||||
|
fi
|
||||||
|
}
|
@ -0,0 +1,80 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DISTUTILS_USE_PEP517=setuptools
|
||||||
|
PYTHON_COMPAT=( python3_{10..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 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~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() {
|
||||||
|
local EPYTEST_DESELECT=(
|
||||||
|
# TODO
|
||||||
|
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||||
|
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||||
|
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||||
|
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||||
|
)
|
||||||
|
|
||||||
|
# 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
|
||||||
|
}
|
@ -0,0 +1,80 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DISTUTILS_USE_PEP517=setuptools
|
||||||
|
PYTHON_COMPAT=( python3_{10..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 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~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() {
|
||||||
|
local EPYTEST_DESELECT=(
|
||||||
|
# TODO
|
||||||
|
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||||
|
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||||
|
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||||
|
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||||
|
)
|
||||||
|
|
||||||
|
# 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,5 +1,3 @@
|
|||||||
DIST hcloud-1.30.3.tar.xz 1690980 BLAKE2B 115a6769d5bd5e6a10d812502506f9921a7659a262eea7088c88205e9fc748a570c1c9830e5061923f1be18a64d96104e6e930c9edc3316645e5d86450fbf69c SHA512 64bc692b8d098149815ba63aec8346a7f4f2ff7461fac3369343595a733a5c727b41ec8341e4eee1a98804b14bfc5a94ff9fc0621abb798d381d9bc802818b77
|
|
||||||
DIST hcloud-1.31.1.tar.xz 1735560 BLAKE2B 66b2deaefbf61a72bf6a9e004c29d1198e5cfd40956e9936d5db27903aff5f8151c230da61b33ce4231885613d53ba5c96f99fb10df03fdcc241ec32fa465de5 SHA512 b61683ea54455be1db0ae196615642d0247e56ca51f3848847fba09124a45606aea2495f4408694acc5e819d9dc79ffdb2b9ce4e85aade7dea0335be94461066
|
DIST hcloud-1.31.1.tar.xz 1735560 BLAKE2B 66b2deaefbf61a72bf6a9e004c29d1198e5cfd40956e9936d5db27903aff5f8151c230da61b33ce4231885613d53ba5c96f99fb10df03fdcc241ec32fa465de5 SHA512 b61683ea54455be1db0ae196615642d0247e56ca51f3848847fba09124a45606aea2495f4408694acc5e819d9dc79ffdb2b9ce4e85aade7dea0335be94461066
|
||||||
EBUILD hcloud-1.30.3.ebuild 725 BLAKE2B edcbd89bab62c808b5d21c0df6e3a5e2420163bc955ead8cfb156a693f84ecf6ab7bb6f1f546bd9b3bc95ea43536ccd9ace2e6fb22f15edd067e6ec84a362e6d SHA512 e32ce446972a048443945716eba008cefbd43e0d08ffbf381a20213675485472e5b6576677764a5aea9cac2ee096ad6990bbfd0f763849ceec508ebf1c577497
|
EBUILD hcloud-1.31.1.ebuild 725 BLAKE2B a29556a8792e60682acd0cc250125579771cd4a9c02fa8a09b9b325342c808dba1b56173a0df67906cec11ca99cd50ef60d735f81588950b2688bef60d16121a SHA512 6a4e0d0449abf54f01a1f3df27a157b88241174f07d2f2b88b9eca8564263fc9eaf73f8fbd50e10bf0cacc4244c72557f4e399b334535ce533aaad5a7da00561
|
||||||
EBUILD hcloud-1.31.1.ebuild 726 BLAKE2B 7d96a9012f4b897b54576a5dbedb9419e0fcaa34476e68d252b907132efe6bc638ad9598a034160bcff3dca5b86dfe3a9cc9b4380b8606db71c889bcbafa2e2d SHA512 78a825e2b55f7ffbf6c5e7e8096f788b26d9fc4205edf5dc05286d8bf9da17d5f17d266f6c990bb07154edd7ba635a4c332241ac225e6b3ab02ab9a9f82f68d3
|
|
||||||
MISC metadata.xml 338 BLAKE2B 6ba2cbe509581ac35dabd93abe166f960d69d1f14336779848483386d28e22dd06e5d196061312827b7a945369f05a466417a1636b607e138515957a75db6f84 SHA512 cc69ce0ab7ba3a9af94ef1918738074cdd725bef2ff70d6c19e46d07bb9514d05ef6415c7ba5b372e7a98902a8440cdb9f7b14a848c3ff2f054863356971ddde
|
MISC metadata.xml 338 BLAKE2B 6ba2cbe509581ac35dabd93abe166f960d69d1f14336779848483386d28e22dd06e5d196061312827b7a945369f05a466417a1636b607e138515957a75db6f84 SHA512 cc69ce0ab7ba3a9af94ef1918738074cdd725bef2ff70d6c19e46d07bb9514d05ef6415c7ba5b372e7a98902a8440cdb9f7b14a848c3ff2f054863356971ddde
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
DESCRIPTION="A command-line interface for Hetzner Cloud"
|
|
||||||
HOMEPAGE="https://github.com/hetznercloud/cli"
|
|
||||||
SRC_URI="https://dev.gentoo.org/~ago/distfiles/${P}.tar.xz"
|
|
||||||
|
|
||||||
LICENSE="MIT"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64"
|
|
||||||
|
|
||||||
IUSE=""
|
|
||||||
DEPEND="dev-lang/go:="
|
|
||||||
RESTRICT="strip"
|
|
||||||
QA_FLAGS_IGNORED=".*"
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
go build -mod vendor -o ${PN} -ldflags "-w -X github.com/hetznercloud/cli/internal/version.Version=${PV}-gentoo" ./cmd/${PN} || die "build failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
# For upstream a simple test is run 'hcloud version'
|
|
||||||
./hcloud version
|
|
||||||
if [[ $? -ne 0 ]]
|
|
||||||
then
|
|
||||||
die "Test failed"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
dobin ${PN}
|
|
||||||
}
|
|
@ -1,173 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..10} )
|
|
||||||
inherit autotools python-single-r1 systemd
|
|
||||||
|
|
||||||
MY_PV_MM=$(ver_cut 1-2)
|
|
||||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
|
||||||
HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
|
|
||||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2+ LGPL-2.1+"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
|
||||||
IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
|
|
||||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
test? ( python )"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=dev-libs/glib-2.10.1:2
|
|
||||||
>=dev-libs/ivykis-0.42.4
|
|
||||||
>=dev-libs/libpcre-6.1:=
|
|
||||||
!dev-libs/eventlog
|
|
||||||
amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
|
|
||||||
caps? ( sys-libs/libcap )
|
|
||||||
dbi? ( >=dev-db/libdbi-0.9.0 )
|
|
||||||
geoip2? ( dev-libs/libmaxminddb:= )
|
|
||||||
http? ( net-misc/curl )
|
|
||||||
json? ( >=dev-libs/json-c-0.9:= )
|
|
||||||
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
|
|
||||||
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
|
||||||
smtp? ( net-libs/libesmtp:= )
|
|
||||||
snmp? ( net-analyzer/net-snmp:0= )
|
|
||||||
spoof-source? ( net-libs/libnet:1.1= )
|
|
||||||
systemd? ( sys-apps/systemd:= )
|
|
||||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
|
||||||
dev-libs/openssl:0="
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
test? ( dev-libs/criterion )"
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/bison
|
|
||||||
sys-devel/flex
|
|
||||||
virtual/pkgconfig"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
|
|
||||||
contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
|
|
||||||
"${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local f
|
|
||||||
|
|
||||||
use python && python_fix_shebang .
|
|
||||||
|
|
||||||
# remove bundled libs
|
|
||||||
rm -r lib/ivykis || die
|
|
||||||
|
|
||||||
# drop scl modules requiring json
|
|
||||||
if use !json; then
|
|
||||||
sed -i -r '/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d' scl/Makefile.am || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# drop scl modules requiring http
|
|
||||||
if use !http; then
|
|
||||||
sed -i -r '/slack|telegram/d' scl/Makefile.am || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# use gentoo default path
|
|
||||||
if use systemd; then
|
|
||||||
sed -e 's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
|
|
||||||
-i contrib/systemd/syslog-ng@default || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
|
|
||||||
sed \
|
|
||||||
-e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill -s HUP syslog-ng@default" \
|
|
||||||
"/etc/init.d/syslog-ng reload")#g" \
|
|
||||||
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
|
||||||
done
|
|
||||||
|
|
||||||
for f in syslog-ng.conf.gentoo.hardened.in \
|
|
||||||
syslog-ng.conf.gentoo.in; do
|
|
||||||
sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
|
||||||
done
|
|
||||||
|
|
||||||
default
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local myconf=(
|
|
||||||
--disable-docs
|
|
||||||
--disable-java
|
|
||||||
--disable-java-modules
|
|
||||||
--disable-riemann
|
|
||||||
--enable-manpages
|
|
||||||
--localstatedir=/var/lib/syslog-ng
|
|
||||||
--sysconfdir=/etc/syslog-ng
|
|
||||||
--with-embedded-crypto
|
|
||||||
--with-ivykis=system
|
|
||||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng
|
|
||||||
--with-pidfile-dir=/var/run
|
|
||||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
|
||||||
$(use_enable amqp)
|
|
||||||
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
|
|
||||||
$(use_enable caps linux-caps)
|
|
||||||
$(use_enable dbi sql)
|
|
||||||
$(use_enable geoip2)
|
|
||||||
$(use_enable http)
|
|
||||||
$(use_enable ipv6)
|
|
||||||
$(use_enable json)
|
|
||||||
$(use_enable kafka)
|
|
||||||
$(use_enable mongodb)
|
|
||||||
$(usex mongodb --with-mongoc=system "--without-mongoc --disable-legacy-mongodb-options")
|
|
||||||
$(use_enable pacct)
|
|
||||||
$(use_enable python)
|
|
||||||
$(use_enable redis)
|
|
||||||
$(use_enable smtp)
|
|
||||||
$(use_enable snmp afsnmp)
|
|
||||||
$(use_enable spoof-source)
|
|
||||||
$(use_enable systemd)
|
|
||||||
$(use_enable tcpd tcp-wrapper)
|
|
||||||
)
|
|
||||||
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
|
|
||||||
# Install default configuration
|
|
||||||
insinto /etc/default
|
|
||||||
doins contrib/systemd/syslog-ng@default
|
|
||||||
|
|
||||||
insinto /etc/syslog-ng
|
|
||||||
newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
|
|
||||||
|
|
||||||
insinto /etc/logrotate.d
|
|
||||||
newins "${T}/syslog-ng.logrotate" syslog-ng
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
|
|
||||||
newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
|
|
||||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
|
||||||
find "${D}" -name '*.la' -delete || die
|
|
||||||
|
|
||||||
use python && python_optimize
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# bug #355257
|
|
||||||
if ! has_version app-admin/logrotate ; then
|
|
||||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
|
||||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
|
||||||
elog "for logrotate to use."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use systemd; then
|
|
||||||
ewarn "The service file for systemd has changed to support multiple instances."
|
|
||||||
ewarn "To start the default instance issue:"
|
|
||||||
ewarn "# systemctl start syslog-ng@default"
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,173 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..10} )
|
|
||||||
inherit autotools python-single-r1 systemd
|
|
||||||
|
|
||||||
MY_PV_MM=$(ver_cut 1-2)
|
|
||||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
|
||||||
HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
|
|
||||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2+ LGPL-2.1+"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
|
||||||
IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
|
|
||||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
test? ( python )"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=dev-libs/glib-2.10.1:2
|
|
||||||
>=dev-libs/ivykis-0.42.4
|
|
||||||
>=dev-libs/libpcre-6.1:=
|
|
||||||
!dev-libs/eventlog
|
|
||||||
amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
|
|
||||||
caps? ( sys-libs/libcap )
|
|
||||||
dbi? ( >=dev-db/libdbi-0.9.0 )
|
|
||||||
geoip2? ( dev-libs/libmaxminddb:= )
|
|
||||||
http? ( net-misc/curl )
|
|
||||||
json? ( >=dev-libs/json-c-0.9:= )
|
|
||||||
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
|
|
||||||
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
|
||||||
smtp? ( net-libs/libesmtp:= )
|
|
||||||
snmp? ( net-analyzer/net-snmp:0= )
|
|
||||||
spoof-source? ( net-libs/libnet:1.1= )
|
|
||||||
systemd? ( sys-apps/systemd:= )
|
|
||||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
|
||||||
dev-libs/openssl:0="
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
test? ( dev-libs/criterion )"
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/bison
|
|
||||||
sys-devel/flex
|
|
||||||
virtual/pkgconfig"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
|
|
||||||
contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
|
|
||||||
"${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local f
|
|
||||||
|
|
||||||
use python && python_fix_shebang .
|
|
||||||
|
|
||||||
# remove bundled libs
|
|
||||||
rm -r lib/ivykis || die
|
|
||||||
|
|
||||||
# drop scl modules requiring json
|
|
||||||
if use !json; then
|
|
||||||
sed -i -r '/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d' scl/Makefile.am || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# drop scl modules requiring http
|
|
||||||
if use !http; then
|
|
||||||
sed -i -r '/slack|telegram/d' scl/Makefile.am || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# use gentoo default path
|
|
||||||
if use systemd; then
|
|
||||||
sed -e 's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
|
|
||||||
-i contrib/systemd/syslog-ng@default || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
|
|
||||||
sed \
|
|
||||||
-e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill -s HUP syslog-ng@default" \
|
|
||||||
"/etc/init.d/syslog-ng reload")#g" \
|
|
||||||
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
|
||||||
done
|
|
||||||
|
|
||||||
for f in syslog-ng.conf.gentoo.hardened.in \
|
|
||||||
syslog-ng.conf.gentoo.in; do
|
|
||||||
sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
|
||||||
done
|
|
||||||
|
|
||||||
default
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local myconf=(
|
|
||||||
--disable-docs
|
|
||||||
--disable-java
|
|
||||||
--disable-java-modules
|
|
||||||
--disable-riemann
|
|
||||||
--enable-manpages
|
|
||||||
--localstatedir=/var/lib/syslog-ng
|
|
||||||
--sysconfdir=/etc/syslog-ng
|
|
||||||
--with-embedded-crypto
|
|
||||||
--with-ivykis=system
|
|
||||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng
|
|
||||||
--with-pidfile-dir=/var/run
|
|
||||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
|
||||||
$(use_enable amqp)
|
|
||||||
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
|
|
||||||
$(use_enable caps linux-caps)
|
|
||||||
$(use_enable dbi sql)
|
|
||||||
$(use_enable geoip2)
|
|
||||||
$(use_enable http)
|
|
||||||
$(use_enable ipv6)
|
|
||||||
$(use_enable json)
|
|
||||||
$(use_enable kafka)
|
|
||||||
$(use_enable mongodb)
|
|
||||||
$(usex mongodb --with-mongoc=system "--without-mongoc --disable-legacy-mongodb-options")
|
|
||||||
$(use_enable pacct)
|
|
||||||
$(use_enable python)
|
|
||||||
$(use_enable redis)
|
|
||||||
$(use_enable smtp)
|
|
||||||
$(use_enable snmp afsnmp)
|
|
||||||
$(use_enable spoof-source)
|
|
||||||
$(use_enable systemd)
|
|
||||||
$(use_enable tcpd tcp-wrapper)
|
|
||||||
)
|
|
||||||
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
|
|
||||||
# Install default configuration
|
|
||||||
insinto /etc/default
|
|
||||||
doins contrib/systemd/syslog-ng@default
|
|
||||||
|
|
||||||
insinto /etc/syslog-ng
|
|
||||||
newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
|
|
||||||
|
|
||||||
insinto /etc/logrotate.d
|
|
||||||
newins "${T}/syslog-ng.logrotate" syslog-ng
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
|
|
||||||
newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
|
|
||||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
|
||||||
find "${D}" -name '*.la' -delete || die
|
|
||||||
|
|
||||||
use python && python_optimize
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# bug #355257
|
|
||||||
if ! has_version app-admin/logrotate ; then
|
|
||||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
|
||||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
|
||||||
elog "for logrotate to use."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use systemd; then
|
|
||||||
ewarn "The service file for systemd has changed to support multiple instances."
|
|
||||||
ewarn "To start the default instance issue:"
|
|
||||||
ewarn "# systemctl start syslog-ng@default"
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,173 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..10} )
|
|
||||||
inherit autotools python-single-r1 systemd
|
|
||||||
|
|
||||||
MY_PV_MM=$(ver_cut 1-2)
|
|
||||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
|
||||||
HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
|
|
||||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2+ LGPL-2.1+"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
|
||||||
IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
|
|
||||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
test? ( python )"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=dev-libs/glib-2.10.1:2
|
|
||||||
>=dev-libs/ivykis-0.42.4
|
|
||||||
>=dev-libs/libpcre-6.1:=
|
|
||||||
!dev-libs/eventlog
|
|
||||||
amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
|
|
||||||
caps? ( sys-libs/libcap )
|
|
||||||
dbi? ( >=dev-db/libdbi-0.9.0 )
|
|
||||||
geoip2? ( dev-libs/libmaxminddb:= )
|
|
||||||
http? ( net-misc/curl )
|
|
||||||
json? ( >=dev-libs/json-c-0.9:= )
|
|
||||||
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
|
|
||||||
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
|
||||||
smtp? ( net-libs/libesmtp:= )
|
|
||||||
snmp? ( net-analyzer/net-snmp:0= )
|
|
||||||
spoof-source? ( net-libs/libnet:1.1= )
|
|
||||||
systemd? ( sys-apps/systemd:= )
|
|
||||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
|
||||||
dev-libs/openssl:0="
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
test? ( dev-libs/criterion )"
|
|
||||||
BDEPEND="
|
|
||||||
>=sys-devel/bison-3.7.6
|
|
||||||
sys-devel/flex
|
|
||||||
virtual/pkgconfig"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
|
|
||||||
contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
|
|
||||||
"${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local f
|
|
||||||
|
|
||||||
use python && python_fix_shebang .
|
|
||||||
|
|
||||||
# remove bundled libs
|
|
||||||
rm -r lib/ivykis || die
|
|
||||||
|
|
||||||
# drop scl modules requiring json
|
|
||||||
if use !json; then
|
|
||||||
sed -i -r '/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d' scl/Makefile.am || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# drop scl modules requiring http
|
|
||||||
if use !http; then
|
|
||||||
sed -i -r '/slack|telegram/d' scl/Makefile.am || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# use gentoo default path
|
|
||||||
if use systemd; then
|
|
||||||
sed -e 's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
|
|
||||||
-i contrib/systemd/syslog-ng@default || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
|
|
||||||
sed \
|
|
||||||
-e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill -s HUP syslog-ng@default" \
|
|
||||||
"/etc/init.d/syslog-ng reload")#g" \
|
|
||||||
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
|
||||||
done
|
|
||||||
|
|
||||||
for f in syslog-ng.conf.gentoo.hardened.in \
|
|
||||||
syslog-ng.conf.gentoo.in; do
|
|
||||||
sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
|
||||||
done
|
|
||||||
|
|
||||||
default
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local myconf=(
|
|
||||||
--disable-docs
|
|
||||||
--disable-java
|
|
||||||
--disable-java-modules
|
|
||||||
--disable-riemann
|
|
||||||
--enable-manpages
|
|
||||||
--localstatedir=/var/lib/syslog-ng
|
|
||||||
--sysconfdir=/etc/syslog-ng
|
|
||||||
--with-embedded-crypto
|
|
||||||
--with-ivykis=system
|
|
||||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng
|
|
||||||
--with-pidfile-dir=/var/run
|
|
||||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
|
||||||
$(use_enable amqp)
|
|
||||||
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
|
|
||||||
$(use_enable caps linux-caps)
|
|
||||||
$(use_enable dbi sql)
|
|
||||||
$(use_enable geoip2)
|
|
||||||
$(use_enable http)
|
|
||||||
$(use_enable ipv6)
|
|
||||||
$(use_enable json)
|
|
||||||
$(use_enable kafka)
|
|
||||||
$(use_enable mongodb)
|
|
||||||
$(usex mongodb --with-mongoc=system "--without-mongoc --disable-legacy-mongodb-options")
|
|
||||||
$(use_enable pacct)
|
|
||||||
$(use_enable python)
|
|
||||||
$(use_enable redis)
|
|
||||||
$(use_enable smtp)
|
|
||||||
$(use_enable snmp afsnmp)
|
|
||||||
$(use_enable spoof-source)
|
|
||||||
$(use_enable systemd)
|
|
||||||
$(use_enable tcpd tcp-wrapper)
|
|
||||||
)
|
|
||||||
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
|
|
||||||
# Install default configuration
|
|
||||||
insinto /etc/default
|
|
||||||
doins contrib/systemd/syslog-ng@default
|
|
||||||
|
|
||||||
insinto /etc/syslog-ng
|
|
||||||
newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
|
|
||||||
|
|
||||||
insinto /etc/logrotate.d
|
|
||||||
newins "${T}/syslog-ng.logrotate" syslog-ng
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
|
|
||||||
newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
|
|
||||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
|
||||||
find "${D}" -name '*.la' -delete || die
|
|
||||||
|
|
||||||
use python && python_optimize
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# bug #355257
|
|
||||||
if ! has_version app-admin/logrotate ; then
|
|
||||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
|
||||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
|
||||||
elog "for logrotate to use."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use systemd; then
|
|
||||||
ewarn "The service file for systemd has changed to support multiple instances."
|
|
||||||
ewarn "To start the default instance issue:"
|
|
||||||
ewarn "# systemctl start syslog-ng@default"
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,173 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..11} )
|
|
||||||
inherit autotools python-single-r1 systemd
|
|
||||||
|
|
||||||
MY_PV_MM=$(ver_cut 1-2)
|
|
||||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
|
||||||
HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
|
|
||||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2+ LGPL-2.1+"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
|
||||||
IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
|
|
||||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
test? ( python )"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=dev-libs/glib-2.10.1:2
|
|
||||||
>=dev-libs/ivykis-0.42.4
|
|
||||||
>=dev-libs/libpcre-6.1:=
|
|
||||||
!dev-libs/eventlog
|
|
||||||
amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
|
|
||||||
caps? ( sys-libs/libcap )
|
|
||||||
dbi? ( >=dev-db/libdbi-0.9.0 )
|
|
||||||
geoip2? ( dev-libs/libmaxminddb:= )
|
|
||||||
http? ( net-misc/curl )
|
|
||||||
json? ( >=dev-libs/json-c-0.9:= )
|
|
||||||
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
|
|
||||||
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
|
||||||
smtp? ( net-libs/libesmtp:= )
|
|
||||||
snmp? ( net-analyzer/net-snmp:0= )
|
|
||||||
spoof-source? ( net-libs/libnet:1.1= )
|
|
||||||
systemd? ( sys-apps/systemd:= )
|
|
||||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
|
||||||
dev-libs/openssl:0="
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
test? ( dev-libs/criterion )"
|
|
||||||
BDEPEND="
|
|
||||||
>=sys-devel/bison-3.7.6
|
|
||||||
sys-devel/flex
|
|
||||||
virtual/pkgconfig"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
|
|
||||||
contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
|
|
||||||
"${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
local f
|
|
||||||
|
|
||||||
use python && python_fix_shebang .
|
|
||||||
|
|
||||||
# remove bundled libs
|
|
||||||
rm -r lib/ivykis || die
|
|
||||||
|
|
||||||
# drop scl modules requiring json
|
|
||||||
if use !json; then
|
|
||||||
sed -i -r '/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d' scl/Makefile.am || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# drop scl modules requiring http
|
|
||||||
if use !http; then
|
|
||||||
sed -i -r '/slack|telegram/d' scl/Makefile.am || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# use gentoo default path
|
|
||||||
if use systemd; then
|
|
||||||
sed -e 's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
|
|
||||||
-i contrib/systemd/syslog-ng@default || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
|
|
||||||
sed \
|
|
||||||
-e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill -s HUP syslog-ng@default" \
|
|
||||||
"/etc/init.d/syslog-ng reload")#g" \
|
|
||||||
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
|
||||||
done
|
|
||||||
|
|
||||||
for f in syslog-ng.conf.gentoo.hardened.in \
|
|
||||||
syslog-ng.conf.gentoo.in; do
|
|
||||||
sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
|
||||||
done
|
|
||||||
|
|
||||||
default
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local myconf=(
|
|
||||||
--disable-docs
|
|
||||||
--disable-java
|
|
||||||
--disable-java-modules
|
|
||||||
--disable-riemann
|
|
||||||
--enable-manpages
|
|
||||||
--localstatedir=/var/lib/syslog-ng
|
|
||||||
--sysconfdir=/etc/syslog-ng
|
|
||||||
--with-embedded-crypto
|
|
||||||
--with-ivykis=system
|
|
||||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng
|
|
||||||
--with-pidfile-dir=/var/run
|
|
||||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
|
||||||
$(use_enable amqp)
|
|
||||||
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
|
|
||||||
$(use_enable caps linux-caps)
|
|
||||||
$(use_enable dbi sql)
|
|
||||||
$(use_enable geoip2)
|
|
||||||
$(use_enable http)
|
|
||||||
$(use_enable ipv6)
|
|
||||||
$(use_enable json)
|
|
||||||
$(use_enable kafka)
|
|
||||||
$(use_enable mongodb)
|
|
||||||
$(usex mongodb --with-mongoc=system "--without-mongoc --disable-legacy-mongodb-options")
|
|
||||||
$(use_enable pacct)
|
|
||||||
$(use_enable python)
|
|
||||||
$(use_enable redis)
|
|
||||||
$(use_enable smtp)
|
|
||||||
$(use_enable snmp afsnmp)
|
|
||||||
$(use_enable spoof-source)
|
|
||||||
$(use_enable systemd)
|
|
||||||
$(use_enable tcpd tcp-wrapper)
|
|
||||||
)
|
|
||||||
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
|
|
||||||
# Install default configuration
|
|
||||||
insinto /etc/default
|
|
||||||
doins contrib/systemd/syslog-ng@default
|
|
||||||
|
|
||||||
insinto /etc/syslog-ng
|
|
||||||
newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
|
|
||||||
|
|
||||||
insinto /etc/logrotate.d
|
|
||||||
newins "${T}/syslog-ng.logrotate" syslog-ng
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
|
|
||||||
newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
|
|
||||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
|
||||||
find "${D}" -name '*.la' -delete || die
|
|
||||||
|
|
||||||
use python && python_optimize
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# bug #355257
|
|
||||||
if ! has_version app-admin/logrotate ; then
|
|
||||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
|
||||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
|
||||||
elog "for logrotate to use."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use systemd; then
|
|
||||||
ewarn "The service file for systemd has changed to support multiple instances."
|
|
||||||
ewarn "To start the default instance issue:"
|
|
||||||
ewarn "# systemctl start syslog-ng@default"
|
|
||||||
fi
|
|
||||||
}
|
|
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
DIST distrobox-1.4.1.tar.gz 231405 BLAKE2B 920fc2ccf20ad2b6af2a3ea3dfe5c209cd779d6490e6fb95110af5e74ce56354aa264f413c070a6814253a5c51e82be110b8fc86e536a4ae0881fa22afc16630 SHA512 6cee6b734bf22e678529b93f15cdf98f09506642ef5e204ae73590c29a85e205a16715588c9e49b1c39b71023ea906565078e9c2c1f6368df885d20bf37136e2
|
DIST distrobox-1.4.1.tar.gz 231405 BLAKE2B 920fc2ccf20ad2b6af2a3ea3dfe5c209cd779d6490e6fb95110af5e74ce56354aa264f413c070a6814253a5c51e82be110b8fc86e536a4ae0881fa22afc16630 SHA512 6cee6b734bf22e678529b93f15cdf98f09506642ef5e204ae73590c29a85e205a16715588c9e49b1c39b71023ea906565078e9c2c1f6368df885d20bf37136e2
|
||||||
DIST distrobox-1.4.2.1.tar.gz 235019 BLAKE2B dd512b183763a2e4c7e2b495bb50cc3fc3d764c48ce902b83e0b543587b60b458c6b9ae937057bfc91860dc415f9ad68fb648cf06faeeb56d0a4c27180e4c2e0 SHA512 d3bc1de91bf33b7ac500c0ae471feb28c9b1efdef6878bf1aed50ef394f69d2d36f99296f0a8182b139d9339558720b891f7dc1249a7f91c883c00bac5597283
|
DIST distrobox-1.4.2.1.tar.gz 235019 BLAKE2B dd512b183763a2e4c7e2b495bb50cc3fc3d764c48ce902b83e0b543587b60b458c6b9ae937057bfc91860dc415f9ad68fb648cf06faeeb56d0a4c27180e4c2e0 SHA512 d3bc1de91bf33b7ac500c0ae471feb28c9b1efdef6878bf1aed50ef394f69d2d36f99296f0a8182b139d9339558720b891f7dc1249a7f91c883c00bac5597283
|
||||||
EBUILD distrobox-1.4.1.ebuild 722 BLAKE2B 199e4736b0acd141bdc427697b0c43f823c9a8228d0370e56c06100c99e98f1e7234ec38944f2afe937b682eea4a19b0463d0ee404e4e2d57fdc6fba000ad824 SHA512 45dc34339c58d55d2cfc742cd4b1ff9ccf846468ae8edb5930c187b1bc9f13ca89acf34e24f265fdfbd87493fcbc11ef4f021f81d55ae9e8e22e785ecf749a29
|
EBUILD distrobox-1.4.1.ebuild 722 BLAKE2B 199e4736b0acd141bdc427697b0c43f823c9a8228d0370e56c06100c99e98f1e7234ec38944f2afe937b682eea4a19b0463d0ee404e4e2d57fdc6fba000ad824 SHA512 45dc34339c58d55d2cfc742cd4b1ff9ccf846468ae8edb5930c187b1bc9f13ca89acf34e24f265fdfbd87493fcbc11ef4f021f81d55ae9e8e22e785ecf749a29
|
||||||
EBUILD distrobox-1.4.2.1.ebuild 723 BLAKE2B 19fdaf771bc7ba3217245b84fd5eccc86285e106671dc44d37ffd94b4827849c68f327d80e91aae35c9ff5dca6f6a575770d96281066c6c27a7e7fde6fb95604 SHA512 ed1ab9ee3115fc409b9e2aefc2cd5063cc76d05e3fac891fe5ddea3dbb527cc576b76ff0f49e30c28e8b32e06a466968ae0b28bfd1f3f00b4613ff340b21dbfa
|
EBUILD distrobox-1.4.2.1.ebuild 722 BLAKE2B 199e4736b0acd141bdc427697b0c43f823c9a8228d0370e56c06100c99e98f1e7234ec38944f2afe937b682eea4a19b0463d0ee404e4e2d57fdc6fba000ad824 SHA512 45dc34339c58d55d2cfc742cd4b1ff9ccf846468ae8edb5930c187b1bc9f13ca89acf34e24f265fdfbd87493fcbc11ef4f021f81d55ae9e8e22e785ecf749a29
|
||||||
EBUILD distrobox-9999.ebuild 723 BLAKE2B 19fdaf771bc7ba3217245b84fd5eccc86285e106671dc44d37ffd94b4827849c68f327d80e91aae35c9ff5dca6f6a575770d96281066c6c27a7e7fde6fb95604 SHA512 ed1ab9ee3115fc409b9e2aefc2cd5063cc76d05e3fac891fe5ddea3dbb527cc576b76ff0f49e30c28e8b32e06a466968ae0b28bfd1f3f00b4613ff340b21dbfa
|
EBUILD distrobox-9999.ebuild 723 BLAKE2B 19fdaf771bc7ba3217245b84fd5eccc86285e106671dc44d37ffd94b4827849c68f327d80e91aae35c9ff5dca6f6a575770d96281066c6c27a7e7fde6fb95604 SHA512 ed1ab9ee3115fc409b9e2aefc2cd5063cc76d05e3fac891fe5ddea3dbb527cc576b76ff0f49e30c28e8b32e06a466968ae0b28bfd1f3f00b4613ff340b21dbfa
|
||||||
MISC metadata.xml 957 BLAKE2B a02f57f2c65a9241edbc6a1e99170712ceca000977c2271ba51c5311e7718471585ea791ed8c978a86a961d02450623c05b5f9006d4386be2130df08341b0e49 SHA512 65f455bcfd246a8de0084e1534dc85f09435f1fad2590ba87dda0bed90d8fa976d3fad2142b2006a596e713d3d91f0d3d3156017cebacf9dc7883596edb0740f
|
MISC metadata.xml 957 BLAKE2B a02f57f2c65a9241edbc6a1e99170712ceca000977c2271ba51c5311e7718471585ea791ed8c978a86a961d02450623c05b5f9006d4386be2130df08341b0e49 SHA512 65f455bcfd246a8de0084e1534dc85f09435f1fad2590ba87dda0bed90d8fa976d3fad2142b2006a596e713d3d91f0d3d3156017cebacf9dc7883596edb0740f
|
||||||
|
Binary file not shown.
@ -1,28 +0,0 @@
|
|||||||
https://github.com/vim/vim/pull/11496
|
|
||||||
|
|
||||||
From 360b569f86b851c37e32b7cfaec079823188ff27 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sam James <sam@gentoo.org>
|
|
||||||
Date: Fri, 4 Nov 2022 03:18:23 +0000
|
|
||||||
Subject: [PATCH] configure.ac: Fix -Wimplicit-int
|
|
||||||
|
|
||||||
Clang 16 makes -Wimplicit-int an error by default. Fixes errors like:
|
|
||||||
```
|
|
||||||
error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
|
|
||||||
```
|
|
||||||
|
|
||||||
We already use proper declarations with every other test anyway, so
|
|
||||||
let's be consistent.
|
|
||||||
|
|
||||||
Signed-off-by: Sam James <sam@gentoo.org>
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -3654,7 +3654,7 @@ dnl check if struct sigcontext is defined (used for SGI only)
|
|
||||||
AC_MSG_CHECKING(for struct sigcontext)
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
||||||
#include <signal.h>
|
|
||||||
-test_sig()
|
|
||||||
+int test_sig()
|
|
||||||
{
|
|
||||||
struct sigcontext *scont;
|
|
||||||
scont = (struct sigcontext *)0;
|
|
||||||
|
|
@ -1,364 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim-core and app-editors/vim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
|
||||||
PYTHON_COMPAT=( python3_{9..11} )
|
|
||||||
PYTHON_REQ_USE="threads(+)"
|
|
||||||
USE_RUBY="ruby27 ruby30 ruby31"
|
|
||||||
|
|
||||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 toolchain-funcs ruby-single
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
|
||||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
|
||||||
fi
|
|
||||||
S="${WORKDIR}"/vim-${PV}
|
|
||||||
|
|
||||||
DESCRIPTION="GUI version of the Vim text editor"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="acl aqua crypt cscope debug lua motif netbeans nls perl python racket ruby selinux session sound tcl"
|
|
||||||
REQUIRED_USE="
|
|
||||||
lua? ( ${LUA_REQUIRED_USE} )
|
|
||||||
python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
aqua? ( !motif )
|
|
||||||
"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
~app-editors/vim-core-${PV}
|
|
||||||
>=app-eselect/eselect-vi-1.1
|
|
||||||
>=sys-libs/ncurses-5.2-r2:0=
|
|
||||||
x11-libs/libICE
|
|
||||||
x11-libs/libSM
|
|
||||||
x11-libs/libXext
|
|
||||||
x11-libs/libXt
|
|
||||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
|
||||||
!aqua? (
|
|
||||||
motif? ( >=x11-libs/motif-2.3:0 )
|
|
||||||
!motif? (
|
|
||||||
x11-libs/gtk+:3
|
|
||||||
x11-libs/libXft
|
|
||||||
)
|
|
||||||
)
|
|
||||||
crypt? ( dev-libs/libsodium:= )
|
|
||||||
cscope? ( dev-util/cscope )
|
|
||||||
lua? (
|
|
||||||
${LUA_DEPS}
|
|
||||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
|
||||||
)
|
|
||||||
nls? ( virtual/libintl )
|
|
||||||
perl? ( dev-lang/perl:= )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
racket? ( dev-scheme/racket )
|
|
||||||
ruby? ( ${RUBY_DEPS} )
|
|
||||||
selinux? ( sys-libs/libselinux )
|
|
||||||
session? ( x11-libs/libSM )
|
|
||||||
sound? ( media-libs/libcanberra )
|
|
||||||
tcl? ( dev-lang/tcl:0= )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
# configure runs the Lua interpreter
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/autoconf
|
|
||||||
virtual/pkgconfig
|
|
||||||
lua? ( ${LUA_DEPS} )
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
"
|
|
||||||
|
|
||||||
# various failures (bugs #630042 and #682320)
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug 82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
|
|
||||||
use lua && lua-single_pkg_setup
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} != 9999* ]]; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}/vim-patches-vim-9.0.0049-patches"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i -e \
|
|
||||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug 18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i -e \
|
|
||||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
rm -v src/auto/configure || die "rm failed"
|
|
||||||
|
|
||||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
|
||||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
|
||||||
if ! use cscope; then
|
|
||||||
sed -i -e \
|
|
||||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
|
||||||
fi
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
|
|
||||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug 57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
|
||||||
# things are for ppc64, see bug 86433.
|
|
||||||
local file
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e ${file} ]]; then
|
|
||||||
addwrite $file
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
use debug && append-flags "-DDEBUG"
|
|
||||||
|
|
||||||
local myconf=(
|
|
||||||
--with-features=huge
|
|
||||||
--disable-gpm
|
|
||||||
--with-gnome=no
|
|
||||||
$(use_enable sound canberra)
|
|
||||||
$(use_enable acl)
|
|
||||||
$(use_enable crypt libsodium)
|
|
||||||
$(use_enable cscope)
|
|
||||||
$(use_enable netbeans)
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable perl perlinterp)
|
|
||||||
$(use_enable python python3interp)
|
|
||||||
$(use_with python python3-command "${PYTHON}")
|
|
||||||
$(use_enable racket mzschemeinterp)
|
|
||||||
$(use_enable ruby rubyinterp)
|
|
||||||
$(use_enable selinux)
|
|
||||||
$(use_enable session xsmp)
|
|
||||||
$(use_enable tcl tclinterp)
|
|
||||||
)
|
|
||||||
|
|
||||||
if use lua; then
|
|
||||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
|
||||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
|
||||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
--enable-luainterp
|
|
||||||
$(use_with lua_single_target_luajit luajit)
|
|
||||||
--with-lua-prefix="${EPREFIX}/usr"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Default is gtk unless aqua or motif are enabled
|
|
||||||
echo ; echo
|
|
||||||
if use aqua; then
|
|
||||||
einfo "Building gvim with the Carbon GUI"
|
|
||||||
myconf+=(
|
|
||||||
--enable-darwin
|
|
||||||
--enable-gui=carbon
|
|
||||||
)
|
|
||||||
elif use motif; then
|
|
||||||
einfo "Building gvim with the MOTIF GUI"
|
|
||||||
myconf+=( --enable-gui=motif )
|
|
||||||
else
|
|
||||||
myconf+=( --enable-gtk3-check )
|
|
||||||
einfo "Building gvim with the gtk+-3 GUI"
|
|
||||||
myconf+=( --enable-gui=gtk3 )
|
|
||||||
fi
|
|
||||||
echo ; echo
|
|
||||||
|
|
||||||
# let package manager strip binaries
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
# keep prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if [[ ${CHOST} == *-interix* ]]; then
|
|
||||||
# avoid finding of this function, to avoid having to patch either
|
|
||||||
# configure or the source, which would be much more hackish.
|
|
||||||
# after all vim does it right, only interix is badly broken (again)
|
|
||||||
export ac_cv_func_sigaction=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
--with-modified-by=Gentoo-${PVR} \
|
|
||||||
--with-vim-name=gvim \
|
|
||||||
--with-x \
|
|
||||||
"${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# The following allows emake to be used
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
|
|
||||||
emake
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
einfo
|
|
||||||
einfo "Starting vim tests. Several error messages will be shown"
|
|
||||||
einfo "while the tests run. This is normal behaviour and does not"
|
|
||||||
einfo "indicate a fault."
|
|
||||||
einfo
|
|
||||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
|
||||||
ewarn "state. Usually, running 'reset' will fix this."
|
|
||||||
einfo
|
|
||||||
|
|
||||||
# Don't let vim talk to X
|
|
||||||
unset DISPLAY
|
|
||||||
|
|
||||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
|
||||||
# this evil trickery works.
|
|
||||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
|
||||||
|
|
||||||
# Make sure our VIMPROG is used.
|
|
||||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
|
||||||
|
|
||||||
# Don't do additional GUI tests.
|
|
||||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call eselect vi update with --if-unset
|
|
||||||
# to respect user's choice (bug 187449)
|
|
||||||
eselect_vi_update() {
|
|
||||||
ebegin "Calling eselect vi update"
|
|
||||||
eselect vi update --if-unset
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
dobin src/gvim
|
|
||||||
dosym gvim /usr/bin/gvimdiff
|
|
||||||
dosym gvim /usr/bin/evim
|
|
||||||
dosym gvim /usr/bin/eview
|
|
||||||
dosym gvim /usr/bin/gview
|
|
||||||
dosym gvim /usr/bin/rgvim
|
|
||||||
dosym gvim /usr/bin/rgview
|
|
||||||
|
|
||||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
|
||||||
|
|
||||||
dodir /usr/share/man/man1
|
|
||||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
|
||||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
|
||||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
|
||||||
die "echo failed"
|
|
||||||
|
|
||||||
insinto /etc/vim
|
|
||||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
|
||||||
eprefixify "${ED}"/etc/vim/gvimrc
|
|
||||||
|
|
||||||
# bash completion script, bug #79018.
|
|
||||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
|
||||||
|
|
||||||
# don't install vim desktop file
|
|
||||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update fdo mime stuff, bug #78394
|
|
||||||
xdg_desktop_database_update
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
|
|
||||||
# call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update fdo mime stuff, bug #78394
|
|
||||||
xdg_desktop_database_update
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
|
|
||||||
# call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
}
|
|
@ -1,369 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim-core and app-editors/vim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
|
||||||
PYTHON_COMPAT=( python3_{9..11} )
|
|
||||||
PYTHON_REQ_USE="threads(+)"
|
|
||||||
USE_RUBY="ruby27 ruby30 ruby31"
|
|
||||||
|
|
||||||
inherit bash-completion-r1 flag-o-matic lua-single prefix python-single-r1 ruby-single toolchain-funcs vim-doc xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
|
||||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
|
||||||
fi
|
|
||||||
S="${WORKDIR}"/vim-${PV}
|
|
||||||
|
|
||||||
DESCRIPTION="GUI version of the Vim text editor"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="acl aqua crypt cscope debug lua minimal motif netbeans nls perl python racket ruby selinux session sound tcl"
|
|
||||||
REQUIRED_USE="
|
|
||||||
lua? ( ${LUA_REQUIRED_USE} )
|
|
||||||
python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
aqua? ( !motif )
|
|
||||||
"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
~app-editors/vim-core-${PV}
|
|
||||||
>=app-eselect/eselect-vi-1.1
|
|
||||||
>=sys-libs/ncurses-5.2-r2:0=
|
|
||||||
x11-libs/libICE
|
|
||||||
x11-libs/libSM
|
|
||||||
x11-libs/libXext
|
|
||||||
x11-libs/libXt
|
|
||||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
|
||||||
!aqua? (
|
|
||||||
motif? ( >=x11-libs/motif-2.3:0 )
|
|
||||||
!motif? (
|
|
||||||
x11-libs/gtk+:3
|
|
||||||
x11-libs/libXft
|
|
||||||
)
|
|
||||||
)
|
|
||||||
crypt? ( dev-libs/libsodium:= )
|
|
||||||
cscope? ( dev-util/cscope )
|
|
||||||
lua? (
|
|
||||||
${LUA_DEPS}
|
|
||||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
|
||||||
)
|
|
||||||
nls? ( virtual/libintl )
|
|
||||||
perl? ( dev-lang/perl:= )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
racket? ( dev-scheme/racket )
|
|
||||||
ruby? ( ${RUBY_DEPS} )
|
|
||||||
selinux? ( sys-libs/libselinux )
|
|
||||||
session? ( x11-libs/libSM )
|
|
||||||
sound? ( media-libs/libcanberra )
|
|
||||||
tcl? ( dev-lang/tcl:0= )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
# configure runs the Lua interpreter
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/autoconf
|
|
||||||
virtual/pkgconfig
|
|
||||||
lua? ( ${LUA_DEPS} )
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
"
|
|
||||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
|
||||||
|
|
||||||
# various failures (bugs #630042 and #682320)
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/vim-0.0.0828-configure-clang16.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug 82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
|
|
||||||
use lua && lua-single_pkg_setup
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} != 9999* ]]; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}/vim-patches-vim-9.0.0049-patches"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i -e \
|
|
||||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug 18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i -e \
|
|
||||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
rm -v src/auto/configure || die "rm failed"
|
|
||||||
|
|
||||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
|
||||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
|
||||||
if ! use cscope; then
|
|
||||||
sed -i -e \
|
|
||||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
|
||||||
fi
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
|
|
||||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug 57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
|
||||||
# things are for ppc64, see bug 86433.
|
|
||||||
local file
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e ${file} ]]; then
|
|
||||||
addwrite $file
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
use debug && append-flags "-DDEBUG"
|
|
||||||
|
|
||||||
local myconf=(
|
|
||||||
--with-features=huge
|
|
||||||
--disable-gpm
|
|
||||||
--with-gnome=no
|
|
||||||
$(use_enable sound canberra)
|
|
||||||
$(use_enable acl)
|
|
||||||
$(use_enable crypt libsodium)
|
|
||||||
$(use_enable cscope)
|
|
||||||
$(use_enable netbeans)
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable perl perlinterp)
|
|
||||||
$(use_enable python python3interp)
|
|
||||||
$(use_with python python3-command "${PYTHON}")
|
|
||||||
$(use_enable racket mzschemeinterp)
|
|
||||||
$(use_enable ruby rubyinterp)
|
|
||||||
$(use_enable selinux)
|
|
||||||
$(use_enable session xsmp)
|
|
||||||
$(use_enable tcl tclinterp)
|
|
||||||
)
|
|
||||||
|
|
||||||
if use lua; then
|
|
||||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
|
||||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
|
||||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
--enable-luainterp
|
|
||||||
$(use_with lua_single_target_luajit luajit)
|
|
||||||
--with-lua-prefix="${EPREFIX}/usr"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Default is gtk unless aqua or motif are enabled
|
|
||||||
echo ; echo
|
|
||||||
if use aqua; then
|
|
||||||
einfo "Building gvim with the Carbon GUI"
|
|
||||||
myconf+=(
|
|
||||||
--enable-darwin
|
|
||||||
--enable-gui=carbon
|
|
||||||
)
|
|
||||||
elif use motif; then
|
|
||||||
einfo "Building gvim with the MOTIF GUI"
|
|
||||||
myconf+=( --enable-gui=motif )
|
|
||||||
else
|
|
||||||
myconf+=( --enable-gtk3-check )
|
|
||||||
einfo "Building gvim with the gtk+-3 GUI"
|
|
||||||
myconf+=( --enable-gui=gtk3 )
|
|
||||||
fi
|
|
||||||
echo ; echo
|
|
||||||
|
|
||||||
# let package manager strip binaries
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
# keep prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if [[ ${CHOST} == *-interix* ]]; then
|
|
||||||
# avoid finding of this function, to avoid having to patch either
|
|
||||||
# configure or the source, which would be much more hackish.
|
|
||||||
# after all vim does it right, only interix is badly broken (again)
|
|
||||||
export ac_cv_func_sigaction=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
--with-modified-by=Gentoo-${PVR} \
|
|
||||||
--with-vim-name=gvim \
|
|
||||||
--with-x \
|
|
||||||
"${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# The following allows emake to be used
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
|
|
||||||
emake
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
einfo
|
|
||||||
einfo "Starting vim tests. Several error messages will be shown"
|
|
||||||
einfo "while the tests run. This is normal behaviour and does not"
|
|
||||||
einfo "indicate a fault."
|
|
||||||
einfo
|
|
||||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
|
||||||
ewarn "state. Usually, running 'reset' will fix this."
|
|
||||||
einfo
|
|
||||||
|
|
||||||
# Don't let vim talk to X
|
|
||||||
unset DISPLAY
|
|
||||||
|
|
||||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
|
||||||
# this evil trickery works.
|
|
||||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
|
||||||
|
|
||||||
# Make sure our VIMPROG is used.
|
|
||||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
|
||||||
|
|
||||||
# Don't do additional GUI tests.
|
|
||||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call eselect vi update with --if-unset
|
|
||||||
# to respect user's choice (bug 187449)
|
|
||||||
eselect_vi_update() {
|
|
||||||
ebegin "Calling eselect vi update"
|
|
||||||
eselect vi update --if-unset
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
dobin src/gvim
|
|
||||||
dosym gvim /usr/bin/gvimdiff
|
|
||||||
dosym gvim /usr/bin/evim
|
|
||||||
dosym gvim /usr/bin/eview
|
|
||||||
dosym gvim /usr/bin/gview
|
|
||||||
dosym gvim /usr/bin/rgvim
|
|
||||||
dosym gvim /usr/bin/rgview
|
|
||||||
|
|
||||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
|
||||||
|
|
||||||
dodir /usr/share/man/man1
|
|
||||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
|
||||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
|
||||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
|
||||||
die "echo failed"
|
|
||||||
|
|
||||||
insinto /etc/vim
|
|
||||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
|
||||||
eprefixify "${ED}"/etc/vim/gvimrc
|
|
||||||
|
|
||||||
# bash completion script, bug #79018.
|
|
||||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
|
||||||
|
|
||||||
# don't install vim desktop file
|
|
||||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update fdo mime stuff, bug #78394
|
|
||||||
xdg_desktop_database_update
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
|
|
||||||
# call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update fdo mime stuff, bug #78394
|
|
||||||
xdg_desktop_database_update
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
|
|
||||||
# call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
https://github.com/vim/vim/pull/11496
|
|
||||||
|
|
||||||
From 360b569f86b851c37e32b7cfaec079823188ff27 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sam James <sam@gentoo.org>
|
|
||||||
Date: Fri, 4 Nov 2022 03:18:23 +0000
|
|
||||||
Subject: [PATCH] configure.ac: Fix -Wimplicit-int
|
|
||||||
|
|
||||||
Clang 16 makes -Wimplicit-int an error by default. Fixes errors like:
|
|
||||||
```
|
|
||||||
error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
|
|
||||||
```
|
|
||||||
|
|
||||||
We already use proper declarations with every other test anyway, so
|
|
||||||
let's be consistent.
|
|
||||||
|
|
||||||
Signed-off-by: Sam James <sam@gentoo.org>
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -3654,7 +3654,7 @@ dnl check if struct sigcontext is defined (used for SGI only)
|
|
||||||
AC_MSG_CHECKING(for struct sigcontext)
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
||||||
#include <signal.h>
|
|
||||||
-test_sig()
|
|
||||||
+int test_sig()
|
|
||||||
{
|
|
||||||
struct sigcontext *scont;
|
|
||||||
scont = (struct sigcontext *)0;
|
|
||||||
|
|
@ -1,234 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim and app-editors/gvim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
inherit vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
|
||||||
https://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
|
|
||||||
S="${WORKDIR}/vim-${PV}"
|
|
||||||
|
|
||||||
DESCRIPTION="vim and gvim shared files"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="nls acl minimal"
|
|
||||||
|
|
||||||
# ncurses is only needed by ./configure, so no subslot operator required
|
|
||||||
DEPEND=">=sys-libs/ncurses-5.2-r2:0"
|
|
||||||
BDEPEND="sys-devel/autoconf"
|
|
||||||
# Avoid icon file collision, bug #673880
|
|
||||||
RDEPEND="!<app-editors/vim-8.2.4328-r1"
|
|
||||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug #82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} != 9999* ]] ; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
|
||||||
eapply "${FILESDIR}"/vim-9.0-fix-create-timer-for-cros-compiling.patch
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i \
|
|
||||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
|
||||||
|
|
||||||
# See bug #77841. We remove this file after the tarball extraction.
|
|
||||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
# Fix bug #18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
|
|
||||||
# Remove src/auto/configure file.
|
|
||||||
rm -v src/auto/configure || die "rm configure failed"
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug 57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
|
||||||
# things are for ppc64, see bug 86433.
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e "${file}" ]]; then
|
|
||||||
addwrite ${file}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Let Portage do the stripping. Some people like that.
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
local myconf=(
|
|
||||||
--with-modified-by=Gentoo-${PVR}
|
|
||||||
--enable-gui=no
|
|
||||||
--without-x
|
|
||||||
--disable-darwin
|
|
||||||
--disable-perlinterp
|
|
||||||
--disable-pythoninterp
|
|
||||||
--disable-rubyinterp
|
|
||||||
--disable-gpm
|
|
||||||
--disable-selinux
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable acl)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
emake tools
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() { :; }
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
dodir /usr/{bin,share/{man/man1,vim}}
|
|
||||||
emake -C src \
|
|
||||||
installruntime \
|
|
||||||
installmanlinks \
|
|
||||||
installmacros \
|
|
||||||
installtutor \
|
|
||||||
installtutorbin \
|
|
||||||
installtools \
|
|
||||||
install-languages \
|
|
||||||
DESTDIR="${D}" \
|
|
||||||
BINDIR="${EPREFIX}"/usr/bin \
|
|
||||||
MANDIR="${EPREFIX}"/usr/share/man \
|
|
||||||
DATADIR="${EPREFIX}"/usr/share
|
|
||||||
|
|
||||||
keepdir ${vimfiles}/keymap
|
|
||||||
|
|
||||||
# default vimrc is installed by vim-core since it applies to
|
|
||||||
# both vim and gvim
|
|
||||||
insinto /etc/vim/
|
|
||||||
newins "${FILESDIR}"/vimrc-r6 vimrc
|
|
||||||
eprefixify "${ED}"/etc/vim/vimrc
|
|
||||||
|
|
||||||
if use minimal; then
|
|
||||||
# To save space, install only a subset of the files.
|
|
||||||
# Helps minimalize the livecd, bug 65144.
|
|
||||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die
|
|
||||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die
|
|
||||||
rm -v "${ED}"/usr/bin/vimtutor || die
|
|
||||||
|
|
||||||
for f in "${ED}${vimfiles}"/colors/*.vim; do
|
|
||||||
if [[ ${f} != */@(default).vim ]] ; then
|
|
||||||
printf '%s\0' "${f}"
|
|
||||||
fi
|
|
||||||
done | xargs -0 rm -f || die
|
|
||||||
|
|
||||||
for f in "${ED}${vimfiles}"/syntax/*.vim; do
|
|
||||||
if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then
|
|
||||||
printf '%s\0' "${f}"
|
|
||||||
fi
|
|
||||||
done | xargs -0 rm -f || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
|
||||||
|
|
||||||
# install gvim icon since both vim/gvim desktop files reference it
|
|
||||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
@ -1,234 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim and app-editors/gvim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
|
||||||
https://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
|
|
||||||
S="${WORKDIR}/vim-${PV}"
|
|
||||||
|
|
||||||
DESCRIPTION="vim and gvim shared files"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="nls acl minimal"
|
|
||||||
|
|
||||||
# ncurses is only needed by ./configure, so no subslot operator required
|
|
||||||
DEPEND=">=sys-libs/ncurses-5.2-r2:0"
|
|
||||||
BDEPEND="sys-devel/autoconf"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/vim-0.0.0828-configure-clang16.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug #82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} != 9999* ]] ; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i \
|
|
||||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
|
||||||
|
|
||||||
# See bug #77841. We remove this file after the tarball extraction.
|
|
||||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
# Fix bug #18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
|
|
||||||
# Remove src/auto/configure file.
|
|
||||||
rm -v src/auto/configure || die "rm configure failed"
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug 57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
|
||||||
# things are for ppc64, see bug 86433.
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e "${file}" ]]; then
|
|
||||||
addwrite ${file}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Let Portage do the stripping. Some people like that.
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
local myconf=(
|
|
||||||
--with-modified-by=Gentoo-${PVR}
|
|
||||||
--enable-gui=no
|
|
||||||
--without-x
|
|
||||||
--disable-darwin
|
|
||||||
--disable-perlinterp
|
|
||||||
--disable-pythoninterp
|
|
||||||
--disable-rubyinterp
|
|
||||||
--disable-gpm
|
|
||||||
--disable-selinux
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable acl)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
emake tools
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() { :; }
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
dodir /usr/{bin,share/{man/man1,vim}}
|
|
||||||
emake -C src \
|
|
||||||
installruntime \
|
|
||||||
installmanlinks \
|
|
||||||
installmacros \
|
|
||||||
installtutor \
|
|
||||||
installtutorbin \
|
|
||||||
installtools \
|
|
||||||
install-languages \
|
|
||||||
DESTDIR="${D}" \
|
|
||||||
BINDIR="${EPREFIX}"/usr/bin \
|
|
||||||
MANDIR="${EPREFIX}"/usr/share/man \
|
|
||||||
DATADIR="${EPREFIX}"/usr/share
|
|
||||||
|
|
||||||
keepdir ${vimfiles}/keymap
|
|
||||||
|
|
||||||
# default vimrc is installed by vim-core since it applies to
|
|
||||||
# both vim and gvim
|
|
||||||
insinto /etc/vim/
|
|
||||||
newins "${FILESDIR}"/vimrc-r6 vimrc
|
|
||||||
eprefixify "${ED}"/etc/vim/vimrc
|
|
||||||
|
|
||||||
if use minimal; then
|
|
||||||
# To save space, install only a subset of the files.
|
|
||||||
# Helps minimalize the livecd, bug 65144.
|
|
||||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die
|
|
||||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die
|
|
||||||
rm -v "${ED}"/usr/bin/vimtutor || die
|
|
||||||
|
|
||||||
for f in "${ED}${vimfiles}"/colors/*.vim; do
|
|
||||||
if [[ ${f} != */@(default).vim ]] ; then
|
|
||||||
printf '%s\0' "${f}"
|
|
||||||
fi
|
|
||||||
done | xargs -0 rm -f || die
|
|
||||||
|
|
||||||
for f in "${ED}${vimfiles}"/syntax/*.vim; do
|
|
||||||
if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then
|
|
||||||
printf '%s\0' "${f}"
|
|
||||||
fi
|
|
||||||
done | xargs -0 rm -f || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
|
||||||
|
|
||||||
# install gvim icon since both vim/gvim desktop files reference it
|
|
||||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
https://github.com/vim/vim/pull/11496
|
|
||||||
|
|
||||||
From 360b569f86b851c37e32b7cfaec079823188ff27 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sam James <sam@gentoo.org>
|
|
||||||
Date: Fri, 4 Nov 2022 03:18:23 +0000
|
|
||||||
Subject: [PATCH] configure.ac: Fix -Wimplicit-int
|
|
||||||
|
|
||||||
Clang 16 makes -Wimplicit-int an error by default. Fixes errors like:
|
|
||||||
```
|
|
||||||
error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
|
|
||||||
```
|
|
||||||
|
|
||||||
We already use proper declarations with every other test anyway, so
|
|
||||||
let's be consistent.
|
|
||||||
|
|
||||||
Signed-off-by: Sam James <sam@gentoo.org>
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -3654,7 +3654,7 @@ dnl check if struct sigcontext is defined (used for SGI only)
|
|
||||||
AC_MSG_CHECKING(for struct sigcontext)
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
||||||
#include <signal.h>
|
|
||||||
-test_sig()
|
|
||||||
+int test_sig()
|
|
||||||
{
|
|
||||||
struct sigcontext *scont;
|
|
||||||
scont = (struct sigcontext *)0;
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From bba26c9ed9d4ddc82afd0343f145dc9e14b91498 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Varsha Teratipally <teratipally@google.com>
|
|
||||||
Date: Tue, 2 Aug 2022 22:18:29 +0000
|
|
||||||
Subject: [PATCH] Configure check for timer_create may give wrong error.
|
|
||||||
Give a warning instead of an error
|
|
||||||
|
|
||||||
Partial solution from github.com/vim/vim/commit/5f6cae8b8a49c435556e32f84d067cd0b4d28e4c
|
|
||||||
|
|
||||||
---
|
|
||||||
src/configure.ac | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/configure.ac b/src/configure.ac
|
|
||||||
index e8522ec05..41f41dee3 100644
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -3850,7 +3850,7 @@ static void set_flag(union sigval sv) {}
|
|
||||||
])],
|
|
||||||
vim_cv_timer_create=yes,
|
|
||||||
vim_cv_timer_create=no),
|
|
||||||
- AC_MSG_ERROR(cross-compiling: please set 'vim_cv_timer_create')
|
|
||||||
+ AC_MSG_WARN(cross-compiling: please set 'vim_cv_timer_create')
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
|
|
||||||
--
|
|
||||||
|
|
||||||
|
|
@ -1,371 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
|
||||||
PYTHON_COMPAT=( python3_{9..11} )
|
|
||||||
PYTHON_REQ_USE="threads(+)"
|
|
||||||
USE_RUBY="ruby27 ruby30 ruby31"
|
|
||||||
|
|
||||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
|
||||||
https://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
|
|
||||||
|
|
||||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
|
||||||
REQUIRED_USE="
|
|
||||||
lua? ( ${LUA_REQUIRED_USE} )
|
|
||||||
python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
vim-pager? ( !minimal )
|
|
||||||
"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=app-eselect/eselect-vi-1.1
|
|
||||||
>=sys-libs/ncurses-5.2-r2:0=
|
|
||||||
nls? ( virtual/libintl )
|
|
||||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
|
||||||
crypt? ( dev-libs/libsodium:= )
|
|
||||||
cscope? ( dev-util/cscope )
|
|
||||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
|
||||||
lua? ( ${LUA_DEPS}
|
|
||||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
|
||||||
)
|
|
||||||
~app-editors/vim-core-${PV}
|
|
||||||
!<app-editors/vim-core-8.2.4328-r1
|
|
||||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
|
||||||
perl? ( dev-lang/perl:= )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
racket? ( dev-scheme/racket )
|
|
||||||
ruby? ( ${RUBY_DEPS} )
|
|
||||||
selinux? ( sys-libs/libselinux )
|
|
||||||
sound? ( media-libs/libcanberra )
|
|
||||||
tcl? ( dev-lang/tcl:0= )
|
|
||||||
X? ( x11-libs/libXt )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
# configure runs the Lua interpreter
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/autoconf
|
|
||||||
lua? ( ${LUA_DEPS} )
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
"
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug #82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
|
|
||||||
use lua && lua-single_pkg_setup
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
|
|
||||||
if [[ ${PV} != 9999* ]] ; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
|
||||||
eapply "${FILESDIR}"/vim-9.0-fix-create-timer-for-cros-compiling.patch
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i -e \
|
|
||||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/ libc\.h / /' \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# conditionally make the manpager.sh script
|
|
||||||
if use vim-pager; then
|
|
||||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
|
||||||
#!/bin/sh
|
|
||||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
|
||||||
vim \\
|
|
||||||
-c 'let no_plugin_maps = 1' \\
|
|
||||||
-c 'set nolist nomod ft=man ts=8' \\
|
|
||||||
-c 'let g:showmarks_enable=0' \\
|
|
||||||
-c 'runtime! macros/less.vim' -
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug 18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
rm src/auto/configure || die "rm failed"
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
|
|
||||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug #57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
|
||||||
# things are for ppc64, see bug #86433.
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e "${file}" ]]; then
|
|
||||||
addwrite ${file}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
local myconf=()
|
|
||||||
if use minimal; then
|
|
||||||
myconf=(
|
|
||||||
--with-features=tiny
|
|
||||||
--disable-nls
|
|
||||||
--disable-canberra
|
|
||||||
--disable-acl
|
|
||||||
--enable-gui=no
|
|
||||||
--without-x
|
|
||||||
--disable-darwin
|
|
||||||
--disable-luainterp
|
|
||||||
--disable-perlinterp
|
|
||||||
--disable-pythoninterp
|
|
||||||
--disable-mzschemeinterp
|
|
||||||
--disable-rubyinterp
|
|
||||||
--disable-selinux
|
|
||||||
--disable-tclinterp
|
|
||||||
--disable-gpm
|
|
||||||
)
|
|
||||||
else
|
|
||||||
use debug && append-flags "-DDEBUG"
|
|
||||||
|
|
||||||
myconf=(
|
|
||||||
--with-features=huge
|
|
||||||
$(use_enable sound canberra)
|
|
||||||
$(use_enable acl)
|
|
||||||
$(use_enable crypt libsodium)
|
|
||||||
$(use_enable cscope)
|
|
||||||
$(use_enable gpm)
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable perl perlinterp)
|
|
||||||
$(use_enable python python3interp)
|
|
||||||
$(use_with python python3-command "${PYTHON}")
|
|
||||||
$(use_enable racket mzschemeinterp)
|
|
||||||
$(use_enable ruby rubyinterp)
|
|
||||||
$(use_enable selinux)
|
|
||||||
$(use_enable tcl tclinterp)
|
|
||||||
$(use_enable terminal)
|
|
||||||
)
|
|
||||||
|
|
||||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
|
||||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
|
||||||
if ! use cscope; then
|
|
||||||
sed -i -e \
|
|
||||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use lua; then
|
|
||||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
|
||||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
|
||||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
--enable-luainterp
|
|
||||||
$(use_with lua_single_target_luajit luajit)
|
|
||||||
--with-lua-prefix="${EPREFIX}/usr"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# don't test USE=X here ... see bug #19115
|
|
||||||
# but need to provide a way to link against X ... see bug #20093
|
|
||||||
myconf+=(
|
|
||||||
--enable-gui=no
|
|
||||||
--disable-darwin
|
|
||||||
$(use_with X x)
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# let package manager strip binaries
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
# keep prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
--with-modified-by=Gentoo-${PVR} \
|
|
||||||
"${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# The following allows emake to be used
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
|
|
||||||
emake
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
einfo
|
|
||||||
einfo "Starting vim tests. Several error messages will be shown"
|
|
||||||
einfo "while the tests run. This is normal behaviour and does not"
|
|
||||||
einfo "indicate a fault."
|
|
||||||
einfo
|
|
||||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
|
||||||
ewarn "state. Usually, running 'reset' will fix this."
|
|
||||||
einfo
|
|
||||||
|
|
||||||
# Don't let vim talk to X
|
|
||||||
unset DISPLAY
|
|
||||||
|
|
||||||
# Arch and opensuse seem to do this and at this point, I'm willing
|
|
||||||
# to try anything to avoid random test hangs!
|
|
||||||
export TERM=xterm
|
|
||||||
|
|
||||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
|
||||||
# for more information on test variables we can use.
|
|
||||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
|
||||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
|
||||||
#
|
|
||||||
# Skipped tests:
|
|
||||||
# - Test_expand_star_star
|
|
||||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
|
||||||
# - Test_exrc
|
|
||||||
# Looks in wrong location? (bug #742710)
|
|
||||||
# - Test_job_tty_in_out
|
|
||||||
# Fragile and depends on TERM(?)
|
|
||||||
# - Test_spelldump_bang
|
|
||||||
# Hangs.
|
|
||||||
# - Test_fuzzy_completion_env
|
|
||||||
# Too sensitive to leaked environment variables.
|
|
||||||
# - Test_term_mouse_multiple_clicks_to_select_mode
|
|
||||||
# Hangs.
|
|
||||||
# - Test_spelldump
|
|
||||||
# Hangs.
|
|
||||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
|
||||||
|
|
||||||
emake -j1 -C src/testdir nongui
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call eselect vi update with --if-unset
|
|
||||||
# to respect user's choice (bug #187449)
|
|
||||||
eselect_vi_update() {
|
|
||||||
ebegin "Calling eselect vi update"
|
|
||||||
eselect vi update --if-unset
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
|
||||||
# managed by eselect-vi
|
|
||||||
dobin src/vim
|
|
||||||
if ! use minimal ; then
|
|
||||||
dosym vim /usr/bin/vimdiff
|
|
||||||
fi
|
|
||||||
dosym vim /usr/bin/rvim
|
|
||||||
dosym vim /usr/bin/rview
|
|
||||||
if use vim-pager ; then
|
|
||||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
|
||||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
|
||||||
insinto ${vimfiles}/macros
|
|
||||||
doins runtime/macros/manpager.sh
|
|
||||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
domenu runtime/vim.desktop
|
|
||||||
|
|
||||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
|
||||||
|
|
||||||
# keep in sync with 'complete ... -F' list
|
|
||||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# Call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
|
|
||||||
# update desktop file mime cache
|
|
||||||
xdg_desktop_database_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# Call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
|
|
||||||
# update desktop file mime cache
|
|
||||||
xdg_desktop_database_update
|
|
||||||
}
|
|
@ -1,374 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
|
||||||
PYTHON_COMPAT=( python3_{9..11} )
|
|
||||||
PYTHON_REQ_USE="threads(+)"
|
|
||||||
USE_RUBY="ruby27 ruby30 ruby31"
|
|
||||||
|
|
||||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
|
||||||
https://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
|
|
||||||
|
|
||||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
|
||||||
REQUIRED_USE="
|
|
||||||
lua? ( ${LUA_REQUIRED_USE} )
|
|
||||||
python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
vim-pager? ( !minimal )
|
|
||||||
"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=app-eselect/eselect-vi-1.1
|
|
||||||
>=sys-libs/ncurses-5.2-r2:0=
|
|
||||||
nls? ( virtual/libintl )
|
|
||||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
|
||||||
crypt? ( dev-libs/libsodium:= )
|
|
||||||
cscope? ( dev-util/cscope )
|
|
||||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
|
||||||
lua? ( ${LUA_DEPS}
|
|
||||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
|
||||||
)
|
|
||||||
~app-editors/vim-core-${PV}
|
|
||||||
!<app-editors/vim-core-8.2.4328-r1
|
|
||||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
|
||||||
perl? ( dev-lang/perl:= )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
racket? ( dev-scheme/racket )
|
|
||||||
ruby? ( ${RUBY_DEPS} )
|
|
||||||
selinux? ( sys-libs/libselinux )
|
|
||||||
sound? ( media-libs/libcanberra )
|
|
||||||
tcl? ( dev-lang/tcl:0= )
|
|
||||||
X? ( x11-libs/libXt )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
# configure runs the Lua interpreter
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/autoconf
|
|
||||||
lua? ( ${LUA_DEPS} )
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
"
|
|
||||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/vim-0.0.0828-configure-clang16.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug #82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
|
|
||||||
use lua && lua-single_pkg_setup
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} != 9999* ]] ; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i -e \
|
|
||||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/ libc\.h / /' \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# conditionally make the manpager.sh script
|
|
||||||
if use vim-pager; then
|
|
||||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
|
||||||
#!/bin/sh
|
|
||||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
|
||||||
vim \\
|
|
||||||
-c 'let no_plugin_maps = 1' \\
|
|
||||||
-c 'set nolist nomod ft=man ts=8' \\
|
|
||||||
-c 'let g:showmarks_enable=0' \\
|
|
||||||
-c 'runtime! macros/less.vim' -
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug 18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
rm src/auto/configure || die "rm failed"
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
|
|
||||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug #57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
|
||||||
# things are for ppc64, see bug #86433.
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e "${file}" ]]; then
|
|
||||||
addwrite ${file}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
local myconf=()
|
|
||||||
if use minimal; then
|
|
||||||
myconf=(
|
|
||||||
--with-features=tiny
|
|
||||||
--disable-nls
|
|
||||||
--disable-canberra
|
|
||||||
--disable-acl
|
|
||||||
--enable-gui=no
|
|
||||||
--without-x
|
|
||||||
--disable-darwin
|
|
||||||
--disable-luainterp
|
|
||||||
--disable-perlinterp
|
|
||||||
--disable-pythoninterp
|
|
||||||
--disable-mzschemeinterp
|
|
||||||
--disable-rubyinterp
|
|
||||||
--disable-selinux
|
|
||||||
--disable-tclinterp
|
|
||||||
--disable-gpm
|
|
||||||
)
|
|
||||||
else
|
|
||||||
use debug && append-flags "-DDEBUG"
|
|
||||||
|
|
||||||
myconf=(
|
|
||||||
--with-features=huge
|
|
||||||
$(use_enable sound canberra)
|
|
||||||
$(use_enable acl)
|
|
||||||
$(use_enable crypt libsodium)
|
|
||||||
$(use_enable cscope)
|
|
||||||
$(use_enable gpm)
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable perl perlinterp)
|
|
||||||
$(use_enable python python3interp)
|
|
||||||
$(use_with python python3-command "${PYTHON}")
|
|
||||||
$(use_enable racket mzschemeinterp)
|
|
||||||
$(use_enable ruby rubyinterp)
|
|
||||||
$(use_enable selinux)
|
|
||||||
$(use_enable tcl tclinterp)
|
|
||||||
$(use_enable terminal)
|
|
||||||
)
|
|
||||||
|
|
||||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
|
||||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
|
||||||
if ! use cscope; then
|
|
||||||
sed -i -e \
|
|
||||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use lua; then
|
|
||||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
|
||||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
|
||||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
--enable-luainterp
|
|
||||||
$(use_with lua_single_target_luajit luajit)
|
|
||||||
--with-lua-prefix="${EPREFIX}/usr"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# don't test USE=X here ... see bug #19115
|
|
||||||
# but need to provide a way to link against X ... see bug #20093
|
|
||||||
myconf+=(
|
|
||||||
--enable-gui=no
|
|
||||||
--disable-darwin
|
|
||||||
$(use_with X x)
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# let package manager strip binaries
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
# keep prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
--with-modified-by=Gentoo-${PVR} \
|
|
||||||
"${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# The following allows emake to be used
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
|
|
||||||
emake
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
einfo
|
|
||||||
einfo "Starting vim tests. Several error messages will be shown"
|
|
||||||
einfo "while the tests run. This is normal behaviour and does not"
|
|
||||||
einfo "indicate a fault."
|
|
||||||
einfo
|
|
||||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
|
||||||
ewarn "state. Usually, running 'reset' will fix this."
|
|
||||||
einfo
|
|
||||||
|
|
||||||
# Don't let vim talk to X
|
|
||||||
unset DISPLAY
|
|
||||||
|
|
||||||
# Arch and opensuse seem to do this and at this point, I'm willing
|
|
||||||
# to try anything to avoid random test hangs!
|
|
||||||
export TERM=xterm
|
|
||||||
|
|
||||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
|
||||||
# for more information on test variables we can use.
|
|
||||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
|
||||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
|
||||||
#
|
|
||||||
# Skipped tests:
|
|
||||||
# - Test_expand_star_star
|
|
||||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
|
||||||
# - Test_exrc
|
|
||||||
# Looks in wrong location? (bug #742710)
|
|
||||||
# - Test_job_tty_in_out
|
|
||||||
# Fragile and depends on TERM(?)
|
|
||||||
# - Test_spelldump_bang
|
|
||||||
# Hangs.
|
|
||||||
# - Test_fuzzy_completion_env
|
|
||||||
# Too sensitive to leaked environment variables.
|
|
||||||
# - Test_term_mouse_multiple_clicks_to_select_mode
|
|
||||||
# Hangs.
|
|
||||||
# - Test_spelldump
|
|
||||||
# Hangs.
|
|
||||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
|
||||||
|
|
||||||
emake -j1 -C src/testdir nongui
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call eselect vi update with --if-unset
|
|
||||||
# to respect user's choice (bug #187449)
|
|
||||||
eselect_vi_update() {
|
|
||||||
ebegin "Calling eselect vi update"
|
|
||||||
eselect vi update --if-unset
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
|
||||||
# managed by eselect-vi
|
|
||||||
dobin src/vim
|
|
||||||
if ! use minimal ; then
|
|
||||||
dosym vim /usr/bin/vimdiff
|
|
||||||
fi
|
|
||||||
dosym vim /usr/bin/rvim
|
|
||||||
dosym vim /usr/bin/rview
|
|
||||||
if use vim-pager ; then
|
|
||||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
|
||||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
|
||||||
insinto ${vimfiles}/macros
|
|
||||||
doins runtime/macros/manpager.sh
|
|
||||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
domenu runtime/vim.desktop
|
|
||||||
|
|
||||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
|
||||||
|
|
||||||
# keep in sync with 'complete ... -F' list
|
|
||||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# Call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
|
|
||||||
# update desktop file mime cache
|
|
||||||
xdg_desktop_database_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# Call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
|
|
||||||
# update desktop file mime cache
|
|
||||||
xdg_desktop_database_update
|
|
||||||
}
|
|
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
AUX 50geiser-chicken-gentoo.el 319 BLAKE2B 3bb243526f00cb2245d1a702f2f22eb49f9cac1fb72d81cea601ff0340bad41f595224dcb72897b241b2f145a3cc8ca3f2d0890178f18355b3c00e0a12e954b1 SHA512 293a82d1f3cad9eb24c4c83cbb7356913c924f537bc302206bc30ef7bbf2bc213182d19b6d49df47633355602d8498c9ff6d96e45238c8437864f97fbb29d096
|
AUX 50geiser-chicken-gentoo.el 319 BLAKE2B 3bb243526f00cb2245d1a702f2f22eb49f9cac1fb72d81cea601ff0340bad41f595224dcb72897b241b2f145a3cc8ca3f2d0890178f18355b3c00e0a12e954b1 SHA512 293a82d1f3cad9eb24c4c83cbb7356913c924f537bc302206bc30ef7bbf2bc213182d19b6d49df47633355602d8498c9ff6d96e45238c8437864f97fbb29d096
|
||||||
AUX geiser-chicken-scheme-dir.patch 357 BLAKE2B 384c49355359ba7f1b0ed79c01b9902bda1dcd6f7c6c2adca97a6aa530e43a2b9d1f4edad57cca33935dc0345cf14e36e66fbfa8c682a158fab5e9b7e66e7376 SHA512 92b68749d56664002bbe595380e56eeb2de9cb37796fcebb4e05fc4c53ccc1c7d219c5a2b72841d6ffb1f37e0004343d3a45df91d6634f6381904435a7ed7e74
|
AUX geiser-chicken-scheme-dir.patch 357 BLAKE2B 384c49355359ba7f1b0ed79c01b9902bda1dcd6f7c6c2adca97a6aa530e43a2b9d1f4edad57cca33935dc0345cf14e36e66fbfa8c682a158fab5e9b7e66e7376 SHA512 92b68749d56664002bbe595380e56eeb2de9cb37796fcebb4e05fc4c53ccc1c7d219c5a2b72841d6ffb1f37e0004343d3a45df91d6634f6381904435a7ed7e74
|
||||||
DIST geiser-chicken-0.17.tar.gz 13083 BLAKE2B 02c27de099c1cc835827781159c42664a13a8adf858bb81488f88fa1dadc0b440c791ebdde112ab33aad19dd53f9f7138ff720aee7e14541a903a2a18599f1e0 SHA512 6c292a2c3ca5d036a7af95b029f2fd913675131dd04c3481dc4fe43c534b8c0183ef63bfa386b3393cc34284451b8aa095d3ebdcc8d1bb27fb3649b64d4f5279
|
DIST geiser-chicken-0.17.tar.gz 13083 BLAKE2B 02c27de099c1cc835827781159c42664a13a8adf858bb81488f88fa1dadc0b440c791ebdde112ab33aad19dd53f9f7138ff720aee7e14541a903a2a18599f1e0 SHA512 6c292a2c3ca5d036a7af95b029f2fd913675131dd04c3481dc4fe43c534b8c0183ef63bfa386b3393cc34284451b8aa095d3ebdcc8d1bb27fb3649b64d4f5279
|
||||||
EBUILD geiser-chicken-0.17.ebuild 803 BLAKE2B 6c4f20fe780100cb06f7dc1b4cf765d7751dadeb03a4fa46446b078b14ec3a294b00678d1ce7d5326558803a76af3b9992f9fee4ff674ea6b3fafa2e26df36b1 SHA512 297ef35153c0306b502d72b5aa93aaa0137dc5299f5fda83a145da871f9a7efdc266f49cf856932b06644da1d1cabc46829c27d97d6facc1934446405fb865cc
|
EBUILD geiser-chicken-0.17.ebuild 802 BLAKE2B 42a8a664ada4c0367d55c5deb668409850ee0801774aee474e91a02b609e94f1164da6e34b46a07f86d5d6b093d19abac0c6bb94ed2ce263dc923e2bdc744f1c SHA512 f48de3e3f1134f343d3c4711be82663d130a9dd2c9831b854e8e032f49dbe97fc14686a2a70f3558b45d3fc305f941afe150387e51bfbdd14463d99306d3edc4
|
||||||
MISC metadata.xml 553 BLAKE2B b2029a398ce352e16e4b72495d4e9ae18e698a92c1cf0d794ae394cf8b93b0fec76785242ff5ce4931cde09f535bc23cb0e71100d74d27fe3c6333aa356b0a80 SHA512 3fcc988504bcdca8e09cd99cb446c0cbbc677a41309dd9aa1e675bc1d1d059a13c530baca958f038ea357897ffa9c0e720f71aa06bd5037974a1eedfca3fcfaa
|
MISC metadata.xml 553 BLAKE2B b2029a398ce352e16e4b72495d4e9ae18e698a92c1cf0d794ae394cf8b93b0fec76785242ff5ce4931cde09f535bc23cb0e71100d74d27fe3c6333aa356b0a80 SHA512 3fcc988504bcdca8e09cd99cb446c0cbbc677a41309dd9aa1e675bc1d1d059a13c530baca958f038ea357897ffa9c0e720f71aa06bd5037974a1eedfca3fcfaa
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
AUX 50geiser-gambit-gentoo.el 310 BLAKE2B ca6f58efa08f5f9b7008a4d5a593f19bed3b0a867c13597e0c43639097e763c23e5b6e4a1002fee704db24a3b1812cc4a5e3daf0c73a47f13783ef3da9469d62 SHA512 fc82c275778bfebcf6cd4554b5d1a9240c50dc70d59d8a4501c033e8283cf021221b68f9ba00c9809794f737f1d2d818e1f06c4ae5ca323ab646c558cd4ebe58
|
AUX 50geiser-gambit-gentoo.el 310 BLAKE2B ca6f58efa08f5f9b7008a4d5a593f19bed3b0a867c13597e0c43639097e763c23e5b6e4a1002fee704db24a3b1812cc4a5e3daf0c73a47f13783ef3da9469d62 SHA512 fc82c275778bfebcf6cd4554b5d1a9240c50dc70d59d8a4501c033e8283cf021221b68f9ba00c9809794f737f1d2d818e1f06c4ae5ca323ab646c558cd4ebe58
|
||||||
AUX geiser-gambit-scheme-dir.patch 433 BLAKE2B e1bc515d45246404aa773db8f188c7f714ec80443bc0d7970ca67c79c354f8288f0f2c41ae1c540628c0373649ca36e8fb0387b38e9554a520c8fd02fcf0de19 SHA512 989740cfc579f71b88e7e8235292496cc0d091dc74ab2da55a61c5555d350e51a8ab88a5745f1031e10bf425dab01bca1d8a7fb629ecde08cba70fbdc4c37d61
|
AUX geiser-gambit-scheme-dir.patch 433 BLAKE2B e1bc515d45246404aa773db8f188c7f714ec80443bc0d7970ca67c79c354f8288f0f2c41ae1c540628c0373649ca36e8fb0387b38e9554a520c8fd02fcf0de19 SHA512 989740cfc579f71b88e7e8235292496cc0d091dc74ab2da55a61c5555d350e51a8ab88a5745f1031e10bf425dab01bca1d8a7fb629ecde08cba70fbdc4c37d61
|
||||||
DIST geiser-gambit-0.18.1.tar.gz 19163 BLAKE2B c5624d69380688b751a4a4c9de21e886b1577e87218b7e8d761c5aa1dd4f37dbe296e453b5254777d305ac51c2c318d5282609d0d812b3cd233c1f64e3a8f6b4 SHA512 b5808eac6cc23873f848b96720cf86a4bd5ad2737c44b33def134b2ec61b0d05aaffe0e4cdcd17b296ca04757b37d3a3478741adc8db195ac9c9a90b2e15184a
|
DIST geiser-gambit-0.18.1.tar.gz 19163 BLAKE2B c5624d69380688b751a4a4c9de21e886b1577e87218b7e8d761c5aa1dd4f37dbe296e453b5254777d305ac51c2c318d5282609d0d812b3cd233c1f64e3a8f6b4 SHA512 b5808eac6cc23873f848b96720cf86a4bd5ad2737c44b33def134b2ec61b0d05aaffe0e4cdcd17b296ca04757b37d3a3478741adc8db195ac9c9a90b2e15184a
|
||||||
EBUILD geiser-gambit-0.18.1.ebuild 805 BLAKE2B 304612fe5fd70d380c874fcfa3cd270f561b3a9c949d24e08dafaa3f219a63780ec76eeba7089b6d36e1864f80e8ab55e81c990f93b9ef36778dc2fd37ded5d4 SHA512 7aaed72e1a1f28dd0e2bde67e3f251667c82af20197e8604c86a84b3d2d4be234f08555636b47e700867c629efba07337b31e1cbf560706375b09e0fef1d3cac
|
EBUILD geiser-gambit-0.18.1.ebuild 804 BLAKE2B 15ca7a3ed22f622e9ebcd70db2aa60c474fb94c14d0366a3e4d4c9f7af29587b7be9774dbc916a6775ba4a64773705cd22535de846db26c431842cd9ed969bbf SHA512 8d30df773b2c8216804a51bf86a271a9867155476d7a3af28e224ddbe35aba5b6ec0182f4a7c3c29afcc084bdd12b36155a32e874f20bb57a2953d169718e0da
|
||||||
MISC metadata.xml 551 BLAKE2B 24885070990a1f79a2c896b090f9c7394e8e57428bb7caf41e26b60fadd4dcc7879edb0994321d30b1904ff12020f9e21ef31b52b3983bcf10ab81d96631c9da SHA512 52a319d39e4a74c68e79b820ce5c7051e7cdea344f28b5f6737328b799770e21801788720d7e267f3107c5d23138672c5be4afabe9ffd7619dfd5e66ed2b7c49
|
MISC metadata.xml 551 BLAKE2B 24885070990a1f79a2c896b090f9c7394e8e57428bb7caf41e26b60fadd4dcc7879edb0994321d30b1904ff12020f9e21ef31b52b3983bcf10ab81d96631c9da SHA512 52a319d39e4a74c68e79b820ce5c7051e7cdea344f28b5f6737328b799770e21801788720d7e267f3107c5d23138672c5be4afabe9ffd7619dfd5e66ed2b7c49
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
AUX 50geiser-mit-gentoo.el 222 BLAKE2B 5748fd1b3dae50af185b667e463fe7db7f4c34ba6225e7c0f4687936cb2b33ca20a9e8de2981bd72ae41b376dd600ee2214d9d21ef3e8b3f8df0fbe65bc68d8c SHA512 b06f705d8fd0b89fd981a22c60a25202592b9c8ada5982648020a3cd302b361ae003c98594e4848c1a3bae3e4c4636d22dc541d3344d4352d4fe3603a9f2373c
|
AUX 50geiser-mit-gentoo.el 222 BLAKE2B 5748fd1b3dae50af185b667e463fe7db7f4c34ba6225e7c0f4687936cb2b33ca20a9e8de2981bd72ae41b376dd600ee2214d9d21ef3e8b3f8df0fbe65bc68d8c SHA512 b06f705d8fd0b89fd981a22c60a25202592b9c8ada5982648020a3cd302b361ae003c98594e4848c1a3bae3e4c4636d22dc541d3344d4352d4fe3603a9f2373c
|
||||||
AUX geiser-mit-src-dir.patch 396 BLAKE2B 4cefad3baff7d5cc14491b1499bc98c911c09a1d88665de84db5b456b03f0018642472373902bab5114dfeaa4b02d18db59c751d9a3973fa7eb4c7c491fd5d62 SHA512 71dd0dfa58822f56eb8613a81c248a429689c6da918cb5673af2e4806dcd2bc165995ae0742506853f2e2518d4a07d25c28d237c4e084b345e5a6b308e21a6cb
|
AUX geiser-mit-src-dir.patch 396 BLAKE2B 4cefad3baff7d5cc14491b1499bc98c911c09a1d88665de84db5b456b03f0018642472373902bab5114dfeaa4b02d18db59c751d9a3973fa7eb4c7c491fd5d62 SHA512 71dd0dfa58822f56eb8613a81c248a429689c6da918cb5673af2e4806dcd2bc165995ae0742506853f2e2518d4a07d25c28d237c4e084b345e5a6b308e21a6cb
|
||||||
DIST geiser-mit-0.15.tar.gz 6216 BLAKE2B d14f412730e86ef580bb13426e3af558403acc00cd1c742507f66f80369a644581c98310803430439ff09b1c13eefe550f6dbc3289897ae86e6471b7197d73cc SHA512 e2d7a81a66293e5232f510eb4cf1707c3ab64ac77a36c29b55d17275a2d0141302e28d29e4280e388f3107db3a961e757e9127219e36b76b1680fa54fee48593
|
DIST geiser-mit-0.15.tar.gz 6216 BLAKE2B d14f412730e86ef580bb13426e3af558403acc00cd1c742507f66f80369a644581c98310803430439ff09b1c13eefe550f6dbc3289897ae86e6471b7197d73cc SHA512 e2d7a81a66293e5232f510eb4cf1707c3ab64ac77a36c29b55d17275a2d0141302e28d29e4280e388f3107db3a961e757e9127219e36b76b1680fa54fee48593
|
||||||
EBUILD geiser-mit-0.15.ebuild 1133 BLAKE2B 43408ed30f04027e62051393f5ebd1696c53e20d2b9f327089a1afef9348747e242a1b395ae1ed6ba41139beac4968cd3b532381735dbb73e84d278b2cec3c87 SHA512 6fccd7778c96e6c9443a3519867635f7b3698a93c4505fa47d76b8a76d10fd387ce7cb1a65a651bba9de0c132789403712adf63424b7e7209f181d597fbea25f
|
EBUILD geiser-mit-0.15.ebuild 1132 BLAKE2B e7256d5306ca30e762bff54c99315ed1e85925f607c3137417cba380f5a471bfd97a46fad4b9601f41608e3e568a39ea9f493734d6ef3b9d98634a241ab0d3c5 SHA512 0c7199ed57aced8409fa6b0862385e0d5bd75e02fc09743d9c63833413aa583f46b454288bc9a4da03f106a6d475237726f8200b621bb0948c3bb0351cf0be7a
|
||||||
MISC metadata.xml 545 BLAKE2B 22f524510834b30e9d531053910ebc9082679678b2ce74e08f69c869ce5d0d832cba6144989f329ddf704b1931441802e96633103607d95bc1d032d422f0b11b SHA512 9d4b141a749b89f71f25f0998ab5e469fdec73e2cb7f0f014e849dada07912600a500de1335cee95904b3b68edaf258dd7ceca6d056d921c3d8e433c94deaa56
|
MISC metadata.xml 545 BLAKE2B 22f524510834b30e9d531053910ebc9082679678b2ce74e08f69c869ce5d0d832cba6144989f329ddf704b1931441802e96633103607d95bc1d032d422f0b11b SHA512 9d4b141a749b89f71f25f0998ab5e469fdec73e2cb7f0f014e849dada07912600a500de1335cee95904b3b68edaf258dd7ceca6d056d921c3d8e433c94deaa56
|
||||||
|
Binary file not shown.
@ -1,9 +1,12 @@
|
|||||||
DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
|
DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
|
||||||
DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
|
DIST dxvk-2.0.tar.gz 943397 BLAKE2B 7d59050e8ac3f9be311d11323cc0057d84c3b730360fe9e064ff4a5e2db5bffea5bae3214da366c60295ec5f1577ab08e2776274c9aaff7a7de1b9f2cefa836a SHA512 98537bdec2b5e4f2ead5b93ab49db717e0706fe771a82a6ef1e5b5792c1bdd3f417cd6b6b2deadb1397b8a0740445fa88b9fb6c1f73510cc5c0e7ae35d65bcac
|
||||||
|
DIST dxvk-2.1.tar.gz 960078 BLAKE2B ad8ea7eb000237914d9116a8fbfde13fde3dc00d428ebfe41aacb9373c6509112545ef1942b4cbc96a18338c3d07c2c494d0454236721e220ee5f5731a5c27b9 SHA512 10d919ba2612f665a20f7c72605967adeea94d8414bee45878f9df42ad263fa5ebfc7a76319173dce054ffe9b9cdc919ff7a136042f3f4e64142844c943bdef7
|
||||||
|
DIST dxvk-libdisplay-info-d39344f466.tar.bz2 81232 BLAKE2B af76ccd3c40bc953008bc30d222c72f90bdc77f47f767b6e7423efaa0ec89d746396a755160b5470e219a15a0aa392be6066aab12921b45a1adb35d88132cd97 SHA512 79b4bf325cefc39bc587233bd82ff64c927ca5f829b8172d213c3d47af725c8dc7fe33576a8e96a869075ee2a8f00d165f3aa9e6c472e862a47e5c800b2b3315
|
||||||
DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
|
DIST dxvk-spirv-headers-0bcc624926.tar.gz 437771 BLAKE2B 08815e36ad99b84777e38ad0c5616b6608a552f993e7f67433f2b8e20de81e9bce41420ac5998f5b67bca70a92ce70aed91b238990bd431c7b97070dfb0c5a60 SHA512 5995cf75d5605d41e9643bca81c195ef5aaa17d596e0282807f6fa8f8c494f7b63a41d611c535ae43dc3d609436aabef1e0d89626f37e6f20bad17b5e122e32c
|
||||||
DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77
|
DIST dxvk-vulkan-headers-98f440ce68.tar.gz 1691979 BLAKE2B bf6fd288f16df7adcb5cebeb6e13713db1c26a0b833dead2fb522227861abc60b2d0cda8e3f46f8e89cccb629e01081ba27763989ad6fd336c60a475b198c1c8 SHA512 69238d37d0af0162e0fd68094cd2fa9baa320497d34a9de491dea086c23291d0815b51e89218b1f0ee2b3314cbc8ac1809d6edb15ca51fcb282fe1e2b39a1a77
|
||||||
DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
|
DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
|
||||||
EBUILD dxvk-1.10.3.ebuild 4386 BLAKE2B c2cd3106bd5437f1ee18f6f1977573f48eedc1258fb0de6ac5ad0a730ce348655404a931fc1f8c90254f0c6eb29cf08f89cd78529a7785db2f9dad00345a7ab7 SHA512 3828dcb3ac3b97449bf87f5a978b5baa3c06cb9141ddee96f538dfacf7201e33eda11468f3d39cbb318f92f544f8d2a8f96f923868d12e8174105293af3b1706
|
EBUILD dxvk-1.10.3.ebuild 4386 BLAKE2B c2cd3106bd5437f1ee18f6f1977573f48eedc1258fb0de6ac5ad0a730ce348655404a931fc1f8c90254f0c6eb29cf08f89cd78529a7785db2f9dad00345a7ab7 SHA512 3828dcb3ac3b97449bf87f5a978b5baa3c06cb9141ddee96f538dfacf7201e33eda11468f3d39cbb318f92f544f8d2a8f96f923868d12e8174105293af3b1706
|
||||||
EBUILD dxvk-2.0.ebuild 5263 BLAKE2B 78de2ed9dc6540673f0b05d92f847670979f02adfd03dfa8df28e108b78788b7c8890e37eeca1e1ec3750604fb95e645e84ec99c593d11b39a5ef51c2f3530c0 SHA512 83ceafb6670947a56ae0ecb6ad208d0ed9b91db6a2f00ba868edeffef0064fe85e7a5b7e13d5b5cf4b69228deefccfb470e9eb7868002ed6e9a93ffb36861cd9
|
EBUILD dxvk-2.0.ebuild 5263 BLAKE2B 78de2ed9dc6540673f0b05d92f847670979f02adfd03dfa8df28e108b78788b7c8890e37eeca1e1ec3750604fb95e645e84ec99c593d11b39a5ef51c2f3530c0 SHA512 83ceafb6670947a56ae0ecb6ad208d0ed9b91db6a2f00ba868edeffef0064fe85e7a5b7e13d5b5cf4b69228deefccfb470e9eb7868002ed6e9a93ffb36861cd9
|
||||||
EBUILD dxvk-9999.ebuild 5635 BLAKE2B 8eaad2471f58c6cdd612beac5b53c09e8c88d64726bf909c09803fd9492c5c1854323a5f308d2a7b1cd404d8377b26660e1339f53d708e64d72fd6f610c818af SHA512 658f01cd40b05f6bdf80ada09b6f1eadf7605b9cfefa6747b4f49a7a00015ccf2d75921def74ed424df053d15c38e117143983a6af93321e23baa512922be06a
|
EBUILD dxvk-2.1.ebuild 6061 BLAKE2B a58c90e467fdd6e263eb9369e1d862a1e2ed9085c26a0c7f59bc9a58cf81296461a3ff68053aae688b74ba19f5933c18fe516411d3609b0efb75e93db0dbf18e SHA512 53e623a745aa6e5e8f46a1b230aa53f22d3bdb56dbe941e642c1ee5b449314a417dbc3d618c02a68753b400381e201e8aa106c1eb3ddc18b234d4cad788de3b3
|
||||||
|
EBUILD dxvk-9999.ebuild 6061 BLAKE2B a58c90e467fdd6e263eb9369e1d862a1e2ed9085c26a0c7f59bc9a58cf81296461a3ff68053aae688b74ba19f5933c18fe516411d3609b0efb75e93db0dbf18e SHA512 53e623a745aa6e5e8f46a1b230aa53f22d3bdb56dbe941e642c1ee5b449314a417dbc3d618c02a68753b400381e201e8aa106c1eb3ddc18b234d4cad788de3b3
|
||||||
MISC metadata.xml 818 BLAKE2B 88081c074b99329c925174de4b7ff9b2c220ffc67eb64a5324f4eaf2a35f98f06c9978ddc0e929ba76b341a389a8eff025b7aa0a2414e3f7ae496c44a023c65c SHA512 90d76ac3df3abe003371cd25b9cf0e6570a53b371349fb2e048cae1818e51f0482e17b3d5490eb82c57d891bb43c4a7cd41530101b888591719c33c566788e3b
|
MISC metadata.xml 818 BLAKE2B 88081c074b99329c925174de4b7ff9b2c220ffc67eb64a5324f4eaf2a35f98f06c9978ddc0e929ba76b341a389a8eff025b7aa0a2414e3f7ae496c44a023c65c SHA512 90d76ac3df3abe003371cd25b9cf0e6570a53b371349fb2e048cae1818e51f0482e17b3d5490eb82c57d891bb43c4a7cd41530101b888591719c33c566788e3b
|
||||||
|
@ -0,0 +1,171 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{9..11} )
|
||||||
|
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||||
|
inherit flag-o-matic meson-multilib python-any-r1
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
|
||||||
|
EGIT_SUBMODULES=(
|
||||||
|
# picky about headers and is cross-compiled making -I/usr/include troublesome
|
||||||
|
include/{spirv,vulkan}
|
||||||
|
subprojects/libdisplay-info
|
||||||
|
)
|
||||||
|
else
|
||||||
|
HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
|
||||||
|
HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
|
||||||
|
HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
|
||||||
|
-> ${P}.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
|
||||||
|
https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
|
||||||
|
KEYWORDS="-* ~amd64 ~x86"
|
||||||
|
fi
|
||||||
|
# setup_dxvk.sh is no longer provided, fetch old until a better solution
|
||||||
|
SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
|
||||||
|
|
||||||
|
DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
|
||||||
|
HOMEPAGE="https://github.com/doitsujin/dxvk/"
|
||||||
|
|
||||||
|
LICENSE="ZLIB Apache-2.0 MIT"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
|
||||||
|
REQUIRED_USE="
|
||||||
|
|| ( d3d9 d3d10 d3d11 dxgi )
|
||||||
|
d3d10? ( d3d11 )
|
||||||
|
d3d11? ( dxgi )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
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 set 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"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
if [[ ${PV} != 9999 ]]; then
|
||||||
|
rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
|
||||||
|
mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
|
||||||
|
mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
|
||||||
|
mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
|
||||||
|
"${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||||
|
|
||||||
|
# AVX has a history of causing issues with this package, disable for safety
|
||||||
|
# https://bugs.winehq.org/show_bug.cgi?id=43516
|
||||||
|
# https://bugs.winehq.org/show_bug.cgi?id=45289
|
||||||
|
append-flags -mno-avx
|
||||||
|
|
||||||
|
if [[ ${CHOST} != *-mingw* ]]; then
|
||||||
|
if [[ ! -v MINGW_BYPASS ]]; then
|
||||||
|
unset AR CC CXX RC STRIP
|
||||||
|
filter-flags '-fstack-clash-protection' #758914
|
||||||
|
filter-flags '-fstack-protector*' #870136
|
||||||
|
filter-flags '-fuse-ld=*'
|
||||||
|
filter-flags '-mfunction-return=thunk*' #878849
|
||||||
|
fi
|
||||||
|
|
||||||
|
CHOST_amd64=x86_64-w64-mingw32
|
||||||
|
CHOST_x86=i686-w64-mingw32
|
||||||
|
CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
|
||||||
|
|
||||||
|
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 RC STRIP
|
||||||
|
|
||||||
|
local emesonargs=(
|
||||||
|
--prefix="${EPREFIX}"/usr/lib/${PN}
|
||||||
|
--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
|
||||||
|
$(meson_use {,enable_}d3d9)
|
||||||
|
$(meson_use {,enable_}d3d10)
|
||||||
|
$(meson_use {,enable_}d3d11)
|
||||||
|
$(meson_use {,enable_}dxgi)
|
||||||
|
$(usev !debug --strip) # portage won't strip .dll, so allow it here
|
||||||
|
)
|
||||||
|
|
||||||
|
meson_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
dobin setup_dxvk.sh
|
||||||
|
dodoc README.md dxvk.conf
|
||||||
|
|
||||||
|
find "${ED}" -type f -name '*.a' -delete || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
|
||||||
|
}
|
||||||
|
|
||||||
|
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_dxvk.sh install --symlink"
|
||||||
|
elog
|
||||||
|
elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
|
||||||
|
elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
|
||||||
|
elog "removed upstream, handling may change in the future."
|
||||||
|
elif [[ -v DXVK_HAD_OVERLAY ]]; then
|
||||||
|
# temporary warning until this version is more widely used
|
||||||
|
elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
|
||||||
|
elog "If you were using symbolic links in wine prefixes it may be necessary to"
|
||||||
|
elog "refresh them by re-running the command:"
|
||||||
|
elog
|
||||||
|
elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
|
||||||
|
elog
|
||||||
|
elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
|
||||||
|
elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! ${REPLACING_VERSIONS##* } ]] ||
|
||||||
|
ver_test ${REPLACING_VERSIONS##* } -lt 2.0
|
||||||
|
then
|
||||||
|
elog
|
||||||
|
elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
|
||||||
|
elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
|
||||||
|
elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
|
||||||
|
fi
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
Stop cargo from attempting to update it, we're already unpacking same revision.
|
||||||
|
--- a/Cargo.toml
|
||||||
|
+++ b/Cargo.toml
|
||||||
|
@@ -72,4 +72,2 @@
|
||||||
|
inherits = "release"
|
||||||
|
|
||||||
|
-[patch.crates-io]
|
||||||
|
-naga = { git = "https://github.com/gfx-rs/naga", rev = "1be8024" }
|
||||||
|
\ No newline at end of file
|
@ -0,0 +1,614 @@
|
|||||||
|
# Copyright 2021-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
CRATES="
|
||||||
|
Inflector-0.11.4
|
||||||
|
addr2line-0.19.0
|
||||||
|
adler-1.0.2
|
||||||
|
adler32-1.2.0
|
||||||
|
ahash-0.7.6
|
||||||
|
aho-corasick-0.7.20
|
||||||
|
aliasable-0.1.3
|
||||||
|
alsa-0.6.0
|
||||||
|
alsa-sys-0.3.1
|
||||||
|
android_system_properties-0.1.5
|
||||||
|
anyhow-1.0.68
|
||||||
|
approx-0.5.1
|
||||||
|
arboard-3.2.0
|
||||||
|
arrayref-0.3.6
|
||||||
|
arrayvec-0.5.2
|
||||||
|
arrayvec-0.7.2
|
||||||
|
ash-0.37.2+1.3.238
|
||||||
|
async-channel-1.8.0
|
||||||
|
atk-sys-0.15.1
|
||||||
|
atty-0.2.14
|
||||||
|
autocfg-1.1.0
|
||||||
|
backtrace-0.3.67
|
||||||
|
base-x-0.2.11
|
||||||
|
base64-0.13.1
|
||||||
|
base64-0.21.0
|
||||||
|
bindgen-0.61.0
|
||||||
|
bit-set-0.5.3
|
||||||
|
bit-vec-0.6.3
|
||||||
|
bit_field-0.10.1
|
||||||
|
bitflags-1.3.2
|
||||||
|
bitstream-io-1.6.0
|
||||||
|
bitvec-0.19.6
|
||||||
|
block-0.1.6
|
||||||
|
block-buffer-0.10.3
|
||||||
|
bstr-0.2.17
|
||||||
|
bumpalo-3.11.1
|
||||||
|
bytemuck-1.12.3
|
||||||
|
bytemuck_derive-1.3.0
|
||||||
|
byteorder-1.4.3
|
||||||
|
bytes-1.3.0
|
||||||
|
cairo-sys-rs-0.15.1
|
||||||
|
calloop-0.10.4
|
||||||
|
castaway-0.1.2
|
||||||
|
cc-1.0.77
|
||||||
|
cesu8-1.1.0
|
||||||
|
cexpr-0.6.0
|
||||||
|
cfg-expr-0.11.0
|
||||||
|
cfg-if-0.1.10
|
||||||
|
cfg-if-1.0.0
|
||||||
|
chrono-0.4.23
|
||||||
|
clang-sys-1.4.0
|
||||||
|
clap-4.0.32
|
||||||
|
clap_derive-4.0.21
|
||||||
|
clap_lex-0.3.0
|
||||||
|
clipboard-win-4.4.2
|
||||||
|
cmake-0.1.49
|
||||||
|
cocoa-0.24.1
|
||||||
|
cocoa-foundation-0.1.0
|
||||||
|
codespan-reporting-0.11.1
|
||||||
|
color_quant-1.1.0
|
||||||
|
colored-2.0.0
|
||||||
|
com-rs-0.2.1
|
||||||
|
combine-4.6.6
|
||||||
|
concurrent-queue-2.0.0
|
||||||
|
console-0.15.4
|
||||||
|
console_error_panic_hook-0.1.7
|
||||||
|
convert_case-0.6.0
|
||||||
|
cookie-factory-0.3.2
|
||||||
|
core-foundation-0.9.3
|
||||||
|
core-foundation-sys-0.8.3
|
||||||
|
core-graphics-0.22.3
|
||||||
|
core-graphics-types-0.1.1
|
||||||
|
core-text-19.2.0
|
||||||
|
coreaudio-rs-0.10.0
|
||||||
|
coreaudio-sys-0.2.11
|
||||||
|
cpal-0.14.2
|
||||||
|
cpufeatures-0.2.5
|
||||||
|
crc-3.0.0
|
||||||
|
crc-catalog-2.1.0
|
||||||
|
crc32fast-1.3.2
|
||||||
|
crossbeam-channel-0.5.6
|
||||||
|
crossbeam-deque-0.8.2
|
||||||
|
crossbeam-epoch-0.9.13
|
||||||
|
crossbeam-utils-0.8.14
|
||||||
|
crossfont-0.5.1
|
||||||
|
crunchy-0.2.2
|
||||||
|
crypto-common-0.1.6
|
||||||
|
csv-1.1.6
|
||||||
|
csv-core-0.1.10
|
||||||
|
ctor-0.1.26
|
||||||
|
cty-0.2.2
|
||||||
|
curl-0.4.44
|
||||||
|
curl-sys-0.4.59+curl-7.86.0
|
||||||
|
cxx-1.0.83
|
||||||
|
cxx-build-1.0.83
|
||||||
|
cxxbridge-flags-1.0.83
|
||||||
|
cxxbridge-macro-1.0.83
|
||||||
|
darling-0.13.4
|
||||||
|
darling-0.14.2
|
||||||
|
darling_core-0.13.4
|
||||||
|
darling_core-0.14.2
|
||||||
|
darling_macro-0.13.4
|
||||||
|
darling_macro-0.14.2
|
||||||
|
data-encoding-2.3.3
|
||||||
|
derive-try-from-primitive-1.0.0
|
||||||
|
diff-0.1.13
|
||||||
|
digest-0.10.6
|
||||||
|
dirs-4.0.0
|
||||||
|
dirs-sys-0.3.7
|
||||||
|
discard-1.0.4
|
||||||
|
dispatch-0.2.0
|
||||||
|
dlib-0.5.0
|
||||||
|
downcast-rs-1.2.0
|
||||||
|
dwrote-0.11.0
|
||||||
|
either-1.8.0
|
||||||
|
embed-resource-1.8.0
|
||||||
|
encode_unicode-0.3.6
|
||||||
|
encoding_rs-0.8.31
|
||||||
|
enum-map-2.4.2
|
||||||
|
enum-map-derive-0.11.0
|
||||||
|
enumset-1.0.12
|
||||||
|
enumset_derive-0.6.1
|
||||||
|
env_logger-0.10.0
|
||||||
|
errno-0.2.8
|
||||||
|
errno-dragonfly-0.1.2
|
||||||
|
error-code-2.3.1
|
||||||
|
euclid-0.22.7
|
||||||
|
event-listener-2.5.3
|
||||||
|
expat-sys-2.1.6
|
||||||
|
exr-1.5.2
|
||||||
|
fastrand-1.8.0
|
||||||
|
flate2-1.0.25
|
||||||
|
float_next_after-0.1.5
|
||||||
|
flume-0.10.14
|
||||||
|
fnv-1.0.7
|
||||||
|
foreign-types-0.3.2
|
||||||
|
foreign-types-0.5.0
|
||||||
|
foreign-types-macros-0.2.2
|
||||||
|
foreign-types-shared-0.1.1
|
||||||
|
foreign-types-shared-0.3.1
|
||||||
|
form_urlencoded-1.1.0
|
||||||
|
freetype-rs-0.26.0
|
||||||
|
freetype-sys-0.13.1
|
||||||
|
funty-1.1.0
|
||||||
|
futures-0.3.25
|
||||||
|
futures-channel-0.3.25
|
||||||
|
futures-core-0.3.25
|
||||||
|
futures-executor-0.3.25
|
||||||
|
futures-io-0.3.25
|
||||||
|
futures-lite-1.12.0
|
||||||
|
futures-macro-0.3.25
|
||||||
|
futures-sink-0.3.25
|
||||||
|
futures-task-0.3.25
|
||||||
|
futures-util-0.3.25
|
||||||
|
fxhash-0.2.1
|
||||||
|
gdk-pixbuf-sys-0.15.10
|
||||||
|
gdk-sys-0.15.1
|
||||||
|
generational-arena-0.2.8
|
||||||
|
generator-0.7.2
|
||||||
|
generic-array-0.14.6
|
||||||
|
gethostname-0.2.3
|
||||||
|
getrandom-0.2.8
|
||||||
|
gif-0.11.4
|
||||||
|
gif-0.12.0
|
||||||
|
gimli-0.27.0
|
||||||
|
gio-sys-0.15.10
|
||||||
|
glib-sys-0.15.10
|
||||||
|
glob-0.3.0
|
||||||
|
gobject-sys-0.15.10
|
||||||
|
gpu-alloc-0.5.3
|
||||||
|
gpu-alloc-types-0.2.0
|
||||||
|
gpu-allocator-0.21.0
|
||||||
|
gpu-descriptor-0.2.3
|
||||||
|
gpu-descriptor-types-0.1.1
|
||||||
|
gtk-sys-0.15.3
|
||||||
|
half-2.1.0
|
||||||
|
hashbrown-0.12.3
|
||||||
|
hassle-rs-0.9.0
|
||||||
|
heck-0.4.0
|
||||||
|
hermit-abi-0.1.19
|
||||||
|
hermit-abi-0.2.6
|
||||||
|
hexf-parse-0.2.1
|
||||||
|
http-0.2.8
|
||||||
|
humantime-2.1.0
|
||||||
|
iana-time-zone-0.1.53
|
||||||
|
iana-time-zone-haiku-0.1.1
|
||||||
|
ident_case-1.0.1
|
||||||
|
idna-0.3.0
|
||||||
|
image-0.24.5
|
||||||
|
indexmap-1.9.2
|
||||||
|
indicatif-0.17.2
|
||||||
|
insta-1.26.0
|
||||||
|
instant-0.1.12
|
||||||
|
io-lifetimes-1.0.3
|
||||||
|
is-terminal-0.4.1
|
||||||
|
isahc-1.7.2
|
||||||
|
itoa-0.4.8
|
||||||
|
itoa-1.0.4
|
||||||
|
jni-0.19.0
|
||||||
|
jni-0.20.0
|
||||||
|
jni-sys-0.3.0
|
||||||
|
jobserver-0.1.25
|
||||||
|
jpeg-decoder-0.3.0
|
||||||
|
js-sys-0.3.60
|
||||||
|
khronos-egl-4.1.0
|
||||||
|
lazy_static-1.4.0
|
||||||
|
lazycell-1.3.0
|
||||||
|
lebe-0.5.2
|
||||||
|
lexical-core-0.7.6
|
||||||
|
libc-0.2.138
|
||||||
|
libflate-1.2.0
|
||||||
|
libflate_lz77-1.1.0
|
||||||
|
libloading-0.7.4
|
||||||
|
libm-0.2.6
|
||||||
|
libnghttp2-sys-0.1.7+1.45.0
|
||||||
|
libz-sys-1.1.8
|
||||||
|
link-cplusplus-1.0.7
|
||||||
|
linked-hash-map-0.5.6
|
||||||
|
linux-raw-sys-0.1.4
|
||||||
|
lock_api-0.4.9
|
||||||
|
log-0.4.17
|
||||||
|
loom-0.5.6
|
||||||
|
lyon-1.0.1
|
||||||
|
lyon_algorithms-1.0.2
|
||||||
|
lyon_geom-1.0.4
|
||||||
|
lyon_path-1.0.3
|
||||||
|
lyon_tessellation-1.0.7
|
||||||
|
lzma-rs-0.3.0
|
||||||
|
mach-0.3.2
|
||||||
|
malloc_buf-0.0.6
|
||||||
|
matchers-0.1.0
|
||||||
|
memchr-2.5.0
|
||||||
|
memmap2-0.5.8
|
||||||
|
memoffset-0.6.5
|
||||||
|
memoffset-0.7.1
|
||||||
|
metal-0.24.0
|
||||||
|
mime-0.3.16
|
||||||
|
minimal-lexical-0.2.1
|
||||||
|
miniz_oxide-0.6.2
|
||||||
|
mio-0.8.5
|
||||||
|
nanorand-0.7.0
|
||||||
|
ndk-0.6.0
|
||||||
|
ndk-0.7.0
|
||||||
|
ndk-context-0.1.1
|
||||||
|
ndk-glue-0.7.0
|
||||||
|
ndk-macro-0.3.0
|
||||||
|
ndk-sys-0.3.0
|
||||||
|
ndk-sys-0.4.1+23.1.7779620
|
||||||
|
nix-0.23.2
|
||||||
|
nix-0.24.3
|
||||||
|
nix-0.25.1
|
||||||
|
nom-6.1.2
|
||||||
|
nom-7.1.1
|
||||||
|
nu-ansi-term-0.46.0
|
||||||
|
num-bigint-0.4.3
|
||||||
|
num-complex-0.4.2
|
||||||
|
num-derive-0.3.3
|
||||||
|
num-integer-0.1.45
|
||||||
|
num-rational-0.4.1
|
||||||
|
num-traits-0.2.15
|
||||||
|
num_cpus-1.14.0
|
||||||
|
num_enum-0.5.7
|
||||||
|
num_enum_derive-0.5.7
|
||||||
|
number_prefix-0.4.0
|
||||||
|
objc-0.2.7
|
||||||
|
objc-foundation-0.1.1
|
||||||
|
objc_exception-0.1.2
|
||||||
|
objc_id-0.1.1
|
||||||
|
object-0.30.1
|
||||||
|
oboe-0.4.6
|
||||||
|
oboe-sys-0.4.5
|
||||||
|
once_cell-1.17.0
|
||||||
|
openssl-probe-0.1.5
|
||||||
|
openssl-sys-0.9.79
|
||||||
|
os_info-3.5.1
|
||||||
|
os_str_bytes-6.4.1
|
||||||
|
ouroboros-0.15.5
|
||||||
|
ouroboros_macro-0.15.5
|
||||||
|
output_vt100-0.1.3
|
||||||
|
overload-0.1.1
|
||||||
|
pango-sys-0.15.10
|
||||||
|
parking-2.0.0
|
||||||
|
parking_lot-0.12.1
|
||||||
|
parking_lot_core-0.9.5
|
||||||
|
path-slash-0.2.1
|
||||||
|
peeking_take_while-0.1.2
|
||||||
|
percent-encoding-2.2.0
|
||||||
|
pin-project-1.0.12
|
||||||
|
pin-project-internal-1.0.12
|
||||||
|
pin-project-lite-0.2.9
|
||||||
|
pin-utils-0.1.0
|
||||||
|
pkg-config-0.3.26
|
||||||
|
png-0.17.7
|
||||||
|
polling-2.5.2
|
||||||
|
portable-atomic-0.3.17
|
||||||
|
pp-rs-0.2.1
|
||||||
|
ppv-lite86-0.2.17
|
||||||
|
pretty_assertions-1.3.0
|
||||||
|
primal-check-0.3.3
|
||||||
|
proc-macro-crate-1.2.1
|
||||||
|
proc-macro-error-1.0.4
|
||||||
|
proc-macro-error-attr-1.0.4
|
||||||
|
proc-macro2-1.0.49
|
||||||
|
profiling-1.0.7
|
||||||
|
profiling-procmacros-1.0.7
|
||||||
|
quote-1.0.23
|
||||||
|
radium-0.5.3
|
||||||
|
rand-0.8.5
|
||||||
|
rand_chacha-0.3.1
|
||||||
|
rand_core-0.6.4
|
||||||
|
range-alloc-0.1.2
|
||||||
|
raw-window-handle-0.4.3
|
||||||
|
raw-window-handle-0.5.0
|
||||||
|
rayon-1.6.1
|
||||||
|
rayon-core-1.10.1
|
||||||
|
redox_syscall-0.2.16
|
||||||
|
redox_users-0.4.3
|
||||||
|
regex-1.7.1
|
||||||
|
regex-automata-0.1.10
|
||||||
|
regex-syntax-0.6.28
|
||||||
|
regress-0.4.1
|
||||||
|
renderdoc-sys-0.7.1
|
||||||
|
rfd-0.10.0
|
||||||
|
rle-decode-fast-1.0.3
|
||||||
|
ron-0.8.0
|
||||||
|
rustc-demangle-0.1.21
|
||||||
|
rustc-hash-1.1.0
|
||||||
|
rustc_version-0.2.3
|
||||||
|
rustc_version-0.4.0
|
||||||
|
rustdct-0.7.1
|
||||||
|
rustfft-6.1.0
|
||||||
|
rustix-0.36.5
|
||||||
|
rustversion-1.0.11
|
||||||
|
ryu-1.0.11
|
||||||
|
safe_arch-0.5.2
|
||||||
|
safe_arch-0.6.0
|
||||||
|
same-file-1.0.6
|
||||||
|
schannel-0.1.20
|
||||||
|
scoped-tls-1.0.1
|
||||||
|
scoped_threadpool-0.1.9
|
||||||
|
scopeguard-1.1.0
|
||||||
|
scratch-1.0.2
|
||||||
|
sctk-adwaita-0.4.3
|
||||||
|
semver-0.9.0
|
||||||
|
semver-1.0.14
|
||||||
|
semver-parser-0.7.0
|
||||||
|
serde-1.0.152
|
||||||
|
serde-wasm-bindgen-0.4.5
|
||||||
|
serde-xml-rs-0.6.0
|
||||||
|
serde_derive-1.0.152
|
||||||
|
serde_json-1.0.91
|
||||||
|
servo-fontconfig-0.5.1
|
||||||
|
servo-fontconfig-sys-5.1.0
|
||||||
|
sha1-0.6.1
|
||||||
|
sha1_smol-1.0.0
|
||||||
|
sha2-0.10.6
|
||||||
|
sharded-slab-0.1.4
|
||||||
|
shlex-1.1.0
|
||||||
|
similar-2.2.1
|
||||||
|
simple_asn1-0.6.2
|
||||||
|
slab-0.4.7
|
||||||
|
slotmap-1.0.6
|
||||||
|
sluice-0.5.5
|
||||||
|
smallvec-1.10.0
|
||||||
|
smithay-client-toolkit-0.16.0
|
||||||
|
socket2-0.4.7
|
||||||
|
spin-0.9.4
|
||||||
|
spirv-0.2.0+1.5.4
|
||||||
|
static_assertions-1.1.0
|
||||||
|
stdweb-0.4.20
|
||||||
|
stdweb-derive-0.5.3
|
||||||
|
stdweb-internal-macros-0.2.9
|
||||||
|
stdweb-internal-runtime-0.1.5
|
||||||
|
str-buf-1.0.6
|
||||||
|
strength_reduce-0.2.4
|
||||||
|
strsim-0.10.0
|
||||||
|
symphonia-0.5.1
|
||||||
|
symphonia-bundle-mp3-0.5.1
|
||||||
|
symphonia-core-0.5.1
|
||||||
|
symphonia-metadata-0.5.1
|
||||||
|
syn-1.0.107
|
||||||
|
synstructure-0.12.6
|
||||||
|
system-deps-6.0.3
|
||||||
|
tap-1.0.1
|
||||||
|
termcolor-1.1.3
|
||||||
|
thiserror-1.0.38
|
||||||
|
thiserror-impl-1.0.38
|
||||||
|
thread_local-1.1.4
|
||||||
|
threadpool-1.8.1
|
||||||
|
tiff-0.8.1
|
||||||
|
time-0.3.17
|
||||||
|
time-core-0.1.0
|
||||||
|
time-macros-0.2.6
|
||||||
|
tiny-skia-0.7.0
|
||||||
|
tiny-skia-path-0.7.0
|
||||||
|
tinyvec-1.6.0
|
||||||
|
tinyvec_macros-0.1.0
|
||||||
|
toml-0.5.10
|
||||||
|
tracing-0.1.37
|
||||||
|
tracing-attributes-0.1.23
|
||||||
|
tracing-core-0.1.30
|
||||||
|
tracing-futures-0.2.5
|
||||||
|
tracing-log-0.1.3
|
||||||
|
tracing-subscriber-0.3.16
|
||||||
|
tracing-tracy-0.10.0
|
||||||
|
tracing-wasm-0.2.1
|
||||||
|
tracy-client-0.14.2
|
||||||
|
tracy-client-sys-0.19.0
|
||||||
|
transpose-0.2.2
|
||||||
|
typed-arena-2.0.2
|
||||||
|
typenum-1.16.0
|
||||||
|
unicode-bidi-0.3.8
|
||||||
|
unicode-ident-1.0.5
|
||||||
|
unicode-normalization-0.1.22
|
||||||
|
unicode-segmentation-1.10.0
|
||||||
|
unicode-width-0.1.10
|
||||||
|
unicode-xid-0.2.4
|
||||||
|
url-2.3.1
|
||||||
|
valuable-0.1.0
|
||||||
|
vcpkg-0.2.15
|
||||||
|
vec_map-0.8.2
|
||||||
|
version-compare-0.1.1
|
||||||
|
version_check-0.9.4
|
||||||
|
vswhom-0.1.0
|
||||||
|
vswhom-sys-0.1.2
|
||||||
|
waker-fn-1.1.0
|
||||||
|
walkdir-2.3.2
|
||||||
|
wasi-0.11.0+wasi-snapshot-preview1
|
||||||
|
wasm-bindgen-0.2.83
|
||||||
|
wasm-bindgen-backend-0.2.83
|
||||||
|
wasm-bindgen-futures-0.4.33
|
||||||
|
wasm-bindgen-macro-0.2.83
|
||||||
|
wasm-bindgen-macro-support-0.2.83
|
||||||
|
wasm-bindgen-shared-0.2.83
|
||||||
|
wayland-client-0.29.5
|
||||||
|
wayland-commons-0.29.5
|
||||||
|
wayland-cursor-0.29.5
|
||||||
|
wayland-protocols-0.29.5
|
||||||
|
wayland-scanner-0.29.5
|
||||||
|
wayland-sys-0.29.5
|
||||||
|
weak-table-0.3.2
|
||||||
|
web-sys-0.3.60
|
||||||
|
webbrowser-0.8.4
|
||||||
|
weezl-0.1.7
|
||||||
|
wepoll-ffi-0.1.2
|
||||||
|
wide-0.7.5
|
||||||
|
widestring-0.5.1
|
||||||
|
winapi-0.3.9
|
||||||
|
winapi-i686-pc-windows-gnu-0.4.0
|
||||||
|
winapi-util-0.1.5
|
||||||
|
winapi-wsapoll-0.1.1
|
||||||
|
winapi-x86_64-pc-windows-gnu-0.4.0
|
||||||
|
windows-0.37.0
|
||||||
|
windows-0.39.0
|
||||||
|
windows-0.43.0
|
||||||
|
windows-sys-0.36.1
|
||||||
|
windows-sys-0.42.0
|
||||||
|
windows_aarch64_gnullvm-0.42.0
|
||||||
|
windows_aarch64_msvc-0.36.1
|
||||||
|
windows_aarch64_msvc-0.37.0
|
||||||
|
windows_aarch64_msvc-0.39.0
|
||||||
|
windows_aarch64_msvc-0.42.0
|
||||||
|
windows_i686_gnu-0.36.1
|
||||||
|
windows_i686_gnu-0.37.0
|
||||||
|
windows_i686_gnu-0.39.0
|
||||||
|
windows_i686_gnu-0.42.0
|
||||||
|
windows_i686_msvc-0.36.1
|
||||||
|
windows_i686_msvc-0.37.0
|
||||||
|
windows_i686_msvc-0.39.0
|
||||||
|
windows_i686_msvc-0.42.0
|
||||||
|
windows_x86_64_gnu-0.36.1
|
||||||
|
windows_x86_64_gnu-0.37.0
|
||||||
|
windows_x86_64_gnu-0.39.0
|
||||||
|
windows_x86_64_gnu-0.42.0
|
||||||
|
windows_x86_64_gnullvm-0.42.0
|
||||||
|
windows_x86_64_msvc-0.36.1
|
||||||
|
windows_x86_64_msvc-0.37.0
|
||||||
|
windows_x86_64_msvc-0.39.0
|
||||||
|
windows_x86_64_msvc-0.42.0
|
||||||
|
winit-0.27.5
|
||||||
|
winreg-0.10.1
|
||||||
|
wio-0.2.2
|
||||||
|
wyz-0.2.0
|
||||||
|
x11-dl-2.20.1
|
||||||
|
x11rb-0.10.1
|
||||||
|
x11rb-protocol-0.10.0
|
||||||
|
xcursor-0.3.4
|
||||||
|
xml-rs-0.8.4
|
||||||
|
yaml-rust-0.4.5
|
||||||
|
yansi-0.5.1"
|
||||||
|
inherit cargo desktop flag-o-matic xdg
|
||||||
|
|
||||||
|
# 0(github) 1(repo) 2(commit hash) 3(crate_name:workspace,...)
|
||||||
|
# note: if this gets too hard to maintain, should switch to a vendor tarball
|
||||||
|
RUFFLE_GIT=(
|
||||||
|
"Aaron1011 naga_oil f4474b53285a85fe67cc35372c9d7ff4517cb556 naga_oil:."
|
||||||
|
"RustAudio dasp f05a703d247bb504d7e812b51e95f3765d9c5e94 dasp"
|
||||||
|
"gfx-rs d3d12-rs a990c93ec64eeab78f2292763d0715da9dba1d59 d3d12:."
|
||||||
|
"gfx-rs naga 1be8024bda3594987b417bead5024b98be9ab521 naga:."
|
||||||
|
"gfx-rs rspirv b969f175d5663258b4891e44b76c1544da9661ab rspirv:rspirv"
|
||||||
|
"gfx-rs wgpu c5851275c59b1d5d949b142d6aa973d0bb638181 wgpu:wgpu"
|
||||||
|
"grovesNL glow c8a011fcd57a5c68cc917ed394baa484bdefc909 glow:."
|
||||||
|
"kyren gc-arena 318b2ea594dcdadd01f7789025e3b3940be96b2c gc-arena:src/gc-arena"
|
||||||
|
"ruffle-rs h263-rs 023e14c73e565c4c778d41f66cfbac5ece6419b2 h263-rs:h263,h263-rs-yuv:yuv"
|
||||||
|
"ruffle-rs nellymoser 4a33521c29a918950df8ae9fe07e527ac65553f5 nellymoser-rs:."
|
||||||
|
"ruffle-rs nihav-vp6 9416fcc9fc8aab8f4681aa9093b42922214abbd3 nihav_codec_support:nihav-codec-support,nihav_core:nihav-core,nihav_duck:nihav-duck"
|
||||||
|
"ruffle-rs quick-xml 8496365ec1412eb5ba5de350937b6bce352fa0ba quick-xml:."
|
||||||
|
"ruffle-rs rust-flash-lso 19fecd07b9888c4bdaa66771c468095783b52bed flash-lso"
|
||||||
|
)
|
||||||
|
ruffle_uris() {
|
||||||
|
cargo_crate_uris
|
||||||
|
|
||||||
|
local g
|
||||||
|
for g in "${RUFFLE_GIT[@]}"; do
|
||||||
|
g=(${g})
|
||||||
|
echo "https://github.com/${g[0]}/${g[1]}/archive/${g[2]}.tar.gz -> ${PN}-${g[1]}-${g[2]::10}.tar.gz"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
MY_PV="nightly-${PV:3:4}-${PV:7:2}-${PV:9:2}"
|
||||||
|
MY_P="${PN}-${MY_PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="Flash Player emulator written in Rust"
|
||||||
|
HOMEPAGE="https://ruffle.rs/"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/ruffle-rs/ruffle/archive/refs/tags/${MY_PV}.tar.gz -> ${MY_P}.tar.gz
|
||||||
|
$(ruffle_uris)"
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0 BSD BSD-2 Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB curl"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
# dlopen: libX* (see winit+x11-dl crates)
|
||||||
|
RDEPEND="
|
||||||
|
dev-libs/glib:2
|
||||||
|
dev-libs/openssl:=
|
||||||
|
media-libs/alsa-lib
|
||||||
|
media-libs/fontconfig
|
||||||
|
media-libs/freetype
|
||||||
|
sys-libs/zlib:=
|
||||||
|
x11-libs/gtk+:3
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXcursor
|
||||||
|
x11-libs/libXrandr
|
||||||
|
x11-libs/libXrender"
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
x11-base/xorg-proto"
|
||||||
|
BDEPEND="
|
||||||
|
virtual/jre:*
|
||||||
|
virtual/pkgconfig
|
||||||
|
>=virtual/rust-1.64"
|
||||||
|
|
||||||
|
QA_FLAGS_IGNORED="usr/bin/${PN}.*"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${P}-no-patch-naga.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# use [patch] directive to register git snapshots of needed crates
|
||||||
|
local crate g
|
||||||
|
for g in "${RUFFLE_GIT[@]}"; do
|
||||||
|
g=(${g})
|
||||||
|
echo
|
||||||
|
echo "[patch.\"https://github.com/${g[0]}/${g[1]}\"]"
|
||||||
|
for crate in ${g[3]//,/ }; do
|
||||||
|
echo "${crate%:*} = { path = \"../${g[1]}-${g[2]}/${crate#*:}\" }"
|
||||||
|
done
|
||||||
|
done >> Cargo.toml || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
filter-lto # does not play well with C code in crates
|
||||||
|
|
||||||
|
cargo_src_compile --bins # note: configure --bins would skip tests
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
dodoc README.md
|
||||||
|
|
||||||
|
newicon web/packages/extension/assets/images/icon180.png ${PN}.png
|
||||||
|
make_desktop_entry ${PN} ${PN^} ${PN} "AudioVideo;Player;Emulator;" \
|
||||||
|
"MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie;"
|
||||||
|
|
||||||
|
cd target/$(usex debug{,} release) || die
|
||||||
|
|
||||||
|
newbin ${PN}_desktop ${PN}
|
||||||
|
newbin exporter ${PN}_exporter
|
||||||
|
dobin ${PN}_scanner
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
xdg_pkg_postinst
|
||||||
|
|
||||||
|
if [[ ! ${REPLACING_VERSIONS} ]]; then
|
||||||
|
elog "${PN} is experimental software that is still under heavy development"
|
||||||
|
elog "and only receiving nightly releases. Plans in Gentoo is to update"
|
||||||
|
elog "roughly every months if no known major regressions (feel free to"
|
||||||
|
elog "report if you feel a newer nightly is needed ahead of time)."
|
||||||
|
elog
|
||||||
|
elog "There is currently no plans to support wasm builds / browser"
|
||||||
|
elog "extensions, this provides the desktop viewer and other tools."
|
||||||
|
fi
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
DIST vice-3.6.1.tar.gz 11454300 BLAKE2B 129171380f3bd23d579dc29a96419446169cf9a98d2fec82951fa192914846053d213a19b395c9ca30596859cce35bcfea0de0c0a7461c45cb38511a546ca4b2 SHA512 9aeb1c84dc71976d12a9907d60c637ec4cc938aad103340b70a13906bbf2bebab579edc78221c7fba47f0750be3f9ded947200b42fcfc8a9169fb4bb9f288cb7
|
DIST vice-3.6.1.tar.gz 11454300 BLAKE2B 129171380f3bd23d579dc29a96419446169cf9a98d2fec82951fa192914846053d213a19b395c9ca30596859cce35bcfea0de0c0a7461c45cb38511a546ca4b2 SHA512 9aeb1c84dc71976d12a9907d60c637ec4cc938aad103340b70a13906bbf2bebab579edc78221c7fba47f0750be3f9ded947200b42fcfc8a9169fb4bb9f288cb7
|
||||||
DIST vice-3.7.1.tar.gz 13444946 BLAKE2B 64ac82c118cd1e515d7677d3f60d3b19dbf19319d8505321c46c2adb92414193784a036e2f6fa0ce5f55f1e4f425f45026ce152ee866b72ad6557531faaf5797 SHA512 80f81dd4d163cc5030eee2908b274bce4f3f21a3adb6d01559f4695d58b27ebc7b7570d8896718dfe74b2f2e4983ed3f9c4919b6e81934063d344b543b081f30
|
DIST vice-3.7.1.tar.gz 13444946 BLAKE2B 64ac82c118cd1e515d7677d3f60d3b19dbf19319d8505321c46c2adb92414193784a036e2f6fa0ce5f55f1e4f425f45026ce152ee866b72ad6557531faaf5797 SHA512 80f81dd4d163cc5030eee2908b274bce4f3f21a3adb6d01559f4695d58b27ebc7b7570d8896718dfe74b2f2e4983ed3f9c4919b6e81934063d344b543b081f30
|
||||||
EBUILD vice-3.6.1-r2.ebuild 4621 BLAKE2B fd5c4818f91ea9bcd0fecadd47eee279803d5262aa804035378798599debbca504f3d100c811a3d834f9a76168186b3844b526919150185e344382a55622dd34 SHA512 28d798aad2203e654c851057e4d0b1af7797c7bbf5a0dd8882f36ae59c6fd4e9f1aa67cb65ab30dcdea406df70a8303f0d37f22c049062e69c64c1aa3c8dacd7
|
EBUILD vice-3.6.1-r2.ebuild 4621 BLAKE2B fd5c4818f91ea9bcd0fecadd47eee279803d5262aa804035378798599debbca504f3d100c811a3d834f9a76168186b3844b526919150185e344382a55622dd34 SHA512 28d798aad2203e654c851057e4d0b1af7797c7bbf5a0dd8882f36ae59c6fd4e9f1aa67cb65ab30dcdea406df70a8303f0d37f22c049062e69c64c1aa3c8dacd7
|
||||||
EBUILD vice-3.7.1.ebuild 4508 BLAKE2B 67b070d0077e3b64f1271c5597bfab7e5c67d352d0c9e2a3e4df802302eb0e672ea679a67d9457d452672f7c6900f36435c8ff500ef23c44d8042abf86716449 SHA512 be63cd666873d7f3196261458c1cf70afa71a23aaad69473d610f8cf0f99be8f27cb2b44b6d8c258958f35c99d768b5dffea7a894fcf40762675c514637cc000
|
EBUILD vice-3.7.1.ebuild 4506 BLAKE2B 938faa04cf84ecff4113765a1f6a557e804de1a59dd128df1ca549b33a4da79c865e84699049accde03f17bff5fb2d6ded2805d030d14d34106800b6888c4f41 SHA512 0631f265c57124a7c6872e5ccce362a08dab2b88dc0fe6561a1a9ccc0b6aa6fdc83dbbb7f6adf382365b105ea49922c3318e4e3e3b9e22502ddde787ab8660ff
|
||||||
MISC metadata.xml 785 BLAKE2B 1dc59c7b40fda968680e97b1ad83e741faf223143bbc1ab2d523e37312badd3a3aaedc3bbffbd158531c74ae73dab1bb1ee03666a081eb17d819dc9e0b783ee2 SHA512 b483d325702723d1395bca771d215709fc68b6ca8309c4297c6a668d5940502c9c8d5d4149e1f52b8fd6d5062cf04b2e3d7046ecfc0555d2703b064e329af283
|
MISC metadata.xml 785 BLAKE2B 1dc59c7b40fda968680e97b1ad83e741faf223143bbc1ab2d523e37312badd3a3aaedc3bbffbd158531c74ae73dab1bb1ee03666a081eb17d819dc9e0b783ee2 SHA512 b483d325702723d1395bca771d215709fc68b6ca8309c4297c6a668d5940502c9c8d5d4149e1f52b8fd6d5062cf04b2e3d7046ecfc0555d2703b064e329af283
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
DIST virt-what-1.21.tar.gz 478767 BLAKE2B 7c48b84d9f1fe5f734921f68848b84beee2e5687a6ebfbc422a1349063e6a83c932a89cb2936239da6be033b72e6010694314cf106486cd6c54cd02652bc61a6 SHA512 14ace184c4aee5a09b855c1f5acaa619057aed1b9bf03c91ed1003e6a39ea69162c9fe452ea8162c7fe29825e0e2202cfc7d76e82f0cecea3e32405e5eb9f717
|
DIST virt-what-1.21.tar.gz 478767 BLAKE2B 7c48b84d9f1fe5f734921f68848b84beee2e5687a6ebfbc422a1349063e6a83c932a89cb2936239da6be033b72e6010694314cf106486cd6c54cd02652bc61a6 SHA512 14ace184c4aee5a09b855c1f5acaa619057aed1b9bf03c91ed1003e6a39ea69162c9fe452ea8162c7fe29825e0e2202cfc7d76e82f0cecea3e32405e5eb9f717
|
||||||
|
DIST virt-what-1.25.tar.gz 516445 BLAKE2B 3f3403a3954e359005754e1ad2aba545a824ff9eb77e787615235c1042735f99a58d89f755c265324c16a9d0467e8332a67dff88b3ac15ae21a4f4f7a6dd3136 SHA512 0147b4b44ae0ee685977aa34dfa9bf30ae8e0eb31b7a6d5c0097d16f830fa6fb6afd7156964fc79f3fd5e82b2f68d921fd5306245cc63a2140f6dddc7fdd0e98
|
||||||
EBUILD virt-what-1.21.ebuild 620 BLAKE2B 4008314e92bcadd5725fdbec003aa62b7a10b765aec2059637d12403ca3095eb667d7c50446f7874680fc376880546b4fab2317120de627af88c692b9cd671cc SHA512 bebd7e82b06e1417e009989dd4c5dec2dc2f0c5902cc6a9d4ba7815627422f3fe95ca1f57ed9ea11e836000a13769f208d78e40e8baa0a7bb4f7d14e76ecc20d
|
EBUILD virt-what-1.21.ebuild 620 BLAKE2B 4008314e92bcadd5725fdbec003aa62b7a10b765aec2059637d12403ca3095eb667d7c50446f7874680fc376880546b4fab2317120de627af88c692b9cd671cc SHA512 bebd7e82b06e1417e009989dd4c5dec2dc2f0c5902cc6a9d4ba7815627422f3fe95ca1f57ed9ea11e836000a13769f208d78e40e8baa0a7bb4f7d14e76ecc20d
|
||||||
|
EBUILD virt-what-1.25.ebuild 627 BLAKE2B aa0da9fc1b884ecb775e2812023a47f5b3cc769d30247d3ded3f5104a61eed2308a68d6a70b6a23382cef0f8047496caa2773ccc4e308210a2f7ecc6a0f65f22 SHA512 5d2e16c2e3a086efd4a143d00b395a33995a56e814d37a52f289868fdf739e4c7123b94db83ebb3c188bad8d2f1292b2b935e184fe9b5a2dfbc0f2ce9aa915a4
|
||||||
MISC metadata.xml 352 BLAKE2B 92128dbde8c4210379e7eee058e5621ec0b49c427585b09c130ae99494bf6922120029fa3c7c68414e84281a4a1aea0018bc7b3ec23189f97d6de9dae88a234b SHA512 4a5d1cbc2aaaf055bcca21bd542514a7bd45f36c78d2029438b191919fb4e139d9716036b58e13b4901e4702fb4ecf8d471686a1dec7402a973ca65c43f90e8b
|
MISC metadata.xml 352 BLAKE2B 92128dbde8c4210379e7eee058e5621ec0b49c427585b09c130ae99494bf6922120029fa3c7c68414e84281a4a1aea0018bc7b3ec23189f97d6de9dae88a234b SHA512 4a5d1cbc2aaaf055bcca21bd542514a7bd45f36c78d2029438b191919fb4e139d9716036b58e13b4901e4702fb4ecf8d471686a1dec7402a973ca65c43f90e8b
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DESCRIPTION="Detects if the current machine is running in a virtual machine"
|
||||||
|
HOMEPAGE="https://people.redhat.com/~rjones/virt-what/"
|
||||||
|
SRC_URI="https://people.redhat.com/~rjones/virt-what/files/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||||
|
IUSE="dmi"
|
||||||
|
|
||||||
|
DEPEND="dev-lang/perl"
|
||||||
|
RDEPEND="app-shells/bash
|
||||||
|
dmi? ( sys-apps/dmidecode )"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# Pretends to be POSIX sh while it is not
|
||||||
|
sed -e 's:/bin/sh:/bin/bash:' -i virt-what.in || die
|
||||||
|
}
|
@ -0,0 +1,355 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
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.4.0
|
||||||
|
|
||||||
|
if [[ ${PV} == *9999 ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git"
|
||||||
|
WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
|
||||||
|
else
|
||||||
|
(( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
|
||||||
|
SRC_URI="
|
||||||
|
https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz
|
||||||
|
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="-* ~amd64 ~x86"
|
||||||
|
fi
|
||||||
|
S="${WORKDIR}/wine-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
|
||||||
|
HOMEPAGE="https://wiki.winehq.org/Wine-Staging"
|
||||||
|
|
||||||
|
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
|
||||||
|
SLOT="${PV}"
|
||||||
|
IUSE="
|
||||||
|
+X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
|
||||||
|
llvm-libunwind debug custom-cflags +fontconfig +gecko gphoto2
|
||||||
|
+gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl
|
||||||
|
osmesa pcap perl pulseaudio samba scanner +sdl selinux +ssl
|
||||||
|
+truetype udev udisks +unwind usb v4l +vulkan +xcomposite xinerama"
|
||||||
|
REQUIRED_USE="
|
||||||
|
X? ( truetype )
|
||||||
|
crossdev-mingw? ( mingw )" # bug #551124 for truetype
|
||||||
|
|
||||||
|
# tests are non-trivial to run, can hang easily, don't play well with
|
||||||
|
# sandbox, and several need real opengl/vulkan or network access
|
||||||
|
RESTRICT="test"
|
||||||
|
|
||||||
|
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
|
||||||
|
WINE_DLOPEN_DEPEND="
|
||||||
|
X? (
|
||||||
|
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXrender[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||||
|
opengl? (
|
||||||
|
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
|
||||||
|
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||||
|
)
|
||||||
|
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||||
|
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||||
|
)
|
||||||
|
cups? ( net-print/cups[${MULTILIB_USEDEP}] )
|
||||||
|
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
|
||||||
|
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
|
||||||
|
netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
|
||||||
|
odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
|
||||||
|
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
|
||||||
|
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||||
|
truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
|
||||||
|
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||||
|
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||||
|
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )"
|
||||||
|
WINE_COMMON_DEPEND="
|
||||||
|
${WINE_DLOPEN_DEPEND}
|
||||||
|
X? (
|
||||||
|
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||||
|
)
|
||||||
|
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||||
|
capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
|
||||||
|
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||||
|
gstreamer? (
|
||||||
|
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||||
|
media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
|
||||||
|
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||||
|
)
|
||||||
|
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||||
|
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||||
|
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
|
||||||
|
scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
|
||||||
|
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||||
|
unwind? (
|
||||||
|
llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
|
||||||
|
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
|
||||||
|
)
|
||||||
|
usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
|
||||||
|
RDEPEND="
|
||||||
|
${WINE_COMMON_DEPEND}
|
||||||
|
app-emulation/wine-desktop-common
|
||||||
|
dos? ( games-emulation/dosbox )
|
||||||
|
gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
|
||||||
|
gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
|
||||||
|
mono? ( app-emulation/wine-mono:${WINE_MONO} )
|
||||||
|
perl? (
|
||||||
|
dev-lang/perl
|
||||||
|
dev-perl/XML-LibXML
|
||||||
|
)
|
||||||
|
samba? ( net-fs/samba[winbind] )
|
||||||
|
selinux? ( sec-policy/selinux-wine )
|
||||||
|
udisks? ( sys-fs/udisks:2 )"
|
||||||
|
DEPEND="
|
||||||
|
${WINE_COMMON_DEPEND}
|
||||||
|
sys-kernel/linux-headers
|
||||||
|
X? ( x11-base/xorg-proto )"
|
||||||
|
BDEPEND="
|
||||||
|
dev-lang/perl
|
||||||
|
sys-devel/binutils
|
||||||
|
sys-devel/bison
|
||||||
|
sys-devel/flex
|
||||||
|
virtual/pkgconfig
|
||||||
|
mingw? ( !crossdev-mingw? (
|
||||||
|
>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
|
||||||
|
) )
|
||||||
|
nls? ( sys-devel/gettext )"
|
||||||
|
IDEPEND=">=app-eselect/eselect-wine-2"
|
||||||
|
|
||||||
|
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-7.17-noexecstack.patch
|
||||||
|
"${FILESDIR}"/${PN}-7.20-unwind.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
[[ ${MERGE_TYPE} == binary ]] && return
|
||||||
|
|
||||||
|
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
|
||||||
|
local mingw=-w64-mingw32
|
||||||
|
for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
|
||||||
|
if ! type -P ${mingw}-gcc >/dev/null; then
|
||||||
|
eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
|
||||||
|
eerror "yourself by installing sys-devel/crossdev then running:"
|
||||||
|
eerror
|
||||||
|
eerror " crossdev --target ${mingw}"
|
||||||
|
eerror
|
||||||
|
eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
|
||||||
|
die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if [[ ${PV} == *9999 ]]; then
|
||||||
|
EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
|
||||||
|
git-r3_src_unpack
|
||||||
|
|
||||||
|
EGIT_COMMIT=$("${BASH}" "${EGIT_CHECKOUT_DIR}"/patches/patchinstall.sh --upstream-commit) || die
|
||||||
|
EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
|
||||||
|
EGIT_CHECKOUT_DIR=${S}
|
||||||
|
einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
|
||||||
|
git-r3_src_unpack
|
||||||
|
else
|
||||||
|
default
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
local staging=(
|
||||||
|
./patchinstall.sh DESTDIR="${S}"
|
||||||
|
--all
|
||||||
|
--backend=eapply
|
||||||
|
--no-autoconf
|
||||||
|
-W winemenubuilder-Desktop_Icon_Path #652176
|
||||||
|
${MY_WINE_STAGING_CONF}
|
||||||
|
)
|
||||||
|
|
||||||
|
# source patcher in a subshell so can use eapply as a backend
|
||||||
|
ebegin "Running ${staging[*]}"
|
||||||
|
( cd ../${P}/patches && . "${staging[@]}" )
|
||||||
|
eend ${?} || die "Failed to apply the patchset"
|
||||||
|
|
||||||
|
# sanity check, bumping these has a history of oversights
|
||||||
|
local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
|
||||||
|
dlls/appwiz.cpl/addons.c || die)
|
||||||
|
if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
|
||||||
|
local gmfatal=
|
||||||
|
[[ ${PV} == *9999 ]] && gmfatal=nonfatal
|
||||||
|
${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
# ensure .desktop calls this variant + slot
|
||||||
|
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
|
||||||
|
|
||||||
|
# always update for patches (including user's wrt #432348)
|
||||||
|
eautoreconf
|
||||||
|
tools/make_requests || die # perl
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
WINE_PREFIX=/usr/lib/${P}
|
||||||
|
WINE_DATADIR=/usr/share/${P}
|
||||||
|
|
||||||
|
local conf=(
|
||||||
|
--prefix="${EPREFIX}"${WINE_PREFIX}
|
||||||
|
--datadir="${EPREFIX}"${WINE_DATADIR}
|
||||||
|
--includedir="${EPREFIX}"/usr/include/${P}
|
||||||
|
--libdir="${EPREFIX}"${WINE_PREFIX}
|
||||||
|
--mandir="${EPREFIX}"${WINE_DATADIR}/man
|
||||||
|
$(use_enable gecko mshtml)
|
||||||
|
$(use_enable mono mscoree)
|
||||||
|
--disable-tests
|
||||||
|
$(use_with X x)
|
||||||
|
$(use_with alsa)
|
||||||
|
$(use_with capi)
|
||||||
|
$(use_with cups)
|
||||||
|
$(use_with fontconfig)
|
||||||
|
$(use_with gphoto2 gphoto)
|
||||||
|
$(use_with gstreamer)
|
||||||
|
$(use_with kerberos gssapi)
|
||||||
|
$(use_with kerberos krb5)
|
||||||
|
$(use_with mingw)
|
||||||
|
$(use_with netapi)
|
||||||
|
$(use_with nls gettext)
|
||||||
|
$(use_with opencl)
|
||||||
|
$(use_with opengl)
|
||||||
|
$(use_with osmesa)
|
||||||
|
--without-oss # media-sound/oss is not packaged (OSSv4)
|
||||||
|
$(use_with pcap)
|
||||||
|
$(use_with pulseaudio pulse)
|
||||||
|
$(use_with scanner sane)
|
||||||
|
$(use_with sdl)
|
||||||
|
$(use_with ssl gnutls)
|
||||||
|
$(use_with truetype freetype)
|
||||||
|
$(use_with udev)
|
||||||
|
$(use_with udisks dbus) # dbus is only used for udisks
|
||||||
|
$(use_with unwind)
|
||||||
|
$(use_with usb)
|
||||||
|
$(use_with v4l v4l2)
|
||||||
|
$(use_with vulkan)
|
||||||
|
$(use_with xcomposite)
|
||||||
|
$(use_with xinerama)
|
||||||
|
$(usev !odbc ac_cv_lib_soname_odbc=)
|
||||||
|
)
|
||||||
|
|
||||||
|
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
|
||||||
|
filter-lto # build failure
|
||||||
|
use mingw || filter-flags -fno-plt # build failure
|
||||||
|
use custom-cflags || strip-flags # can break in obscure ways at runtime
|
||||||
|
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||||
|
|
||||||
|
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
|
||||||
|
# https://github.com/gentoo/gentoo/pull/28355
|
||||||
|
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
|
||||||
|
append-ldflags -fuse-ld=bfd
|
||||||
|
|
||||||
|
# build using upstream's way (--with-wine64)
|
||||||
|
# order matters: configure+compile 64->32, install 32->64
|
||||||
|
local -i bits
|
||||||
|
for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
|
||||||
|
(
|
||||||
|
einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
|
||||||
|
|
||||||
|
mkdir ../build${bits} || die
|
||||||
|
cd ../build${bits} || die
|
||||||
|
|
||||||
|
pe_arch=i386
|
||||||
|
if (( bits == 64 )); then
|
||||||
|
pe_arch=x86_64
|
||||||
|
: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
|
||||||
|
conf+=( --enable-win64 )
|
||||||
|
elif use amd64; then
|
||||||
|
conf+=(
|
||||||
|
$(usev abi_x86_64 --with-wine64=../build64)
|
||||||
|
TARGETFLAGS=-m32 # for widl
|
||||||
|
)
|
||||||
|
# _setup is optional, but use over Wine's auto-detect (+#472038)
|
||||||
|
multilib_toolchain_setup x86
|
||||||
|
fi
|
||||||
|
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
|
||||||
|
|
||||||
|
if use mingw; then
|
||||||
|
# CROSSCC is no longer recognized by Wine, but still use for now
|
||||||
|
# (future handling for CROSS* variables is subject to changes)
|
||||||
|
conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
|
||||||
|
|
||||||
|
# use *FLAGS for mingw, but strip unsupported
|
||||||
|
: "${CROSSCFLAGS:=$(
|
||||||
|
# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
|
||||||
|
append-cflags '-fno-strict-aliasing'
|
||||||
|
filter-flags '-fstack-clash-protection' #758914
|
||||||
|
filter-flags '-fstack-protector*' #870136
|
||||||
|
filter-flags '-mfunction-return=thunk*' #878849
|
||||||
|
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
|
||||||
|
: "${CROSSLDFLAGS:=$(
|
||||||
|
filter-flags '-fuse-ld=*'
|
||||||
|
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
|
||||||
|
export CROSS{C,LD}FLAGS
|
||||||
|
fi
|
||||||
|
|
||||||
|
ECONF_SOURCE=${S} econf "${conf[@]}"
|
||||||
|
)
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
use abi_x86_64 && emake -C ../build64 # do first
|
||||||
|
use abi_x86_32 && emake -C ../build32
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
|
||||||
|
use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
|
||||||
|
|
||||||
|
# symlink for plain 'wine' and install its man pages if 64bit-only #404331
|
||||||
|
if use abi_x86_64 && use !abi_x86_32; then
|
||||||
|
dosym wine64 ${WINE_PREFIX}/bin/wine
|
||||||
|
dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
|
||||||
|
local man
|
||||||
|
for man in ../build64/loader/wine.*man; do
|
||||||
|
: "${man##*/wine}"
|
||||||
|
: "${_%.*}"
|
||||||
|
insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
|
||||||
|
newins ${man} wine.1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
|
||||||
|
"${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
|
||||||
|
|
||||||
|
# create variant wrappers for eselect-wine
|
||||||
|
local bin
|
||||||
|
for bin in "${ED}"${WINE_PREFIX}/bin/*; do
|
||||||
|
make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# don't let portage try to strip PE files with the wrong
|
||||||
|
# strip executable and instead handle it here (saves ~120MB)
|
||||||
|
if use mingw; then
|
||||||
|
dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
|
||||||
|
use debug ||
|
||||||
|
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
|
||||||
|
-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
dodoc ANNOUNCE AUTHORS README* documentation/README*
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
eselect wine update --if-unset || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
eselect wine update --if-unset || die
|
||||||
|
}
|
@ -0,0 +1,325 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
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.4.0
|
||||||
|
|
||||||
|
if [[ ${PV} == *9999 ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
|
||||||
|
else
|
||||||
|
(( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
|
||||||
|
SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
|
||||||
|
S="${WORKDIR}/wine-${PV}"
|
||||||
|
KEYWORDS="-* ~amd64 ~x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://www.winehq.org/
|
||||||
|
https://gitlab.winehq.org/wine/wine/"
|
||||||
|
|
||||||
|
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
|
||||||
|
SLOT="${PV}"
|
||||||
|
IUSE="
|
||||||
|
+X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
|
||||||
|
llvm-libunwind debug custom-cflags +fontconfig +gecko gphoto2
|
||||||
|
+gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl
|
||||||
|
osmesa pcap perl pulseaudio samba scanner +sdl selinux +ssl
|
||||||
|
+truetype udev udisks +unwind usb v4l +vulkan +xcomposite xinerama"
|
||||||
|
REQUIRED_USE="
|
||||||
|
X? ( truetype )
|
||||||
|
crossdev-mingw? ( mingw )" # bug #551124 for truetype
|
||||||
|
|
||||||
|
# tests are non-trivial to run, can hang easily, don't play well with
|
||||||
|
# sandbox, and several need real opengl/vulkan or network access
|
||||||
|
RESTRICT="test"
|
||||||
|
|
||||||
|
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
|
||||||
|
WINE_DLOPEN_DEPEND="
|
||||||
|
X? (
|
||||||
|
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXrender[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||||
|
opengl? (
|
||||||
|
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
|
||||||
|
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||||
|
)
|
||||||
|
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||||
|
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||||
|
)
|
||||||
|
cups? ( net-print/cups[${MULTILIB_USEDEP}] )
|
||||||
|
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
|
||||||
|
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
|
||||||
|
netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
|
||||||
|
odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
|
||||||
|
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
|
||||||
|
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||||
|
truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
|
||||||
|
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||||
|
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||||
|
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )"
|
||||||
|
WINE_COMMON_DEPEND="
|
||||||
|
${WINE_DLOPEN_DEPEND}
|
||||||
|
X? (
|
||||||
|
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||||
|
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||||
|
)
|
||||||
|
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||||
|
capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
|
||||||
|
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||||
|
gstreamer? (
|
||||||
|
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||||
|
media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
|
||||||
|
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||||
|
)
|
||||||
|
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||||
|
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||||
|
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
|
||||||
|
scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
|
||||||
|
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||||
|
unwind? (
|
||||||
|
llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
|
||||||
|
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
|
||||||
|
)
|
||||||
|
usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
|
||||||
|
RDEPEND="
|
||||||
|
${WINE_COMMON_DEPEND}
|
||||||
|
app-emulation/wine-desktop-common
|
||||||
|
dos? ( games-emulation/dosbox )
|
||||||
|
gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
|
||||||
|
gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
|
||||||
|
mono? ( app-emulation/wine-mono:${WINE_MONO} )
|
||||||
|
perl? (
|
||||||
|
dev-lang/perl
|
||||||
|
dev-perl/XML-LibXML
|
||||||
|
)
|
||||||
|
samba? ( net-fs/samba[winbind] )
|
||||||
|
selinux? ( sec-policy/selinux-wine )
|
||||||
|
udisks? ( sys-fs/udisks:2 )"
|
||||||
|
DEPEND="
|
||||||
|
${WINE_COMMON_DEPEND}
|
||||||
|
sys-kernel/linux-headers
|
||||||
|
X? ( x11-base/xorg-proto )"
|
||||||
|
BDEPEND="
|
||||||
|
dev-lang/perl
|
||||||
|
sys-devel/binutils
|
||||||
|
sys-devel/bison
|
||||||
|
sys-devel/flex
|
||||||
|
virtual/pkgconfig
|
||||||
|
mingw? ( !crossdev-mingw? (
|
||||||
|
>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
|
||||||
|
) )
|
||||||
|
nls? ( sys-devel/gettext )"
|
||||||
|
IDEPEND=">=app-eselect/eselect-wine-2"
|
||||||
|
|
||||||
|
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-7.0-noexecstack.patch
|
||||||
|
"${FILESDIR}"/${PN}-7.20-unwind.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
[[ ${MERGE_TYPE} == binary ]] && return
|
||||||
|
|
||||||
|
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
|
||||||
|
local mingw=-w64-mingw32
|
||||||
|
for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
|
||||||
|
if ! type -P ${mingw}-gcc >/dev/null; then
|
||||||
|
eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
|
||||||
|
eerror "yourself by installing sys-devel/crossdev then running:"
|
||||||
|
eerror
|
||||||
|
eerror " crossdev --target ${mingw}"
|
||||||
|
eerror
|
||||||
|
eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
|
||||||
|
die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# sanity check, bumping these has a history of oversights
|
||||||
|
local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
|
||||||
|
dlls/appwiz.cpl/addons.c || die)
|
||||||
|
if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
|
||||||
|
local gmfatal=
|
||||||
|
[[ ${PV} == *9999 ]] && gmfatal=nonfatal
|
||||||
|
${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
# ensure .desktop calls this variant + slot
|
||||||
|
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
|
||||||
|
|
||||||
|
# always update for patches (including user's wrt #432348)
|
||||||
|
eautoreconf
|
||||||
|
tools/make_requests || die # perl
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
WINE_PREFIX=/usr/lib/${P}
|
||||||
|
WINE_DATADIR=/usr/share/${P}
|
||||||
|
|
||||||
|
local conf=(
|
||||||
|
--prefix="${EPREFIX}"${WINE_PREFIX}
|
||||||
|
--datadir="${EPREFIX}"${WINE_DATADIR}
|
||||||
|
--includedir="${EPREFIX}"/usr/include/${P}
|
||||||
|
--libdir="${EPREFIX}"${WINE_PREFIX}
|
||||||
|
--mandir="${EPREFIX}"${WINE_DATADIR}/man
|
||||||
|
$(use_enable gecko mshtml)
|
||||||
|
$(use_enable mono mscoree)
|
||||||
|
--disable-tests
|
||||||
|
$(use_with X x)
|
||||||
|
$(use_with alsa)
|
||||||
|
$(use_with capi)
|
||||||
|
$(use_with cups)
|
||||||
|
$(use_with fontconfig)
|
||||||
|
$(use_with gphoto2 gphoto)
|
||||||
|
$(use_with gstreamer)
|
||||||
|
$(use_with kerberos gssapi)
|
||||||
|
$(use_with kerberos krb5)
|
||||||
|
$(use_with mingw)
|
||||||
|
$(use_with netapi)
|
||||||
|
$(use_with nls gettext)
|
||||||
|
$(use_with opencl)
|
||||||
|
$(use_with opengl)
|
||||||
|
$(use_with osmesa)
|
||||||
|
--without-oss # media-sound/oss is not packaged (OSSv4)
|
||||||
|
$(use_with pcap)
|
||||||
|
$(use_with pulseaudio pulse)
|
||||||
|
$(use_with scanner sane)
|
||||||
|
$(use_with sdl)
|
||||||
|
$(use_with ssl gnutls)
|
||||||
|
$(use_with truetype freetype)
|
||||||
|
$(use_with udev)
|
||||||
|
$(use_with udisks dbus) # dbus is only used for udisks
|
||||||
|
$(use_with unwind)
|
||||||
|
$(use_with usb)
|
||||||
|
$(use_with v4l v4l2)
|
||||||
|
$(use_with vulkan)
|
||||||
|
$(use_with xcomposite)
|
||||||
|
$(use_with xinerama)
|
||||||
|
$(usev !odbc ac_cv_lib_soname_odbc=)
|
||||||
|
)
|
||||||
|
|
||||||
|
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
|
||||||
|
filter-lto # build failure
|
||||||
|
use mingw || filter-flags -fno-plt # build failure
|
||||||
|
use custom-cflags || strip-flags # can break in obscure ways at runtime
|
||||||
|
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||||
|
|
||||||
|
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
|
||||||
|
# https://github.com/gentoo/gentoo/pull/28355
|
||||||
|
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
|
||||||
|
append-ldflags -fuse-ld=bfd
|
||||||
|
|
||||||
|
# build using upstream's way (--with-wine64)
|
||||||
|
# order matters: configure+compile 64->32, install 32->64
|
||||||
|
local -i bits
|
||||||
|
for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
|
||||||
|
(
|
||||||
|
einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
|
||||||
|
|
||||||
|
mkdir ../build${bits} || die
|
||||||
|
cd ../build${bits} || die
|
||||||
|
|
||||||
|
pe_arch=i386
|
||||||
|
if (( bits == 64 )); then
|
||||||
|
pe_arch=x86_64
|
||||||
|
: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
|
||||||
|
conf+=( --enable-win64 )
|
||||||
|
elif use amd64; then
|
||||||
|
conf+=(
|
||||||
|
$(usev abi_x86_64 --with-wine64=../build64)
|
||||||
|
TARGETFLAGS=-m32 # for widl
|
||||||
|
)
|
||||||
|
# _setup is optional, but use over Wine's auto-detect (+#472038)
|
||||||
|
multilib_toolchain_setup x86
|
||||||
|
fi
|
||||||
|
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
|
||||||
|
|
||||||
|
if use mingw; then
|
||||||
|
# CROSSCC is no longer recognized by Wine, but still use for now
|
||||||
|
# (future handling for CROSS* variables is subject to changes)
|
||||||
|
conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
|
||||||
|
|
||||||
|
# use *FLAGS for mingw, but strip unsupported
|
||||||
|
: "${CROSSCFLAGS:=$(
|
||||||
|
# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
|
||||||
|
append-cflags '-fno-strict-aliasing'
|
||||||
|
filter-flags '-fstack-clash-protection' #758914
|
||||||
|
filter-flags '-fstack-protector*' #870136
|
||||||
|
filter-flags '-mfunction-return=thunk*' #878849
|
||||||
|
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
|
||||||
|
: "${CROSSLDFLAGS:=$(
|
||||||
|
filter-flags '-fuse-ld=*'
|
||||||
|
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
|
||||||
|
export CROSS{C,LD}FLAGS
|
||||||
|
fi
|
||||||
|
|
||||||
|
ECONF_SOURCE=${S} econf "${conf[@]}"
|
||||||
|
)
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
use abi_x86_64 && emake -C ../build64 # do first
|
||||||
|
use abi_x86_32 && emake -C ../build32
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
|
||||||
|
use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
|
||||||
|
|
||||||
|
# symlink for plain 'wine' and install its man pages if 64bit-only #404331
|
||||||
|
if use abi_x86_64 && use !abi_x86_32; then
|
||||||
|
dosym wine64 ${WINE_PREFIX}/bin/wine
|
||||||
|
dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
|
||||||
|
local man
|
||||||
|
for man in ../build64/loader/wine.*man; do
|
||||||
|
: "${man##*/wine}"
|
||||||
|
: "${_%.*}"
|
||||||
|
insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
|
||||||
|
newins ${man} wine.1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
|
||||||
|
"${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
|
||||||
|
|
||||||
|
# create variant wrappers for eselect-wine
|
||||||
|
local bin
|
||||||
|
for bin in "${ED}"${WINE_PREFIX}/bin/*; do
|
||||||
|
make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# don't let portage try to strip PE files with the wrong
|
||||||
|
# strip executable and instead handle it here (saves ~120MB)
|
||||||
|
if use mingw; then
|
||||||
|
dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
|
||||||
|
use debug ||
|
||||||
|
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
|
||||||
|
-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
dodoc ANNOUNCE AUTHORS README* documentation/README*
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
eselect wine update --if-unset || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
eselect wine update --if-unset || die
|
||||||
|
}
|
@ -1,537 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..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=1
|
|
||||||
XEN_GENTOO_PATCHSET_NUM=2
|
|
||||||
XEN_PRE_VERSION_BASE=4.15.3
|
|
||||||
|
|
||||||
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_BASE_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
|
|
||||||
sys-firmware/seabios-bin
|
|
||||||
)
|
|
||||||
)
|
|
||||||
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,537 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..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=1
|
|
||||||
XEN_GENTOO_PATCHSET_NUM=2
|
|
||||||
XEN_PRE_VERSION_BASE=4.15.3
|
|
||||||
|
|
||||||
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_BASE_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
|
|
||||||
sys-firmware/seabios-bin
|
|
||||||
)
|
|
||||||
)
|
|
||||||
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
|
|
||||||
}
|
|
@ -0,0 +1,532 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{9..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
|
||||||
|
sys-firmware/seabios-bin
|
||||||
|
)
|
||||||
|
)
|
||||||
|
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,532 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..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=0
|
|
||||||
XEN_PRE_VERSION_BASE=4.16.2
|
|
||||||
|
|
||||||
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
|
|
||||||
sys-firmware/seabios-bin
|
|
||||||
)
|
|
||||||
)
|
|
||||||
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,532 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..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=0
|
|
||||||
XEN_PRE_VERSION_BASE=4.16.2
|
|
||||||
|
|
||||||
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
|
|
||||||
sys-firmware/seabios-bin
|
|
||||||
)
|
|
||||||
)
|
|
||||||
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,14 +1,8 @@
|
|||||||
AUX xen-4.15-efi.patch 2181 BLAKE2B a06b944dea37c3dfdbe4344191ec4a286348f46bcccf1b5a75f061e55b961d767972456803b8c9aa15120b2b2497651495e903925bf93b04c483e0713d9117a9 SHA512 7ec52fc65b5b8a22877c941f0ab6f249ba1d7b40ad7d50d8f0ac793069cc0eb85b1e5394ce81adf60fa23b01ecc8ce983e6c508b8e0d22189dc46e2c1ad8c1b4
|
AUX xen-4.15-efi.patch 2181 BLAKE2B a06b944dea37c3dfdbe4344191ec4a286348f46bcccf1b5a75f061e55b961d767972456803b8c9aa15120b2b2497651495e903925bf93b04c483e0713d9117a9 SHA512 7ec52fc65b5b8a22877c941f0ab6f249ba1d7b40ad7d50d8f0ac793069cc0eb85b1e5394ce81adf60fa23b01ecc8ce983e6c508b8e0d22189dc46e2c1ad8c1b4
|
||||||
AUX xen-4.15-flask.patch 400 BLAKE2B 68ee04b8b0923cbe7e2b93b834a23b465c9c8e63ae41bea98c8b4bce4ff59374534294b8c5cd5be30ea64d7c66caec54de0bc1bf70d80275d027b3a082ec2003 SHA512 146c6a161d3def5ab947264d6ac5932066f3124e25be14185ebd75eaa18932adcf35daf21edd051861cacd28b950b6a3ee5c5ac335ccc1d0e27b3242da5c4441
|
AUX xen-4.15-flask.patch 400 BLAKE2B 68ee04b8b0923cbe7e2b93b834a23b465c9c8e63ae41bea98c8b4bce4ff59374534294b8c5cd5be30ea64d7c66caec54de0bc1bf70d80275d027b3a082ec2003 SHA512 146c6a161d3def5ab947264d6ac5932066f3124e25be14185ebd75eaa18932adcf35daf21edd051861cacd28b950b6a3ee5c5ac335ccc1d0e27b3242da5c4441
|
||||||
DIST xen-4.15.3.tar.gz 40793144 BLAKE2B 33932d855a0502cfe2768a7c8ae19d7da285d70b4970d96fd703daf0ee24a77ad47a3d1b4bcf5f465aa81aa7eb7f9295bce96302b2149ca208fa662cd966d6af SHA512 c25903cc263891885ec76500488405226c8e025bb461d2bf0d590b9bd2d7ca5c2693de7ecc38b3655bfd6793cc96314826559f14a09cc139de8cfdbeb914cbd3
|
|
||||||
DIST xen-4.15.4.tar.gz 40820669 BLAKE2B 22edaf817851856c777d02b5211be932c1731bf50fb582545f948c7e8f871937f7c94636496a480642fa7ed8222e12dda091a06638c75b9ee935f3ff9bc2aea0 SHA512 fa6a4991c0699025af163ed117f8d0523c0a482102464615025eb3575d755ffacec5df394e3fe01871cde6028678f654d99f8e3c2533b138765971a2a7994cb8
|
DIST xen-4.15.4.tar.gz 40820669 BLAKE2B 22edaf817851856c777d02b5211be932c1731bf50fb582545f948c7e8f871937f7c94636496a480642fa7ed8222e12dda091a06638c75b9ee935f3ff9bc2aea0 SHA512 fa6a4991c0699025af163ed117f8d0523c0a482102464615025eb3575d755ffacec5df394e3fe01871cde6028678f654d99f8e3c2533b138765971a2a7994cb8
|
||||||
DIST xen-4.16.2.tar.gz 44995249 BLAKE2B a221d1e4578ab6eb3250754b3b0f36fb30133c1c83246532ebb9648c3d025b3f5132227371b5d3dd82099594f4ee738227480528ee944b8de6231d9c89892d15 SHA512 b6cd036c1073798dffa167ca14c954fbdfb4c0ef99662f7c435e7e5de687d1bde8856ff6bd030d0d2e661bd17ab631551f01b2cc728cad7e70b59aaa6e692783
|
DIST xen-4.16.3.tar.gz 45003057 BLAKE2B 6092cff33bffed1b6133daf8d3ce53c57204297e66df6ac58266b2da8d5585df62ae718cc8afaad36ebe6dabdce65b9979b0d13b88e60f2b23c01be21ae4db8e SHA512 b8cbd6f95681de5f824ada2d3cbe0653a38514a18df0dafcf811fb255219c7abec96f46217bdb0c83e1119f685da9a6af7194eeaa94f1cc3c892702782133b4f
|
||||||
DIST xen-gentoo-patches-4.16.1-gentoo-patchset-2.tar.bz2 5403 BLAKE2B 7fa3b4aa123b2deed260d02b8d34a35dd205207038edb92569278b25c6fe32e0f0e3857c07755553e047f0eb0d9fe7f8b0816e0f3d7f68aee7929afaf6611dfd SHA512 9e7d25640b24235acf756b031b8b7cee582dded65fe7b94a706c990232e9704d574036c3a9605f285e8e9534578d100a3f38719b27b22775f17ef8f68287997e
|
DIST xen-gentoo-patches-4.16.1-gentoo-patchset-2.tar.bz2 5403 BLAKE2B 7fa3b4aa123b2deed260d02b8d34a35dd205207038edb92569278b25c6fe32e0f0e3857c07755553e047f0eb0d9fe7f8b0816e0f3d7f68aee7929afaf6611dfd SHA512 9e7d25640b24235acf756b031b8b7cee582dded65fe7b94a706c990232e9704d574036c3a9605f285e8e9534578d100a3f38719b27b22775f17ef8f68287997e
|
||||||
DIST xen-upstream-patches-4.15.4-pre-patchset-1.tar.bz2 68066 BLAKE2B ee6aac9aa8988423fd1594fa09c54678ee8d089abfff27913fdbe4f60c1f2a038e06cca5d03924595036bd9ca9be8a7f61ed5d7662e6534b05a45da24c88babd SHA512 65c7c900ca91f7444cdc03fa0902e8d58d68cd755cfa2d16cf1df76b657328e374fec0da3ceb734aefa10cfa874a46de5f731c3827ab4f815b4eabc305ed497f
|
|
||||||
DIST xen-upstream-patches-4.16.3-pre-patchset-0.tar.bz2 36580 BLAKE2B 7a16b452fda7cf00321c70c239f30fbff72204d5b021aba23e1e08b2d8dee0f1180a18301b5935f4d35dc54533e2e253f047681b837de187a2a174191a168c3c SHA512 5e7328c8cd7ce98cdff47033a76705395419c1322d5212206aa1255d19aeb2fd3d097e71d39137ab97aeab0b9f991e1660b92a6ddb08f02c9407ceaa24aa9ec0
|
|
||||||
EBUILD xen-4.15.4.ebuild 4793 BLAKE2B dd8879112c36615b2323d55406b4698dd4c3da96a4ba87b4796c82fbea35f1b30ea25e8fd8268aed8464fe62868f50cf9a2d222e196a7f15dde78dc28fe6f58b SHA512 0252cf80f8fcbdd00c72c6fdbc268b6dd3fe9d1346d91d8af39ca2c427d0bfdddbc27d7b690b563698fd502ac56f57c3894e2b45c4aefcfddf3713e4f13b814c
|
EBUILD xen-4.15.4.ebuild 4793 BLAKE2B dd8879112c36615b2323d55406b4698dd4c3da96a4ba87b4796c82fbea35f1b30ea25e8fd8268aed8464fe62868f50cf9a2d222e196a7f15dde78dc28fe6f58b SHA512 0252cf80f8fcbdd00c72c6fdbc268b6dd3fe9d1346d91d8af39ca2c427d0bfdddbc27d7b690b563698fd502ac56f57c3894e2b45c4aefcfddf3713e4f13b814c
|
||||||
EBUILD xen-4.15.4_pre1.ebuild 4676 BLAKE2B bed198293e96724f8eabf26395a10fbc1989f05fa8859f70d645fe651fd6372fede6edcc407bcabc25b92c164ca3d5b0e6a53909ac44e501025d21416fa0474c SHA512 220b8c4d9e2100dc4bb592eee681ffdddbf93a371471154ebd18507f728ef3b97f9870602a1dbb77f3948486a1662ed594fb6d7cb544ccfc2e408f5246dc1d1c
|
EBUILD xen-4.16.3.ebuild 4413 BLAKE2B ac9e09a43a8a8d592ec6c49500f03192d291b377fbca306677419d6d4840612fc613b9895fcc4bdf074e6cda4947922371ae033b9f60576113b6bd64c9fab52b SHA512 b9d4da75c9d8973c7c75cb28319a5d006df20681b0193df2de6b4a645f83465b709d20e0b51201c4d31c8b64165a6eba9f01c9ec86a1138bf8374cab84f344a9
|
||||||
EBUILD xen-4.15.4_pre2.ebuild 4677 BLAKE2B 173a58834b05a48791eb8a578b9edf706be18c43f5fbcea0e601f88119a765dca90b65983188be28f123ea2200c0f8dbbdffe83a2e99491270c8d16874b99789 SHA512 6d0edc949a45a542eb73ced227828138217b1ceb84ab1a3a672fdc3f6ebffd347b43162fc3bee2180a9ae562aeba83771f904f8ba2cf01885571f82867c9bbf9
|
|
||||||
EBUILD xen-4.16.3_pre.ebuild 4420 BLAKE2B 0ca99b55a9d210acbb3ba1c7b79a93be0d630cc461125c2f134d9c855430a53a9fa008886e4a1a8a4c3cea80960773ef3156515c0b1c3d38bf173dfeb854f96b SHA512 1435976ab1aac3cee5c884768f7250dd3819bfbaa80dd78f73cba1c4773e84386369e68e1d4ffd4e4e266a3e324c38b4fbe67c1072a8ceeef260acdb699ae0b2
|
|
||||||
EBUILD xen-4.16.3_pre1.ebuild 4420 BLAKE2B 0ca99b55a9d210acbb3ba1c7b79a93be0d630cc461125c2f134d9c855430a53a9fa008886e4a1a8a4c3cea80960773ef3156515c0b1c3d38bf173dfeb854f96b SHA512 1435976ab1aac3cee5c884768f7250dd3819bfbaa80dd78f73cba1c4773e84386369e68e1d4ffd4e4e266a3e324c38b4fbe67c1072a8ceeef260acdb699ae0b2
|
|
||||||
MISC metadata.xml 773 BLAKE2B 3d0c64f8bfaf753ee92681f9da2dfabd6196952b5694244b806cb6cdac02fedd10d8c8defb4f4211664e135cce38c671f543faab58575ae2d603efcb9b2a48b8 SHA512 16993794d7f578562112533f97bb76d1a2fafd0dce038dbd879a4a65d5fc893251f1d188cdc1a2b9f955a27581f76a26409cc0c90706c86514c05e81501966b9
|
MISC metadata.xml 773 BLAKE2B 3d0c64f8bfaf753ee92681f9da2dfabd6196952b5694244b806cb6cdac02fedd10d8c8defb4f4211664e135cce38c671f543faab58575ae2d603efcb9b2a48b8 SHA512 16993794d7f578562112533f97bb76d1a2fafd0dce038dbd879a4a65d5fc893251f1d188cdc1a2b9f955a27581f76a26409cc0c90706c86514c05e81501966b9
|
||||||
|
@ -1,183 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..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=1
|
|
||||||
XEN_GENTOO_PATCHSET_NUM=
|
|
||||||
XEN_PRE_VERSION_BASE=4.15.3
|
|
||||||
|
|
||||||
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_BASE_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="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,183 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..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=1
|
|
||||||
XEN_GENTOO_PATCHSET_NUM=
|
|
||||||
XEN_PRE_VERSION_BASE=4.15.3
|
|
||||||
|
|
||||||
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_BASE_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="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"
|
|
||||||
}
|
|
@ -0,0 +1,174 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{9..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"
|
||||||
|
}
|
@ -1,174 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..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=0
|
|
||||||
XEN_PRE_VERSION_BASE=4.16.2
|
|
||||||
|
|
||||||
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"
|
|
||||||
}
|
|
@ -1,174 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..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=0
|
|
||||||
XEN_PRE_VERSION_BASE=4.16.2
|
|
||||||
|
|
||||||
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.
@ -1,5 +1,4 @@
|
|||||||
AUX pinentry.eselect-0.7.1 376 BLAKE2B 0bc741a032deb7d36139e87a414820c1787d7310867b2fb501b4cf427ab5c62a3b1163c845282a12ee401e6b0ff1518bc96cd0df83dbd34024a92091ae6f874c SHA512 63cb32fc453130fcd53c891984f2058902fe1f00291a18c6d2828a0bc564a08b583bf68ae91ad14adabb3f280ea1540cc0cc6ec3b77a1d1ee01551004e0503ec
|
AUX pinentry.eselect-0.7.2 399 BLAKE2B 1d97aeba39fda099f8ff3197b4d8c41140001163e21c0eda8a99820415ef1104177c5ee43e220c9d02ce2b430c0cd24bedb24ea38fc7ed51b02d5db8af322489 SHA512 54eff36bf338da2907df9ccbd4514d6ffd1596620936e5685d1ef354aa7ec379b9389690cf78b8eee4aa7031ca04611ee8333e4650f42c46439ccecb576d2012
|
||||||
AUX pinentry.eselect-0.7.2 389 BLAKE2B 66564a67b4f966be9c174234bcd1b59f247e51268a3319c750780a11d83397e7d71bfc13104ecea309b07a353480c09cd8ad563c1fe87e857ce71b66e663da51 SHA512 c8518e2067df35a34c2e888314a933cfe52fb94a32a447d28184c78adb5395d53ba9cae5336a7c3e80683310e2e032761b4b7887800c27b5e38e50035f2a8199
|
EBUILD eselect-pinentry-0.7.2-r1.ebuild 642 BLAKE2B 51b2507fcf8f86fad870ff3d9b80e4cd575dde3dd63b6369f53379b624659852226fa311b2c024d723812e82f5a4b32eddd30b1512196ba087224fd8135a48d0 SHA512 750d6e782a3736ce2c58f84a08b48fb78bf814628fec78249c1d6f06e961e44abf00371c1d0e8b5495bb2761f4f5a07fc9ccbffc57d061e8d7f6e7fd0a57eb02
|
||||||
EBUILD eselect-pinentry-0.7.1.ebuild 640 BLAKE2B 789f1541170a149d9e50e1f5483f94283895a3e1839313fd2fadbdfac32bb87661936c30c73048ac2ee42c6a142f248fd7e40dda93afef509a9ab272b8c838bb SHA512 45b359de046f96c3dd5d49b8be2cf1ad49363bc07bfcf1e7df31df7a004ce9077696c44b67af3db6ebe7657cc7392a8c1464d13bffa2553d136a5e5863feedaf
|
|
||||||
EBUILD eselect-pinentry-0.7.2.ebuild 653 BLAKE2B 4eaef0b66c2ff7db1b6a55b16a2db419d70103acaddce7e0a6a260a5b902cebff71da1249ffbc2ed09aaef37e56b5ecafa552602936587d9609bd5f2a5541c46 SHA512 9e19518ffc1231ca0a2dbc825d33d447af6f94502f296d276701b574e2abafdfcec4e090c7166ee0780d823a3c6af2cf01dac24967e2f9ed5bf5f1c5576342f0
|
EBUILD eselect-pinentry-0.7.2.ebuild 653 BLAKE2B 4eaef0b66c2ff7db1b6a55b16a2db419d70103acaddce7e0a6a260a5b902cebff71da1249ffbc2ed09aaef37e56b5ecafa552602936587d9609bd5f2a5541c46 SHA512 9e19518ffc1231ca0a2dbc825d33d447af6f94502f296d276701b574e2abafdfcec4e090c7166ee0780d823a3c6af2cf01dac24967e2f9ed5bf5f1c5576342f0
|
||||||
MISC metadata.xml 192 BLAKE2B fef49cb9e1dda8063c379e650d4897670410d2c0641f469b8a200d5e7ec8d3f505e692277d03b583790cb1340ece9c2e8f7e7c9ff5080d42a2e0ef3fc7138a44 SHA512 bece454b8da734c7a28ce25f8080b3fca56332e57cde854c50f0b884ba3836f1af7782a1ee9f63e6aeff4830e2bca71c5c466471fc82eee75339565aab6495d5
|
MISC metadata.xml 192 BLAKE2B fef49cb9e1dda8063c379e650d4897670410d2c0641f469b8a200d5e7ec8d3f505e692277d03b583790cb1340ece9c2e8f7e7c9ff5080d42a2e0ef3fc7138a44 SHA512 bece454b8da734c7a28ce25f8080b3fca56332e57cde854c50f0b884ba3836f1af7782a1ee9f63e6aeff4830e2bca71c5c466471fc82eee75339565aab6495d5
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
DESCRIPTION="Manage /usr/bin/pinentry symlink"
|
|
||||||
HOMEPAGE="https://www.gentoo.org/proj/en/eselect/"
|
|
||||||
SRC_URI=""
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
RDEPEND=">=app-eselect/eselect-lib-bin-symlink-0.1.1"
|
|
||||||
|
|
||||||
S="${FILESDIR}"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
insinto /usr/share/eselect/modules
|
|
||||||
newins pinentry.eselect-${PV} pinentry.eselect
|
|
||||||
}
|
|
@ -0,0 +1,21 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DESCRIPTION="Manage /usr/bin/pinentry symlink"
|
||||||
|
HOMEPAGE="https://www.gentoo.org/proj/en/eselect/"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
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"
|
||||||
|
|
||||||
|
RDEPEND=">=app-eselect/eselect-lib-bin-symlink-0.1.1"
|
||||||
|
|
||||||
|
S="${FILESDIR}"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
insinto /usr/share/eselect/modules
|
||||||
|
newins pinentry.eselect-${PV} pinentry.eselect
|
||||||
|
}
|
@ -1,12 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
DESCRIPTION="Manage /usr/bin/pinentry implementation"
|
|
||||||
MAINTAINER="zlogene@gentoo.org"
|
|
||||||
VERSION="0.7.1"
|
|
||||||
|
|
||||||
SYMLINK_PATH=/usr/bin/pinentry
|
|
||||||
SYMLINK_TARGETS=( pinentry-gnome3 pinentry-qt5 pinentry-curses pinentry-tty )
|
|
||||||
SYMLINK_DESCRIPTION='pinentry binary'
|
|
||||||
|
|
||||||
inherit bin-symlink
|
|
Binary file not shown.
@ -1,4 +1,6 @@
|
|||||||
AUX tccd.initd 673 BLAKE2B 418e8a473ca8592c7de313a4a18a71172555ed3a79cb7c5f22dca8932883ae0190c091d0585773d3a5ceec6637611740744fdaa4542b00edecbc04e00a39eab0 SHA512 d08f4e4b11e9a1b62c5694fba862cd6fc223e2461a93272fd7085daf7f7942cf15dad0f9370257d19f9252e2d38c82c15de4d311cc037326edf6dc4f05e2bebd
|
AUX tccd.initd 673 BLAKE2B 418e8a473ca8592c7de313a4a18a71172555ed3a79cb7c5f22dca8932883ae0190c091d0585773d3a5ceec6637611740744fdaa4542b00edecbc04e00a39eab0 SHA512 d08f4e4b11e9a1b62c5694fba862cd6fc223e2461a93272fd7085daf7f7942cf15dad0f9370257d19f9252e2d38c82c15de4d311cc037326edf6dc4f05e2bebd
|
||||||
DIST tuxedo-control-center_1.1.4.rpm 86231740 BLAKE2B be8b7d7c6de05601acd90a89b3e6bb89c5e251a94a18c7f1021e88797fbc1fc9c580545ca3d86e1ebf11f689d2454d4b6eac1736be0a31eabf28668d0ca0b32c SHA512 80e0c0f8ba81b8fe7bee2ec86b13a5f50c2a174b4260b7922a58df821a0b2ae89cd40c87e41c48de0a9e24a56ec1ad5123a664fc94123b95c05e61801db67072
|
DIST tuxedo-control-center_1.1.4.rpm 86231740 BLAKE2B be8b7d7c6de05601acd90a89b3e6bb89c5e251a94a18c7f1021e88797fbc1fc9c580545ca3d86e1ebf11f689d2454d4b6eac1736be0a31eabf28668d0ca0b32c SHA512 80e0c0f8ba81b8fe7bee2ec86b13a5f50c2a174b4260b7922a58df821a0b2ae89cd40c87e41c48de0a9e24a56ec1ad5123a664fc94123b95c05e61801db67072
|
||||||
|
DIST tuxedo-control-center_1.2.4.rpm 87792476 BLAKE2B 1d825b457be311da9022147eea8d86e17cc61c2c7decb5c334ad0f1cf44e7c0affe8026a650bcf6325fb21381fb4a17c3825a37c3815b489b059ea34b97f1794 SHA512 ac887b6681e6c56cd45f2c6f59dfb250c95f2a2ccdf1521c51126243461d680a7e7399a835672f1adf0512879fe7d69c8c7a3ca0e4ab217c3b617bfe41a7951d
|
||||||
EBUILD tuxedo-control-center-bin-1.1.4.ebuild 2162 BLAKE2B 06bcb903da3372992102f2725fd56a26515897e36f6ae7d0eced25a861b66a68c07b3932afe7e6f301b9c956ce6272a780cd915a254223d78959d5a1f44a288d SHA512 0e258f315034e86a6dd9327a941367ccc0a1a02813c15c63ec0ee30f727867346c97ca85cf01af08a98e3d4c18a27756dd2996685bd4a9d01e0cf1040fd5a44d
|
EBUILD tuxedo-control-center-bin-1.1.4.ebuild 2162 BLAKE2B 06bcb903da3372992102f2725fd56a26515897e36f6ae7d0eced25a861b66a68c07b3932afe7e6f301b9c956ce6272a780cd915a254223d78959d5a1f44a288d SHA512 0e258f315034e86a6dd9327a941367ccc0a1a02813c15c63ec0ee30f727867346c97ca85cf01af08a98e3d4c18a27756dd2996685bd4a9d01e0cf1040fd5a44d
|
||||||
|
EBUILD tuxedo-control-center-bin-1.2.4.ebuild 2164 BLAKE2B f7ec9a9c90ceaa973f768df7424344513b3e259905f9739596555a99b9e82574f89114122d2b0d63d6762a0189b3521a59f4f701f0a39a55edc6ad418b30f567 SHA512 45a52b3b062588d528376edd471a3d7e4a22de5aa96f8567ec2e9ac740de0d8e37a9af8f6623213474255b0501a0f494e5b03bc9ec56ce551a0e06465ec87997
|
||||||
MISC metadata.xml 353 BLAKE2B 47a9f99d0e75bc84826b971868085f87ea41b27b43ac799022ca946a95bd2ec17709c4f8a3348da857be5868dacf4c0054370bea19b58c97fa18ac692266a1db SHA512 23a55745ddd0bff3320be5c5fbd81d2db654b06a5b899a71b12aa1d11d6b17e6a7ac209237cbd4181b1586e33305bd45397b843f608dbc93c4dd12516f23c88e
|
MISC metadata.xml 353 BLAKE2B 47a9f99d0e75bc84826b971868085f87ea41b27b43ac799022ca946a95bd2ec17709c4f8a3348da857be5868dacf4c0054370bea19b58c97fa18ac692266a1db SHA512 23a55745ddd0bff3320be5c5fbd81d2db654b06a5b899a71b12aa1d11d6b17e6a7ac209237cbd4181b1586e33305bd45397b843f608dbc93c4dd12516f23c88e
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue