Sync with portage [Sun Apr 26 11:21:43 MSK 2020].

develop 1644
root 4 years ago
parent e5b27dee1d
commit bab3fd89d9

Binary file not shown.

Binary file not shown.

@ -1,3 +1,2 @@
DIST at-spi2-atk-2.32.0.tar.xz 94952 BLAKE2B 972bb32590a51549eb8b0b3c46a068e95cc43783f0f0e31ca3663ff1669196a88def63342c01d056d45d6f4fb4bcc2127b50a49be37fd45d33aa1daeadca5172 SHA512 095ceaa33d5b35f1f4f81a31bea00487c054493cb29d4fdbcf74331ec8d1b9570dc7cb93e1cc06da9ea3f5805e7a3a9e7bf80cfdbce86a1822c2a46327109393
DIST at-spi2-atk-2.34.0.tar.xz 96116 BLAKE2B 242b29b988d97b06ca85495be77f9c4cf1c621d9ff977cd73ea37f97b42fc636474df34429e7397fb3f91d3d11b14ce1b3de5d68c0b30f85877f444c78389564 SHA512 515ad4d0a000fa47a7848f3ea9f95f8e0c582f9d9876725deb8e521c60e290f73655445456e6c238f382cb8773b56db2795c221029ec931bad68395326b6bb04
DIST at-spi2-atk-2.34.2.tar.xz 96608 BLAKE2B 4a3ef71580f4eaf3ea0846c8a6909b686f7ae0c7202918f3e11de019fa7290dada5a2eb3f495ce476bb56a28787967fa87fe74d422d4144e7555541ef99911da SHA512 59e7ad5c944748ca00af8b0a9df03c9ffbc6afae6e65c25a2566a9e2a30e66724c4492076be1730c2894c636f82c795c533669572584d8d5675f68b349ad16c4

@ -1,43 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit gnome.org meson multilib-minimal virtualx xdg
DESCRIPTION="Gtk module for bridging AT-SPI to Atk"
HOMEPAGE="https://wiki.gnome.org/Accessibility"
LICENSE="LGPL-2.1+"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=sys-apps/dbus-1.5[${MULTILIB_USEDEP}]
>=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}]
>=dev-libs/atk-2.33.3[${MULTILIB_USEDEP}]
>=app-accessibility/at-spi2-core-2.33.2[${MULTILIB_USEDEP}]
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig[${MULTILIB_USEDEP}]
test? ( >=dev-libs/libxml2-2.9.1 )
"
multilib_src_configure() {
meson_src_configure
}
multilib_src_compile() {
meson_src_compile
}
multilib_src_test() {
virtx dbus-run-session meson test -C "${BUILD_DIR}"
}
multilib_src_install() {
meson_src_install
}

Binary file not shown.

@ -1,2 +1,3 @@
DIST abrt-2.12.0.tar.gz 6799338 BLAKE2B 57a9b3fac4a4a5f55630be0573b26d4ae2d921d4f09d6566339a77f314c413c1a9e242f882fe20befabf30a58e7df21395edcf1b0d560bfeadf8e854bff6a705 SHA512 3567332399cd9708505a6d05c9388c7da5c14c7432e6fd40e5e76b6bcea8859c17b3b6c52a96ce54740e3682d75d8bf77dbc5fede80bd4fc6f72c60014f9cded
DIST abrt-2.14.0.tar.gz 6102393 BLAKE2B 6bba45604406c1f2f84d778475acc6b5db3747f292fcb74a881703491b2d92adda3cc88d6ed741087c1ed2f88a68cdc4858f3640b506a6be650ea4d1d1f2bfd3 SHA512 26cf04ef6f52da445e825d5f1074186c4c77d1b093174bb6f7b0a8fa6175e265fcaf56fa4a977851a2352f9fd004425bc397e35a91f6f8e78f37564cd492c571
DIST abrt-2.14.1.tar.gz 6113024 BLAKE2B ddceda689fa51b04a0c201fe560c31ba5c8233c1f75c878b391b0b61cff241e6c2ce5b1829faa6e5f286c3c5efe96941c823234affe94b59fdd2aa3d7cd33cc3 SHA512 24126a54778b7e612c8b950321686bdee7ce15a16e79c8d967f8126c89f7da7060270fc0929cfabfc35100d069b0a626c3380833a3f62614cea6b00a44238ec3

@ -0,0 +1,129 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit autotools python-single-r1 systemd xdg-utils
DESCRIPTION="Automatic bug detection and reporting tool"
HOMEPAGE="https://github.com/abrt/abrt/wiki/ABRT-Project"
SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="selinux test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}
>=dev-libs/glib-2.56:2
>=dev-libs/libreport-2.10.0[gtk,python]
dev-libs/libxml2:2
>=gnome-base/gsettings-desktop-schemas-3.15.1
net-libs/libsoup:2.4
sys-apps/dbus
sys-apps/systemd:0=
sys-auth/polkit
sys-libs/libcap
sys-fs/inotify-tools
x11-libs/gtk+:3
"
RDEPEND="${DEPEND}
acct-user/abrt
acct-group/abrt
app-arch/cpio
app-arch/rpm[python,${PYTHON_SINGLE_USEDEP}]
dev-libs/elfutils
dev-libs/json-c:0=
sys-apps/util-linux
>=sys-devel/gdb-7
$(python_gen_cond_dep '
dev-libs/satyr[${PYTHON_MULTI_USEDEP}]
dev-python/argcomplete[${PYTHON_MULTI_USEDEP}]
dev-python/argh[${PYTHON_MULTI_USEDEP}]
dev-python/humanize[${PYTHON_MULTI_USEDEP}]
')
"
BDEPEND="
test? (
$(python_gen_cond_dep 'dev-python/pytest[${PYTHON_MULTI_USEDEP}]')
)
app-text/asciidoc
app-text/xmlto
>=dev-util/intltool-0.35.0
virtual/pkgconfig
>=sys-devel/gettext-0.17
"
pkg_setup() {
python-single-r1_pkg_setup
}
src_prepare() {
python_fix_shebang .
default
# Install under proper directory
sed -i -e 's:dbusabrtdocdir = ${datadir}/doc/abrt-dbus-${VERSION}/html:dbusabrtdocdir = ${datadir}/doc/${PF}/html:' doc/problems-service/Makefile.am || die
# Ensure this works for systems with and without /usr merge
sed -i -e "s:/usr/bin/bash:$(which bash):" init-scripts/abrtd.service || die
# Fix hardcoded "pytest-3"
sed -i -e "s:pytest-3:pytest:" \
configure.ac src/python-problem/tests/Makefile.am src/cli/test || die
# pyhook test is sensitive to the format of python's error messages, and
# fails with certain python versions
sed -e '/pyhook.at/ d' \
-i tests/Makefile.* tests/testsuite.at || die "sed remove pyhook tests failed"
./gen-version || die # Needed to be run before autoreconf
eautoreconf
}
src_configure() {
myeconfargs=(
--libdir="${EPREFIX}/usr/$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-bodhi
# package breaks due to not finding libreport-web with bodhi plugin enabled
--without-rpm
$(usex selinux "" "--without-selinux")
--with-python3
--without-pythondoc
# package breaks due to no sphinx-build-3
$(use_with test pythontests)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
python_optimize
keepdir /var/run/abrt
# /var/spool/abrt is created by dev-libs/libreport
diropts -m 700 -o abrt -g abrt
keepdir /var/spool/abrt-upload
diropts -m 775 -o abrt -g abrt
keepdir /var/cache/abrt-di
find "${D}" -name '*.la' -delete || die
newinitd "${FILESDIR}/${PN}-2.0.12-r1-init" abrt
newconfd "${FILESDIR}/${PN}-2.0.12-r1-conf" abrt
}
pkg_postinst() {
xdg_icon_cache_update
}
pkg_postrm() {
xdg_icon_cache_update
}

Binary file not shown.

@ -1,3 +1,3 @@
DIST libsecret-0.18.8.tar.xz 509432 BLAKE2B 3e3995d2c44367e31f3914087494764acfe82fb597b524c4982b4fca4e16612509c675f545191ee3cdae59698614395bef54ad82ae88a7e4e19898ba0be7828f SHA512 9e2ec8d458af6ed078bf3c6d956599f73f2cc7720332c424e9aede1f77f3d969c5122cf7b70899bc07ad96a3a628bf79bc5fffa88274d1ef2bcaaca6719f90d4
DIST libsecret-0.20.1.tar.xz 528416 BLAKE2B f9e1b089c46e066abf06ba11d0cb49762599a22e0768ce65d29425eb9eef5f557c338b3704b76af29f4f61c9d59cfa14d045f0b4426d151899e307dbafaa9a84 SHA512 d8fca5f4da63427f594e1cb38c91330a98ab706aa945f8e735337f3fd342895bc96ceb36390ba01a4c0b9c5d503c4b544753c3243c444579f46f7b2e7836d1ac
DIST libsecret-0.20.2.tar.xz 526224 BLAKE2B cae93962480f65d2c91b1c26a23321d19c256692754ef37c658e346a6cb6b91cdebe134516c3c8652c5ee502b8f7a070a8d519ed878b2f6dfc124ea7b032613f SHA512 89143c8ccc8f6fa0cda2c98baef92e8cbf9b319a984826a09c527125e14712023ee65cada42a2c9232524528da8c1c3d2235ecbcb93e2f06e94121a601c22857
DIST libsecret-0.20.3.tar.xz 526388 BLAKE2B ae2e64af61c269eb109fa7840cc7ff2362ac69eab4b452074c2cb3a80b26cc88e8d341a7649e0f16fa73541943d968dfbd6f3cc802d99a37f3a7d91e8b20cfe3 SHA512 020e1954e0965f33ee15f35e1f439b6c1650322a9112078f7a3e265cee83ad99d217ae3b363fbadc06c5cb0941f7e544d91da72e5be1c6b96992c071e6170c22

Binary file not shown.

@ -1,2 +1,2 @@
DIST focuswriter-1.7.2-src.tar.bz2 10310759 BLAKE2B 92f0cd0ec2bb29c41f2c98e52dcb2187a70bc1c0641aed521b3d577302937cf6560f3adf422372019c8726ca29a9978b5b4d9e56e4c0c26a65fdc5d6aa0b7767 SHA512 195ddf6579aa00af120644ef1ddc88a6aaf0a6003feefb7b3dd3ca72c4bb17440553a171ad469f2d25d90416fc0e1a03f1b9d43e3b5790dac180f18b4ed657bf
DIST focuswriter-1.7.5-src.tar.bz2 10311298 BLAKE2B c495aced12e2e4deea1b602a0d1e2f97adbf2c91edf94302978fbeca9e33807e20fc05db2758ee05fc4c54ee7281cca10b6c01b70f2859899a6b227235e7aed0 SHA512 b9b533180160c5395eee8b921cf05f56e13eb48db402d352359854b419bd5367f21bac1b07fb80d4bb59ab019a7051bb9aeb1321e35a8f9d250a9584475def8b
DIST focuswriter-1.7.6-src.tar.bz2 10311965 BLAKE2B a1f1627df988d7660f6b90cf984d725ff2366754f01b0ce78e23756a98c716acafa8b4076f4749f117cba6eaabcb6ec61516c032a7ae770eb1b06466a358595e SHA512 45e0bc9b20c73b260aa42dcc9ee79515d3ad95d4c9586f60ab75fb404f73c7443484f238b3705ba3224b852a0d9b8b8db17d9145aebb77513f8597a01ab01d3b

@ -1,26 +0,0 @@
From 026fb9b1fbfa8040815ac524b6002f93b6411d45 Mon Sep 17 00:00:00 2001
From: Jimi Huotari <chiitoo@gentoo.org>
Date: Mon, 20 Apr 2020 22:58:48 +0300
Subject: [PATCH] Fix build against Qt 5.15.
Due to a change in Qt, 'QPainterPath' needs to be explicitly
included.
---
src/theme.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/theme.cpp b/src/theme.cpp
index 4708338..59551ea 100644
--- a/src/theme.cpp
+++ b/src/theme.cpp
@@ -27,6 +27,7 @@
#include <QFile>
#include <QImageReader>
#include <QPainter>
+#include <QPainterPath>
#include <QSettings>
#include <QTextEdit>
#include <QUuid>
--
2.26.1

@ -34,10 +34,7 @@ DEPEND="${RDEPEND}
DOCS=( ChangeLog CREDITS README )
PATCHES=(
"${FILESDIR}/${PN}-1.6.0-unbundle-qtsingleapplication.patch"
"${FILESDIR}/${PN}-1.7.5-qt-5.15-build.patch"
)
PATCHES=( "${FILESDIR}/${PN}-1.6.0-unbundle-qtsingleapplication.patch" )
src_configure() {
eqmake5 PREFIX="${EPREFIX}"/usr

Binary file not shown.

@ -10,3 +10,4 @@ DIST wine-mono-4.9.0.msi 94960640 BLAKE2B b60debd41ea33eee15ab1a546c526858b97cf4
DIST wine-mono-4.9.2.msi 94981632 BLAKE2B b70a5177fad3c6ee2b04ef40105c7700a08339786a23d7378ba72005da5b3cb6b3a797f0173ba32224bcfd25a4bb0fa01c92a83b88e005973b33320717f5b31a SHA512 73e46ec57c7a78d8c32ead4698c299fa557bb97739ce22c9405f95f48f55d604743aa01cc64183c9f89f99aec6f04b664bac0ef96e6a436d38ebcd9d7cf3b329
DIST wine-mono-4.9.3.msi 95017472 BLAKE2B bf054bcff51e986ddb95788fdd1925ee13efe6e881089a23192d4ccb2527ccb2a2969917b9c3bb16a2161a2bd1d60c24605fd07e6c432f8f77c7c506222045f9 SHA512 4631d4e3b5118eb726f614e2f58f9e95f44bb97a1285fa726d3542d44e2a77ce818997ecb4de42e0d318d364d7c929f10d7c5176b59732e8b468e7695633706c
DIST wine-mono-4.9.4.msi 95266304 BLAKE2B fb9c81f8ac8fca104f766d62b02c8751b5b7b91740cb43942477c7bdcac382eafeb5fc9c3fe78191b19d81bc5f06dd5c33db7ecfbdaba5e6be69ed39a6827706 SHA512 d52a2cc1137eac87acdaecbb7a81b3d618cad9ad3d7bca5b29940b7432923bfc1497ec21501a05797ef52c6588bb9c5e312df5c02ede8448d1fe1f2880557fc9
DIST wine-mono-5.0.0-x86.msi 79537664 BLAKE2B f5a4185a7a63a1c1966d871d4c8d5bae07d3bbbc3153f20847c3919ac87be5644e15b45764286483641d9ce19176f79c7c7544e543fad62032ef5302a66ea8ea SHA512 8f83122d4b552b3a3d8b000abbd19b7a72edf45e52fa63a9220228240d8e4c014531bb265d062a38f6924fae07dd45420a5c7566f99e0c471e116fb80906c08c

@ -0,0 +1,21 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi"
LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
SLOT="${PV}"
KEYWORDS="~amd64 ~x86"
DEPEND="!!app-emulation/wine:0"
S="${WORKDIR}"
src_install() {
insinto /usr/share/wine/mono
doins "${DISTDIR}/${P}-x86.msi"
}

@ -1,11 +1,9 @@
DIST gentoo-wine-patches-20191222.tar.xz 59236 BLAKE2B 1b2c7b3ab69e5603d0f176a88c13b6d532f94f319ad29821faa699e828d90cfbe92c02b6e73b72eb16e565707c49885833fe557809ed16f4a6f0f182de9bb6e6 SHA512 a030fad55be5e1d909bc50e430c9a99846b88d7555f12749e101ba83f04df5af23eeb726b5ed78f847a66d11ac0a838bc69bd5bf8cf53da77ad454d2a2fe65cf
DIST wine-5.2.tar.xz 22837712 BLAKE2B ee9d4d4dd6c0669d1585cc6988d933dbc7aa5277a0f13e965dd9eecb621e475d33a832b316e37f1372a965efe517efafa9f857a38d9bf081026d221db96b7a0d SHA512 57fa66885c3b5f43e51324e24b8524f663ad67ff15b464ac7d58096d5921f523a59ef5f1dc1ea7aa65fa10d64b7cd832f421c1b773c72bc312d8544a61c33f8f
DIST wine-5.3.tar.xz 22918612 BLAKE2B dce58aec45f665e1014635eadc9cc00c969e46c87de5d41bc51168237d9fc01011dcfc3fa4c83ed4cbcdfe19a3747e5e32f87946434a6eba2a8547f1929b33f3 SHA512 40528f46ad10c11758308e3bf21ba73c7af133d4dda386d542acec3a5cb31e01be0eb102b94f9d82a2358e45597bf49bd1e82c463e3a26aff8c0827b5a0894b6
DIST wine-5.4.tar.xz 22917904 BLAKE2B ceaa8516ddc0c2421b92da0ef047465cfa9fc203dfce93b42ca76409bab5e24709d173a4ed519b78f32d8ee99ffd9f0d06ee4156357f995c75e434b0249a31e2 SHA512 892e8b875484ada01eaddab4ea50992f95cf3ced6730f8e2ca1f0765770d7fa53a21080c526772b9b3ac83b3559d3d68e83ad3af3afbe9d6f931d833afde7e98
DIST wine-5.5.tar.xz 23630916 BLAKE2B 52855c891bb2f6431d0cb02e7b64b28525ad952b548771dd7ff89f95842f9f8e27c941cef7e963b8fb4c7d84c6fd28dba8edfbab90ba683b9f32c41583837e0a SHA512 9c7870dd829effe5fd1be342f85a85e2d1f791bfd871279253dd91becd97dea41c6c4f7a9faec0153e58e360d4e3b4d659daf0d21f07a142d06534e0c229aacd
DIST wine-5.6.tar.xz 23678216 BLAKE2B 7aee9a46c037d46d07a551a839056783c020d2e5c66c9caf9c8dacd5071cc9bc9df1c3ea56d6ec07cf83ac681baee6849e786a1202d99f139e1645c374c72704 SHA512 b12b0eff228ecd783fec8bf91f97e4387125226b172046d800e1fbffa303ceca32f1f647b9e8ceb24d303c23eb57188be14ddd8ba5fc04ba781a69186fbe6be4
DIST wine-staging-5.2.tar.gz 9898002 BLAKE2B f4dc43223cf89e6c76fc7898a98acdc9eb3d4a8e8279a38135f155d9a3fe6a2f7bbc52ece5c4a07cf801caa91c10e40f172271b442356e52a59c31a8a82db3c3 SHA512 dd2066db1eb4d424579bdf8d25f476eae0b86a6bea7b1f7ff2a21d7bf0209b4ef00d9c0ed29a7cab50c5dea4684acb5d342ebf02554b16fd0938a03e607f6270
DIST wine-staging-5.3.tar.gz 9904213 BLAKE2B 5a1a9b41a17533238151ad87ec631a9ff78f954fa51baaebac787bd4eba88730a3524e4778a55eb80fd4153302d443d859c0b27c149495cd72ab6263aa583a8a SHA512 df14a61c04b134a72dc8662ee331fd234e2c82bf82824cb01443ae6516aba0bdcb579e2dbedc1ada47de0f3a1265c5fe9ef5f8183094d74451845b78d0a81702
DIST wine-5.7.tar.xz 23723624 BLAKE2B fbea8f753dee57368f7532eef6fe6bf366ba52e9c2b970147207cf879858b86a74d0dfb1f813cfd31058462aaa09f74dd07924370b4c3f032f0dcd0015eab90b SHA512 46a8050cb21edf1116c93fd73fdc3bbbc1a19e18d77c38bc192f13e55954d3e503122c780ca9c1a50005b0bca6f3b0c640f3de05267f25289e08660321e27407
DIST wine-staging-5.4.tar.gz 9924147 BLAKE2B c82fa66470645e62e63e8760d68cb92e4a04c209db712371bc1a534756c6b16c109e247bb1866edc514bdb24ba6a9e9f4ccb5c0db204d51541da0af82fd3b96f SHA512 d4958e73cea34a4a722f516487116d9f77a22099cb80b9c79f2468fbe28855acec131dacecfd255a9934fb88bcf34809bfb2e2e518d89ac23bcae125b6d6c86b
DIST wine-staging-5.5.tar.gz 9920540 BLAKE2B 21b24fd3a2b3ee9c9ea029e1114d0faaf0b8a4ef732eafb4f7e0301886aee9160699867147c4087515a37edc57a42919c662b1e203bf9df674d78579b3be3c39 SHA512 8e926d73f275ed36b1c1e55235831c171b427501265a0e859accc7ca6b5077513bc2b3d37d973842b76b57a56798d11c101a387c626c96ed422d8a06cd908221
DIST wine-staging-5.6.tar.gz 9922611 BLAKE2B 945e7a6398d6f3f8f85f334a06462282647405cf0b7d0e9d1985c9c5daa460c1bb9f8dc66d090311aeb8136d0603e836084bbeb2904833f4f73d7fdd9dd9bef1 SHA512 7ddf5699834a6e04b094a7cae008175c874415d22554bac38176f3121b9533071ef610f8b5a0dd3ce3e4adf8a9d4ac214aa1cee7634959c5150b66fbb74710b7
DIST wine-staging-5.7.tar.gz 9913511 BLAKE2B f5d803a067ec61c5d698d7ebf0623b55f0e4fee487e6fcfb4de057d742ff4d55bf184004c4427e8b93052efa74fe9e14da2a41a826c79a0c62ef25de7b6e10ef SHA512 042bcf7b90769c9d88d5cd844009301fb768568ee10ebf7aed9c3397ca35f6d6b512db2010917695f32bed9edf174d95f80a141d5af75a43871444b1830f2922

@ -1,615 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
GWP_V="20191222"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
themes? (
dev-libs/glib:2[${MULTILIB_USEDEP}]
x11-libs/cairo[${MULTILIB_USEDEP}]
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
)
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.9.4 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${pn_live_val} ]]; then
if use staging; then
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
eerror "cannot be used to set the commit. Instead, you may use the"
eerror "environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING"
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING"
eerror
return 1
fi
}
pkg_pretend() {
wine_build_environment_check || die
# Verify OSS support
if use oss && ! use kernel_FreeBSD; then
if ! has_version ">=media-sound/oss-4"; then
eerror "You cannot build wine with USE=oss without having support from a"
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
eerror
die
fi
fi
}
pkg_setup() {
wine_build_environment_check || die
wine_env_vcs_vars || die
WINE_VARIANT="${PN#wine}-${PV}"
WINE_VARIANT="${WINE_VARIANT#-}"
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
MY_DATADIR="${MY_DATAROOTDIR}"
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
if use staging; then
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
ewarn "Wine bugzilla should explicitly state that staging was used."
local STAGING_EXCLUDE=""
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
ebegin "Running Wine-Staging patch installer"
(
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
cd "${STAGING_DIR}/patches"
source "${STAGING_DIR}/patches/patchinstall.sh"
)
eend $? || die "Failed to apply Wine-Staging patches"
fi
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir="${EPREFIX}/etc/wine"
$(use_with alsa)
$(use_with capi)
$(use_with lcms cms)
$(use_with cups)
$(use_with ncurses curses)
$(use_with udisks dbus)
$(use_with faudio)
$(use_with fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(use_with ldap)
--without-mingw # linux LDFLAGS leak in mingw32: bug #685172
$(use_enable mono mscoree)
$(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
$(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
$(use_with pcap)
$(use_with png)
$(use_with pulseaudio pulse)
$(use_with threads pthread)
$(use_with scanner sane)
$(use_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l v4l2)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use staging && myconf+=(
--with-xattr
$(use_with themes gtk3)
$(use_with vaapi va)
)
local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
# set AR and RANLIB to make QA scripts happy; #483342
tc-export PKG_CONFIG AR RANLIB
if use amd64; then
if [[ ${ABI} == amd64 ]]; then
myconf+=( --enable-win64 )
else
myconf+=( --disable-win64 )
fi
# Note: using --with-wine64 results in problems with multilib.eclass
# CC/LD hackery. We're using separate tools instead.
fi
ECONF_SOURCE=${S} \
econf "${myconf[@]}"
emake depend
}
multilib_src_test() {
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
if [[ ${ABI} == x86 ]]; then
if [[ $(id -u) == 0 ]]; then
ewarn "Skipping tests since they cannot be run under the root user."
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
return
fi
WINEPREFIX="${T}/.wine-${ABI}" \
Xemake test
fi
}
multilib_src_install_all() {
local DOCS=( ANNOUNCE AUTHORS README )
add_locale_docs() {
local locale_doc="documentation/README.$1"
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
}
l10n_for_each_locale_do add_locale_docs
einstalldocs
prune_libtool_files --all
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
fi
# Remove wineconsole if neither backend is installed #551124
if ! use X && ! use ncurses; then
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
rm_wineconsole() {
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
}
multilib_foreach_abi rm_wineconsole
fi
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
# Avoid double prefix from dosym and make_wrapper
MY_PREFIX=${MY_PREFIX#${EPREFIX}}
if use abi_x86_64 && ! use abi_x86_32; then
dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${ED%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use staging; then
eselect wine register --staging ${P} || die
fi
fi
eselect wine update --all --if-unset || die
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
ewarn "implementation of iexplore. Many older windows applications"
ewarn "rely upon the existence of an iexplore implementation, so"
ewarn "you will likely need to install an external one, like via winetricks"
fi
if ! use mono; then
ewarn "Without Wine Mono, wine prefixes will not have a default"
ewarn "implementation of .NET. Many windows applications rely upon"
ewarn "the existence of a .NET implementation, so you will likely need"
ewarn "to install an external one, like via winetricks"
fi
}
pkg_prerm() {
eselect wine deregister ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine deregister --vanilla ${P} || die
else
if use staging; then
eselect wine deregister --staging ${P} || die
fi
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -44,7 +44,7 @@ fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
@ -112,6 +112,7 @@ COMMON_DEPEND="
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
@ -129,7 +130,7 @@ RDEPEND="${COMMON_DEPEND}
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.9.4 )
mono? ( app-emulation/wine-mono:5.0.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
@ -165,7 +166,6 @@ usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
@ -353,7 +353,7 @@ src_prepare() {
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
ewarn "Wine bugzilla should explicitly state that staging was used."
local STAGING_EXCLUDE=""
local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
@ -473,6 +473,7 @@ multilib_src_configure() {
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with unwind)
$(use_with v4l v4l2)
$(use_with vkd3d)
$(use_with vulkan)

@ -130,7 +130,7 @@ RDEPEND="${COMMON_DEPEND}
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.9.4 )
mono? ( app-emulation/wine-mono:5.0.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple

@ -1,12 +1,8 @@
DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2
DIST gentoo-wine-patches-20191222.tar.xz 59236 BLAKE2B 1b2c7b3ab69e5603d0f176a88c13b6d532f94f319ad29821faa699e828d90cfbe92c02b6e73b72eb16e565707c49885833fe557809ed16f4a6f0f182de9bb6e6 SHA512 a030fad55be5e1d909bc50e430c9a99846b88d7555f12749e101ba83f04df5af23eeb726b5ed78f847a66d11ac0a838bc69bd5bf8cf53da77ad454d2a2fe65cf
DIST wine-4.0.1.tar.xz 21665840 BLAKE2B b33b5ce8b4624dfbbbf473a88ed8c52d5e53855fa98ac3128e9b89dbeee6e92044ed1e662e1dc9669bd8d805424c36f2dd2c836c51bf6a5e4d78350926a13150 SHA512 dd240525e389f841123a569fd2f9b8da698b7707bc0de408dfd60ae73c5e24d522abb42b76571c840df52c686fdeae56e0a9c69db2cd31f04cdb345feeacf1dc
DIST wine-4.0.2.tar.xz 21668348 BLAKE2B f1aa8ba3add9ae1e6fbb930a0c557c0015a699b21ba9988c6832c9a1b5180f98cbaadc561fbe4a22e97ff78732ee121a14f5a82b0637c71a4856fa5524ff2f5a SHA512 14cb7eeba188562b73125c668f2020e1df6802e486552e422d3aa75b95f6fccedc0f87868f7e58ce71697941ff49757981ec93b9ef288da37ca8570658f194fc
DIST wine-4.0.3.tar.xz 21680420 BLAKE2B a7caf4b82fa2594f77e31f29b2a3da59c08bb58f213268d61bdf48998345162bc36fbfc24db94d11cb07b6da347b3471e9d8976d9abfa0f76c183c0a519aa73e SHA512 a8fde0bcf600eaec56c3ce58c9aa992386784c85cf1c93aa84d50aff4c842b12a6b099c23391d3ad9a0059f3dc9069c0f8e00fad293305ba8a33afc70bf26e14
DIST wine-4.0.tar.xz 21644692 BLAKE2B 9c426ef2249c16e908a3617c2844d8b12a2df843721338b1cfb69459815b902cfa0ddf3d74c09dc900fb2ceb003e54d97a7c0afaac51a9caab7d21beb82e26c3 SHA512 7607fa7a3d5f7bcd3d8c4c9e7bb6e1987466110bbfc672782ebe57c6d9da348c58e76abf40b0a70c725dfd703163db6e194ee0e3db11a47b6b60e225163308dd
DIST wine-5.0.tar.xz 22469428 BLAKE2B d26938e707545d31ed932c67eaaa9fd137e42daa6facadeaea2897797ec816658edc1b89c649e0cb5c453ca53ebea5d7156fdd188f1afe2a55ca7834e012e276 SHA512 681de951804c3dd3ae8c677a0ea52d172b04cac58594698b191cd972b25899cd2030d01a25fc2ad2eb6b99976a30319d2bd5ba8b7ff98b1a8b43832fa6514b83
DIST wine-5.2.tar.xz 22837712 BLAKE2B ee9d4d4dd6c0669d1585cc6988d933dbc7aa5277a0f13e965dd9eecb621e475d33a832b316e37f1372a965efe517efafa9f857a38d9bf081026d221db96b7a0d SHA512 57fa66885c3b5f43e51324e24b8524f663ad67ff15b464ac7d58096d5921f523a59ef5f1dc1ea7aa65fa10d64b7cd832f421c1b773c72bc312d8544a61c33f8f
DIST wine-5.3.tar.xz 22918612 BLAKE2B dce58aec45f665e1014635eadc9cc00c969e46c87de5d41bc51168237d9fc01011dcfc3fa4c83ed4cbcdfe19a3747e5e32f87946434a6eba2a8547f1929b33f3 SHA512 40528f46ad10c11758308e3bf21ba73c7af133d4dda386d542acec3a5cb31e01be0eb102b94f9d82a2358e45597bf49bd1e82c463e3a26aff8c0827b5a0894b6
DIST wine-5.4.tar.xz 22917904 BLAKE2B ceaa8516ddc0c2421b92da0ef047465cfa9fc203dfce93b42ca76409bab5e24709d173a4ed519b78f32d8ee99ffd9f0d06ee4156357f995c75e434b0249a31e2 SHA512 892e8b875484ada01eaddab4ea50992f95cf3ced6730f8e2ca1f0765770d7fa53a21080c526772b9b3ac83b3559d3d68e83ad3af3afbe9d6f931d833afde7e98
DIST wine-5.5.tar.xz 23630916 BLAKE2B 52855c891bb2f6431d0cb02e7b64b28525ad952b548771dd7ff89f95842f9f8e27c941cef7e963b8fb4c7d84c6fd28dba8edfbab90ba683b9f32c41583837e0a SHA512 9c7870dd829effe5fd1be342f85a85e2d1f791bfd871279253dd91becd97dea41c6c4f7a9faec0153e58e360d4e3b4d659daf0d21f07a142d06534e0c229aacd
DIST wine-5.6.tar.xz 23678216 BLAKE2B 7aee9a46c037d46d07a551a839056783c020d2e5c66c9caf9c8dacd5071cc9bc9df1c3ea56d6ec07cf83ac681baee6849e786a1202d99f139e1645c374c72704 SHA512 b12b0eff228ecd783fec8bf91f97e4387125226b172046d800e1fbffa303ceca32f1f647b9e8ceb24d303c23eb57188be14ddd8ba5fc04ba781a69186fbe6be4
DIST wine-5.7.tar.xz 23723624 BLAKE2B fbea8f753dee57368f7532eef6fe6bf366ba52e9c2b970147207cf879858b86a74d0dfb1f813cfd31058462aaa09f74dd07924370b4c3f032f0dcd0015eab90b SHA512 46a8050cb21edf1116c93fd73fdc3bbbc1a19e18d77c38bc192f13e55954d3e503122c780ca9c1a50005b0bca6f3b0c640f3de05267f25289e08660321e27407

@ -1,531 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n ltprune multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
MINOR_V=$(ver_cut 2)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
KEYWORDS="-* amd64 x86"
fi
S="${WORKDIR}/${MY_P}"
GWP_V="20180120"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.5 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "EGIT_OVERRIDE_COMMIT_WINE"
eerror
return 1
fi
}
pkg_pretend() {
wine_build_environment_check || die
# Verify OSS support
if use oss && ! use kernel_FreeBSD; then
if ! has_version ">=media-sound/oss-4"; then
eerror "You cannot build wine with USE=oss without having support from a"
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
eerror
die
fi
fi
}
pkg_setup() {
wine_build_environment_check || die
wine_env_vcs_vars || die
WINE_VARIANT="${PN#wine}-${PV}"
WINE_VARIANT="${WINE_VARIANT#-}"
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
MY_DATADIR="${MY_DATAROOTDIR}"
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/etc/wine
$(use_with alsa)
$(use_with capi)
$(use_with lcms cms)
$(use_with cups)
$(use_with ncurses curses)
$(use_with udisks dbus)
$(use_with fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(use_with ldap)
$(use_enable mono mscoree)
$(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
$(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
$(use_with pcap)
$(use_with png)
$(use_with pulseaudio pulse)
$(use_with threads pthread)
$(use_with scanner sane)
$(use_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
# set AR and RANLIB to make QA scripts happy; #483342
tc-export PKG_CONFIG AR RANLIB
if use amd64; then
if [[ ${ABI} == amd64 ]]; then
myconf+=( --enable-win64 )
else
myconf+=( --disable-win64 )
fi
# Note: using --with-wine64 results in problems with multilib.eclass
# CC/LD hackery. We're using separate tools instead.
fi
ECONF_SOURCE=${S} \
econf "${myconf[@]}"
emake depend
}
multilib_src_test() {
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
if [[ ${ABI} == x86 ]]; then
if [[ $(id -u) == 0 ]]; then
ewarn "Skipping tests since they cannot be run under the root user."
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
return
fi
WINEPREFIX="${T}/.wine-${ABI}" \
Xemake test
fi
}
multilib_src_install_all() {
local DOCS=( ANNOUNCE AUTHORS README )
add_locale_docs() {
local locale_doc="documentation/README.$1"
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
}
l10n_for_each_locale_do add_locale_docs
einstalldocs
prune_libtool_files --all
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
fi
# Remove wineconsole if neither backend is installed #551124
if ! use X && ! use ncurses; then
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
rm_wineconsole() {
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
}
multilib_foreach_abi rm_wineconsole
fi
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
if use abi_x86_64 && ! use abi_x86_32; then
dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
fi
eselect wine update --all --if-unset || die
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
ewarn "implementation of iexplore. Many older windows applications"
ewarn "rely upon the existence of an iexplore implementation, so"
ewarn "you will likely need to install an external one, like via winetricks"
fi
if ! use mono; then
ewarn "Without Wine Mono, wine prefixes will not have a default"
ewarn "implementation of .NET. Many windows applications rely upon"
ewarn "the existence of a .NET implementation, so you will likely need"
ewarn "to install an external one, like via winetricks"
fi
}
pkg_prerm() {
eselect wine deregister ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine deregister --vanilla ${P} || die
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,531 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n ltprune multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
MINOR_V=$(ver_cut 2)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
KEYWORDS="-* amd64 x86"
fi
S="${WORKDIR}/${MY_P}"
GWP_V="20180120"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.5 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "EGIT_OVERRIDE_COMMIT_WINE"
eerror
return 1
fi
}
pkg_pretend() {
wine_build_environment_check || die
# Verify OSS support
if use oss && ! use kernel_FreeBSD; then
if ! has_version ">=media-sound/oss-4"; then
eerror "You cannot build wine with USE=oss without having support from a"
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
eerror
die
fi
fi
}
pkg_setup() {
wine_build_environment_check || die
wine_env_vcs_vars || die
WINE_VARIANT="${PN#wine}-${PV}"
WINE_VARIANT="${WINE_VARIANT#-}"
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
MY_DATADIR="${MY_DATAROOTDIR}"
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/etc/wine
$(use_with alsa)
$(use_with capi)
$(use_with lcms cms)
$(use_with cups)
$(use_with ncurses curses)
$(use_with udisks dbus)
$(use_with fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(use_with ldap)
$(use_enable mono mscoree)
$(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
$(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
$(use_with pcap)
$(use_with png)
$(use_with pulseaudio pulse)
$(use_with threads pthread)
$(use_with scanner sane)
$(use_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
# set AR and RANLIB to make QA scripts happy; #483342
tc-export PKG_CONFIG AR RANLIB
if use amd64; then
if [[ ${ABI} == amd64 ]]; then
myconf+=( --enable-win64 )
else
myconf+=( --disable-win64 )
fi
# Note: using --with-wine64 results in problems with multilib.eclass
# CC/LD hackery. We're using separate tools instead.
fi
ECONF_SOURCE=${S} \
econf "${myconf[@]}"
emake depend
}
multilib_src_test() {
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
if [[ ${ABI} == x86 ]]; then
if [[ $(id -u) == 0 ]]; then
ewarn "Skipping tests since they cannot be run under the root user."
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
return
fi
WINEPREFIX="${T}/.wine-${ABI}" \
Xemake test
fi
}
multilib_src_install_all() {
local DOCS=( ANNOUNCE AUTHORS README )
add_locale_docs() {
local locale_doc="documentation/README.$1"
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
}
l10n_for_each_locale_do add_locale_docs
einstalldocs
prune_libtool_files --all
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
fi
# Remove wineconsole if neither backend is installed #551124
if ! use X && ! use ncurses; then
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
rm_wineconsole() {
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
}
multilib_foreach_abi rm_wineconsole
fi
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
if use abi_x86_64 && ! use abi_x86_32; then
dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
fi
eselect wine update --all --if-unset || die
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
ewarn "implementation of iexplore. Many older windows applications"
ewarn "rely upon the existence of an iexplore implementation, so"
ewarn "you will likely need to install an external one, like via winetricks"
fi
if ! use mono; then
ewarn "Without Wine Mono, wine prefixes will not have a default"
ewarn "implementation of .NET. Many windows applications rely upon"
ewarn "the existence of a .NET implementation, so you will likely need"
ewarn "to install an external one, like via winetricks"
fi
}
pkg_prerm() {
eselect wine deregister ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine deregister --vanilla ${P} || die
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,531 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n ltprune multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
MINOR_V=$(ver_cut 2)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
KEYWORDS="-* amd64 x86"
fi
S="${WORKDIR}/${MY_P}"
GWP_V="20180120"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.5 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "EGIT_OVERRIDE_COMMIT_WINE"
eerror
return 1
fi
}
pkg_pretend() {
wine_build_environment_check || die
# Verify OSS support
if use oss && ! use kernel_FreeBSD; then
if ! has_version ">=media-sound/oss-4"; then
eerror "You cannot build wine with USE=oss without having support from a"
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
eerror
die
fi
fi
}
pkg_setup() {
wine_build_environment_check || die
wine_env_vcs_vars || die
WINE_VARIANT="${PN#wine}-${PV}"
WINE_VARIANT="${WINE_VARIANT#-}"
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
MY_DATADIR="${MY_DATAROOTDIR}"
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/etc/wine
$(use_with alsa)
$(use_with capi)
$(use_with lcms cms)
$(use_with cups)
$(use_with ncurses curses)
$(use_with udisks dbus)
$(use_with fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(use_with ldap)
$(use_enable mono mscoree)
$(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
$(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
$(use_with pcap)
$(use_with png)
$(use_with pulseaudio pulse)
$(use_with threads pthread)
$(use_with scanner sane)
$(use_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
# set AR and RANLIB to make QA scripts happy; #483342
tc-export PKG_CONFIG AR RANLIB
if use amd64; then
if [[ ${ABI} == amd64 ]]; then
myconf+=( --enable-win64 )
else
myconf+=( --disable-win64 )
fi
# Note: using --with-wine64 results in problems with multilib.eclass
# CC/LD hackery. We're using separate tools instead.
fi
ECONF_SOURCE=${S} \
econf "${myconf[@]}"
emake depend
}
multilib_src_test() {
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
if [[ ${ABI} == x86 ]]; then
if [[ $(id -u) == 0 ]]; then
ewarn "Skipping tests since they cannot be run under the root user."
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
return
fi
WINEPREFIX="${T}/.wine-${ABI}" \
Xemake test
fi
}
multilib_src_install_all() {
local DOCS=( ANNOUNCE AUTHORS README )
add_locale_docs() {
local locale_doc="documentation/README.$1"
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
}
l10n_for_each_locale_do add_locale_docs
einstalldocs
prune_libtool_files --all
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
fi
# Remove wineconsole if neither backend is installed #551124
if ! use X && ! use ncurses; then
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
rm_wineconsole() {
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
}
multilib_foreach_abi rm_wineconsole
fi
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
if use abi_x86_64 && ! use abi_x86_32; then
dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
fi
eselect wine update --all --if-unset || die
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
ewarn "implementation of iexplore. Many older windows applications"
ewarn "rely upon the existence of an iexplore implementation, so"
ewarn "you will likely need to install an external one, like via winetricks"
fi
if ! use mono; then
ewarn "Without Wine Mono, wine prefixes will not have a default"
ewarn "implementation of .NET. Many windows applications rely upon"
ewarn "the existence of a .NET implementation, so you will likely need"
ewarn "to install an external one, like via winetricks"
fi
}
pkg_prerm() {
eselect wine deregister ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine deregister --vanilla ${P} || die
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,536 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/${MY_P}"
GWP_V="20191222"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.9.4 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "EGIT_OVERRIDE_COMMIT_WINE"
eerror
return 1
fi
}
pkg_pretend() {
wine_build_environment_check || die
# Verify OSS support
if use oss && ! use kernel_FreeBSD; then
if ! has_version ">=media-sound/oss-4"; then
eerror "You cannot build wine with USE=oss without having support from a"
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
eerror
die
fi
fi
}
pkg_setup() {
wine_build_environment_check || die
wine_env_vcs_vars || die
WINE_VARIANT="${PN#wine}-${PV}"
WINE_VARIANT="${WINE_VARIANT#-}"
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
MY_DATADIR="${MY_DATAROOTDIR}"
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir="${EPREFIX}/etc/wine"
$(use_with alsa)
$(use_with capi)
$(use_with lcms cms)
$(use_with cups)
$(use_with ncurses curses)
$(use_with udisks dbus)
$(use_with faudio)
$(use_with fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(use_with ldap)
--without-mingw # linux LDFLAGS leak in mingw32: bug #685172
$(use_enable mono mscoree)
$(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
$(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
$(use_with pcap)
$(use_with png)
$(use_with pulseaudio pulse)
$(use_with threads pthread)
$(use_with scanner sane)
$(use_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l v4l2)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
# set AR and RANLIB to make QA scripts happy; #483342
tc-export PKG_CONFIG AR RANLIB
if use amd64; then
if [[ ${ABI} == amd64 ]]; then
myconf+=( --enable-win64 )
else
myconf+=( --disable-win64 )
fi
# Note: using --with-wine64 results in problems with multilib.eclass
# CC/LD hackery. We're using separate tools instead.
fi
ECONF_SOURCE=${S} \
econf "${myconf[@]}"
emake depend
}
multilib_src_test() {
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
if [[ ${ABI} == x86 ]]; then
if [[ $(id -u) == 0 ]]; then
ewarn "Skipping tests since they cannot be run under the root user."
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
return
fi
WINEPREFIX="${T}/.wine-${ABI}" \
Xemake test
fi
}
multilib_src_install_all() {
local DOCS=( ANNOUNCE AUTHORS README )
add_locale_docs() {
local locale_doc="documentation/README.$1"
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
}
l10n_for_each_locale_do add_locale_docs
einstalldocs
prune_libtool_files --all
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
fi
# Remove wineconsole if neither backend is installed #551124
if ! use X && ! use ncurses; then
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
rm_wineconsole() {
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
}
multilib_foreach_abi rm_wineconsole
fi
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
# Avoid double prefix from dosym and make_wrapper
MY_PREFIX=${MY_PREFIX#${EPREFIX}}
if use abi_x86_64 && ! use abi_x86_32; then
dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${ED%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
fi
eselect wine update --all --if-unset || die
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
ewarn "implementation of iexplore. Many older windows applications"
ewarn "rely upon the existence of an iexplore implementation, so"
ewarn "you will likely need to install an external one, like via winetricks"
fi
if ! use mono; then
ewarn "Without Wine Mono, wine prefixes will not have a default"
ewarn "implementation of .NET. Many windows applications rely upon"
ewarn "the existence of a .NET implementation, so you will likely need"
ewarn "to install an external one, like via winetricks"
fi
}
pkg_prerm() {
eselect wine deregister ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine deregister --vanilla ${P} || die
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -35,7 +35,7 @@ SRC_URI="${SRC_URI}
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
@ -93,6 +93,7 @@ COMMON_DEPEND="
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
@ -109,7 +110,7 @@ RDEPEND="${COMMON_DEPEND}
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.9.4 )
mono? ( app-emulation/wine-mono:5.0.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
@ -141,7 +142,6 @@ usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
@ -406,6 +406,7 @@ multilib_src_configure() {
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with unwind)
$(use_with v4l v4l2)
$(use_with vkd3d)
$(use_with vulkan)

@ -110,7 +110,7 @@ RDEPEND="${COMMON_DEPEND}
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.9.4 )
mono? ( app-emulation/wine-mono:5.0.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple

Binary file not shown.

@ -13,7 +13,7 @@ LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg +pdf +playlist raw +rss seccomp test +tiff upower +xml xmp xps"
REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpe
REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg
RESTRICT="!test? ( test )"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"

Binary file not shown.

@ -324,3 +324,4 @@ DIST bash50-013 2328 BLAKE2B 8797fe0b8e01027222af9798ee8d57d161bfbedb617b257e914
DIST bash50-014 1747 BLAKE2B d52f9160d74b340fd5722725b572ac1abe74caf41add5421dfa56fd44916ead691e4d698de3ba118ff0f8fc8eadade7a980551134eb0daf18b0767ff9601a4b4 SHA512 e8f65be24b425ecaf66672eb4271e0efac2f495f882aeb559d60b52359a468b51852ed7aeeea0ab77cf648a48c9d37f2a00e263d06d29e9fa75b67a648399d91
DIST bash50-015 2565 BLAKE2B 7df76369726332299c089db156c1e9bc6619fe2e925732da46ca47ca627f1bd7df4ea188a2c0f636e42623f2ee7ca40bc98551b5bd339ed4d5bee20b24ba38d0 SHA512 3a1a552d1f03dec9ed41be8d8c319fb3cbd01df9978ab25a7b37322913014beca6703980f342ea908250b666d72db95402d7b8219ffdd3df717acb36ed4b72b9
DIST bash50-016 1534 BLAKE2B 8c9bb752a441b70b11655a9bd48e48ec9756a34d0513837faa94c64675c11d57ba1fb0bfc43a033040539f9c475a0efd00f375cf8ffe04a6d9d1d1c19575572e SHA512 dbc3bd0fe3bddad8f6417b210fc5638a9c0c545f9d27638d63bac48aba9d3b93181a4f2e9898584d231b658589573fad5e4627ccbcf3e9d87e7663ac730b51aa
DIST bash50-017 6517 BLAKE2B d8ec55e796fa2b17774fdf846c7b24ab1428a1dd94210e0d6b3174f99afe7f9c7f33448e1116c81f43407cb8d95390dd634cb8bd543046699898f471ffd68433 SHA512 d4a4b2746a106a7e78f7df2467cfd4ca486ab36b3e6e97eb9d47ede728033b1246bc1b60edc271cdb49df998af196619b09e598c0da1b425f05455237e256b65

@ -56,7 +56,6 @@ DEPEND="
"
RDEPEND="
${DEPEND}
!<sys-apps/portage-2.1.6.7_p1
"
# we only need yacc when the .y files get patched (bash42-005)
#DEPEND+=" virtual/yacc"
@ -218,12 +217,12 @@ src_install() {
if use examples ; then
for d in examples/{functions,misc,scripts,startup-files} ; do
exeinto /usr/share/doc/${PF}/${d}
insinto /usr/share/doc/${PF}/${d}
docinto /usr/share/doc/${PF}/${d}
for f in ${d}/* ; do
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
doexe ${f}
else
doins ${f}
dodoc ${f}
fi
done
done

@ -56,7 +56,6 @@ DEPEND="
"
RDEPEND="
${DEPEND}
!<sys-apps/portage-2.1.6.7_p1
"
# we only need yacc when the .y files get patched (bash42-005)
#DEPEND+=" virtual/yacc"
@ -222,12 +221,12 @@ src_install() {
if use examples ; then
for d in examples/{functions,misc,scripts,startup-files} ; do
exeinto /usr/share/doc/${PF}/${d}
insinto /usr/share/doc/${PF}/${d}
docinto /usr/share/doc/${PF}/${d}
for f in ${d}/* ; do
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
doexe ${f}
else
doins ${f}
dodoc ${f}
fi
done
done

@ -56,7 +56,6 @@ DEPEND="
"
RDEPEND="
${DEPEND}
!<sys-apps/portage-2.1.6.7_p1
"
# we only need yacc when the .y files get patched (bash42-005)
#DEPEND+=" virtual/yacc"
@ -222,12 +221,12 @@ src_install() {
if use examples ; then
for d in examples/{functions,misc,scripts,startup-files} ; do
exeinto /usr/share/doc/${PF}/${d}
insinto /usr/share/doc/${PF}/${d}
docinto /usr/share/doc/${PF}/${d}
for f in ${d}/* ; do
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
doexe ${f}
else
doins ${f}
dodoc ${f}
fi
done
done

@ -0,0 +1,261 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit eutils flag-o-matic toolchain-funcs multilib prefix
# Official patchlevel
# See ftp://ftp.cwru.edu/pub/bash/bash-5.0-patches/
PLEVEL=${PV##*_p}
MY_PV=${PV/_p*}
MY_PV=${MY_PV/_/-}
MY_P=${PN}-${MY_PV}
is_release() {
case ${PV} in
*_alpha*|*_beta*|*_rc*) return 1 ;;
*) return 0 ;;
esac
}
[[ ${PV} != *_p* ]] && PLEVEL=0
patches() {
local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
[[ ${plevel} -eq 0 ]] && return 1
eval set -- {1..${plevel}}
set -- $(printf "${pn}${pv/\.}-%03d " "$@")
if [[ ${opt} == -s ]] ; then
echo "${@/#/${DISTDIR}/}"
else
local u
for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
printf "${u}/${pn}-${pv}-patches/%s " "$@"
done
fi
}
# The version of readline this bash normally ships with.
READLINE_VER="8.0"
DESCRIPTION="The standard GNU Bourne again shell"
HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
if is_release ; then
SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
else
SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
fi
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline"
DEPEND="
>=sys-libs/ncurses-5.2-r2:0=
nls? ( virtual/libintl )
readline? ( >=sys-libs/readline-${READLINE_VER}:0= )
"
RDEPEND="
${DEPEND}
"
# we only need yacc when the .y files get patched (bash42-005)
#DEPEND+=" virtual/yacc"
S="${WORKDIR}/${MY_P}"
PATCHES=(
# Patches from Chet sent to bashbug ml
"${FILESDIR}"/${PN}-5.0-history-append.patch
"${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
)
pkg_setup() {
if is-flag -malign-double ; then #7332
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
eerror "as it breaks LFS (struct stat64) on x86."
die "remove -malign-double from your CFLAGS mr ricer"
fi
if use bashlogger ; then
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
ewarn "This will log ALL output you enter into the shell, you have been warned."
fi
}
src_unpack() {
unpack ${MY_P}.tar.gz
}
src_prepare() {
# Include official patches
[[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s)
# Clean out local libs so we know we use system ones w/releases.
if is_release ; then
rm -rf lib/{readline,termcap}/*
touch lib/{readline,termcap}/Makefile.in # for config.status
sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
fi
# Prefixify hardcoded path names. No-op for non-prefix.
hprefixify pathnames.h.in
# Avoid regenerating docs after patches #407985
sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
touch -r . doc/*
eapply -p0 "${PATCHES[@]}"
eapply_user
}
src_configure() {
local myconf=(
--disable-profiling
--with-curses
$(use_enable mem-scramble)
$(use_enable net net-redirections)
$(use_enable readline)
$(use_enable readline bang-history)
$(use_enable readline history)
$(use_with afs)
$(use_with mem-scramble bash-malloc)
)
# For descriptions of these, see config-top.h
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
append-cppflags \
-DDEFAULT_PATH_VALUE=\'\"${EPREFIX}/usr/local/sbin:${EPREFIX}/usr/local/bin:${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin\"\' \
-DSTANDARD_UTILS_PATH=\'\"${EPREFIX}/bin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/usr/sbin\"\' \
-DSYS_BASHRC=\'\"${EPREFIX}/etc/bash/bashrc\"\' \
-DSYS_BASH_LOGOUT=\'\"${EPREFIX}/etc/bash/bash_logout\"\' \
-DNON_INTERACTIVE_LOGIN_SHELLS \
-DSSH_SOURCE_BASHRC \
$(use bashlogger && echo -DSYSLOG_HISTORY)
# Don't even think about building this statically without
# reading Bug 7714 first. If you still build it statically,
# don't come crying to us with bugs ;).
#use static && export LDFLAGS="${LDFLAGS} -static"
use nls || myconf+=( --disable-nls )
# Historically, we always used the builtin readline, but since
# our handling of SONAME upgrades has gotten much more stable
# in the PM (and the readline ebuild itself preserves the old
# libs during upgrades), linking against the system copy should
# be safe.
# Exact cached version here doesn't really matter as long as it
# is at least what's in the DEPEND up above.
export ac_cv_rl_version=${READLINE_VER%%_*}
# Force linking with system curses ... the bundled termcap lib
# sucks bad compared to ncurses. For the most part, ncurses
# is here because readline needs it. But bash itself calls
# ncurses in one or two small places :(.
if is_release ; then
# Use system readline only with released versions.
myconf+=( --with-installed-readline=. )
fi
if use plugins; then
append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
else
# Disable the plugins logic by hand since bash doesn't
# provide a way of doing it.
export ac_cv_func_dl{close,open,sym}=no \
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
sed -i \
-e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
configure || die
fi
tc-export AR #444070
econf "${myconf[@]}"
}
src_compile() {
emake
if use plugins ; then
emake -C examples/loadables all others
fi
}
src_install() {
local d f
default
dodir /bin
mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
dosym bash /bin/rbash
insinto /etc/bash
doins "${FILESDIR}"/bash_logout
doins "$(prefixify_ro "${FILESDIR}"/bashrc)"
keepdir /etc/bash/bashrc.d
insinto /etc/skel
for f in bash{_logout,_profile,rc} ; do
newins "${FILESDIR}"/dot-${f} .${f}
done
local sed_args=(
-e "s:#${USERLAND}#@::"
-e '/#@/d'
)
if ! use readline ; then
sed_args+=( #432338
-e '/^shopt -s histappend/s:^:#:'
-e 's:use_color=true:use_color=false:'
)
fi
sed -i \
"${sed_args[@]}" \
"${ED}"/etc/skel/.bashrc \
"${ED}"/etc/bash/bashrc || die
if use plugins ; then
exeinto /usr/$(get_libdir)/bash
doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
insinto /usr/include/bash-plugins
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
fi
if use examples ; then
for d in examples/{functions,misc,scripts,startup-files} ; do
exeinto /usr/share/doc/${PF}/${d}
docinto /usr/share/doc/${PF}/${d}
for f in ${d}/* ; do
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
doexe ${f}
else
dodoc ${f}
fi
done
done
fi
doman doc/*.1
newdoc CWRU/changelog ChangeLog
dosym bash.info /usr/share/info/bashref.info
}
pkg_preinst() {
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
mkdir -p "${EROOT}"/etc/bash
mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
fi
if [[ -L ${EROOT}/bin/sh ]] ; then
# rewrite the symlink to ensure that its mtime changes. having /bin/sh
# missing even temporarily causes a fatal error with paludis.
local target=$(readlink "${EROOT}"/bin/sh)
local tmp=$(emktemp "${EROOT}"/bin)
ln -sf "${target}" "${tmp}"
mv -f "${tmp}" "${EROOT}"/bin/sh
fi
}
pkg_postinst() {
# If /bin/sh does not exist, provide it
if [[ ! -e ${EROOT}/bin/sh ]] ; then
ln -sf bash "${EROOT}"/bin/sh
fi
}

Binary file not shown.

@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/docbook/${MY_P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
IUSE="ruby"
RDEPEND=">=app-text/build-docbook-catalog-1.4

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

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

Binary file not shown.

@ -1,3 +1,4 @@
DIST atk-2.32.0.tar.xz 292088 BLAKE2B 15f093db60cc54d1a5a18dc78cb9d64fa73e18dadb724fe5143956199f4ff1aa4ea9daf0796b14f228a1d91f1d44e88749c67fe5a6a84bd001916d78be4680f9 SHA512 8cd2a3ee006f21835f3e564f2e1de4ae61bd9529b4c0b4f2e3ece88e905e2dd36b67affb089f41582806a1397576602a526a4b8698303708894f20af97ecac22
DIST atk-2.34.1.tar.xz 293140 BLAKE2B 8ae280583867460734ca001eb01963eefcc519eb09658e2e793cd1a07831e8e5ade20a4d38bb5925a1103da206d9d6283a2b1892c671f12090b3eefac04b34e1 SHA512 a7c8ec7c2166bb8734b065402bf7700cdc69f56c0958663e88596b155a20063e4cfbf1754d8b8ed94a4e509db2e97e2603b0a8037e61028acc85930e631a633e
DIST atk-2.35.1.tar.xz 294224 BLAKE2B e2e4d5768d8add243bb064e3ec43bd4665bf16f0211be721788a3a3bb96a93e402671e0bf5c7e2a1747ac673fee0b5022cb1798481a5ff0b1cc61f41dc0c8279 SHA512 da81cb4a6a5f2d8d83fa8a430b181b009e5407d906bb000a2d86481e7fea9fa6fb6e9dcd6790d4efdf513e5fe8fcb32ac3ec49d4ce3c76010145b8baacf2ae1b
DIST atk-2.36.0.tar.xz 299100 BLAKE2B 46f0cc10052788643c09e27e36a3f74439864cf5c8fdfcf5850e3e7df596ac8a2a3dd8a01856503d43995ff1cc36ec0ca63884133f2c5f4a3634aad2c5119997 SHA512 d0f18204eaf96511e8448e3dfbc4b6953a7cf8b816151fb7caf5592cf578572b1cdb16836fe2157b11e3ad018ef171f1ca1bfdf255bb31bb455716d7519fd634

@ -0,0 +1,47 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit gnome.org meson multilib-minimal xdg
DESCRIPTION="GTK+ & GNOME Accessibility Toolkit"
HOMEPAGE="https://wiki.gnome.org/Accessibility"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="gtk-doc +introspection"
RDEPEND="
>=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
introspection? ( >=dev-libs/gobject-introspection-1.54.0:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/glib-utils
gtk-doc? (
>=dev-util/gtk-doc-1.25
app-text/docbook-xml-dtd:4.3 )
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
>=sys-devel/gettext-0.19.8
"
multilib_src_configure() {
local emesonargs=(
-Ddocs=$(multilib_native_usex gtk-doc true false)
-Dintrospection=$(multilib_native_usex introspection true false)
)
meson_src_configure
}
multilib_src_compile() {
meson_src_compile
}
multilib_src_test() {
meson_src_test
}
multilib_src_install() {
meson_src_install
}

@ -1,4 +1,2 @@
DIST gjs-1.48.7.tar.xz 595324 BLAKE2B eac8b5b2f7e909e94e3fb305cac443da3f433047ee07fa8fbd15905890f77d57449c8689867df61f1ac849b8b4bddc089a9b1ddc3aa79d4b3d054226c58fa909 SHA512 b8c58e068eaecfca2fa40cebe209fa8058e603809be4307099a0f3dbd561752a540d587d546ffa74aef0268a111f2b2846a1e0febda1adcefdac8c02e716e2dd
DIST gjs-1.56.2.tar.xz 701976 BLAKE2B 77057e4a3a8958d6648c92bb56495b505b3ec49bc0eeff0fa5c9e3ae5a694a4b5643dc72d7aa673f9e66d42e9b0def7f9df0043f2690216bfc5c5109ea9eca51 SHA512 687b8e3795565b5c56fceebefb229c07b4c084a4f65c0035e0d185d12082920424632c0f896df8dc1cd5013a97b6e08274efaec4caeb564dc2070d26a5f974c5
DIST gjs-1.58.5.tar.xz 637996 BLAKE2B a6c96ee4be81e36d4675d24d9b66b9aab83fe7e4c4cac042122f095b477b551234785417f796144c6755e5faf4afeee446f00a5914a9d63d0619f74fbb2a5694 SHA512 18ef3afc4403ed281e1e70a379fd68ffa537ffc20ab66d7faaefe51e03bb6a66e359e5ca2c0511e1c5f8c6adfce93601d011cfb9e9e6b0a18f8aa1f2398297c3
DIST gjs-1.58.6.tar.xz 637972 BLAKE2B 553f29808723e48cee39c62e260d9c09f5db160756bf6c2fc45e532bee1d5c8babdd2bd5aee39fdff1300fc10de2c2a4e34d6b850e6e95c83ef217a8955379b6 SHA512 3e8fa8ccaabbbd07e74869fdc6188cffc19565798a6267fd3480d9320a2c9c5906c864e5d0c6e9e57f7bb79cc1706717b76b23c7cd89eb191477eb173b24aa74

@ -1,63 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit gnome2 pax-utils virtualx
DESCRIPTION="Javascript bindings for GNOME"
HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
SLOT="0"
IUSE="+cairo examples gtk test"
RESTRICT="!test? ( test )"
KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 ~sparc x86"
RDEPEND="
>=dev-libs/glib-2.52.1
>=dev-libs/gobject-introspection-1.52.1:=
sys-libs/readline:0=
dev-lang/spidermonkey:38
virtual/libffi:=
cairo? ( x11-libs/cairo[X] )
gtk? ( >=x11-libs/gtk+-3.20:3 )
"
DEPEND="${RDEPEND}
gnome-base/gnome-common
sys-devel/gettext
virtual/pkgconfig
test? ( sys-apps/dbus )
"
#PATCHES=(
# Disable unittest failing without pt_BR locale, upstream bug #????
# "${FILESDIR}"/1.48.6-disable-unittest.patch
#)
src_configure() {
# FIXME: add systemtap/dtrace support, like in glib:2
# FIXME: --enable-systemtap installs files in ${D}/${D} for some reason
# XXX: Do NOT enable coverage, completely useless for portage installs
gnome2_src_configure \
--disable-systemtap \
--disable-dtrace \
--disable-code-coverage \
$(use_with cairo cairo) \
$(use_with gtk) \
$(use_with test dbus-tests) \
$(use_with test xvfb-tests)
}
src_install() {
# installation sometimes fails in parallel, bug #???
gnome2_src_install -j1
if use examples; then
insinto /usr/share/doc/"${PF}"/examples
doins "${S}"/examples/*
fi
# Required for gjs-console to run correctly on PaX systems
pax-mark mr "${ED}/usr/bin/gjs-console"
}

@ -1,64 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit gnome2 pax-utils virtualx
DESCRIPTION="Javascript bindings for GNOME"
HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
SLOT="0"
IUSE="+cairo examples gtk readline +sysprof test"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
RDEPEND="
>=dev-libs/glib-2.58.0
>=dev-libs/gobject-introspection-1.61.2:=
readline? ( sys-libs/readline:0= )
dev-lang/spidermonkey:60
dev-libs/libffi:=
cairo? ( x11-libs/cairo[X] )
"
DEPEND="${RDEPEND}
sysprof? ( >=dev-util/sysprof-capture-3.33.2:3 )
virtual/pkgconfig
test? ( sys-apps/dbus
>=x11-libs/gtk+-3.20:3 )
"
RESTRICT="!test? ( test )"
src_configure() {
# FIXME: add systemtap/dtrace support, like in glib:2
# FIXME: --enable-systemtap installs files in ${D}/${D} for some reason
# XXX: Do NOT enable coverage, completely useless for portage installs
gnome2_src_configure \
--disable-systemtap \
--disable-dtrace \
--disable-code-coverage \
$(use_with cairo cairo) \
$(use_enable sysprof profiler) \
$(use_enable readline) \
$(use_with test dbus-tests) \
$(use_with test gtk-tests) \
--disable-installed-tests
}
src_install() {
# installation sometimes fails in parallel, bug #???
gnome2_src_install -j1
if use examples; then
insinto /usr/share/doc/"${PF}"/examples
doins "${S}"/examples/*
fi
# Required for gjs-console to run correctly on PaX systems
pax-mark mr "${ED}/usr/bin/gjs-console"
}
src_test() {
virtx emake check
}

@ -1,3 +1,4 @@
DIST glib-2.60.7.tar.xz 4590568 BLAKE2B a3f2a3bd0443a27326e8359c2ad1e6022ca1634f5c7cb4502a8011fbe85df690fff7d67665cf160bf4ed426214b87f6501a69158fb1656bdb86cacdcf076ee15 SHA512 d56d805a5abf6f7aeb8bf5be06b60ad049177ee23f78eacef4ce2ea88a8be49966a95e48fed17c752649f6e80937fd0ebc8f959709f623ec1f2f43ffd42d078a
DIST glib-2.62.6.tar.xz 4703424 BLAKE2B 0a27245be2575c574dcc730dd051a8c284f421dbc46579aadc5fbbacb8f934af4374b61bb26085e5c9ab78a868c567818f3fb9d67adddce37f5c4fec00e0d276 SHA512 8e3972a371f3c1a50b7d245b30e4f740583ad72ba4ab325e0e15e0732be44dfb69b603fb39dcf4989255a23a181e9ea5dd25982dd94c386cd9f21952243ad6f5
DIST glib-2.64.1.tar.xz 4758548 BLAKE2B 5585d23fee28d7c32b1bb9e1defbc31ba469aa259e3c328760d1e702d98706cf251bfb50b5e2aed37b2cdfa6ab4319372ddcd0a9937c97a2614741b504af17a5 SHA512 1cefe49a42233f24ac6bd09c134ceea7119f4f74f42204a731be56100a180eec69c8224674f0b08d1538ad0859896ed08260a6af0fed469c7d10b4508116a6bc
DIST glib-2.64.2.tar.xz 4760436 BLAKE2B 8145684ca9f966f92ed9cdafcbf46c59291dc1215fc9feae482fb33f61bd175a679fe5bc80f031190c9a0eb5eb650fab01e13bdda4bd41e9df3d21c6779681bc SHA512 c65adb76f4a03c19f2df186dde49724135975ec6cd059efca5d753e7459f77925657b1fb6fc4ff0d09b2461b2f6e58c9710fc8cde0a5d648ba0d68ccfef1ec57

@ -0,0 +1,285 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit flag-o-matic gnome.org gnome2-utils linux-info meson multilib multilib-minimal python-any-r1 toolchain-funcs xdg
DESCRIPTION="The GLib library of C routines"
HOMEPAGE="https://www.gtk.org/"
LICENSE="LGPL-2.1+"
SLOT="2"
IUSE="dbus debug elibc_glibc fam gtk-doc kernel_linux +mime selinux static-libs systemtap test utils xattr"
RESTRICT="!test? ( test )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
# * libelf isn't strictly necessary, but makes gresource tool more useful, and
# the check is automagic in gio/meson.build. gresource is not a multilib tool
# right now, thus it doesn't matter if non-native ABI libelf exists or not
# (non-native binary is overwritten, it doesn't matter if libelf was linked to).
# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
# these are used by GIO, which glib[static-libs] consumers don't really seem
# to need at all, thus not imposing the deps for now and once some consumers
# are actually found to static link libgio-2.0.a, we can revisit and either add
# them or just put the (build) deps in that rare consumer instead of recursive
# RDEPEND here (due to lack of recursive DEPEND).
RDEPEND="
!<dev-util/gdbus-codegen-${PV}
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
>=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
virtual/libelf:0=
fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}"
# libxml2 used for optional tests that get automatically skipped
BDEPEND="
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
>=sys-devel/gettext-0.19.8
gtk-doc? ( >=dev-util/gtk-doc-1.20
app-text/docbook-xml-dtd:4.2
app-text/docbook-xml-dtd:4.5 )
systemtap? ( >=dev-util/systemtap-1.3 )
${PYTHON_DEPS}
test? ( >=sys-apps/dbus-1.2.14 )
virtual/pkgconfig[${MULTILIB_USEDEP}]
"
# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
PDEPEND="
dbus? ( gnome-base/dconf )
mime? ( x11-misc/shared-mime-info )
"
# shared-mime-info needed for gio/xdgmime, bug #409481
# dconf is needed to be able to save settings, bug #498436
MULTILIB_CHOST_TOOLS=(
/usr/bin/gio-querymodules$(get_exeext)
)
PATCHES=(
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
)
pkg_setup() {
if use kernel_linux ; then
CONFIG_CHECK="~INOTIFY_USER"
if use test ; then
CONFIG_CHECK="~IPV6"
WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
fi
linux-info_pkg_setup
fi
python-any-r1_pkg_setup
}
src_prepare() {
if use test; then
# TODO: Review the test exclusions, especially now with meson
# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
if ! has_version dev-util/desktop-file-utils ; then
ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
ewarn "think on installing it to get these tests run."
sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
fi
# gdesktopappinfo requires existing terminal (gnome-terminal or any
# other), falling back to xterm if one doesn't exist
#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
# ewarn "Some tests will be skipped due to missing terminal program"
# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
# desktop-app-info/launch* might fail similarly
sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
#fi
# https://bugzilla.gnome.org/show_bug.cgi?id=722604
sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
ewarn "Tests for search-utils have been skipped"
sed -i -e "/search-utils/d" glib/tests/meson.build || die
# Play nice with network-sandbox, but this approach would defeat the purpose of the test
#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
else
# Don't build tests, also prevents extra deps, bug #512022
sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
fi
# Don't build fuzzing binaries - not used
sed -i -e '/subdir.*fuzzing/d' meson.build || die
# gdbus-codegen is a separate package
sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
sed -i -e '/install_dir/d' gio/tests/meson.build || die
cat > "${T}/glib-test-ld-wrapper" <<-EOF
#!/usr/bin/env sh
exec \${LD:-ld} "\$@"
EOF
chmod a+x "${T}/glib-test-ld-wrapper" || die
sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
xdg_src_prepare
gnome2_environment_reset
# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
}
multilib_src_configure() {
if use debug; then
append-cflags -DG_ENABLE_DEBUG
else
append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
fi
# TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
#if tc-is-cross-compiler ; then
# https://bugzilla.gnome.org/show_bug.cgi?id=756473
# TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
#case ${CHOST} in
#hppa*|metag*) export glib_cv_stack_grows=yes ;;
#*) export glib_cv_stack_grows=no ;;
#esac
#fi
local emesonargs=(
-Ddefault_library=$(usex static-libs both shared)
$(meson_feature selinux)
$(meson_use xattr)
-Dlibmount=enabled # only used if host_system == 'linux'
-Dinternal_pcre=false
-Dman=true
$(meson_use systemtap dtrace)
$(meson_use systemtap)
-Dgtk_doc=$(multilib_native_usex gtk-doc true false)
$(meson_use fam)
-Dinstalled_tests=false
-Dnls=enabled
-Doss_fuzz=disabled
)
meson_src_configure
}
multilib_src_compile() {
meson_src_compile
}
multilib_src_test() {
export XDG_CONFIG_DIRS=/etc/xdg
export XDG_DATA_DIRS=/usr/local/share:/usr/share
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
export LC_TIME=C # bug #411967
unset GSETTINGS_BACKEND # bug #596380
python_setup
# Related test is a bit nitpicking
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
meson_src_test --timeout-multiplier 2 --no-suite flaky
}
multilib_src_install() {
meson_src_install
keepdir /usr/$(get_libdir)/gio/modules
}
multilib_src_install_all() {
einstalldocs
# These are installed by dev-util/glib-utils
# TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
rm "${ED}/usr/bin/glib-genmarshal" || die
rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
rm "${ED}/usr/bin/glib-mkenums" || die
rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
rm "${ED}/usr/bin/gtester-report" || die
rm "${ED}/usr/share/man/man1/gtester-report.1" || die
# gdbus-codegen manpage installed by dev-util/gdbus-codegen
rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
}
pkg_preinst() {
xdg_pkg_preinst
# Make gschemas.compiled belong to glib alone
local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
if [[ -e ${EROOT}${cache} ]]; then
cp "${EROOT}"${cache} "${ED}"/${cache} || die
else
touch "${ED}"${cache} || die
fi
multilib_pkg_preinst() {
# Make giomodule.cache belong to glib alone
local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
if [[ -e ${EROOT}${cache} ]]; then
cp "${EROOT}"${cache} "${ED}"${cache} || die
else
touch "${ED}"${cache} || die
fi
}
# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
# file due to inability to create it and GIO might not look at any of the modules there
if ! tc-is-cross-compiler ; then
multilib_foreach_abi multilib_pkg_preinst
fi
}
pkg_postinst() {
xdg_pkg_postinst
# glib installs no schemas itself, but we force update for fresh install in case
# something has dropped in a schemas file without direct glib dep; and for upgrades
# in case the compiled schema format could have changed
gnome2_schemas_update
multilib_pkg_postinst() {
gnome2_giomodule_cache_update \
|| die "Update GIO modules cache failed (for ${ABI})"
}
if ! tc-is-cross-compiler ; then
multilib_foreach_abi multilib_pkg_postinst
else
ewarn "Updating of GIO modules cache skipped due to cross-compilation."
ewarn "You might want to run gio-querymodules manually on the target for"
ewarn "your final image for performance reasons and re-run it when packages"
ewarn "installing GIO modules get upgraded or added to the image."
fi
for v in ${REPLACING_VERSIONS}; do
if ver_test "$v" "-lt" "2.63.6"; then
ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
ewarn "to restart your session for \"Open With\" dialogs to work."
fi
done
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
if [[ -z ${REPLACED_BY_VERSION} ]]; then
multilib_pkg_postrm() {
rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
}
multilib_foreach_abi multilib_pkg_postrm
rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
fi
}

@ -1,3 +1,4 @@
DIST gobject-introspection-1.60.2.tar.xz 1285000 BLAKE2B 43d96bbac8dd6600726876277f945e7eb01dba2063907c21960cbf5f49d766ac156ed116641b69dfe28f3025c4b482ffd39e8e107aba9ee48010a500111a58e4 SHA512 8e8c1c3a025cb6c18933302ada8cce7c4826f22eef791c80a97abb28379239f8d99312e1237bcea1060f4d5cf65441909b9da434561982209bb4976b1f22529e
DIST gobject-introspection-1.62.0.tar.xz 980732 BLAKE2B 96ecc98bea97b7cb24e2c0a0adb8158cfc8915ee8e3b980adf08ec3256d4d0f87bc92d33cce30f5b23c85c4b144d8da755e5313735091b27ff53fea45a80014e SHA512 b460a95fd7a323e9b0c9a45e680ebe98bbae7632abfa53b3e0b0ec050775cab17dde693314d6d4f8e93614c32b5587f8ce0b4a4c9ee9ba46c029ce029014e638
DIST gobject-introspection-1.64.0.tar.xz 1000240 BLAKE2B 09e6dec65a53a107bee387cef9cb271345ae564f3520bd9a6485cf1796deaa47243c05f45a72f3243e811a2c1962a2ae123a6b344819187cbf36eae0ed58fbaa SHA512 d1960424d82dea1f1d36a7c3f9922029e751e77da8dc6904c24750babe7c3f4c11a6795eb218aab342ccbb6326d0ac3eac2c2c903e90b146f4e28c0f413da1ae
DIST gobject-introspection-1.64.1.tar.xz 1000280 BLAKE2B c0248831648f6f1849516f30facac9ecade4b4fdb9dce70f93f516364c08f93d0622e06376bd7895dd25c3f1fb5b0af533d6c60f1b2590848cc6781b81a584f4 SHA512 7610871f7ed5778ea9813062ed6465d131af58c00bdea1bb51dde7f98f459f44ae453eb6d0c5bdc6f7dcd92d639816f4e0773ccd5673cd065d22dabc6448647c

@ -0,0 +1,31 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GNOME_ORG_MODULE="gobject-introspection"
inherit gnome.org
DESCRIPTION="Build infrastructure for GObject Introspection"
HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
LICENSE="HPND"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}"
# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
# https://forums.gentoo.org/viewtopic-p-7421930.html
src_configure() { :; }
src_compile() { :; }
src_install() {
insinto /usr/share/aclocal
doins m4/introspection.m4
insinto /usr/share/gobject-introspection-1.0
doins Makefile.introspection
}

@ -1,3 +1,4 @@
DIST gobject-introspection-1.60.2.tar.xz 1285000 BLAKE2B 43d96bbac8dd6600726876277f945e7eb01dba2063907c21960cbf5f49d766ac156ed116641b69dfe28f3025c4b482ffd39e8e107aba9ee48010a500111a58e4 SHA512 8e8c1c3a025cb6c18933302ada8cce7c4826f22eef791c80a97abb28379239f8d99312e1237bcea1060f4d5cf65441909b9da434561982209bb4976b1f22529e
DIST gobject-introspection-1.62.0.tar.xz 980732 BLAKE2B 96ecc98bea97b7cb24e2c0a0adb8158cfc8915ee8e3b980adf08ec3256d4d0f87bc92d33cce30f5b23c85c4b144d8da755e5313735091b27ff53fea45a80014e SHA512 b460a95fd7a323e9b0c9a45e680ebe98bbae7632abfa53b3e0b0ec050775cab17dde693314d6d4f8e93614c32b5587f8ce0b4a4c9ee9ba46c029ce029014e638
DIST gobject-introspection-1.64.0.tar.xz 1000240 BLAKE2B 09e6dec65a53a107bee387cef9cb271345ae564f3520bd9a6485cf1796deaa47243c05f45a72f3243e811a2c1962a2ae123a6b344819187cbf36eae0ed58fbaa SHA512 d1960424d82dea1f1d36a7c3f9922029e751e77da8dc6904c24750babe7c3f4c11a6795eb218aab342ccbb6326d0ac3eac2c2c903e90b146f4e28c0f413da1ae
DIST gobject-introspection-1.64.1.tar.xz 1000280 BLAKE2B c0248831648f6f1849516f30facac9ecade4b4fdb9dce70f93f516364c08f93d0622e06376bd7895dd25c3f1fb5b0af533d6c60f1b2590848cc6781b81a584f4 SHA512 7610871f7ed5778ea9813062ed6465d131af58c00bdea1bb51dde7f98f459f44ae453eb6d0c5bdc6f7dcd92d639816f4e0773ccd5673cd065d22dabc6448647c

@ -0,0 +1,71 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE="xml"
inherit gnome.org meson python-single-r1 toolchain-funcs xdg
DESCRIPTION="Introspection system for GObject-based libraries"
HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
LICENSE="LGPL-2+ GPL-2+"
SLOT="0"
IUSE="doctool gtk-doc test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
# virtual/pkgconfig needed at runtime, bug #505408
RDEPEND="
>=dev-libs/gobject-introspection-common-${PV}
>=dev-libs/glib-2.58.0:2
dev-libs/libffi:=
doctool? (
$(python_gen_cond_dep '
dev-python/mako[${PYTHON_MULTI_USEDEP}]
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
')
)
virtual/pkgconfig
${PYTHON_DEPS}
"
# Wants real bison, not virtual/yacc
DEPEND="${RDEPEND}
gtk-doc? ( >=dev-util/gtk-doc-1.19
app-text/docbook-xml-dtd:4.3
app-text/docbook-xml-dtd:4.5
)
sys-devel/bison
sys-devel/flex
test? ( x11-libs/cairo[glib] )
"
pkg_setup() {
python-single-r1_pkg_setup
}
src_configure() {
local emesonargs=(
$(meson_feature test cairo)
$(meson_feature doctool)
#-Dglib_src_dir
$(meson_use gtk-doc gtk_doc)
#-Dcairo_libname
-Dpython="${EPYTHON}"
#-Dgir_dir_prefix
)
meson_src_configure
}
src_install() {
meson_src_install
python_fix_shebang "${ED}"/usr/bin/
python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner
# Prevent collision with gobject-introspection-common
rm -v "${ED}"/usr/share/aclocal/introspection.m4 \
"${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die
rmdir "${ED}"/usr/share/aclocal || die
}

@ -1,3 +1 @@
DIST gom-0.3.2.tar.xz 410300 BLAKE2B c0c79c1c3f8a28a0ee992fa4c316538eb87ec26c77def353e8b2038e32f30f9daed433c6d6f6c81069e05e46a980f7d944c955182d973d42f3bd84a341c5a34d SHA512 a7bfb263e5ff6f89768d8fcbdcc949d4ec9b82ecbb80952becd357a3d5781a60e52a327e865e39e46d542b2a2c5e5c861e5302d7ae3c3a2258d3c3f698263675
DIST gom-0.3.3.tar.xz 101580 BLAKE2B 08e0abb9eaf23ba3bbbca54289ebaa695af705e65b9b612f125e72c62f337baec899d16e657d3de51baeb4ffb79b583716a01d74067e256d59e1dcb63723273e SHA512 152924e704c92f39c493a8becc73fac1f7fe396f4f9e7c154dccec2b4413476821e43abf3c108cc1304de471e61f56c265f124710379ad8568b68f8902064e03
DIST gom-0.4.tar.xz 102744 BLAKE2B 8116ac388a56e85effbb37c3d5ea5036f6de2f4ad7ee8fe119bd058e1ac3e293eab612a739cdba7467202bc9e258f7cd65b1f116e146577d3a103fc03afba37f SHA512 d847928ce09c53a3f64777c313cb843052e5e001873f29d3f7acf02772cadf0e4b133fb0137aa0463b4ff95dd54810bde87062d8e396ff4fc6d142ba59c8e9c8

@ -1,34 +0,0 @@
From 07c35149964c7258e52effa374d877a8f2f102e8 Mon Sep 17 00:00:00 2001
From: Alexander Tsoy <alexander@tsoy.me>
Date: Fri, 29 Jul 2016 03:18:03 +0300
Subject: [PATCH] build: Replace hardcoded values in pkg-config file
https://bugzilla.gnome.org/show_bug.cgi?id=769291
---
data/gom-1.0.pc.in | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/data/gom-1.0.pc.in b/data/gom-1.0.pc.in
index ce19de6..6edc841 100644
--- a/data/gom-1.0.pc.in
+++ b/data/gom-1.0.pc.in
@@ -1,11 +1,11 @@
prefix=@prefix@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${exec_prefix}/include
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
Name: Gom
Description: GObject Data Mapper
Version: @VERSION@
-Libs: -L${libdir} -lgom-1.0
-Cflags: -I${includedir}/gom-1.0
+Libs: -L${libdir} -lgom-@GOM_API_VERSION@
+Cflags: -I${includedir}/gom-@GOM_API_VERSION@
Requires: gobject-2.0
--
2.17.0

@ -1,77 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
GCONF_DEBUG="yes"
PYTHON_COMPAT=( python3_6 )
inherit epatch gnome2 python-r1
DESCRIPTION="GObject to SQLite object mapper library"
HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
IUSE="+introspection python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} introspection )"
RDEPEND="
>=dev-db/sqlite-3.7:3
>=dev-libs/glib-2.36:2
introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
python? (
${PYTHON_DEPS}
>=dev-python/pygobject-3.16:3[${PYTHON_USEDEP}] )
"
DEPEND="${RDEPEND}
>=dev-util/gtk-doc-am-1.14
>=dev-util/intltool-0.40.0
sys-devel/gettext
virtual/pkgconfig
x11-libs/gdk-pixbuf:2
"
# TODO: make gdk-pixbuf properly optional with USE=test
pkg_setup() {
use python && python_setup
}
src_prepare() {
epatch "${FILESDIR}"/${PV}-fix-pkgconfig.patch
gnome2_src_prepare
use python && python_copy_sources
}
src_configure() {
# glibtest is a relic from AM_PATH_GLIB macro
local myconf=(
--disable-static
--disable-glibtest
)
gnome2_src_configure \
${myconf[@]} \
--disable-python \
$(use_enable introspection)
if use python ; then
python_foreach_impl run_in_build_dir \
gnome2_src_configure \
${myconf[@]} \
--enable-python
fi
}
src_install() {
gnome2_src_install
if use python ; then
docinto examples
dodoc examples/*.py
python_foreach_impl run_in_build_dir \
emake DESTDIR="${D}" install-overridesPYTHON
fi
}

@ -1,66 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GCONF_DEBUG="yes"
PYTHON_COMPAT=( python3_{6,7} )
inherit gnome.org gnome2-utils meson python-r1
DESCRIPTION="GObject to SQLite object mapper library"
HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="gtk-doc +introspection test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
# <glib-2.63.3 to avoid getting hit worse by https://gitlab.gnome.org/GNOME/gom/issues/24 - fixed in gom-0.4
RDEPEND="
>=dev-db/sqlite-3.7:3
>=dev-libs/glib-2.36:2
<dev-libs/glib-2.63.3:2
introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
${PYTHON_DEPS}
>=dev-python/pygobject-3.16:3[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}
gtk-doc? ( dev-util/gtk-doc )
virtual/pkgconfig
x11-libs/gdk-pixbuf:2
" # only tests need gdk-pixbuf, but they are unconditionally built
pkg_setup() {
python_setup
}
src_configure() {
local emesonargs=(
$(meson_use introspection enable-introspection)
$(meson_use gtk-doc enable-gtk-doc)
)
python_foreach_impl meson_src_configure
}
src_compile() {
python_foreach_impl meson_src_compile
}
src_install() {
docinto examples
dodoc examples/*.py
installing() {
meson_src_install
python_optimize
}
python_foreach_impl installing
}
src_test() {
# tests may take a long time
python_foreach_impl meson_src_test
}

@ -1,3 +1,4 @@
DIST libcbor-0.5.0.tar.gz 719348 BLAKE2B 57e15e648159e7858d9d57a8b4cb7f3682f8153248610c9a3385cf9cbdea8babaf81d596b25d44bf6d59c75de23e76cce462fa7860b294019f46636726206d5a SHA512 5c2e9610d9fbb0bfc59f89a180f70b58539a1760fd39cad696af372c164a87828a23bb4d3a54d8e9d846be5271204800f0ad63656ef830f06a0ccdd10edfdb2c
DIST libcbor-0.6.0.tar.gz 262622 BLAKE2B 2d3bc10bdb69c9205430718a8f2652672a8fa580ba7951c4012bdc8b502a9d6dcb26f398740f5fd35dfe0634f8e3d8ddf7eff5b9ec35c95cdc5383e2dce9f0ab SHA512 6adbb32780d428140388295c5d740bd77b0ae7b21e3f73629ba56a3aa4e4ee5dbb715454061b0f6f67f2b19ea8366e0e5c24f4ffb1ba629afcb7a776a15045f7
DIST libcbor-0.6.1.tar.gz 263486 BLAKE2B 9a2415c1dde7ed611075c3b03ea1d8ab63bcb00dfc0cae3d7a3bb225b6fbee2a8f576b1f0f97eb6f0cf14c1a6e9df1c77f69320bac041287b0dec37c073f8b85 SHA512 dc9bb7d18b934fe33faabe30010425cb272d7e135f3bf233554bc934b1701f85c7b662e0d5a6a1921c21cd46acb4393600e9adc05b09d1b2a8e3c92ca9d7e4e8
DIST libcbor-0.7.0.tar.gz 266323 BLAKE2B 76f93d3199e703c4167aeed262da7ba78d1df82e081754609391572b89f216efba0c54511d4021049fc6c62ab01b08835f02a58bbf226d973174b37eff087761 SHA512 4e2ed55ef17b8b77f82d780b1ee998d0342b67e6beabc24795117e5e222549640fe7fd261c8e78524d6489d03f7f5aa46b987709790a81f93e4d7409c32fecda

@ -0,0 +1,68 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit python-any-r1 cmake-utils
DESCRIPTION="CBOR protocol implementation for C and others"
HOMEPAGE="https://github.com/pjk/libcbor"
SRC_URI="https://github.com/PJK/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
IUSE="+custom-alloc doc test"
BDEPEND="
doc? (
$(python_gen_any_dep '
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/breathe[${PYTHON_USEDEP}]
')
)
test? ( dev-util/cmocka )
"
RESTRICT="!test? ( test )"
CMAKE_MAKEFILE_GENERATOR="emake"
python_check_deps() {
has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && \
has_version "dev-python/breathe[${PYTHON_USEDEP}]"
}
pkg_setup() {
use doc && python-any-r1_pkg_setup
}
src_configure() {
local -a mycmakeargs=(
-DCMAKE_BUILD_TYPE=Release
-DCBOR_CUSTOM_ALLOC=$(usex custom-alloc 'ON' 'OFF')
-DWITH_TESTS=$(usex test 'ON' 'OFF')
)
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
if use doc; then
pushd doc >/dev/null || die
emake html man
popd >/dev/null || die
fi
}
src_install() {
cmake-utils_src_install
if use doc; then
dodoc -r doc/build/html
doman doc/build/man/*
fi
}

@ -1,2 +1 @@
DIST libdazzle-3.32.3.tar.xz 439492 BLAKE2B 7a8cf5a4ad29ca11b489553785e66d49a2ba7998f6791bb392ca37740441ff0e72f59ced192dc681ab20da79cb9183621a7d73baf57c9f045ae917fc993d1205 SHA512 e82d5f04706ec2003db27ece490255264828334d1e1c2076485660539664fd382c1289b9d8d4a6cc2dc31c65db270207e7d51105ffd1cadb7c384cd91199ceaa
DIST libdazzle-3.34.1.tar.xz 440496 BLAKE2B 88321e82f1961ffffc46c2e484b39a80e201498c1f5aaf3beabe59f9d24c21b446485aeb1e70821868d207d222e9a4c9c06353f3add28a1c12ba84f90f79e640 SHA512 bb55c21c8d15406e4f09514c36e3e633d13c0cdb6b30b40a7da7e1cb5e307f371c905dbd8ee5e56d04e225df4c1c8eb9cd273df76814a4cec6ea1328b998d95e

@ -1,59 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit gnome.org meson xdg vala virtualx
DESCRIPTION="Experimental new features for GTK+ and GLib"
HOMEPAGE="https://gitlab.gnome.org/GNOME/libdazzle"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc x86"
IUSE="gtk-doc +introspection test +vala"
REQUIRED_USE="vala? ( introspection )"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/glib-2.56.0:2
>=x11-libs/gtk+-3.24.0:3[introspection?]
introspection? ( dev-libs/gobject-introspection:= )
"
DEPEND="${RDEPEND}"
# libxml2 required for glib-compile-resources; glib-utils for glib-mkenums
BDEPEND="
>=dev-util/meson-0.49.0
vala? ( $(vala_depend) )
dev-libs/libxml2:2
dev-util/glib-utils
virtual/pkgconfig
gtk-doc? ( dev-util/gtk-doc )
"
src_prepare() {
use vala && vala_src_prepare
xdg_src_prepare
}
src_configure() {
local emesonargs=(
-Denable_tracing=false # extra trace debugging that would make things slower
-Denable_profiling=false # -pg passing
# On linux it'll always use a vdso based implementation that is even faster
# than rdtscp insn, thus never build with rdtscp until we don't support non-linux
# as the rdtscp using function will never get called anyways.
-Denable_rdtscp=false
-Denable_tools=true # /usr/bin/dazzle-list-counters
$(meson_use introspection with_introspection)
$(meson_use vala with_vapi)
$(meson_use gtk-doc enable_gtk_doc)
$(meson_use test enable_tests)
)
meson_src_configure
}
src_test() {
virtx meson_src_test
}

@ -1,5 +1,3 @@
DIST libgusb-0.2.11.tar.xz 291992 BLAKE2B f43065fac0fcfbc3e392b90dc05537746ce1325d623161e93e1a306b87b07012ef4e11242514cd3da0b83a7df6adc052e20fd3336b53d2543ed9e23886a776f5 SHA512 f9c3c204b5f0feaf706b23dd9a174feb36a9f3c8db8ffb5dcdefa66b18ba0ac963c6041d2d91a6a2f6e23036fc6486d142210bd5348e10c026a6defeb0bee096
DIST libgusb-0.3.1.tar.xz 38568 BLAKE2B d09afae9d210fde1411de5a0b9b8852eef49f88558ff4c434ef5f2ed9c1c6c29600b96dad73f6873027c5ce0987a3fd99691ffd97d90cfba9f63fbb2cc73f8cd SHA512 5c864e35ec64d1e52ec15ab971c75e0ee3e4664223a6b365815a54819f23342889e5f9739b998799a3af3d37ee75f0ae38ee0d8bca4ed1e2d6ff712f65a53b9a
DIST libgusb-0.3.2.tar.xz 38852 BLAKE2B 72f98e54e9c4716380430103395ad6da830148c7ef4fb3e7e1445fa28c40b6cb1dfc954403896dedcd584d154383c38233abd422e20801a7e2f9165a6b69e4e5 SHA512 db4274b67d775ac0a46df11037dbd4cab84e1128be6d5b579ee5e1f493f3cc9d0950958610207ad5f207423570a86e664a9817885e25f86a858a95f96cfe19c2
DIST libgusb-0.3.3.tar.xz 38928 BLAKE2B 711bf59db0d86879961fbba1cd87d5a8557cd4c735f3eaf80bb75f1ac55ededecb4038125428c1297942d014dfd3ea995f7cee8355150f1e90e0fec4aa92cfa9 SHA512 8be37283f2c1719976bbd9bc33eacf5afd4cef107a6629e8f9523b49e66ab2782d9937e4d9fa18760b9083c991c91d6126cfcfa22921b3436a9ebc3a858d855a
DIST libgusb-0.3.4.tar.xz 40636 BLAKE2B 8e43849395a0bce646d9b9493c883fc6db28572a75017e0309b6b2d1924bb6a978190d4b171416053cae424d272a7b43e1536abd92821198e4e7f553bb16d19f SHA512 abbec6b5a5f27b5061ff165db97915d7356b23757de12b640f54741927ac860264af3daed15d4b4b5f3df494acb20695070dcb5ad104df2defdcc7229634c42f

@ -1,66 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VALA_USE_DEPEND="vapigen"
inherit meson multilib-minimal vala
DESCRIPTION="GObject wrapper for libusb"
HOMEPAGE="https://github.com/hughsie/libgusb"
SRC_URI="https://people.freedesktop.org/~hughsient/releases/${P}.tar.xz"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="gtk-doc +introspection static-libs test vala"
REQUIRED_USE="vala? ( introspection )"
RDEPEND="
>=dev-libs/glib-2.44:2[${MULTILIB_USEDEP}]
virtual/libusb:1[udev,${MULTILIB_USEDEP}]
introspection? ( >=dev-libs/gobject-introspection-1.54:= )
sys-apps/hwids
"
DEPEND="${RDEPEND}"
BDEPEND="
gtk-doc? (
app-text/docbook-xml-dtd:4.1.2
app-text/docbook-xml-dtd:4.4
dev-util/gtk-doc
)
vala? ( $(vala_depend) )
virtual/pkgconfig[${MULTILIB_USEDEP}]
"
RESTRICT="!test? ( test )"
src_prepare() {
use vala && vala_src_prepare
default
}
multilib_src_configure() {
local emesonargs=(
-Ddefault_library=$(usex static-libs both shared)
$(meson_use test tests)
-Dvapi=$(multilib_native_usex vala true false)
-Dusb_ids="${EPREFIX}"/usr/share/misc/usb.ids
-Ddocs=$(multilib_native_usex gtk-doc true false)
-Dintrospection=$(multilib_native_usex introspection true false)
)
meson_src_configure
}
multilib_src_compile() {
meson_src_compile
}
multilib_src_test() {
meson_src_test
}
multilib_src_install() {
meson_src_install
}

@ -1,66 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VALA_USE_DEPEND="vapigen"
inherit meson multilib-minimal vala
DESCRIPTION="GObject wrapper for libusb"
HOMEPAGE="https://github.com/hughsie/libgusb"
SRC_URI="https://people.freedesktop.org/~hughsient/releases/${P}.tar.xz"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86"
IUSE="gtk-doc +introspection static-libs test vala"
REQUIRED_USE="vala? ( introspection )"
RDEPEND="
>=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
virtual/libusb:1[udev,${MULTILIB_USEDEP}]
introspection? ( >=dev-libs/gobject-introspection-1.54:= )
sys-apps/hwids
"
DEPEND="${RDEPEND}"
BDEPEND="
gtk-doc? (
app-text/docbook-xml-dtd:4.1.2
app-text/docbook-xml-dtd:4.4
dev-util/gtk-doc
)
vala? ( $(vala_depend) )
virtual/pkgconfig[${MULTILIB_USEDEP}]
"
RESTRICT="!test? ( test )"
src_prepare() {
use vala && vala_src_prepare
default
}
multilib_src_configure() {
local emesonargs=(
-Ddefault_library=$(usex static-libs both shared)
$(meson_use test tests)
-Dvapi=$(multilib_native_usex vala true false)
-Dusb_ids="${EPREFIX}"/usr/share/misc/usb.ids
-Ddocs=$(multilib_native_usex gtk-doc true false)
-Dintrospection=$(multilib_native_usex introspection true false)
)
meson_src_configure
}
multilib_src_compile() {
meson_src_compile
}
multilib_src_test() {
meson_src_test
}
multilib_src_install() {
meson_src_install
}

@ -1,2 +1 @@
DIST libgweather-3.32.2.tar.xz 2716144 BLAKE2B 56bf66edde8293758f49c1ca14b47fb725f72a0202e95e6e1d1832c179fd9414d527827be5cb7daa17627abfbd1ac16d8d09dbdbbdcb24d62cc62c25a220c156 SHA512 61543e5eaf8c04605a91a6f47811b3a0ed2b04c2f50eae9b8d08a4e24904db4731748fa27a0863d2cdab5fde776ec55abe9fd9fb2a72c7bd546665d59957cb4d
DIST libgweather-3.34.0.tar.xz 2725096 BLAKE2B af1034b905354aed433e3a5249305718b850f84dabcf3e96b9f9bcdda7dd78258ede0a9e82cab9b9d7f1b63d8e1a61bc3c83c1c18ec38790bc43c29fe98bb89d SHA512 44451837039965251d86f6f538c943a771ab1944d9190ddb2c6bdb34b3ed0e33756c537e84f24487fd5f28b107e8d3af05a6c20a68f83734ac26ff69a8bd0aba

@ -1,68 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VALA_USE_DEPEND="vapigen"
inherit gnome.org gnome2-utils meson vala xdg
DESCRIPTION="Location and timezone database and weather-lookup library"
HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
LICENSE="GPL-2+"
SLOT="2/3-15-2" # subslot = 3-(libgweather-3 soname suffix) w/ temporary -2 suffix for silent ABI break after 3.28 without soname bump as per distro-list
IUSE="glade gtk-doc +introspection +vala"
REQUIRED_USE="vala? ( introspection )"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
RDEPEND="
>=dev-libs/glib-2.44.0:2
>=x11-libs/gtk+-3.13.5:3[introspection?]
>=net-libs/libsoup-2.44:2.4
>=dev-libs/libxml2-2.6.0:2
sci-geosciences/geocode-glib
>=sys-libs/timezone-data-2010k
glade? ( >=dev-util/glade-3.16:3.10 )
introspection? ( >=dev-libs/gobject-introspection-1.54:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/glib-utils
gtk-doc? ( >=dev-util/gtk-doc-1.11
app-text/docbook-xml-dtd:4.3 )
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
$(vala_depend)
"
PATCHES=(
"${FILESDIR}"/3.32.1-meson-tweaks.patch # Provide introspection optionality and don't build tests that aren't ran automatically
)
src_prepare() {
xdg_src_prepare
vala_src_prepare
}
src_configure() {
local emesonargs=(
$(meson_use glade glade_catalog)
$(meson_use vala enable_vala)
$(meson_use gtk-doc gtk_doc)
$(meson_use introspection)
)
meson_src_configure
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
}

@ -1,2 +1 @@
DIST libpeas-1.22.0.tar.xz 561332 BLAKE2B 219918f8663cd60c9353f477ef905ce0d1e21bf5b7c09661c4cb3c8adbba3af9f5e93b9de8a1b098dab09b1f4071854a871c8ea1db878bda8fe9e51aa45e5f87 SHA512 9c1da1d4b5688c0f4d0647f3519dbfbed94c8921091057aaef0e41bf5ed3f8faf04a49ce9e4eea3fd7bf4ac4dfa1727d76a5f6dae2a4f52228d4c8c74b420c91
DIST libpeas-1.26.0.tar.xz 191708 BLAKE2B 5845d5cb15724ba933572f48b9056a79cb2c167c7911ff1546c836fe56cd7e49d7461e5a413b79effa64e8e3fb2ed2eb370de665728e476e40ffb4d44c841543 SHA512 86157da14d17c16df2ef3f44ab48822ea1a8be8aec8f5419bc421bd475113f686cd16f9616ac53cbf3dc6f31f521384ac63eb8e9f1a46ea21b5cda8ba21e855f

@ -1,29 +0,0 @@
From 3571f4b23abbf5c63e38c82d24a1880fa440499e Mon Sep 17 00:00:00 2001
From: Mart Raudsepp <mart@leio.tech>
Date: Sat, 15 Feb 2020 23:23:09 +0200
Subject: [PATCH] Fix python-3.8 compatibility
---
configure.ac | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index bd561e2..d3d0073 100644
--- a/configure.ac
+++ b/configure.ac
@@ -442,7 +442,11 @@ else
found_python3=yes
PYTHON3_BIN="$PYTHON"
PYTHON3_CFLAGS=`${PYTHON3_CONFIG} --includes`
- PYTHON3_LIBS=`${PYTHON3_CONFIG} --libs`
+ if $PYTHON3_CONFIG --embed >/dev/null 2>&1; then
+ PYTHON3_LIBS=`${PYTHON3_CONFIG} --libs --embed`
+ else
+ PYTHON3_LIBS=`${PYTHON3_CONFIG} --libs`
+ fi
PYTHON3_LDFLAGS=`${PYTHON3_CONFIG} --ldflags`
AC_SUBST(PYTHON3_BIN)
AC_SUBST(PYTHON3_CFLAGS)
--
2.20.1

@ -1,18 +0,0 @@
Gentoo currently uses unversioned lua:0 - lua.pc instad of lua5.1.pc, /usr/bin/lua instead of /usr/bin/lua5.1
diff --git a/configure.ac b/configure.ac
index 810a288..51ca607 100644
--- a/configure.ac
+++ b/configure.ac
@@ -305,9 +305,9 @@ else
fi
if test "x$found_lua51" != "xyes"; then
- PKG_CHECK_EXISTS([lua5.1 >= $LUA51_REQUIRED], [
+ PKG_CHECK_EXISTS([lua >= $LUA51_REQUIRED], [
found_lua51=yes
- with_lua51=lua5.1
+ with_lua51=lua
], [
found_lua51=no
])

@ -1,88 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GNOME2_LA_PUNT="yes"
GNOME2_EAUTORECONF="yes"
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
inherit autotools eutils gnome2 multilib python-single-r1 virtualx
DESCRIPTION="A GObject plugins library"
HOMEPAGE="https://developer.gnome.org/libpeas/stable/"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+gtk glade lua luajit +python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
>=dev-libs/glib-2.38:2
>=dev-libs/gobject-introspection-1.39:=
glade? ( >=dev-util/glade-3.9.1:3.10 )
gtk? ( >=x11-libs/gtk+-3:3[introspection] )
lua? (
>=dev-lua/lgi-0.9.0
luajit? ( >=dev-lang/luajit-2:2 )
!luajit? ( =dev-lang/lua-5.1*:0 ) )
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
>=dev-python/pygobject-3.2:3[${PYTHON_MULTI_USEDEP}]
')
)
"
DEPEND="${RDEPEND}
dev-util/glib-utils
>=dev-util/gtk-doc-am-1.11
>=dev-util/intltool-0.40
virtual/pkgconfig
dev-libs/gobject-introspection-common
gnome-base/gnome-common
"
# eautoreconf needs gobject-introspection-common, gnome-common
PATCHES=(
# Gentoo uses unversioned lua - lua.pc instad of lua5.1.pc, /usr/bin/lua instead of /usr/bin/lua5.1
"${FILESDIR}"/${PN}-1.14.0-lua.pc.patch
"${FILESDIR}"/${PV}-py38-support.patch # Fix py3.8 support, bug 702810
)
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_configure() {
# Wtf, --disable-gcov, --enable-gcov=no, --enable-gcov, all enable gcov
# What do we do about gdb, valgrind, gcov, etc?
local myconf=(
$(use_enable glade glade-catalog)
$(use_enable gtk)
--disable-static
# py2 not supported anymore
--disable-python2
$(use_enable python python3)
# lua
$(use_enable lua lua5.1)
$(use_enable $(usex luajit lua luajit) luajit)
)
gnome2_src_configure "${myconf[@]}"
}
src_test() {
# This looks fixed since 1.18.0:
#
# FIXME: Tests fail because of some bug involving Xvfb and Gtk.IconTheme
# DO NOT REPORT UPSTREAM, this is not a libpeas bug.
# To reproduce:
# >>> from gi.repository import Gtk
# >>> Gtk.IconTheme.get_default().has_icon("gtk-about")
# This should return True, it returns False for Xvfb
virtx emake check
}

@ -1,2 +1,3 @@
DIST libreport-2.10.0.tar.gz 2278084 BLAKE2B 95ac1fbf32e6e021e9553b35b10f9e46b7ea2e9cc6f21e53eb39a32a5261f7a6e49b2172381fdea30341fcc4311928691e68749a8bb5c41a4bf709151935687a SHA512 978ea442d82b75abf80b2075f540cb05c5577387a9221f2070c9695c4546d36169738d223f5e903d0b774b7e1566a6111c55a6bb51a0822ad1676095f067c45b
DIST libreport-2.12.0.tar.gz 1842875 BLAKE2B 930666ec0c675a8ff457412a80511652dfa3bd3d771115506370432a7b74f3d1d9f6264dc3696c582b4a0939b2493137a18e1379eca268f25bc787a03a7d6c39 SHA512 d85c1beea330e4b21ce66b6f4acadaa132010738496a6701d161ee75b2254e629c496270145a6167e8eb81cf2204b0488aa0eb15c1e898f49aa3aec1331bff0c
DIST libreport-2.13.0.tar.gz 1840841 BLAKE2B 822bbbfb1e03a6e486f12263fe60231045c9b2153dc743168b93c976b2db76f2bbff3c98da0107e660d713a0d9bac25bf36ee55064a15e0c72ae66fa7fdf0aaa SHA512 f650ba83bfa48d3c897ec4415d4942ed3412a55240d950d78e15b935ea71c3665cdfe1c155f3eee202911e7bb4c09a0a50fbfdc2b54f4d32d00da1a98c1fe7e2

@ -29,7 +29,6 @@ DEPEND="${PYTHON_DEPS}
dev-libs/xmlrpc-c:=
net-libs/libproxy:=
net-misc/curl:=[ssl]
sys-apps/dbus
sys-apps/systemd
gtk? ( >=x11-libs/gtk+-3.3.12:3 )
python? ( ${PYTHON_DEPS} )

@ -0,0 +1,100 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit autotools python-r1
DESCRIPTION="Generic library for reporting software bugs"
HOMEPAGE="https://github.com/abrt/libreport"
SRC_URI="https://github.com/abrt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="gtk +python"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}
app-admin/augeas
>=dev-libs/glib-2.43.4:2
dev-libs/satyr:0=
dev-libs/json-c:=
dev-libs/libtar
dev-libs/libxml2:2
dev-libs/nettle:=
dev-libs/newt:=
dev-libs/xmlrpc-c:=
net-libs/libproxy:=
net-misc/curl:=[ssl]
sys-apps/dbus
sys-apps/systemd
gtk? ( >=x11-libs/gtk+-3.3.12:3 )
python? ( ${PYTHON_DEPS} )
x11-misc/xdg-utils
"
RDEPEND="${DEPEND}
acct-user/abrt
acct-group/abrt
"
BDEPEND="
app-text/asciidoc
app-text/xmlto
>=dev-util/intltool-0.3.50
>=sys-devel/gettext-0.17
virtual/pkgconfig
"
# Tests require python-meh, which is highly redhat-specific.
RESTRICT="test"
src_prepare() {
default
./gen-version || die # Needed to be run before autoreconf
eautoreconf
use python && python_copy_sources
}
src_configure() {
use python && python_setup
local myargs=(
--localstatedir="${EPREFIX}/var"
--without-bugzilla
$(use_with gtk)
$(use_with python python3)
)
if use python; then
python_foreach_impl run_in_build_dir econf "${myargs[@]}"
else
econf "${myargs[@]}"
fi
}
src_compile() {
if use python; then
python_foreach_impl run_in_build_dir default
else
default
fi
}
src_install() {
if use python; then
python_install() {
default
python_optimize
}
python_foreach_impl run_in_build_dir python_install
else
default
fi
# Need to set correct ownership for use by app-admin/abrt
diropts -o abrt -g abrt
keepdir /var/spool/abrt
find "${D}" -name '*.la' -exec rm -f {} + || die
}

Binary file not shown.

@ -0,0 +1 @@
DIST cppy-1.1.0.tar.gz 11777 BLAKE2B 3bdeba7ee9bb478b51090a52077abc44ee74f72439c3cf2bca898bfc84bd97993bf4dd20d641a1952e2738e3f6b89434f7435fe0a5a8302f91ebef9d02729686 SHA512 9ef4db580c963219a111ab10bc263cdf2c4386e27fce8ffe5c785fc7e8f6c6b60cb23ce918959c6f17194fd6977cc65fa64d167a0b62e6cff0cf662154bc734c

@ -0,0 +1,18 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="C++ header library which makes it easier to write Python extension modules"
HOMEPAGE="https://pypi.org/project/cppy"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
distutils_enable_tests pytest

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>vpayno+gentoo@gmail.com</email>
<name>Victor Payno</name>
</maintainer>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<longdescription>
A small C++ header library which makes it easier to write Python extension modules. The primary feature is a PyObject smart pointer which automatically handles reference counting and provides convenience methods for performing common object operations.
</longdescription>
<upstream>
<remote-id type="pypi">cppy</remote-id>
</upstream>
</pkgmetadata>

@ -1,2 +1,3 @@
DIST kiwisolver-1.0.1.tar.gz 34783 BLAKE2B 104fb7789e004841921bc43fe98a98b247c7f0506a94b07d10ff1e758287a272c9d2f119b7a086847653cdf1bfc9d5c94823d1eb0b4a30ea93cf2b8b05027013 SHA512 01002ae1dbf6482ed68c49ad3da80b772db84ec221c4b111c42f1b493f19299e0ddb187e43e64b380eb2ddc292d5848d6e09a5a1dbfaf68950a65423a913ec18
DIST kiwisolver-1.1.0.tar.gz 55086 BLAKE2B 5f45a9c540a1a732cf8319de7dc2e6b503170cd40eac4287815c0c45f4f88a05c384e57a24ffb6edefde949718a09a35de87478c00a2a63643fc1294e548ba37 SHA512 e26a951fdba2fb221effe7ed785010d5795695b30e19fb67a30dc2ac883ee21b1daec967ad89734309c101513cd17bb5971118591270f402b8d46098178aff25
DIST kiwisolver-1.2.0.tar.gz 54244 BLAKE2B 42590c2cbb78b3c2ed568373616e772326bf5a0e133396d9e9cf6468132ec88b45d40f68f51baff7bc22ca261567ebab81cf2585009657bd2a59df4e97c33f1f SHA512 05541ff46cc64b9958d714452138dc7bb343e6cc9308408a3f8cf25242e9640af37f8bfd22a7038e8ca70a895f57bdb983346259bce22b1630ac10b974d00a0e

@ -0,0 +1,24 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="An efficient C++ implementation of the Cassowary constraint solving algorithm"
HOMEPAGE="https://github.com/nucleic/kiwi"
SRC_URI="https://github.com/nucleic/kiwi/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Clear-BSD"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=dev-python/cppy-1.1.0[${PYTHON_USEDEP}]
"
BDEPEND="${RDEPEND}"
S="${WORKDIR}"/kiwi-${PV}
distutils_enable_tests pytest

@ -1,9 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">kiwisolver</remote-id>
<remote-id type="github">nucleic/kiwi</remote-id>
</upstream>
<maintainer type="person">
<email>vpayno+gentoo@gmail.com</email>
<name>Victor Payno</name>
</maintainer>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<upstream>
<remote-id type="pypi">kiwisolver</remote-id>
<remote-id type="github">nucleic/kiwi</remote-id>
</upstream>
</pkgmetadata>

@ -1,3 +1,4 @@
DIST matplotlib-2.2.2.tar.gz 37317332 BLAKE2B 4120265263c5b1e4ab57f7c0eb7a477b4071a5f219d1d6328d6ed51d44460217c7c4da82a4b7d13c6ba9f80308406a217f2dbcfa310f3137cbe8bc56a9ef0eef SHA512 1d21ef821190f22354098f8f0db6449f237acbf3c1419ab3815ecd4e9c6922fd3f00c4a8f60858e319b55b6fb2e8fe2922c0bf8e72b204e7edff0b409cf76320
DIST matplotlib-2.2.4.tar.gz 36974286 BLAKE2B 9c4c69163a23ff02107ee155f72e142dcf31ba965f6a20f468b96f3f4b70b95ff6caade6b14bcbacd5b231848d2000ce6af9f113feefb41d6e186725349490d3 SHA512 968f5731b8a9a2c5575403c60d5b0a98a452b33094e520be44f4d901f892d082babc8fc1d73c519e1ff2baf756f3cb7652f4b796e166d66dfda31f7e50c58139
DIST matplotlib-3.1.2.tar.gz 40909582 BLAKE2B 670907670335ca13ec01f3acf036fd502ce34abd12666b2e0d10867c6115a0fe80039326cee89099471aa6b3bbd25f1ca4aa837072dea624ee41984da9f647be SHA512 2eff3c0525d01824ed758a87f50a3f6094767b580fca1eae4e9dbc2cc972af3d0cc3ac9615e576c5685e8bfc1ec90754bc826635f4f2a919d0b26bbb686cccab
DIST matplotlib-3.2.1.tar.gz 40325615 BLAKE2B 7fd299f7d3948987e341e4313ed82d15de286a05c9819893e099ccd6c1f861ce5548ec85588a382603011e7710d08d6fc9a4f168f0b5705b0873b97e40d2dd39 SHA512 d6497a3c47eaff9c0d981bc03de5894a3f4a5413cbe320924b1df6d68eb421e548cf4247c035fd636a4403cd2d50071633e6906e795b74ec7d9c4816193e42be

@ -0,0 +1,259 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE='tk?,threads(+)'
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
DESCRIPTION="Pure python plotting library with matlab like syntax"
HOMEPAGE="https://matplotlib.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
# Main license: matplotlib
# Some modules: BSD
# matplotlib/backends/qt4_editor: MIT
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
KEYWORDS="~amd64"
IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
REQUIRED_USE="
test? (
cairo latex qt5 tk wxwidgets gtk3
)
"
# internal copy of pycxx highly patched
# dev-python/pycxx
RDEPEND="
>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
dev-python/python-dateutil:0[${PYTHON_USEDEP}]
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
dev-python/versioneer[${PYTHON_USEDEP}]
media-fonts/dejavu
media-fonts/stix-fonts
media-libs/freetype:2
media-libs/libpng:0
>=media-libs/qhull-2013
>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
cairo? (
dev-python/cairocffi[${PYTHON_USEDEP}]
)
excel? (
dev-python/xlwt[${PYTHON_USEDEP}]
)
gtk3? (
dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
x11-libs/gtk+:3[introspection]
)
latex? (
virtual/latex-base
app-text/dvipng
app-text/ghostscript-gpl
app-text/poppler[utils]
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-xetex
)
qt5? (
dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
)
wxwidgets? (
dev-python/wxpython:*[${PYTHON_USEDEP}]
)
"
BDEPEND="
${RDEPEND}
virtual/pkgconfig
doc? (
>=app-text/dvipng-1.15-r1
>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
>=dev-python/pillow-7.1.1[${PYTHON_USEDEP}]
>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
>=sci-libs/scipy-1.4.1[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexrecommended
>=media-gfx/graphviz-2.42.3[cairo]
)
test? ( dev-python/mock[${PYTHON_USEDEP}] )
"
# A few C++ source files are written to srcdir.
# Other than that, the ebuild shall be fit for out-of-source build.
DISTUTILS_IN_SOURCE_BUILD=1
distutils_enable_tests nose
pkg_setup() {
unset DISPLAY # bug #278524
}
use_setup() {
local uword="${2:-${1}}"
if use ${1}; then
echo "${uword} = True"
echo "${uword}agg = True"
else
echo "${uword} = False"
echo "${uword}agg = False"
fi
}
python_prepare_all() {
# Generates test failures, but fedora does it
# local PATCHES=(
# "${FILESDIR}"/${P}-unbundle-pycxx.patch
# "${FILESDIR}"/${P}-unbundle-agg.patch
# )
# rm -r agg24 CXX || die
# rm -r agg24 || die
# cat > lib/${PN}/externals/six.py <<-EOF
# from __future__ import absolute_import
# from six import *
# EOF
local PATCHES=(
"${FILESDIR}"/${PN}-3.1.2-qhull.patch
)
sed \
-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
|| die "sed pyparsing failed"
hprefixify setupext.py
rm -rf libqhull || die
export XDG_RUNTIME_DIR="${T}/runtime-dir"
mkdir "${XDG_RUNTIME_DIR}" || die
chmod 0700 "${XDG_RUNTIME_DIR}" || die
local freetype_version
freetype_version="$(best_version media-libs/freetype | sed -r -e 's/.*-([0-9].*[0-9])(-r[0-9]+|$)/\1/g')"
sed -i -r -e "s:(LOCAL_FREETYPE_VERSION =).*:\\1 \"${freetype_version}\":g" setupext.py lib/matplotlib/__init__.py || die
distutils-r1_python_prepare_all
}
python_configure_all() {
append-flags -fno-strict-aliasing
append-cppflags -DNDEBUG # or get old trying to do triangulation
tc-export PKG_CONFIG
}
python_configure() {
mkdir -p "${BUILD_DIR}" || die
# create setup.cfg (see setup.cfg.template for any changes).
# common switches.
cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
[directories]
basedirlist = ${EPREFIX}/usr
[provide_packages]
pytz = False
dateutil = False
[packages]
tests = $(usex test True False)
[gui_support]
agg = True
pyside = False
pysideagg = False
qt4 = False
qt4agg = False
$(use_setup cairo)
$(use_setup gtk3)
$(use_setup qt5)
$(use_setup tk)
EOF
if use gtk3 && use cairo; then
echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
else
echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
fi
if python_is_python3; then
cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
gtk = False
gtkagg = False
wx = False
wxagg = False
EOF
else
cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
$(use_setup gtk2 gtk)
$(use_setup wxwidgets wx)
EOF
fi
}
wrap_setup() {
local MAKEOPTS=-j1
local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
unset DISPLAY
"$@"
}
python_compile() {
wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
}
python_compile_all() {
if use doc; then
cd doc || die
# necessary for in-source build
local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
VARTEXFONTS="${T}"/fonts \
emake SPHINXOPTS= O=-Dplot_formats=png:100 html
fi
}
python_test() {
wrap_setup distutils_install_for_testing
distutils_install_for_testing
"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)" || die
}
python_install() {
wrap_setup distutils-r1_python_install
# mpl_toolkits namespace
python_moduleinto mpl_toolkits
python_domodule lib/mpl_toolkits/__init__.py
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
distutils-r1_python_install_all
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
find "${D}" -name '*.pth' -delete || die
}

@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<!--maintainer-needed-->
<longdescription lang="en">
Numba is a NumPy-aware optimizing compiler for Python. It uses the LLVM
compiler infrastructure to compile Python syntax to machine code.

@ -1,5 +1,6 @@
DIST numpy-1.16.5.zip 5138208 BLAKE2B f5511650e66939a6ce21cfad7874aecdeb6c07a70b32419a808956e42c7819d82bb364f1632da91b4d8a5237001c8ae3cbdcac10651fa0acca9558bdeafb5437 SHA512 6dd790ff57fdb7e7b0bddb47ea2b70b2667edefe632548ec68934e12a16af4a51bed9726e495c4993aad4c448dc4a204d0a087577d43dcfc9fa0164eb1d4b898
DIST numpy-1.17.4.zip 6366657 BLAKE2B 89f729bb0740fa721dfe8d1165094a96302fde1e8c272689c11cb4a9bb39d11afaf6eda3ded8a370333b47b9d1ee25e8cb0a602c8cf44964612342c50ea5824f SHA512 f3264be7152437d71718da4728222962013ebd7fe02288d5063f1c763d1c4eee26485c27e8088f4dff79a4d491bc9f191849748c6007d093d22e89c6bff317f3
DIST numpy-1.18.3.zip 5435268 BLAKE2B aaf14627ca24e27806e6a5498a8b91f85c2582794db2ef2ec315e88b107435aeb2e8f288c68ba00593150787d6deb887faa029f850df4c6cb65426499f7ee83f SHA512 afb14dec81ade556e10b7de372e9d7b01b4bf246609c5eea26ad76ce93e6d9caa95479ae70dbfb725f28ac4802f94203c92e1e991852d2866b5225fc9d68e68d
DIST numpy-html-1.16.4.zip 12097069 BLAKE2B db1f897342fbc80a761fbaee7b0eee3761dbfa04ef6c46a137bb2392caaec8256580467ce06498cceeada2639151a1ec75dafab484d64cb897c008727d6d32a5 SHA512 c44c5e1e0cb22f9dd46fe9e302030292d85e567456178fee296746a414271634e906509fb6665ac63fbfebdd13c5383574f0aa47b4fbc639063da31addc3316a
DIST numpy-ref-1.16.4.pdf 5176571 BLAKE2B 9a875ebd1473b241d463d810a6d191581aef961158f2f82959671b554ace3ad482795e4f3e1cb7dd4632cff926c1e864c675a7624fb0f4e4f297948bf50f0564 SHA512 983ba0f34a70c011886bdbc9fd8f3f75a3a967ca29217acc76fa46e7da391296a5628c9a557ac76efb393271abfb8ee4f376d401c1cc1e5c30622e54b9325d09
DIST numpy-user-1.16.4.pdf 596203 BLAKE2B da3ad1f0ec1c965d20656f73a970911cbb58efa73a5df89e2e6485e0dd763f483e35eea1395ac919bf35d496fb216cee954fc5d31edebc1796a24a2a7a2d12b9 SHA512 3083008547213bfa98ffa5cd8e2cea13f6947f42d83aef61502a2a852b0d5f27d727c76b42d281d7a2f4f76c78e88b12ee3d9b164b39fe1f0213ace7097357d6

@ -0,0 +1,152 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE="threads(+)"
FORTRAN_NEEDED=lapack
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit autotools distutils-r1 flag-o-matic fortran-2 multiprocessing toolchain-funcs
DOC_PV="1.16.4"
DESCRIPTION="Fast array and numerical python library"
HOMEPAGE="https://www.numpy.org"
SRC_URI="
mirror://pypi/${PN:0:1}/${PN}/${P}.zip
doc? (
https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
)"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~x86"
IUSE="doc lapack"
RDEPEND="
lapack? (
>=virtual/cblas-3.8
>=virtual/lapack-3.8
)
"
BDEPEND="
${RDEPEND}
app-arch/unzip
>=dev-python/cython-0.29.15[${PYTHON_USEDEP}]
lapack? (
>=sys-devel/automake-1.16.2
>=sys-devel/gcc-6.5.0-r1[fortran]
virtual/pkgconfig
)
test? (
>=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
>=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
)
"
PATCHES=(
"${FILESDIR}"/${PN}-1.17.4-no-hardcode-blasv2.patch
)
distutils_enable_tests pytest
src_unpack() {
default
if use doc; then
unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
fi
}
src_prepare() {
default
eautomake
}
python_prepare_all() {
if use lapack; then
local incdir="${EPREFIX}"/usr/include
local libdir="${EPREFIX}"/usr/$(get_libdir)
cat >> site.cfg <<-EOF || die
[blas]
include_dirs = ${incdir}
library_dirs = ${libdir}
blas_libs = cblas,blas
[lapack]
library_dirs = ${libdir}
lapack_libs = lapack
EOF
else
export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
fi
export CC="$(tc-getCC) ${CFLAGS}"
append-flags -fno-strict-aliasing
# See progress in http://projects.scipy.org/scipy/numpy/ticket/573
# with the subtle difference that we don't want to break Darwin where
# -shared is not a valid linker argument
if [[ ${CHOST} != *-darwin* ]]; then
append-ldflags -shared
fi
# only one fortran to link with:
# linking with cblas and lapack library will force
# autodetecting and linking to all available fortran compilers
append-fflags -fPIC
if use lapack; then
NUMPY_FCONFIG="config_fc --noopt --noarch"
# workaround bug 335908
[[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
fi
# don't version f2py, we will handle it.
sed -i -e '/f2py_exe/s: + os\.path.*$::' numpy/f2py/setup.py || die
# disable fuzzed tests
find numpy/*/tests -name '*.py' -exec sed -i \
-e 's:def \(.*_fuzz\):def _\1:' {} + || die
# very memory- and disk-hungry
sed -i -e 's:test_large_zip:_&:' numpy/lib/tests/test_io.py || die
distutils-r1_python_prepare_all
}
python_compile() {
distutils-r1_python_compile ${NUMPY_FCONFIG}
}
python_test() {
distutils_install_for_testing --single-version-externally-managed \
--record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG}
cd "${TMPDIR}" || die
"${EPYTHON}" -c "
import numpy, sys
r = numpy.test(label='full', verbose=3)
sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
}
python_install() {
# https://github.com/numpy/numpy/issues/16005
local mydistutilsargs=( build_src )
distutils-r1_python_install ${NUMPY_FCONFIG}
python_optimize
}
python_install_all() {
local DOCS=( LICENSE.txt README.md THANKS.txt )
if use doc; then
local HTML_DOCS=( "${WORKDIR}"/html/. )
DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
fi
distutils-r1_python_install_all
}

@ -1 +1,2 @@
DIST numpydoc-0.9.1.tar.gz 27583 BLAKE2B 91764f74b35a740790efa9faade69622d48777fe97a62824b91d78ebf62f806f8c5ec34b1e6c4a4afee6e87358edfa40ca0d316ea41f7ed8501733a51797611b SHA512 85a47ed86823baa3125dde4bb2760ce56f6fed9bb29dc64187dee4101f6344b5065146209f603d50a84a5d9cf0b7f4e5134fc0b495219e68100e05e028b61f2a
DIST numpydoc-0.9.2.tar.gz 27555 BLAKE2B 47b7788c502a26c40889c84563c0b94983655a653fa1f783f47d667021c65c7ffc0d2cdd14a16dfcb982da48642c0b07c949f57336d5b67c897a78815684bcac SHA512 db8f5c3b409ece0a40f1c2ccb06eaa182896d173a5c913c7e6c5780fd021d746c48557fee6f050db8c42cfa41a5021901342bbb93dfd8b8daf7d43fead9cf94a

@ -0,0 +1,29 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
HOMEPAGE="https://pypi.org/project/numpydoc/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
"
BDEPEND="
${RDEPEND}
test? (
>=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}]
)
"
distutils_enable_tests nose

@ -1 +1 @@
DIST ptvsd-3.2.1.tar.gz 51934 BLAKE2B f94b57430bbc39bec90867f3d3b0e98fe88e3a6a8df26ef62f9e5aa4b966358c960881acca4df5a5f8d4538fad0a1c095488b11602673c092236f3110f4e9f8d SHA512 00524c80323ace2753a3ad07b441357f1d4a5c8a6a64eaa0d42c09fac9f6db2c291a1e55dd12ddfd46c257490979359088498fdfdf9fe7afe04bb6ceace33654
DIST ptvsd-4.3.2.tar.gz 7399976 BLAKE2B bd697773fcb504316e827ab0a25c029c77183f9a9ac8295060046bb6af92dcd9f30cd0edcf78dc6fd4c28b7af84054d75143e2734e6f7f19fa93f242800d0c4b SHA512 5d4fc0e37ade9ae5a8d88348102d150f77c49ee5fac657083e094e9f4bec80c36dcc5cfc89649b9b088a6ac2a899071ded3571ebb1bc9bb46e92d4a14dd5d7e0

@ -1,17 +1,15 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1
DESCRIPTION="Visual Studio remote debugging server for Python"
HOMEPAGE="https://pypi.org/project/ptvsd/ https://github.com/Microsoft/ptvsd/"
SRC_URI="https://files.pythonhosted.org/packages/59/de/54ad88ba555ce66920165949febf4810359c000c4c73568a6215603b437d/${P}.tar.gz"
SRC_URI="https://github.com/microsoft/ptvsd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"

@ -1,10 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<!--maintainer-needed-->
<longdescription lang="en">
PyAudio provides Python bindings for PortAudio (media-libs/portaudio),
the cross-platform audio I/O library.

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<!--maintainer-needed-->
<longdescription lang="en">
Python interface to last.fm and other api-compatible websites

@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<!--maintainer-needed-->
<upstream>
<remote-id type="github">jpivarski/pyminuit</remote-id>
</upstream>

@ -4,7 +4,7 @@
EAPI=7
PYTHON_REQ_USE="tk?"
PYTHON_COMPAT=( python3_{7,8} )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1 virtualx
@ -49,5 +49,5 @@ BDEPEND="
S="${WORKDIR}/${MY_P}"
python_test() {
run_in_build_dir virtx pytest -v "${S}"/tests
run_in_build_dir virtx pytest -vv "${S}"/tests
}

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<!--maintainer-needed-->
</pkgmetadata>

@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<!--maintainer-needed-->
<upstream>
<remote-id type="pypi">PyScaffold</remote-id>
</upstream>

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
@ -15,8 +15,7 @@ LICENSE="PSF-2"
SLOT="0"
KEYWORDS="amd64 arm x86"
IUSE="test"
RESTRICT="test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-python/lockfile[${PYTHON_USEDEP}]"

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
@ -15,7 +15,7 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
RESTRICT="test"
RDEPEND="dev-python/dnspython[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]

@ -2,9 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!--maintainer-needed-->
<longdescription lang="en">
Python bindings for Gammu
</longdescription>
<upstream>
<remote-id type="pypi">python-gammu</remote-id>
<remote-id type="github">gammu/python-gammu</remote-id>

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_6} )
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
inherit distutils-r1

@ -0,0 +1,21 @@
--- a/test/git/test_git.py 2020-04-11 23:36:18.858361255 -0700
+++ b/test/git/test_git.py 2020-04-11 23:47:01.929316371 -0700
@@ -8,7 +8,8 @@
import tempfile
-from pkg_resources import parse_version, SetuptoolsLegacyVersion
+from pkg_resources import parse_version
+from packaging.version import LegacyVersion
sys.path.insert(0, "src")
import common
@@ -590,7 +591,7 @@
def assertPEP440(self, got, state, tree, runtime):
where = "/".join([state, tree, runtime])
pv = parse_version(got)
- self.assertFalse(isinstance(pv, SetuptoolsLegacyVersion),
+ self.assertFalse(isinstance(pv, LegacyVersion),
"%s: '%s' was not pep440-compatible"
% (where, got))
self.assertEqual(str(pv), got,

@ -0,0 +1,35 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="Easy VCS-based management of project version strings"
HOMEPAGE="https://pypi.org/project/versioneer/ https://github.com/warner/python-versioneer"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="public-domain"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="
test? ( dev-vcs/git )
"
PATCHES=(
"${FILESDIR}/${PN}-0.18-fix_test_git.patch"
)
python_test() {
esetup.py make_versioneer
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
${PYTHON} test/git/test_git.py -v || die
}

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

Loading…
Cancel
Save