parent
12597f3259
commit
e78b0c41a3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,16 +1,10 @@
|
||||
DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2
|
||||
DIST gentoo-wine-patches-20190316.tar.xz 58848 BLAKE2B 76e66749638589dd6d6eceb4b78690483d14353597a4e47fe9e5325d8bdb2bceff66040c110f63b8bae698bc5838c280c048ff7375ba2ed8cc387cbe0422c79a SHA512 de2cf844ae686144c3f95f0a360c7fa8a62185500758f994b5a65836798bdc3092138dcd9c36d0267a6fcfdc13585258d31b281244a97b45965f40e0f2b29eda
|
||||
DIST gentoo-wine-patches-20190430.tar.xz 58896 BLAKE2B 96c30ee48c4c50720abe8bb1d5a7c2e8ba0691dca3fd38b3807e2b2269236bccb3da18e59b4e35c2703cfb725300ee53c95e9ed584dd9e2c4184b31716b6b4c6 SHA512 52970b1e0673ae84e614db33536e9fa64bb6497a6f19c462f73ddf6b3239f38c9d59fe1c379cd67ef613c0660dcf84e2753e54647f01a8a1b2ee95ae4bb9f8d6
|
||||
DIST gentoo-wine-patches-20190511.tar.xz 58996 BLAKE2B 571c30d94341f567261893f884345b39eab42adc8b5c306a30d03943fd770055e070ae01e41e5add5b873063d3aaa69641faf81b16ac6039970d8a22b177dd7e SHA512 ccd74d0d6acecc7b24dc89466f93099bd6991d607a4fe89d68637d1fa82e02ebd76b532fe1afd8ab8de8ef3f2d49fe8d71f797796a9434f4b0f7a8183c084969
|
||||
DIST wine-3.20.tar.xz 21541928 BLAKE2B 9183dacd1c6ec15ae5283eca3d17db5a869bcba9a93800a422f0dea5d9cfb5d3124a3e942e8b6487cd4ba31cfeacdd66de39128dd66d64e1226d265eae922d3a SHA512 fb66d1d4b427f46dd048b13e53bcd15a5eaeb19039221fe98ec771140c33b3c245a974e52242eab5731ffa0de15f5932204032fe24f86e1a313ff8f11da59cc4
|
||||
DIST wine-3.21.tar.xz 21573872 BLAKE2B 54d8733b19f1377f856c9496f6263eef1916e03caf82c6fcfa39b3e7bec1fecd87466dc92f3739d704a9161a32d9ee680b2cc5e5cdf27a582dc1d89d0b1a6639 SHA512 dd64a6778bf1b848c8fe14dc26cfca21f6c1c92714ca1b2e932a28560a2adc1f69aa1b2cba250f49a5df4f91a4accde677a2afaf960c200d3998eac1957b5c6b
|
||||
DIST wine-4.6.tar.xz 21940848 BLAKE2B 1dbac3b3e6d74b99123a0954015343514d0135a26cffe86499f8fbdfadd04205edfcd0635562519b73397519f298abe7e18693fa1433aa05255b2435a2eedb1a SHA512 b5d8568de0256bdd9f3fcaef725c8daa90d028838fd490f75d7f08a7c538103a957a4fd03857a8fbbdf1de6acb7237b183dad24d6057be50dae12af227cd2c98
|
||||
DIST wine-4.10.tar.xz 22109948 BLAKE2B 60e627d1e88eaa71c08ab15f093b1b11a8ce619f6b4bde08ccabc6b28bfaa44822f407e14b78c67680e00eec01fa01ba8cd851faa73dd42fb77f394a8556ab7d SHA512 cafc1d268719f723091429d9d8787044719f0936b00d47c6d01cef4d9c141fed7ba5b9776c1c63c68934a0a1071fb74daa0440aa52e77c4e42aca894163d6f54
|
||||
DIST wine-4.7.tar.xz 21962632 BLAKE2B 2f90212c93fb089fafb0dd44189044b3875a52e3f6b5300a44893ac9760afb398330c293abbffca15cd9f9a6da72e97c2702c04525e02663186d723f1f322da7 SHA512 cb768528db510f81d464b9c1bb48847162baaa86ef00dc7a418afdce38aa51262d150c14b3362fb40c93cc2e3633fc02b2916167f21af8a708eb393da6ba9163
|
||||
DIST wine-4.8.tar.xz 22024100 BLAKE2B cf87407a5fca83660c866a17ebeec62a97404c1eeb1d7b34a0995510e04aec2fe0350b644870a3d4817177b002cf07e69cd6761593122c93c22bda50bb8aec0b SHA512 ad91c31aad86b9932777a1c5a84760f41c63cfbb5d79f1a8afd132a8948667283f85e081a454cfc0904544394eaabb00fb986eba15efd8a8409db38e793f3dab
|
||||
DIST wine-4.9.tar.xz 22077528 BLAKE2B 98cf186152abc8379275b353e3934efc285cc386f33188a283e3568f803090057bcc90da6dd6c6c1e9d7dbbcf61fbe4a2316107ff129a7d7baa174982f9dcf26 SHA512 bf750af9569b0c564cd9581b9de8c399f6e42227eb6e79338ec6ba70f135fe3388b0792ff013add97341c488ed906227cdf93cc275e362ba232df78afaaab66d
|
||||
DIST wine-staging-3.20.tar.gz 9950555 BLAKE2B ee66217b708287bd95d61e23fb92009d927a75556f22e89b9c5af66cb6c6445f77a1c3153da168da92ebac58606843c4639f1a99bd5089941595181f390980f0 SHA512 4b92e53e84046d99c3f7ec5e0d0d7e62fdb767b1c44e23605125744686439fe62991c8adea941950b390a01d251ecbb79f3b329cfe5a1b1fbc76c5372283579d
|
||||
DIST wine-staging-3.21.tar.gz 9945982 BLAKE2B 988927c644e9abf472c42021cae39f38cdae24b397072fb53dc803da32bc80e8b6256554d787db0b6bffafac4104a9abf4ab8fa6e78fd0a308bf8906d658a65d SHA512 17f8194954a420d1424d564ba9ad5e6d4dd574dc38da4895d5b6740c1990f8655cb573bd57c77ace2c78c71da4782b511a5ac937ca1f0fc958e3c925abaeefde
|
||||
DIST wine-staging-4.6.tar.gz 9937386 BLAKE2B 105f1e040b03835ea59100cde609ed005970ccdcc37ede775f13df73a50f19a8b192f17500e3658759eabe3dc0e529d0b658c218f7fd87cae72994806fd4dfe2 SHA512 4b44cbdeffc8042c22d485c3d440894287793652734b7a791269a2f45ea10ceb81ce8c8bd302c55f62b04c127344532772ce2078d99835d22afa0088e153a888
|
||||
DIST wine-staging-4.10.tar.gz 9924803 BLAKE2B 91812a8004a96d859c43b2bf00d38e0cae425429070b0892ca7051a6aa07aae3142e6f49086713a1042efa9a7376742a9cff4e50dd050b0dbff28f774b75f4c6 SHA512 f65ed761d9cbfb58aef19ea8a90c049996855a49de747f1858703e765292532dc7bb487ecfe50eb2e7e87c673507a5e287f6f80aa2d50aabe9066314809c1f03
|
||||
DIST wine-staging-4.7.tar.gz 9944737 BLAKE2B ccbded3c39efc00cdedd3eee9d4cf21ccdb75fceeed2a953bef6f5ed642e665eb8c519e1717f1b152ee456e6c2fa3759369a7014940bf035dbc34e2188ffa894 SHA512 1d9040ea542d18d5d041179cede7e1db40fc638bdb4ffef70a257dc50310e9fd0f93e5aa222d2d90551783b5a5064b3919a19e9072f931a7ae89506c462fb3e6
|
||||
DIST wine-staging-4.8.tar.gz 9926681 BLAKE2B c5b5017c9675b3124f647d099755a997626a0c9f969a0d024473cb7cf52d2bb6b58f6ce427b86a13531d53b6172a3d3d62096926b6ffe013c9b15fc03ae11470 SHA512 f2e7fbe1ed0f77bd307185d0f7aa9e837e64f86ae98828db25e05c998ec07a9dd57dc9f3e6b093310c95ff2a517825d36420d7bd9fc9028d11bc29321ac3559e
|
||||
DIST wine-staging-4.9.tar.gz 9926386 BLAKE2B 17030134343da1971075f0397b56442d4cb459b491f0751c9f21dd4061d5110ab2c5c44cc984d43b8ad3480f735df3e6b9246868aec4984cc1c8be56072c44c1 SHA512 9676f54833a424f965af7591c40aa40cd3fb3b36062484de56585a631dafa68a9a545f00153350c067a0d73146f9f169a678041bb141f7562f9df6e31ec4e2d5
|
||||
|
@ -1,614 +0,0 @@
|
||||
# Copyright 1999-2018 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 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 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 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
GWP_V="20180120"
|
||||
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/~np-hardass/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 ffmpeg +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 )
|
||||
ffmpeg? ( staging )
|
||||
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}] )
|
||||
ffmpeg? ( >=media-video/ffmpeg-4:=[${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[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.3 )
|
||||
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}-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 ${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_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
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}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--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 ffmpeg)
|
||||
$(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)
|
||||
)
|
||||
|
||||
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}
|
||||
|
||||
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
|
||||
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
|
||||
}
|
@ -1,614 +0,0 @@
|
||||
# Copyright 1999-2018 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 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 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 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
GWP_V="20180120"
|
||||
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/~np-hardass/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 ffmpeg +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 )
|
||||
ffmpeg? ( staging )
|
||||
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}] )
|
||||
ffmpeg? ( >=media-video/ffmpeg-4:=[${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[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.3 )
|
||||
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}-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 ${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_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
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}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--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 ffmpeg)
|
||||
$(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)
|
||||
)
|
||||
|
||||
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}
|
||||
|
||||
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
|
||||
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
|
||||
}
|
@ -1,14 +1,9 @@
|
||||
DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2
|
||||
DIST gentoo-wine-patches-20190316.tar.xz 58848 BLAKE2B 76e66749638589dd6d6eceb4b78690483d14353597a4e47fe9e5325d8bdb2bceff66040c110f63b8bae698bc5838c280c048ff7375ba2ed8cc387cbe0422c79a SHA512 de2cf844ae686144c3f95f0a360c7fa8a62185500758f994b5a65836798bdc3092138dcd9c36d0267a6fcfdc13585258d31b281244a97b45965f40e0f2b29eda
|
||||
DIST gentoo-wine-patches-20190430.tar.xz 58896 BLAKE2B 96c30ee48c4c50720abe8bb1d5a7c2e8ba0691dca3fd38b3807e2b2269236bccb3da18e59b4e35c2703cfb725300ee53c95e9ed584dd9e2c4184b31716b6b4c6 SHA512 52970b1e0673ae84e614db33536e9fa64bb6497a6f19c462f73ddf6b3239f38c9d59fe1c379cd67ef613c0660dcf84e2753e54647f01a8a1b2ee95ae4bb9f8d6
|
||||
DIST gentoo-wine-patches-20190511.tar.xz 58996 BLAKE2B 571c30d94341f567261893f884345b39eab42adc8b5c306a30d03943fd770055e070ae01e41e5add5b873063d3aaa69641faf81b16ac6039970d8a22b177dd7e SHA512 ccd74d0d6acecc7b24dc89466f93099bd6991d607a4fe89d68637d1fa82e02ebd76b532fe1afd8ab8de8ef3f2d49fe8d71f797796a9434f4b0f7a8183c084969
|
||||
DIST wine-3.0.3.tar.xz 19735412 BLAKE2B f0ccbe272f1013386f89805cf1573cf001eb875bccb31a1884fad1dff5f90caf727c460406af80f63db7a227d85f25f57c8e8e650a171adbe0c3f5178ddf17e8 SHA512 11043a9a9434681f9c73590688b600b3b9e3d311be2c4d97b5f58f0740500ebcfbdc826bd6584d5dd392dccbdd9389ffa04c8fedbba43a4df2e6aeb922414412
|
||||
DIST wine-3.0.4.tar.xz 20556944 BLAKE2B 122c06e38cae9f9d2358908d0d325ed4e0dc3d1bf3e189fcfd1a713ca147d5360934cc21c387939bb5ba6dec9410d85b586d95207089b6aa033eea15bfc209e3 SHA512 e1ce33bbc165a9c640a38965a229b757b67746f2150d545eb0e29ba6d21cdf150bd8eb9a450d8dd71733fbea3b2ac24839dd8e381b7da9cd15ddf98c59304198
|
||||
DIST wine-3.20.tar.xz 21541928 BLAKE2B 9183dacd1c6ec15ae5283eca3d17db5a869bcba9a93800a422f0dea5d9cfb5d3124a3e942e8b6487cd4ba31cfeacdd66de39128dd66d64e1226d265eae922d3a SHA512 fb66d1d4b427f46dd048b13e53bcd15a5eaeb19039221fe98ec771140c33b3c245a974e52242eab5731ffa0de15f5932204032fe24f86e1a313ff8f11da59cc4
|
||||
DIST wine-3.21.tar.xz 21573872 BLAKE2B 54d8733b19f1377f856c9496f6263eef1916e03caf82c6fcfa39b3e7bec1fecd87466dc92f3739d704a9161a32d9ee680b2cc5e5cdf27a582dc1d89d0b1a6639 SHA512 dd64a6778bf1b848c8fe14dc26cfca21f6c1c92714ca1b2e932a28560a2adc1f69aa1b2cba250f49a5df4f91a4accde677a2afaf960c200d3998eac1957b5c6b
|
||||
DIST wine-4.0.1.tar.xz 21665840 BLAKE2B b33b5ce8b4624dfbbbf473a88ed8c52d5e53855fa98ac3128e9b89dbeee6e92044ed1e662e1dc9669bd8d805424c36f2dd2c836c51bf6a5e4d78350926a13150 SHA512 dd240525e389f841123a569fd2f9b8da698b7707bc0de408dfd60ae73c5e24d522abb42b76571c840df52c686fdeae56e0a9c69db2cd31f04cdb345feeacf1dc
|
||||
DIST wine-4.0.tar.xz 21644692 BLAKE2B 9c426ef2249c16e908a3617c2844d8b12a2df843721338b1cfb69459815b902cfa0ddf3d74c09dc900fb2ceb003e54d97a7c0afaac51a9caab7d21beb82e26c3 SHA512 7607fa7a3d5f7bcd3d8c4c9e7bb6e1987466110bbfc672782ebe57c6d9da348c58e76abf40b0a70c725dfd703163db6e194ee0e3db11a47b6b60e225163308dd
|
||||
DIST wine-4.6.tar.xz 21940848 BLAKE2B 1dbac3b3e6d74b99123a0954015343514d0135a26cffe86499f8fbdfadd04205edfcd0635562519b73397519f298abe7e18693fa1433aa05255b2435a2eedb1a SHA512 b5d8568de0256bdd9f3fcaef725c8daa90d028838fd490f75d7f08a7c538103a957a4fd03857a8fbbdf1de6acb7237b183dad24d6057be50dae12af227cd2c98
|
||||
DIST wine-4.10.tar.xz 22109948 BLAKE2B 60e627d1e88eaa71c08ab15f093b1b11a8ce619f6b4bde08ccabc6b28bfaa44822f407e14b78c67680e00eec01fa01ba8cd851faa73dd42fb77f394a8556ab7d SHA512 cafc1d268719f723091429d9d8787044719f0936b00d47c6d01cef4d9c141fed7ba5b9776c1c63c68934a0a1071fb74daa0440aa52e77c4e42aca894163d6f54
|
||||
DIST wine-4.7.tar.xz 21962632 BLAKE2B 2f90212c93fb089fafb0dd44189044b3875a52e3f6b5300a44893ac9760afb398330c293abbffca15cd9f9a6da72e97c2702c04525e02663186d723f1f322da7 SHA512 cb768528db510f81d464b9c1bb48847162baaa86ef00dc7a418afdce38aa51262d150c14b3362fb40c93cc2e3633fc02b2916167f21af8a708eb393da6ba9163
|
||||
DIST wine-4.8.tar.xz 22024100 BLAKE2B cf87407a5fca83660c866a17ebeec62a97404c1eeb1d7b34a0995510e04aec2fe0350b644870a3d4817177b002cf07e69cd6761593122c93c22bda50bb8aec0b SHA512 ad91c31aad86b9932777a1c5a84760f41c63cfbb5d79f1a8afd132a8948667283f85e081a454cfc0904544394eaabb00fb986eba15efd8a8409db38e793f3dab
|
||||
DIST wine-4.9.tar.xz 22077528 BLAKE2B 98cf186152abc8379275b353e3934efc285cc386f33188a283e3568f803090057bcc90da6dd6c6c1e9d7dbbcf61fbe4a2316107ff129a7d7baa174982f9dcf26 SHA512 bf750af9569b0c564cd9581b9de8c399f6e42227eb6e79338ec6ba70f135fe3388b0792ff013add97341c488ed906227cdf93cc275e362ba232df78afaaab66d
|
||||
|
@ -1,525 +0,0 @@
|
||||
# Copyright 1999-2018 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator 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=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* amd64 x86 ~x86-fbsd"
|
||||
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 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 selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )" # 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}] )
|
||||
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}] )
|
||||
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}] )
|
||||
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.1 )
|
||||
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
|
||||
"${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864
|
||||
)
|
||||
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 "WINE_COMMIT"
|
||||
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_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
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}" EGIT_COMMIT="${WINE_COMMIT}" 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
|
||||
# Requires wine-2.0-rearrange-manpages.patch
|
||||
|
||||
# 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}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--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 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_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(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,525 +0,0 @@
|
||||
# Copyright 1999-2018 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 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 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}.0/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
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 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 selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )" # 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}] )
|
||||
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}] )
|
||||
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}] )
|
||||
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.1 )
|
||||
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
|
||||
"${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864
|
||||
)
|
||||
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_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
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
|
||||
# Requires wine-2.0-rearrange-manpages.patch
|
||||
|
||||
# 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}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--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 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_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(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,532 +0,0 @@
|
||||
# Copyright 1999-2018 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 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 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 ~x86-fbsd"
|
||||
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.3 )
|
||||
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_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
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}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--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,532 +0,0 @@
|
||||
# Copyright 1999-2018 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 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 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 ~x86-fbsd"
|
||||
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.3 )
|
||||
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_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
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}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--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
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST eix-0.33.7.tar.xz 626008 BLAKE2B 13d1f5b3096ec1ced13435f3680454c5b6f035ddbaa7877c7d2898b044fcc673f2c30b5ad25b8a3aa01354c726cf6ebf6483dc49f102145957dad95437931f63 SHA512 a6f2f553a05351c642c5ad5dcb8dc804585e1476d35dbe2c056ed493d1e37576e5e57fe0317f4fe4f6310c5439d23cbbe7384da8fbe9761eddca10e463950077
|
||||
DIST eix-0.33.8.tar.xz 627116 BLAKE2B b301b4218d60c13a8d6c4be484b65e9bc257e6c4d1989054cc844861cd6ec96194e60094e72833f82cfaf1b1d14a249045590dbfc91a39e5c92d5dae13b2c643 SHA512 014ce5b660430e117e8037d8043bdfe5e6e98b7cb889e88d93aeb87e650296a8db64871f3eb736842dbebde7eb1f23936f6df9f5f547f89565734b7874e6e907
|
||||
|
@ -0,0 +1,104 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools bash-completion-r1 flag-o-matic tmpfiles
|
||||
|
||||
DESCRIPTION="Search and query ebuilds"
|
||||
HOMEPAGE="https://github.com/vaeth/eix/"
|
||||
SRC_URI="https://github.com/vaeth/eix/releases/download/v${PV}/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug doc nls sqlite"
|
||||
|
||||
BOTHDEPEND="nls? ( virtual/libintl )
|
||||
sqlite? ( >=dev-db/sqlite-3:= )"
|
||||
RDEPEND="${BOTHDEPEND}
|
||||
>=app-shells/push-2.0-r1
|
||||
>=app-shells/quoter-3.0_p2-r1"
|
||||
DEPEND="${BOTHDEPEND}
|
||||
app-arch/xz-utils
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
pkg_setup() {
|
||||
# remove stale cache file to prevent collisions
|
||||
local old_cache=${EROOT%/}/var/cache/${PN}
|
||||
if [[ -f ${old_cache} ]]; then
|
||||
rm "${old_cache}" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e "s:/:${EPREFIX}/:" tmpfiles.d/eix.conf || die
|
||||
|
||||
sed -e "/eixf_source=/s:push.sh:cat \"${EROOT}usr/share/push/push.sh\":" \
|
||||
-e "/eixf_source=/s:quoter_pipe.sh:cat \"${EROOT}usr/share/quoter/quoter_pipe.sh\":" \
|
||||
-i src/eix-functions.sh.in || die
|
||||
sed -e "s:'\$(bindir)/eix-functions.sh':cat \\\\\"${EROOT}usr/share/eix/eix-functions\\\\\":" \
|
||||
-i src/Makefile.am || die
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
$(use_enable debug paranoic-asserts)
|
||||
$(use_enable nls)
|
||||
$(use_with doc extra-doc)
|
||||
$(use_with sqlite)
|
||||
|
||||
# default configuration
|
||||
$(use_with prefix always-accept-keywords)
|
||||
--with-dep-default
|
||||
--with-required-use-default
|
||||
|
||||
# paths
|
||||
--with-portage-rootpath="${ROOTPATH}"
|
||||
--with-eprefix-default="${EPREFIX}"
|
||||
|
||||
# build a single executable with symlinks
|
||||
--disable-separate-binaries
|
||||
--disable-separate-tools
|
||||
|
||||
# used purely to control/disrespect *FLAGS
|
||||
--disable-debugging
|
||||
--disable-new_dialect
|
||||
--disable-optimization
|
||||
--disable-strong-optimization
|
||||
--disable-security
|
||||
--disable-nopie-security
|
||||
--disable-strong-security
|
||||
)
|
||||
|
||||
# https://github.com/vaeth/eix/issues/35
|
||||
append-cxxflags -std=c++14
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
dobashcomp bash/eix
|
||||
dotmpfiles tmpfiles.d/eix.conf
|
||||
|
||||
rm -r "${ED%/}"/usr/bin/eix-functions.sh || die
|
||||
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process eix.conf
|
||||
|
||||
local obs=${EROOT%/}/var/cache/eix.previous
|
||||
if [[ -f ${obs} ]]; then
|
||||
ewarn "Found obsolete ${obs}, please remove it"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
if [[ ! -n ${REPLACED_BY_VERSION} ]]; then
|
||||
rm -rf "${EROOT%/}/var/cache/${PN}" || die
|
||||
fi
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST portage-utils-0.62.tar.xz 527216 BLAKE2B ac8331b74998ddb86db55a937992447bccf60611cc259ceb5fe79918c1a43b6dc4633e4ad64462e2df5c39e8d8aa193bd57ab24dcd714e088357eb3cb177e972 SHA512 71b2888cef1bf7549c3829cc7d4bbe2e99a711434bae4fb78c55b9c37815b61623518f19ab87db30f533d771398933c085640dc7c8ffcedf87a70ac702a52fa1
|
||||
DIST portage-utils-0.74.tar.xz 1587792 BLAKE2B 7c4588e3d44266a5260df42cc685aa03c584248e9970956033e4191a7a842a4b2162110ac99c2bb18645aaafc6ae6ee960e9b26ba0a8863497911eef1e943f64 SHA512 cd3f44c135b3d44e15a95eed41281fce62f225a9d05d5d5bb1be230b2d59cdb87755f011b313a9ec32e4cafdf3b3979c4ef423365edd7dcc472ca2e38c09c83e
|
||||
DIST portage-utils-0.80_pre20190610.tar.xz 1759044 BLAKE2B aaf2ca91b62dc475ba2c980f916755326816032f61088451c1e87113b7fbc06b669e7bef75aa853449447110b5361a73829cc08a78d586b4ea7c66a85343d94c SHA512 009c8c37d6aa255e179aaf2f43eeed4fcec6ced22fcf89bd49d36a85ee23eb588d88798a7aedc685f696c2affe203848325dba941b8813b6be22e0eb26ecbc52
|
||||
DIST portage-utils-0.80_pre20190613.tar.xz 1760016 BLAKE2B c36240f6fff40a3acb9c0f485d73d37dab4d9b4acc280eaabfbb11e17112c11330068a2e0bbb316bbab8a4ed9da1f9bd843b42f062c0cfbd80160709824b0825 SHA512 1b2f9e5eb8adb0f7da8c122374660e4e8f1b7a5af2ea5f4f16d7dcfb7b7c140f424b6980f664a2c5d987710ad046301e95eb72311158bb3187f471fe78e190b1
|
||||
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST wgetpaste-2.28.tar.bz2 12448 BLAKE2B 231b6d00ecf9c355f45683d56537c0fe6a5d6561e42edee680b228f5a76e7e1b202669e429f7941b6daaf14682e5a8469521713930bb42387e168965acfccca2 SHA512 b3b9ee4bfbc52da6762b06c2640385eeedab7910ad1bc4e92ff9304371ec2442e2d30b69ebc0f1407a00a9c8afde398e00dc3d3c048452d730517227a68e6b97
|
||||
DIST wgetpaste-2.29.tar.bz2 12988 BLAKE2B 838b84632754f6e07c25fe3648e14bf939dff4e08ae8e8064e94008beb436f77738e4f54859115321fbf445a323641ebfecf5fd7d09bbbb46c72e913687deb07 SHA512 6596842733bb5d1d52cbb3cbcf61ba714f0cbfdc13acb4d6025ccfd27c214adaf886ac3a0a11baefaa4af3f33165619e5a3360b4e0807d29e8dc8ef5ff819bb6
|
||||
|
@ -0,0 +1,27 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
DESCRIPTION="Command-line interface to various pastebins"
|
||||
HOMEPAGE="http://wgetpaste.zlin.dk/"
|
||||
SRC_URI="http://wgetpaste.zlin.dk/${P}.tar.bz2"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE="+ssl"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="net-misc/wget[ssl?]"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s:/etc:\"${EPREFIX}\"/etc:g" wgetpaste || die
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${PN}
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins _wgetpaste
|
||||
}
|
Binary file not shown.
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit multiprocessing
|
||||
MYP=${PN}-gpl-${PV}-src
|
||||
|
||||
DESCRIPTION="To develop tools for Ada software"
|
||||
HOMEPAGE="http://libre.adacore.com/"
|
||||
SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819e0c7a447df26c27ab8
|
||||
-> ${MYP}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="gnat_2017 +gnat_2018 gnat_2019"
|
||||
|
||||
RDEPEND="
|
||||
gnat_2017? ( dev-ada/gnat_util[gnat_2017] )
|
||||
gnat_2018? ( dev-ada/gnat_util[gnat_2018] )
|
||||
gnat_2019? ( dev-ada/gnat_util[gnat_2019] )
|
||||
|| (
|
||||
dev-ada/gnatcoll-core[gnat_2017=,gnat_2018=,gnat_2019=,shared]
|
||||
dev-ada/gnatcoll[gnat_2017=,gnat_2018=,gnat_2019=,projects,shared]
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-ada/gprbuild[gnat_2017=,gnat_2018=,gnat_2019=]"
|
||||
|
||||
REQUIRED_USE="|| ( gnat_2017 gnat_2018 gnat_2019 )"
|
||||
|
||||
S="${WORKDIR}"/${MYP}
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch )
|
||||
|
||||
src_compile() {
|
||||
emake PROCESSORS=$(makeopts_jobs) \
|
||||
GPRBUILD_FLAGS="-vl"
|
||||
emake tools PROCESSORS=$(makeopts_jobs) \
|
||||
GPRBUILD_FLAGS="-vl \
|
||||
-XGPR_BUILD=relocatable \
|
||||
-XLIBRARY_TYPE=relocatable \
|
||||
-XXMLADA_BUILD=relocatable"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake prefix="${D}"/usr install
|
||||
emake prefix="${D}"/usr install-tools \
|
||||
GPRINSTALL="gprinstall \
|
||||
-XGPR_BUILD=relocatable \
|
||||
-XLIBRARY_TYPE=relocatable \
|
||||
-XXMLADA_BUILD=relocatable"
|
||||
rm -r "${D}"/usr/share/gpr/manifests || die
|
||||
mv "${D}"/usr/bin/gnatpp{,-asis} || die
|
||||
}
|
@ -1,81 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit multiprocessing
|
||||
|
||||
MYP=${PN}-gpl-${PV}
|
||||
|
||||
DESCRIPTION="Set of modules that provide a simple manipulation of XML streams"
|
||||
HOMEPAGE="http://libre.adacore.com/"
|
||||
SRC_URI="http://mirrors.cdn.adacore.com/art/591aeb88c7a4473fcbb154f8 ->
|
||||
${MYP}-src.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="gnat_2016 gnat_2017 +gnat_2018 gnat_2019 +shared static-libs static-pic"
|
||||
REQUIRED_USE="|| ( shared static-libs static-pic )
|
||||
^^ ( gnat_2016 gnat_2017 gnat_2018 gnat_2019 )"
|
||||
|
||||
RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
|
||||
gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
|
||||
gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )
|
||||
gnat_2019? ( dev-lang/gnat-gpl:8.3.1 )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-ada/gprbuild[gnat_2016(-)?,gnat_2017(-)?,gnat_2018(-)?,gnat_2019(-)?]"
|
||||
|
||||
S="${WORKDIR}"/${MYP}-src
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
|
||||
|
||||
src_configure () {
|
||||
econf --prefix="${D}"/usr
|
||||
}
|
||||
|
||||
src_compile () {
|
||||
build () {
|
||||
gprbuild -j$(makeopts_jobs) -m -p -v -XLIBRARY_TYPE=$1 \
|
||||
-XBUILD=Production -XPROCESSORS=$(makeopts_jobs) xmlada.gpr \
|
||||
-cargs ${ADAFLAGS} || die "gprbuild failed"
|
||||
}
|
||||
if use shared; then
|
||||
build relocatable
|
||||
fi
|
||||
if use static-libs; then
|
||||
build static
|
||||
fi
|
||||
if use static-pic; then
|
||||
build static-pic
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake test
|
||||
emake run_test | grep DIFF && die
|
||||
}
|
||||
|
||||
src_install () {
|
||||
build () {
|
||||
gprinstall -XLIBRARY_TYPE=$1 -f -p -XBUILD=Production \
|
||||
-XPROCESSORS=$(makeopts_jobs) --prefix="${D}"usr \
|
||||
--install-name=xmlada --build-var=LIBRARY_TYPE \
|
||||
--build-var=XMLADA_BUILD \
|
||||
--build-name=$1 xmlada.gpr || die "gprinstall failed"
|
||||
}
|
||||
if use shared; then
|
||||
build relocatable
|
||||
fi
|
||||
if use static-libs; then
|
||||
build static
|
||||
fi
|
||||
if use static-pic; then
|
||||
build static-pic
|
||||
fi
|
||||
|
||||
einstalldocs
|
||||
dodoc xmlada-roadmap.txt
|
||||
rm "${D}"/usr/share/doc/${PN}/.buildinfo || die
|
||||
rm -r "${D}"/usr/share/gpr/manifests || die
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,10 +1,13 @@
|
||||
DIST swi-prolog-7.4.2-gentoo-patchset-3.tar.gz 3256 BLAKE2B d7997d7307db738f0948a89f5e1cee195be4424737e50df915a293c7cb1b3bc1ce09ebd372e8c5f24c95df7335676f12cdc04749de25396eac71471704cfc579 SHA512 bc1b408e311d10ab59fa221bf5ef3d3cb1003a3edcdd13fd000cbc647117458e1f130e960cc37968481ccc2047529ca128159fac8e0ee75114022ed439905cce
|
||||
DIST swi-prolog-7.6.4-gentoo-patchset-1.tar.gz 572 BLAKE2B 11ea1f22a997ea495a388627396ac571230de65b0ed2718c1127de04f563660fab0e6f8fd14b537de11a20c9651897f0b4f9d5a0d848c9d5f1f62e0c6e2b6705 SHA512 ce9f66af8764a89af42366d3e5c9d52d597f715022894cd4a2f283bb50be4070b3dbe3258ecf4bcf8808a6230ee023fce1edd9a8ad4342ceeb35d1b17770e4a2
|
||||
DIST swi-prolog-8.0.1-gentoo-patchset-0.tar.gz 1216 BLAKE2B 79017ab32c1dec8834eb30ecf7d7540d40b6a70f2f8fd5ddaec49d669651fc365b6fb8cf4ae5bb91d18df9d9296562ba2b6bf7e2449b78d46e29c0cd5846630d SHA512 a0599f41611f805b056e8a74e5565cb2efb18018f8efbbed3f0b619157fcbc2c33ec4b109dcd0e9ce84eec1daf7c53c609b007e9081a14c597c2c0e36845986b
|
||||
DIST swi-prolog-8.0.2-gentoo-patchset-0.tar.gz 775 BLAKE2B db9cf9247ed1b92a3e810442dac415d017822d7b78a96671b719bbfbfb0208f8c62b93d8d0da864701207a5a2bbd6f0e77b926672897b3b124d55e95191cbc9b SHA512 b64461f63206d892bade49f28d6df1d8c8fb0e684d0d945f89f944af4589bc9bd703a91fa5bc82112ffe5d4f13c0646a5830c643978ed7fe4b700412bfc62daf
|
||||
DIST swipl-7.4.2.tar.gz 16496738 BLAKE2B a8f45c4277e48c0aa38f8b278b466dcb9e0a776325a9ed9e08c252660671d3ee0ee441978394682276b3fb9b0eca73ad10e02aba4671630bef0a1e8f813dd3c5 SHA512 5b526d4f079e7a36184f871bb7341330bcadaeee2a69af981fbcad71ae76c77331b1f157174ac2b31d96e069dc530afa86c024de6709edd9dc8baee3b4ebffb3
|
||||
DIST swipl-7.6.3.tar.gz 16772590 BLAKE2B 644be801e290ec9d949a9b7462256a35e11cf9afd62d0b62c315e3620a3943809f58698a23f279454e00299f7b7f7b91e8d9694a139e8c424cb2f83a4efc7a52 SHA512 d84af1a565935af9934c6b75192bb2dd87388ee8fe793ade35d5549a95ec5eb83da6b10508766e795f88393fededea4ec7a3a0c2f0f685d96ab615e171d7d1f4
|
||||
DIST swipl-7.6.4.tar.gz 16777875 BLAKE2B 94409966362e649f4748b94b4ec25415bb827c7742aa39453d8e37db4ce992a65ad2d054ded4e651f2a9abe3a9438285bc9c9c895437c087ae6cf88f4afae9ca SHA512 f0ed16e4f1436115651c38a0bb37008d0dadad5a19b0f09894fcfc51dd3d429f86488e89cce00788c3c36cc2f0cd2957f92df47d5441133a6f8ea9d91ca5470f
|
||||
DIST swipl-8.0.0.tar.gz 10352830 BLAKE2B f5ce1c5d0d48b4904a09b16c0b84b3a0c7385d087aeaa5fb1d673014e10a82e89d477ffb193a37f5b1a8db70cc46b8531cb2358ee8927f8f46b7321edc9c6754 SHA512 1a569793c5cbc7c02a81f94ad73f29459bf085d01162b74b1b72c2a52090d882ae0aee0de6363d143c3fac20f2bbb0e74c2f035d3f3114395048fb4a8073ed5a
|
||||
DIST swipl-8.0.1.tar.gz 10364104 BLAKE2B 638ce216c361fe0a85d691989894c113714511628cb305ac990a60cc376a3c5d4f373461e0f2ee66df9954913c6fe7c45d4ef2660dd6fed5bca9339c692a9882 SHA512 40ffb9ecf213ae49b397e5a37d6fb90b83fc353a8408662e193e289c87de9e851427f6523061f067050b258ddad1ded157caf8124149c0335203b9bf08e7baf6
|
||||
DIST swipl-8.0.2.tar.gz 10413446 BLAKE2B 72214b86cb7276ce528b2791ed08273d568952d5a7109882a1a485c183252f5e9eb90ae18e3712e2adf9f0521c447b06daa455ee637298a64e476e675211c0bc SHA512 88b42846edefa45d67cf016f2d8bca5dfbf153667dcec36785dc441208e09c1e45cf979a7b6862de2bdf3dce4947f2d8c2e445714798de84f5e1841df57dbe96
|
||||
DIST swipl-8.1.5.tar.gz 10547299 BLAKE2B 2fd158ed21da8ca20cbd6a593f384e4ba362b493e338012c6e6c410dfdc64861fa8613fba33e6553cc26ef360d910ce708c45df6c020bebca756b3df5a0a777e SHA512 992f3d8deacce5bf9b5277ec30f79bff0c8d765ff891b126d9f30a7c2c0a3dca7448c58083007a677f162d371143a6936e08e8395b72f6ddc2efecd16b56fcef
|
||||
DIST swipl-8.1.6.tar.gz 10638490 BLAKE2B bf64c8968971720ebba0eacf73a14b1f4ae3c84550ac2ef001f609e4a0793e1fb1bb9fbe2b5f9c6d7e54bf8f815eb81508fd42e6745a04c736d76ba03d6c6fac SHA512 809526860aa7d93403637856b8705806a0604e3feb96774c712549ad3b385e708c87de6e11fce1456fb278fe5815fbbca12247fe8725ba167c9151e236ec3485
|
||||
DIST swipl-8.1.7.tar.gz 10650684 BLAKE2B 2a8c008997801bb9a7b074975c8d12ad86c3061373acf2c586db9b32a3feb3add945981ac24612e5076adc1e1f29eb3a1b1dca2299ac326552c61de364847520 SHA512 670d38b88ca8366186cc7be64170b6da6ed64ef41e7865bb1a4acc631fb8676f3a15dc04da2ca9521b4742d6693fa450539e0576c5db5f76a03a1bdd4eec45a6
|
||||
|
@ -0,0 +1,100 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils eutils flag-o-matic multilib
|
||||
|
||||
PATCHSET_VER="0"
|
||||
|
||||
DESCRIPTION="versatile implementation of the Prolog programming language"
|
||||
HOMEPAGE="http://www.swi-prolog.org/"
|
||||
SRC_URI="http://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz
|
||||
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
|
||||
|
||||
RDEPEND="sys-libs/ncurses:=
|
||||
sys-libs/zlib
|
||||
archive? ( app-arch/libarchive )
|
||||
berkdb? ( >=sys-libs/db-4:= )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
pcre? ( dev-libs/libpcre )
|
||||
readline? ( sys-libs/readline:= )
|
||||
libedit? ( dev-libs/libedit )
|
||||
gmp? ( dev-libs/gmp:0 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
java? ( >=virtual/jdk-1.7:= )
|
||||
uuid? ( dev-libs/ossp-uuid )
|
||||
qt5? (
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtgui:5
|
||||
)
|
||||
X? (
|
||||
virtual/jpeg:0
|
||||
x11-libs/libX11
|
||||
x11-libs/libXft
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXt
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM )
|
||||
yaml? ( dev-libs/libyaml )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
java? ( test? ( =dev-java/junit-3.8* ) )"
|
||||
|
||||
S="${WORKDIR}/swipl-${PV}"
|
||||
BUILD_DIR="${S}/build"
|
||||
CMAKE_USE_DIR="${S}"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE=yes
|
||||
EPATCH_SUFFIX=patch
|
||||
if [[ -d "${WORKDIR}"/${PV} ]] ; then
|
||||
epatch "${WORKDIR}"/${PV}
|
||||
fi
|
||||
|
||||
sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
|
||||
|
||||
eapply_user
|
||||
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fno-strict-aliasing
|
||||
use debug && append-flags -DO_DEBUG
|
||||
|
||||
mycmakeargs=(
|
||||
-DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
|
||||
-DUSE_GMP=$(usex gmp)
|
||||
-DINSTALL_DOCUMENTATION=$(use doc && usex archive)
|
||||
-DSWIPL_PACKAGES_BASIC=$(usex !minimal)
|
||||
-DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
|
||||
-DSWIPL_PACKAGES_ODBC=$(usex odbc)
|
||||
-DSWIPL_PACKAGES_BDB=$(usex berkdb)
|
||||
-DSWIPL_PACKAGES_PCRE=$(usex pcre)
|
||||
-DSWIPL_PACKAGES_YAML=$(usex yaml)
|
||||
-DSWIPL_PACKAGES_SSL=$(usex ssl)
|
||||
-DSWIPL_PACKAGES_JAVA=$(usex java)
|
||||
-DSWIPL_PACKAGES_QT=$(usex qt5)
|
||||
-DSWIPL_PACKAGES_X=$(usex X)
|
||||
-DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
USE_PUBLIC_NETWORK_TESTS=false \
|
||||
USE_ODBC_TESTS=false \
|
||||
cmake-utils_src_test -V
|
||||
}
|
Binary file not shown.
@ -1,4 +1,5 @@
|
||||
DIST python-novaclient-11.0.0.tar.gz 302163 BLAKE2B acc249b58e0bbdade3b7db7bdb6cd5be790a36cfb429aa72a22c44b4fae58d24411ea0d7fd2e0e7da3275e708dd34a22e9079ec9b5bbd08583ecd58f02071bd7 SHA512 6a7101dcb27674115817b724dbab877d875637503a69a2342c7a23f6f79f8065e9aec68806c8646feb0a83a704a11141a4af9f49a6596980b69a689b9d7fc74c
|
||||
DIST python-novaclient-13.0.0.tar.gz 312459 BLAKE2B c6be6e7f4f7ec554100adf7fa0ffdd07e6f2c6ecb19ecc289966dae39ec1466f972d56be6eba87270b38b382eb05f29fbd238341eeeaf3fee6d0cb8f5d1335b8 SHA512 91994e5f0ea5537d27cb0fbfe1c1412c9e3e423d8c0d0028a1011645722d2b1b30718fa7a502ffe154a3299e603ba9bb4aa51f1187b67c1cebce564203030981
|
||||
DIST python-novaclient-13.0.1.tar.gz 312975 BLAKE2B 8f512a6b9e84e352d77f82b81777f1f9d9c8c6b40e86639c9400dede461c7f61d222ea304b8f407cf1775558aa3efe2519e03ee7ee83b17d80d5a7fa0e965284 SHA512 cca8eab5a11a784d5b701a128125e5de25c802081defa61df99449cbd711b0d6913dafeceb28e452fd9a33f901e04b5875b9cd641622af5ac6f06c00c30f7bba
|
||||
DIST python-novaclient-7.1.2.tar.gz 284152 BLAKE2B d632444db1393d69c9e87c2f487babe8931492c339e2838d4f024e01d78a2d1b2958feb0c9f22637311dbc5a6c51e052b241798a7507914f56ec10c3962ff27b SHA512 6b7e4bc80e07b09756f61624d2cf7b81dccd1d102f22cb9609b7e1de6f091061c513691095467e293b742c40a62c8cabc2d3ff8cbc5492d07763655de4d6c516
|
||||
DIST python-novaclient-9.1.2.tar.gz 279803 BLAKE2B a26e80085200de4eb1da97a37feeb3da0a70fdfc4adcd837ce0e18a275ed819457e140aa94e74e7d07003d2607a245aa0a263bed954c7252f4f28092cc7b74c0 SHA512 d71008a32b022d452b43babef6b600f5ee2b2ad3a4e1a473731966f08132c5de813d9387982e4111c055d0266be6527cca3da5d58ec8b7bda8d628bb8189ca1b
|
||||
|
@ -0,0 +1,66 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A client for the OpenStack Nova API"
|
||||
HOMEPAGE="https://github.com/openstack/python-novaclient"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="test"
|
||||
|
||||
CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
|
||||
!~dev-python/pbr-2.1.0"
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
${CDEPEND}
|
||||
test? (
|
||||
>=dev-python/bandit-1.1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/coverage-4.0[${PYTHON_USEDEP}]
|
||||
!~dev-python/coverage-4.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/keyring-5.5.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-mock-1.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/openstacksdk-0.11.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/stestr-2.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
|
||||
)"
|
||||
RDEPEND="
|
||||
>=dev-python/keystoneauth-3.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
|
||||
!~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
|
||||
<dev-python/prettytable-0.8[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
|
||||
!~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/simplejson-3.5.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/Babel-2.4.0[${PYTHON_USEDEP}]"
|
||||
|
||||
python_prepare_all() {
|
||||
# built in...
|
||||
sed -i '/^hacking/d' test-requirements.txt || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
testr init
|
||||
testr run --parallel || die "testsuite failed under python2.7"
|
||||
}
|
Binary file not shown.
@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="History.md README.md"
|
||||
|
||||
# Rake tasks are not distributed in the gem.
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_TASK_TEST=""
|
||||
|
||||
inherit virtualx ruby-fakegem
|
||||
|
||||
DESCRIPTION="Capybara aims to simplify the process of integration testing Rack applications"
|
||||
HOMEPAGE="https://github.com/jnicklas/capybara"
|
||||
LICENSE="MIT"
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
SLOT="3"
|
||||
IUSE="test"
|
||||
|
||||
DEPEND="${DEPEND} test? ( || ( www-client/firefox www-client/firefox-bin ) )"
|
||||
|
||||
ruby_add_bdepend "test? (
|
||||
dev-ruby/rspec:3
|
||||
>=dev-ruby/launchy-2.4.0
|
||||
>=dev-ruby/selenium-webdriver-3.5:3
|
||||
dev-ruby/sinatra:2
|
||||
www-servers/puma
|
||||
)"
|
||||
|
||||
ruby_add_rdepend "
|
||||
dev-ruby/addressable
|
||||
>=dev-ruby/mini_mime-0.1.3
|
||||
>=dev-ruby/nokogiri-1.8:0
|
||||
>=dev-ruby/rack-1.6.0:*
|
||||
>=dev-ruby/rack-test-0.6.3:*
|
||||
>=dev-ruby/regexp_parser-1.5:1
|
||||
>=dev-ruby/xpath-3.2:3"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/bundler/d' -e '/pry/d' -e '1igem "sinatra"' -e '/statistics/Id' spec/spec_helper.rb || die
|
||||
|
||||
# Avoid window-manager specific tests (sizes are specific for fluxbox)
|
||||
sed -i -e '/#maximize/,/^ end/ s:^:#:' lib/capybara/spec/session/window/window_spec.rb || die
|
||||
|
||||
# Avoid spec that requires unpackaged geckodriver
|
||||
sed -i -e '/describe.*register_server/,/^ end/ s:^:#:' spec/capybara_spec.rb || die
|
||||
|
||||
# Avoid test dependency on puma server for now
|
||||
sed -i -e '/should have :puma registered/,/^ end/ s:^:#:' spec/capybara_spec.rb || die
|
||||
|
||||
# Update spec to catch the right error code. This seems to have
|
||||
# changed recently accross ruby versions.
|
||||
sed -i -e '/raise_error/ s/EOFError/Net::ReadTimeout/' spec/server_spec.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
virtx ${RUBY} -Ilib -S rspec-3 spec || die "Tests failed."
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST equatable-0.5.0.gem 10240 BLAKE2B cbc8b0250cba6a89be0205d585a25a0f9c050cee7e1803a8725259a18b4a9b1ed62771ff9407a7b702c293c55de7c8c3000d5c29f445f230c8acbc0a0f7be384 SHA512 968c5497d3d18ec899b34311965421bd3c53a4d55f56ee7594bab1db3ce320e245890b007b1412ea434fc15ad7be2ec6c345068c4aa3cf74e07c146f76039478
|
@ -0,0 +1,20 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="README.md"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Allows ruby objects to implement equality comparison and inspection methods"
|
||||
HOMEPAGE="https://github.com/piotrmurach/equatable"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
@ -0,0 +1,11 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>ruby@gentoo.org</email>
|
||||
<name>Gentoo Ruby Project</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">piotrmurach/equatable</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,2 +1,3 @@
|
||||
DIST jquery-rails-3.1.4.gem 190976 BLAKE2B d0f0177bce04ca49a41c4a12e3ec35b1e4e7c6194fbda7a5e6ca48ae4a1cd1bf6845196f7b001330d54e4c19a4d3730932bb36741077980fda8de1e1a47be1ba SHA512 fbec0e09bff90d4f21a512c628767ceaf85f311ac8bd81ca58a7b41f71c0a6b25d9ab9246c4043abf71f7afaf217d51a796f2207c2321583ddd14845248c9f1a
|
||||
DIST jquery-rails-4.3.3.gem 519168 BLAKE2B cfd1c9c9a18ea919966778d4172a6733faa102086598c8871f2c9aef5460b1806f2346d1624ba7c01315dcb1090ea81771838280c0b68ae2e57a9e97ad6f24a5 SHA512 55cef78f794da90ef1f7394f919810425589d3d92dc71375c3ec2f0cd6d207e0854826887e1a69503bc6609c60c10886e0b868d2d2df46ae052c90f322aef974
|
||||
DIST jquery-rails-4.3.5.gem 523776 BLAKE2B cf5338380f1551ee5bbec61dab818f4c45eef49947647dc41cc71cc06438a3454f793122eed7934b2288a9a895578770b236fcb5f1f5a2d0c8c211708e6452e6 SHA512 78afb6ad2cfa331ffed52ef6ba67bbd6e1fd7da210223e1b0cd097b0823455036aba58a1f31b70c8a9525f1f62508ec7f688924af7b0b18f262ab8d845c9ad78
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_TASK_TEST=""
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md VERSIONS.md"
|
||||
|
||||
RUBY_FAKEGEM_EXTRAINSTALL="vendor"
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="jquery-rails.gemspec"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="jQuery! For Rails! So great"
|
||||
HOMEPAGE="https://www.rubyonrails.org"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="4"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux"
|
||||
|
||||
IUSE=""
|
||||
|
||||
ruby_add_rdepend "
|
||||
>=dev-ruby/railties-4.2.0:*
|
||||
>=dev-ruby/thor-0.14 <dev-ruby/thor-2
|
||||
|| ( dev-ruby/rails-dom-testing:2 dev-ruby/rails-dom-testing:1 )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/git ls-files/d' jquery-rails.gemspec || die
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST rspec-core-2.99.2-git.tgz 212935 BLAKE2B 37195012f79aca3a1959f9143e2f5cbab63230ab07ea97928d6f66face8d07ab54d87f19535f5f235c441b2da6dec17ef2a889e9ccd7e83d987086e24afd1b82 SHA512 e13bc3384fd85c367481a8651c14be4a412cba5f58e12a8f4ab14b5d2768a7b92191b81e000e7dbf6a28275b41044d8b3eb70a04e4b30b5bf88db98cbec4cc44
|
||||
DIST rspec-core-3.7.1-git.tgz 376819 BLAKE2B 6747ffd8f2d426718376b51356d8838a7db0d0246ee619e8edef30bd9f7aeeb80bd0488e4fc73b0a00d119074c35055f6b9d0cbbe6160ae78d0727ce9848a710 SHA512 1561d044281c1b8b97cc89033ad991548fa74abbc5f20d3951d3f3de754c581a027f9ccb2bd0107c05e744d3b2804555cf4cf207e72adf365b28fc7ce052dab8
|
||||
DIST rspec-core-3.8.0-git.tgz 386022 BLAKE2B e827f006fe9f05f93b741d021bbb108ae3e98cd23f3388c1fdf2a87d8be349c04e91c810cbb7c47cc99ce99a00f62e13eb01a927b8b89d54dfa437ed46b1d24f SHA512 6d3f431a1f9485009f5029bea967f36cb789be8cf33722b36c40df44e12a2284674c6c8af333bfe8ba8825e032576569fd42c92f798988faad732ac3a720c5e6
|
||||
DIST rspec-core-3.8.1-git.tgz 387459 BLAKE2B 34888ef32e841633710cf2ec312a2a5006cbe9bb92ad16a646b7c7ef7ebca693db12de4240f4a03bbc01ecc50bc08ee676600b708ba72e1f34ad11d007bf6377 SHA512 fb9d6098e9c43b0fb0b7344521861c6095bee09d3fcaec526bed7b67f21cdff067a4a913f7cf17af9436587a20caab172670058785f138f50103708475057941
|
||||
|
@ -0,0 +1,92 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_TASK_TEST="none"
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="Changelog.md README.md"
|
||||
|
||||
# Also install this custom path since internal paths depend on it.
|
||||
RUBY_FAKEGEM_EXTRAINSTALL="exe"
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="rspec-core.gemspec"
|
||||
|
||||
inherit ruby-fakegem eapi7-ver
|
||||
|
||||
DESCRIPTION="A Behaviour Driven Development (BDD) framework for Ruby"
|
||||
HOMEPAGE="https://github.com/rspec/rspec-core"
|
||||
SRC_URI="https://github.com/rspec/${PN}/archive/v${PV}.tar.gz -> ${P}-git.tgz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="highlight"
|
||||
|
||||
SUBVERSION="$(ver_cut 1-2)"
|
||||
|
||||
ruby_add_rdepend "
|
||||
=dev-ruby/rspec-support-${SUBVERSION}*
|
||||
!!<dev-ruby/rspec-core-2.14.8-r4
|
||||
highlight? ( >=dev-ruby/coderay-1.1.1 )
|
||||
"
|
||||
|
||||
ruby_add_bdepend "test? (
|
||||
>=dev-ruby/nokogiri-1.5.2
|
||||
>=dev-ruby/coderay-1.1.1
|
||||
dev-ruby/syntax
|
||||
>=dev-ruby/thread_order-1.1.0
|
||||
>=dev-ruby/rspec-expectations-3.8.0:3
|
||||
>=dev-ruby/rspec-mocks-2.99.0:3
|
||||
)"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Don't set up bundler: it doesn't understand our setup.
|
||||
sed -i -e '/[Bb]undler/d' Rakefile || die
|
||||
|
||||
# Avoid dependency on cucumber since we can't run the features anyway.
|
||||
sed -i -e '/[Cc]ucumber/ s:^:#:' Rakefile || die
|
||||
|
||||
# Duplicate exe also in bin. We can't change it since internal stuff
|
||||
# also depends on this and fixing that is going to be fragile. This
|
||||
# way we can at least install proper bin scripts.
|
||||
cp -R exe bin || die
|
||||
|
||||
# Avoid unneeded dependency on git.
|
||||
sed -i -e 's/git ls-files --/find/' rspec-core.gemspec || die
|
||||
|
||||
# Avoid aruba dependency so that we don't end up in dependency hell.
|
||||
sed -i -e '/ArubaLoader/,/^end/ s:^:#:' -e '/Aruba/ s:^:#:' spec/spec_helper.rb || die
|
||||
rm -f spec/support/aruba_support.rb || die
|
||||
rm -f spec/integration/{bisect_runners,failed_line_detection,filtering,order,persistence_failures,suite_hooks_errors}_spec.rb || die
|
||||
rm -f spec/integration/{spec_file_load_errors,output_stream,fail_if_no_examples}_spec.rb || die
|
||||
|
||||
# Avoid a spec failing due to path issues
|
||||
sed -i -e '/does not load files in the default path when run by ruby/,/end/ s:^:#:' \
|
||||
spec/rspec/core/configuration_spec.rb || die
|
||||
|
||||
# Avoid a spec that depends on dev-ruby/rspec to lessen circular
|
||||
# dependencies, bug 662328
|
||||
sed -i -e '/loads mocks and expectations when the constants are referenced/askip "gentoo: bug 662328"' spec/rspec/core_spec.rb || die
|
||||
|
||||
# Avoid a spec depending on specifics on local networks
|
||||
# This fails when localhost resolves to ::1 which may be a
|
||||
# ruby regression in the drb/acl code.
|
||||
rm -f spec/rspec/core/bisect/server_spec.rb || die
|
||||
}
|
||||
|
||||
each_ruby_prepare() {
|
||||
sed -i -e 's:ruby -e:'${RUBY}' -e:' spec/rspec/core_spec.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
PATH="${S}/bin:${PATH}" RUBYLIB="${S}/lib" ${RUBY} -Ilib bin/rspec spec || die "Tests failed."
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
all_fakegem_install
|
||||
|
||||
ruby_fakegem_binwrapper rspec /usr/bin/rspec-3 'gem "rspec", "~>3.0"'
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST rspec-mocks-2.99.2-git.tgz 101731 BLAKE2B 27ae180381d427b642c53c351e7b53602caba4252ddf5393949d940be8474110eb0697901afaaa878cd8d368f081c6644c0fcbce86d9d14b9f93f48c027ae808 SHA512 dd3b9394d56de8d3089db7777cda1e1a5bbdc46486876a99a8a83b602b84ba0320913d8e8dabe5e0367645eb01b943607b93e67d87cc26e380c8db6e048e4e0d
|
||||
DIST rspec-mocks-3.7.0-git.tgz 189170 BLAKE2B a0a622ac593660c673cd80b3f3caddd2ac389000f42a7ed1745e1fcfd28d1986e61e83c265d736f3ad0649531973719bc9c5f6ab07e289cb2da89c4482e64184 SHA512 8673726571ccf8a901281e44faeb25ffcb59579dc380138f0557cd9310192cd340081e5e8ad65ae281777727b502cca2f6877134b0fb48f2e0ea40b133002aff
|
||||
DIST rspec-mocks-3.8.0-git.tgz 191102 BLAKE2B a8dc3794245e4508fb57874ba11a753db5622abda2d34a022c6f01b2e95bf43dd2df8612abcb84c32cff632f70083ea9d76171de73720d00dd929d562fa5993d SHA512 0649c3722479013aa1a20f750b3a83a9b426e5f79cb0edff995b09d1e2fa674fb8e91c0c94e7f9513f338c3c2e9c5b824a9473e91955cf928542324b8b1463ba
|
||||
DIST rspec-mocks-3.8.1-git.tgz 191543 BLAKE2B dae8b22a011a3563eb65d1709006169bf5dcf310749cb858f4ff20c7b82e7675a616fc427136fe5e0edeef1db0b42a1d0af1c5623eed35807e84dc355131c8cc SHA512 ec71c4b815beef315f8db329bd2b0e60cdbb1fa37939c624799c1589d94dd28f74b3d1a4c0b9025bc98a809f80d625315458351fe7dec8291bad20e79beecca8
|
||||
|
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="none"
|
||||
RUBY_FAKEGEM_EXTRADOC="Changelog.md README.md"
|
||||
|
||||
inherit ruby-fakegem eapi7-ver
|
||||
|
||||
DESCRIPTION="A Behaviour Driven Development (BDD) framework for Ruby"
|
||||
HOMEPAGE="https://github.com/rspec/rspec-mocks"
|
||||
SRC_URI="https://github.com/rspec/${PN}/archive/v${PV}.tar.gz -> ${P}-git.tgz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
SUBVERSION="$(ver_cut 1-2)"
|
||||
|
||||
ruby_add_rdepend "=dev-ruby/rspec-support-${SUBVERSION}*
|
||||
>=dev-ruby/diff-lcs-1.2.0 =dev-ruby/diff-lcs-1*"
|
||||
|
||||
ruby_add_bdepend "
|
||||
test? (
|
||||
>=dev-ruby/rspec-core-3.3.0:3
|
||||
>=dev-ruby/rspec-expectations-2.99.0:3
|
||||
)"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Don't set up bundler: it doesn't understand our setup.
|
||||
sed -i -e '/[Bb]undler/d' Rakefile || die
|
||||
|
||||
# Remove the Gemfile to avoid running through 'bundle exec'
|
||||
rm Gemfile || die
|
||||
|
||||
# Remove .rspec options to avoid dependency on newer rspec when
|
||||
# bootstrapping.
|
||||
rm .rspec || die
|
||||
|
||||
sed -i -e '1irequire "spec_helper"' spec/rspec/mocks/any_instance_spec.rb || die
|
||||
}
|
@ -1,2 +1,4 @@
|
||||
DIST rubygems-2.7.10.tgz 863618 BLAKE2B 26a453d2808cbf03caa6f2ef4a829418de58f4ed0c7584935a0ad5fc722d7fbdf9f442261f96fdca4b6975b62608965d2f0053d3046da59771be373bed21154a SHA512 48a18c0f202f463c38cf5dafecfbc7cc39245e63c7a059ef2cefadda478483794a929ea6b7e0ef062dd4423230746f1f09d7bec06a97fe3ceccc3325397a3e71
|
||||
DIST rubygems-2.7.9.tgz 862854 BLAKE2B 7bccb1fe1ce11b33501f881d01b8b0159e6b3c0a434fa100b98490cd1813b5309610e8ef5d1a2c5ab23c22bf0cd55ace7b055ee57f9057398662276128b3e949 SHA512 5f699f47bc24d8ffd4f8f44a509a9df71fcd945ca2574dc9d5050bfe06a44830a368f45d204112d7a4f1877e1600a6fe4d1b6b68f9a55288664667b4220a7d72
|
||||
DIST rubygems-3.0.3.tgz 904175 BLAKE2B d99de4bdd51779ab214bc4a81f55483341a2c193d4304b8eeb6105cb95877e0a33fe03d93c47433ad3c6bdc8d3e453e33ffb799fd36164feac31616f95eeced4 SHA512 1dd585243341901c7b4cc60a4902000c10ce57fe2cc9c28e27e274a2e6029f936cde1c99d7097c93c2c5b2c8bcee5d692c8fe5cc00c996a040e4954b674e330e
|
||||
DIST rubygems-3.0.4.tgz 883664 BLAKE2B d5ec493657c055561aa9c0c09719529857706db197bf266ef4c51e48e6f97c08d85a8923b0c6fd72b3fd6ecb584533ff8ca56515c555e9c5b786b0d99ad2a16e SHA512 887c64226ec0b32d33f2ea331936683406d54dc74d19e658a23521e25ab50aa23534fe9eecaf696154247ad1df1d24c233d8900b9aabc79096eebd6afef3f775
|
||||
|
@ -0,0 +1,118 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_RUBY="ruby24 ruby25"
|
||||
|
||||
inherit ruby-ng prefix
|
||||
|
||||
DESCRIPTION="Centralized Ruby extension management system"
|
||||
HOMEPAGE="https://rubygems.org/"
|
||||
LICENSE="GPL-2 || ( Ruby MIT )"
|
||||
|
||||
SRC_URI="https://rubygems.org/rubygems/${P}.tgz"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="server test"
|
||||
|
||||
PDEPEND="server? ( >=dev-ruby/builder-2.1 )"
|
||||
|
||||
ruby_add_bdepend "
|
||||
test? (
|
||||
dev-ruby/json
|
||||
>=dev-ruby/minitest-4:0
|
||||
dev-ruby/rdoc
|
||||
)"
|
||||
|
||||
all_ruby_prepare() {
|
||||
|
||||
mkdir -p lib/rubygems/defaults || die
|
||||
cp "${FILESDIR}/gentoo-defaults.rb" lib/rubygems/defaults/operating_system.rb || die
|
||||
|
||||
eprefixify lib/rubygems/defaults/operating_system.rb
|
||||
|
||||
# Disable broken tests when changing default values:
|
||||
sed -i -e '/test_default_path/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die
|
||||
|
||||
# Skip tests for default gems that all fail
|
||||
sed -i -e '/test_default_gems_use_full_paths/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die
|
||||
sed -i -e '/test_execute_ignore_default_gem_verbose/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_cleanup_command.rb || die
|
||||
sed -i -e '/test_execute_default_gem/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_contents_command.rb test/rubygems/test_gem_commands_pristine_command.rb || die
|
||||
sed -i -e '/test_execute_\(default_details\|show_default_gems\)/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_query_command.rb || die
|
||||
sed -i -e '/test_execute_all/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_uninstall_command.rb || die
|
||||
sed -i -e '/\(test_default_gem\|test_check_executable_overwrite\|test_require_works_after_cleanup\)/,/^ end/ s:^:#:' \
|
||||
test/rubygems/test_{gem_installer,require}.rb || die
|
||||
sed -i -e '/test_\(load_default_gem\|default_spec_stub\)/,/^ end/ s:^:#:' test/rubygems/test_gem_specification.rb || die
|
||||
sed -i -e '/test_uninstall_default_gem/,/^ end/ s:^:#:' test/rubygems/test_gem_uninstaller.rb || die
|
||||
rm -f test/rubygems/test_gem_indexer.rb || die
|
||||
sed -i -e '/test_\(require_when_gem_defined\|realworld_default_gem\)/,/^ end/ s:^:#:' test/rubygems/test_require.rb || die
|
||||
rm -f test/rubygems/test_gem_commands_setup_command.rb || die
|
||||
|
||||
# Avoid tests playing tricks with ruby engine that don't seem to
|
||||
# work for us.
|
||||
rm test/rubygems/test_gem_request_set_gem_dependency_api.rb || die
|
||||
|
||||
# Avoid test requiring network access
|
||||
sed -i -e '/test_download_to_cache/askip "requires network access"' test/rubygems/test_gem_remote_fetcher.rb || die
|
||||
# Avoid test requiring obsolete TLS versions
|
||||
sed -i -e '/test_do_not_allow_invalid_client_cert_auth_connection/askip "requires obsolete TLSv1"' test/rubygems/test_gem_remote_fetcher.rb || die
|
||||
|
||||
# Avoid test requiring file system permission changes
|
||||
sed -i -e '/test_traverse_parents_does_not_crash_on_permissions_error/,/^ end/ s:^:#:' test/rubygems/test_gem_util.rb || die
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
# Not really a build but...
|
||||
sed -i -e 's:#!.*:#!'"${RUBY}"':' bin/gem
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
# Unset RUBYOPT to avoid interferences, bug #158455 et. al.
|
||||
#unset RUBYOPT
|
||||
|
||||
if [[ "${EUID}" -ne "0" ]]; then
|
||||
RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" ${RUBY} --disable-gems -I.:lib:test:bundler/lib \
|
||||
-e 'require "rubygems"; gem "minitest", "~>4.0"; Dir["test/**/test_*.rb"].each { |tu| require tu }' || die "tests failed"
|
||||
else
|
||||
ewarn "The userpriv feature must be enabled to run tests, bug 408951."
|
||||
eerror "Testsuite will not be run."
|
||||
fi
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
# Unset RUBYOPT to avoid interferences, bug #158455 et. al.
|
||||
unset RUBYOPT
|
||||
export RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}"
|
||||
|
||||
pushd lib &>/dev/null
|
||||
doruby -r *
|
||||
popd &>/dev/null
|
||||
|
||||
local sld=$(ruby_rbconfig_value 'sitelibdir')
|
||||
insinto "${sld#${EPREFIX}}" # bug #320813
|
||||
newins "${FILESDIR}/auto_gem.rb.ruby19" auto_gem.rb || die
|
||||
|
||||
newbin bin/gem $(basename ${RUBY} | sed -e 's:ruby:gem:') || die
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
dodoc History.txt README.md
|
||||
|
||||
if use server; then
|
||||
newinitd "${FILESDIR}/init.d-gem_server2" gem_server || die "newinitd failed"
|
||||
newconfd "${FILESDIR}/conf.d-gem_server" gem_server || die "newconfd failed"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/gem) ]] ; then
|
||||
eselect ruby set $(eselect --brief --colour=no ruby show | head -n1)
|
||||
fi
|
||||
|
||||
ewarn
|
||||
ewarn "To switch between available Ruby profiles, execute as root:"
|
||||
ewarn "\teselect ruby set ruby(23|24|...)"
|
||||
ewarn
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
inherit ruby-ng prefix
|
||||
|
||||
DESCRIPTION="Centralized Ruby extension management system"
|
||||
HOMEPAGE="https://rubygems.org/"
|
||||
LICENSE="GPL-2 || ( Ruby MIT )"
|
||||
|
||||
SRC_URI="https://rubygems.org/rubygems/${P}.tgz"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="server test"
|
||||
|
||||
PDEPEND="server? ( =dev-ruby/builder-3* )"
|
||||
|
||||
ruby_add_bdepend "
|
||||
test? (
|
||||
dev-ruby/json
|
||||
dev-ruby/minitest:5
|
||||
dev-ruby/rdoc
|
||||
)"
|
||||
|
||||
all_ruby_prepare() {
|
||||
|
||||
mkdir -p lib/rubygems/defaults || die
|
||||
cp "${FILESDIR}/gentoo-defaults-3.rb" lib/rubygems/defaults/operating_system.rb || die
|
||||
|
||||
eprefixify lib/rubygems/defaults/operating_system.rb
|
||||
|
||||
# Disable broken tests when changing default values:
|
||||
sed -i -e '/test_default_path/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
# Not really a build but...
|
||||
sed -i -e 's:#!.*:#!'"${RUBY}"':' bin/gem
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
# Unset RUBYOPT to avoid interferences, bug #158455 et. al.
|
||||
#unset RUBYOPT
|
||||
|
||||
if [[ "${EUID}" -ne "0" ]]; then
|
||||
RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" ${RUBY} --disable-gems -I.:lib:test:bundler/lib \
|
||||
-e 'require "rubygems"; gem "minitest", "~>5.0"; Dir["test/**/test_*.rb"].each { |tu| require tu }' || die "tests failed"
|
||||
else
|
||||
ewarn "The userpriv feature must be enabled to run tests, bug 408951."
|
||||
eerror "Testsuite will not be run."
|
||||
fi
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
# Unset RUBYOPT to avoid interferences, bug #158455 et. al.
|
||||
unset RUBYOPT
|
||||
export RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}"
|
||||
|
||||
pushd lib &>/dev/null
|
||||
doruby -r *
|
||||
popd &>/dev/null
|
||||
|
||||
local sld=$(ruby_rbconfig_value 'sitelibdir')
|
||||
insinto "${sld#${EPREFIX}}" # bug #320813
|
||||
newins "${FILESDIR}/auto_gem.rb.ruby19" auto_gem.rb || die
|
||||
|
||||
newbin bin/gem $(basename ${RUBY} | sed -e 's:ruby:gem:') || die
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
dodoc History.txt README.md
|
||||
|
||||
if use server; then
|
||||
newinitd "${FILESDIR}/init.d-gem_server2" gem_server || die "newinitd failed"
|
||||
newconfd "${FILESDIR}/conf.d-gem_server" gem_server || die "newconfd failed"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/gem) ]] ; then
|
||||
eselect ruby set $(eselect --brief --colour=no ruby show | head -n1)
|
||||
fi
|
||||
|
||||
ewarn
|
||||
ewarn "To switch between available Ruby profiles, execute as root:"
|
||||
ewarn "\teselect ruby set ruby(23|24|...)"
|
||||
ewarn
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST tty-color-0.5.0.gem 11776 BLAKE2B fc22689783c86b5d18bd3134b198b2bdf50563bc14a25b8a02611ac6a46f494c86b17ff1307089a87ad92442d99da3d408b4907b83f3c67f495a66ceaaddc2ee SHA512 998da9196055b011edf8b20595e548447d7a3cda3555a61c2645dac618dcebf8fcd3b257ae8948f93fd7720956f6dc2b554fb5521a8847017c4a2ab2e2b74e73
|
@ -0,0 +1,11 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>ruby@gentoo.org</email>
|
||||
<name>Gentoo Ruby Project</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">piotrmurach/tty-color</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="README.md"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Terminal color capabilities detection"
|
||||
HOMEPAGE="https://github.com/piotrmurach/tty-color"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
all_ruby_prepare() {
|
||||
echo '-rspec_helper' > .rspec || die
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST pgf_3.0.1.tds.zip 10423731 BLAKE2B ca1513213f47279f7cb67cd6459e01082c6693c0da97e873205f2ed5dad1d3e83ccd036d6b56c245d334a4c9eff44bb81cd673962def80f075b56e6b7e0b7477 SHA512 0899e0fbd6d196504c5d15176015557d38e027429a84de661a5627fa003bfeffdb3f013df23c298b32c3a5605388160f42621e92d626e3ce88561fe4b4b7bddf
|
||||
DIST pgf_3.1.tds.zip 12852844 BLAKE2B 5214bc0a8dd4ee521023be245602c8fecff4f7ef5a37abba060c507355351621863aaa4b16de10383e900ed8eccc26e95f77b291f352c7ad36738451102675da SHA512 c8a0ae2ddb4769e640c487968c6f3e18b778c5eb24fe40d38a85936ce45597db7e90281571b56a92619f2e2ec7cb17019f31deaa8f93fddb2b7adf87e84b555c
|
||||
|
@ -1,40 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit latex-package
|
||||
|
||||
DESCRIPTION="pgf -- The TeX Portable Graphic Format"
|
||||
HOMEPAGE="https://sourceforge.net/projects/pgf"
|
||||
SRC_URI="mirror://sourceforge/pgf/${PN}_${PV}.tds.zip"
|
||||
|
||||
LICENSE="GPL-2 LPPL-1.3c FDL-1.2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc source"
|
||||
|
||||
RDEPEND="dev-texlive/texlive-latexrecommended
|
||||
>=dev-tex/xcolor-2.11"
|
||||
DEPEND="app-arch/unzip"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_install() {
|
||||
insinto ${TEXMF}
|
||||
doins -r tex || die
|
||||
|
||||
if use source ; then
|
||||
doins -r source || die
|
||||
fi
|
||||
|
||||
cd "${S}/doc/generic/pgf"
|
||||
dodoc AUTHORS ChangeLog README || die
|
||||
if use doc ; then
|
||||
insinto /usr/share/doc/${PF}/texdoc
|
||||
doins pgfmanual.pdf || die
|
||||
doins -r images macros text-en version-* || die
|
||||
dosym /usr/share/doc/${PF}/texdoc ${TEXMF}/doc/latex/${PN} || die
|
||||
docompress -x /usr/share/doc/${PF}/texdoc/
|
||||
fi
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit latex-package
|
||||
|
||||
DESCRIPTION="The TeX Portable Graphic Format"
|
||||
HOMEPAGE="https://sourceforge.net/projects/pgf"
|
||||
SRC_URI="mirror://sourceforge/pgf/${PN}_${PV}.tds.zip"
|
||||
|
||||
LICENSE="GPL-2 LPPL-1.3c FDL-1.2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc source"
|
||||
|
||||
RDEPEND="dev-texlive/texlive-latexrecommended
|
||||
>=dev-tex/xcolor-2.11"
|
||||
BDEPEND="app-arch/unzip"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_install() {
|
||||
# Bug #607642
|
||||
cp "${FILESDIR}/pgfsys-luatex.def" "${WORKDIR}/tex/generic/pgf/systemlayer/" || die
|
||||
|
||||
insinto ${TEXMF}
|
||||
doins -r tex
|
||||
|
||||
if use source ; then
|
||||
doins -r source
|
||||
fi
|
||||
|
||||
cd "${S}/doc/generic/pgf" || die
|
||||
dodoc AUTHORS ChangeLog README
|
||||
if use doc ; then
|
||||
insinto /usr/share/doc/${PF}/texdoc
|
||||
doins pgfmanual.pdf
|
||||
doins -r images macros text-en version-*
|
||||
dosym /usr/share/doc/${PF}/texdoc ${TEXMF}/doc/latex/${PN}
|
||||
docompress -x /usr/share/doc/${PF}/texdoc/
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST pycharm-community-2019.1.1.tar.gz 332489780 BLAKE2B 2cc7dcbab5fa321e423991622b4e7c9e41c184312a4b3c3a8b900b1ea2436d9f6009e26ffca12f3335be8bb520941c6ac6b579f3e6f2fc0f1b148a9a00ab1868 SHA512 28d7a3353bec271f0a57bea3c44fc788a5b3a5215dff737ba293c2ce73509d06b217ee1615901c91e5895d61a58a2b696c50ae760b6b3a88b472f3746f28bcbf
|
||||
DIST pycharm-community-2019.1.2.tar.gz 333983594 BLAKE2B f5dfa1986d88c7598cfbd5050c385a1b1b3374286e57fd513a94eb19bc42116b1ceef757d194ef1df66739b25f10663a74e374785b4c5584aec9b8900e67dd0c SHA512 48782960022efe48f37b2bdec0be1f15741f6dde2a2dcec686ecfb07c81996c3d6fc46cf3eda2fa4cc53a67f7ec47909e47ed57b2edbf973482ca37781067415
|
||||
DIST pycharm-community-2019.1.3.tar.gz 334018235 BLAKE2B 8e4c400685e69aaa53426dee848d5f14a0c40b88232ee8cb8c0c0f2f727c68b9212600dab7717ec77c1cd4b42666bad965fcbc217e3158d357b5a5edd6a94e26 SHA512 42627af39a8530931442c8419ebee4d999faad40a203519fc8564e4b8b14d2476e8426e9976e487c92e4398db8efb15c5e2d28536b1c7b374898f9dc0021acbe
|
||||
|
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit gnome2-utils readme.gentoo-r1 xdg
|
||||
|
||||
DESCRIPTION="Intelligent Python IDE with unique code assistance and analysis"
|
||||
HOMEPAGE="http://www.jetbrains.com/pycharm/"
|
||||
SRC_URI="http://download.jetbrains.com/python/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD CDDL MIT-with-advertising"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND=">=virtual/jre-1.8
|
||||
dev-libs/libdbusmenu
|
||||
dev-python/pip"
|
||||
|
||||
RESTRICT="mirror strip"
|
||||
|
||||
QA_PREBUILT="opt/${PN}/bin/fsnotifier
|
||||
opt/${PN}/bin/fsnotifier64
|
||||
opt/${PN}/bin/fsnotifier-arm"
|
||||
|
||||
MY_PN=${PN/-community/}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm -rf jre || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /opt/${PN}
|
||||
doins -r *
|
||||
|
||||
fperms a+x /opt/${PN}/bin/{pycharm.sh,fsnotifier{,64},inspect.sh}
|
||||
|
||||
dosym ../../opt/${PN}/bin/pycharm.sh /usr/bin/${PN}
|
||||
newicon bin/${MY_PN}.png ${PN}.png
|
||||
make_desktop_entry ${PN} ${PN} ${PN}
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_icon_cache_update
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST pycharm-professional-2019.1.1.tar.gz 433810320 BLAKE2B baba76f893ca92990241de495f0a00029a135b890aeca067fdb699ffc6f4e7042487ada452f7fb793731b0ec303f0e73baf2c76da8e0821edcf195c210958b74 SHA512 d4419fbef02e3c8a6c3820da56f089a5630ac2c94dc701854f0ea03a5797f7489db6613a8426cf89a4c6c5259b44d589846b04e36051e44641845a32d81b368e
|
||||
DIST pycharm-professional-2019.1.2.tar.gz 436256239 BLAKE2B 3253c74b7308dbef8dfd78fbb525af104d11d5ea4c66c48882685dc40011258a6f9d912a9402818f219c7c968cda61e4723544607b71a1a5e7ee0e1bf743ae86 SHA512 ee7bcf292f780ed2fe12c432b546eb470b2f556337e2b9c22905797f5f99899a2b5d80bee032cac45427f5480f8f2b3512e32cd4d1a0b6ae6b355f8dd0674b51
|
||||
DIST pycharm-professional-2019.1.3.tar.gz 436604810 BLAKE2B 1fcf742b119dd8d9e9eeaa08f803f2742f388c711da446ae00e5718e09c231d926a04146fdcfb9ed18e2a44d43049598ef63c527e8994077987a127fedd630cd SHA512 2a26279944408cf5e6436d28ec15e2e6fcca234535fb69f4e7391a230d4bf39a523e6d2262d8cd5036d4f40b0629cd33866c5b839f82a82ae1d4271c89901cad
|
||||
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit gnome2-utils readme.gentoo-r1 xdg
|
||||
|
||||
DESCRIPTION="Intelligent Python IDE with unique code assistance and analysis"
|
||||
HOMEPAGE="http://www.jetbrains.com/pycharm/"
|
||||
SRC_URI="http://download.jetbrains.com/python/${P}.tar.gz"
|
||||
|
||||
LICENSE="PyCharm_Academic PyCharm_Classroom PyCharm PyCharm_OpenSource PyCharm_Preview"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND=">=virtual/jre-1.8
|
||||
dev-libs/libdbusmenu
|
||||
dev-python/pip"
|
||||
|
||||
RESTRICT="mirror strip"
|
||||
|
||||
QA_PREBUILT="opt/${PN}/bin/fsnotifier
|
||||
opt/${PN}/bin/fsnotifier64
|
||||
opt/${PN}/bin/fsnotifier-arm
|
||||
opt/${PN}/bin/libyjpagent-linux.so
|
||||
opt/${PN}/bin/libyjpagent-linux64.so"
|
||||
|
||||
MY_PN=${PN/-professional/}
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm -rf jre || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /opt/${PN}
|
||||
doins -r *
|
||||
|
||||
fperms a+x /opt/${PN}/bin/{pycharm.sh,fsnotifier{,64},inspect.sh}
|
||||
|
||||
dosym ../../opt/${PN}/bin/pycharm.sh /usr/bin/${PN}
|
||||
newicon bin/${MY_PN}.png ${PN}.png
|
||||
make_desktop_entry ${PN} ${PN} ${PN}
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_icon_cache_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,602 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
VIRTUALX_REQUIRED="pgo"
|
||||
WANT_AUTOCONF="2.1"
|
||||
MOZ_ESR=""
|
||||
MOZ_LIGHTNING_VER="6.2.5"
|
||||
MOZ_LIGHTNING_GDATA_VER="4.4.1"
|
||||
|
||||
PYTHON_COMPAT=( python3_{5,6,7} )
|
||||
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
|
||||
|
||||
# This list can be updated using scripts/get_langs.sh from the mozilla overlay
|
||||
MOZ_LANGS=(ar ast be bg br ca cs cy da de el en en-GB en-US es-AR
|
||||
es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu hy-AM id is it
|
||||
ja ko lt nb-NO nl nn-NO pl pt-BR pt-PT rm ro ru si sk sl sq sr
|
||||
sv-SE tr uk vi zh-CN zh-TW )
|
||||
|
||||
# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
|
||||
MOZ_PV="${PV/_beta/b}"
|
||||
|
||||
# Patches
|
||||
PATCHTB="thunderbird-60.0-patches-0"
|
||||
PATCHFF="firefox-60.6-patches-07"
|
||||
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
|
||||
|
||||
# ESR releases have slightly version numbers
|
||||
if [[ ${MOZ_ESR} == 1 ]]; then
|
||||
MOZ_PV="${MOZ_PV}esr"
|
||||
fi
|
||||
MOZ_P="${PN}-${MOZ_PV}"
|
||||
|
||||
LLVM_MAX_SLOT=8
|
||||
|
||||
inherit check-reqs flag-o-matic toolchain-funcs gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils autotools mozlinguas-v2
|
||||
|
||||
DESCRIPTION="Thunderbird Mail Client"
|
||||
HOMEPAGE="https://www.mozilla.org/thunderbird"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
|
||||
SLOT="0"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
IUSE="bindist clang dbus debug hardened jack lightning neon pulseaudio
|
||||
selinux startup-notification system-harfbuzz system-icu system-jpeg
|
||||
system-libevent system-libvpx system-sqlite wifi"
|
||||
RESTRICT="!bindist? ( bindist )"
|
||||
|
||||
PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c,whissi}/mozilla/patchsets/{${PATCHTB},${PATCHFF}}.tar.xz )
|
||||
SRC_URI="${SRC_URI}
|
||||
${MOZ_HTTP_URI}/${MOZ_PV}/source/${MOZ_P}.source.tar.xz
|
||||
https://dev.gentoo.org/~axs/distfiles/lightning-${MOZ_LIGHTNING_VER}.tar.xz
|
||||
lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
|
||||
${PATCH_URIS[@]}"
|
||||
|
||||
ASM_DEPEND=">=dev-lang/yasm-1.1"
|
||||
|
||||
CDEPEND="
|
||||
>=dev-libs/nss-3.36.7
|
||||
>=dev-libs/nspr-4.19
|
||||
>=app-text/hunspell-1.5.4:=
|
||||
dev-libs/atk
|
||||
dev-libs/expat
|
||||
>=x11-libs/cairo-1.10[X]
|
||||
>=x11-libs/gtk+-2.18:2
|
||||
>=x11-libs/gtk+-3.4.0:3
|
||||
x11-libs/gdk-pixbuf
|
||||
>=x11-libs/pango-1.22.0
|
||||
>=media-libs/libpng-1.6.34:0=[apng]
|
||||
>=media-libs/mesa-10.2:*
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2.4.10
|
||||
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
|
||||
virtual/freedesktop-icon-theme
|
||||
dbus? (
|
||||
>=sys-apps/dbus-0.60
|
||||
>=dev-libs/dbus-glib-0.72
|
||||
)
|
||||
startup-notification? ( >=x11-libs/startup-notification-0.8 )
|
||||
>=x11-libs/pixman-0.19.2
|
||||
>=dev-libs/glib-2.26:2
|
||||
>=sys-libs/zlib-1.2.3
|
||||
>=virtual/libffi-3.0.10:=
|
||||
virtual/ffmpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXt
|
||||
system-harfbuzz? (
|
||||
>=media-libs/harfbuzz-1.4.2:0=
|
||||
>=media-gfx/graphite2-1.3.9-r1
|
||||
)
|
||||
system-icu? ( >=dev-libs/icu-59.1:= )
|
||||
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
|
||||
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
|
||||
system-libvpx? (
|
||||
>=media-libs/libvpx-1.5.0:0=[postproc]
|
||||
<media-libs/libvpx-1.8:0=[postproc]
|
||||
)
|
||||
system-sqlite? ( >=dev-db/sqlite-3.23.1:3[secure-delete,debug=] )
|
||||
wifi? (
|
||||
kernel_linux? (
|
||||
>=sys-apps/dbus-0.60
|
||||
>=dev-libs/dbus-glib-0.72
|
||||
net-misc/networkmanager
|
||||
)
|
||||
)
|
||||
jack? ( virtual/jack )"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=sys-devel/binutils-2.30
|
||||
sys-apps/findutils
|
||||
|| (
|
||||
(
|
||||
sys-devel/clang:8
|
||||
!clang? ( sys-devel/llvm:8 )
|
||||
clang? (
|
||||
=sys-devel/lld-8*
|
||||
sys-devel/llvm:8[gold]
|
||||
)
|
||||
)
|
||||
(
|
||||
sys-devel/clang:7
|
||||
!clang? ( sys-devel/llvm:7 )
|
||||
clang? (
|
||||
=sys-devel/lld-7*
|
||||
sys-devel/llvm:7[gold]
|
||||
)
|
||||
)
|
||||
(
|
||||
sys-devel/clang:6
|
||||
!clang? ( sys-devel/llvm:6 )
|
||||
clang? (
|
||||
=sys-devel/lld-6*
|
||||
sys-devel/llvm:6[gold]
|
||||
)
|
||||
)
|
||||
)
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
elibc_glibc? (
|
||||
virtual/cargo
|
||||
virtual/rust
|
||||
)
|
||||
elibc_musl? (
|
||||
virtual/cargo
|
||||
virtual/rust
|
||||
)
|
||||
amd64? (
|
||||
${ASM_DEPEND}
|
||||
virtual/opengl
|
||||
)
|
||||
x86? (
|
||||
${ASM_DEPEND}
|
||||
virtual/opengl
|
||||
)"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
pulseaudio? (
|
||||
|| (
|
||||
media-sound/pulseaudio
|
||||
>=media-sound/apulse-0.1.9
|
||||
)
|
||||
)
|
||||
selinux? (
|
||||
sec-policy/selinux-mozilla
|
||||
sec-policy/selinux-thunderbird
|
||||
)"
|
||||
|
||||
REQUIRED_USE="wifi? ( dbus )"
|
||||
|
||||
S="${WORKDIR}/${MOZ_P%b[0-9]*}"
|
||||
|
||||
BUILD_OBJ_DIR="${S}/tbird"
|
||||
|
||||
llvm_check_deps() {
|
||||
if ! has_version "sys-devel/clang:${LLVM_SLOT}" ; then
|
||||
ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..."
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use clang ; then
|
||||
if ! has_version "=sys-devel/lld-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..."
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
einfo "Will use LLVM slot ${LLVM_SLOT}!"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
moz_pkgsetup
|
||||
|
||||
# Avoid PGO profiling problems due to enviroment leakage
|
||||
# These should *always* be cleaned up anyway
|
||||
unset DBUS_SESSION_BUS_ADDRESS \
|
||||
DISPLAY \
|
||||
ORBIT_SOCKETDIR \
|
||||
SESSION_MANAGER \
|
||||
XDG_SESSION_COOKIE \
|
||||
XAUTHORITY
|
||||
|
||||
if ! use bindist ; then
|
||||
elog "You are enabling official branding. You may not redistribute this build"
|
||||
elog "to any users on your network or the internet. Doing so puts yourself into"
|
||||
elog "a legal problem with Mozilla Foundation"
|
||||
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
|
||||
elog
|
||||
fi
|
||||
|
||||
addpredict /proc/self/oom_score_adj
|
||||
|
||||
llvm_pkg_setup
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
# Ensure we have enough disk space to compile
|
||||
CHECKREQS_DISK_BUILD="4G"
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
|
||||
# Unpack language packs
|
||||
mozlinguas_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Apply our patchset from firefox to thunderbird as well
|
||||
rm -f "${WORKDIR}"/firefox/2007_fix_nvidia_latest.patch \
|
||||
"${WORKDIR}"/firefox/2005_ffmpeg4.patch \
|
||||
"${WORKDIR}"/firefox/2012_update-cc-to-honor-CC.patch \
|
||||
|| die
|
||||
eapply "${WORKDIR}/firefox"
|
||||
|
||||
eapply "${FILESDIR}"/thunderbird-60-sqlite3-fts3-tokenizer.patch
|
||||
|
||||
# Ensure that are plugins dir is enabled as default
|
||||
sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
|
||||
"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
|
||||
sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
|
||||
"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
|
||||
|
||||
# Don't error out when there's no files to be removed:
|
||||
sed 's@\(xargs rm\)$@\1 -f@' \
|
||||
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
|
||||
|
||||
# Don't exit with error when some libs are missing which we have in
|
||||
# system.
|
||||
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
|
||||
-i "${S}"/comm/mail/installer/Makefile.in || die
|
||||
|
||||
# Apply our Thunderbird patchset
|
||||
pushd "${S}"/comm &>/dev/null || die
|
||||
eapply "${WORKDIR}"/thunderbird
|
||||
|
||||
# NOT TRIGGERED starting with 60.3, as script just maps ${PV} without any actual
|
||||
# check on lightning version or changes:
|
||||
#
|
||||
# Confirm the version of lightning being grabbed for langpacks is the same
|
||||
# as that used in thunderbird
|
||||
#local THIS_MOZ_LIGHTNING_VER=$(${PYTHON} calendar/lightning/build/makeversion.py ${PV})
|
||||
#if [[ ${MOZ_LIGHTNING_VER} != ${THIS_MOZ_LIGHTNING_VER} ]]; then
|
||||
# eqawarn "The version of lightning used for localization differs from the version"
|
||||
# eqawarn "in thunderbird. Please update MOZ_LIGHTNING_VER in the ebuild from ${MOZ_LIGHTNING_VER}"
|
||||
# eqawarn "to ${THIS_MOZ_LIGHTNING_VER}"
|
||||
#fi
|
||||
|
||||
popd &>/dev/null || die
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
# Autotools configure is now called old-configure.in
|
||||
# This works because there is still a configure.in that happens to be for the
|
||||
# shell wrapper configure script
|
||||
eautoreconf old-configure.in
|
||||
|
||||
# Must run autoconf in js/src
|
||||
cd "${S}"/js/src || die
|
||||
eautoconf old-configure.in
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Add information about TERM to output (build.log) to aid debugging
|
||||
# blessings problems
|
||||
if [[ -n "${TERM}" ]] ; then
|
||||
einfo "TERM is set to: \"${TERM}\""
|
||||
else
|
||||
einfo "TERM is unset."
|
||||
fi
|
||||
|
||||
if use clang && ! tc-is-clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
strip-unsupported-flags
|
||||
elif ! use clang && ! tc-is-gcc ; then
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
####################################
|
||||
#
|
||||
# mozconfig, CFLAGS and CXXFLAGS setup
|
||||
#
|
||||
####################################
|
||||
|
||||
mozconfig_init
|
||||
# common config components
|
||||
mozconfig_annotate 'system_libs' \
|
||||
--with-system-zlib \
|
||||
--with-system-bz2
|
||||
|
||||
# Must pass release in order to properly select linker
|
||||
mozconfig_annotate 'Enable by Gentoo' --enable-release
|
||||
|
||||
# Avoid auto-magic on linker
|
||||
if use clang ; then
|
||||
# This is upstream's default
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
|
||||
elif tc-ld-is-gold ; then
|
||||
mozconfig_annotate "linker is set to gold" --enable-linker=gold
|
||||
else
|
||||
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
|
||||
fi
|
||||
|
||||
# It doesn't compile on alpha without this LDFLAGS
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Add full relro support for hardened
|
||||
if use hardened; then
|
||||
append-ldflags "-Wl,-z,relro,-z,now"
|
||||
mozconfig_use_enable hardened hardening
|
||||
fi
|
||||
|
||||
# Modifications to better support ARM, bug 553364
|
||||
if use neon ; then
|
||||
mozconfig_annotate '' --with-fpu=neon
|
||||
|
||||
if ! tc-is-clang ; then
|
||||
# thumb options aren't supported when using clang, bug 666966
|
||||
mozconfig_annotate '' --with-thumb=yes
|
||||
mozconfig_annotate '' --with-thumb-interwork=no
|
||||
fi
|
||||
fi
|
||||
if [[ ${CHOST} == armv*h* ]] ; then
|
||||
mozconfig_annotate '' --with-float-abi=hard
|
||||
if ! use system-libvpx ; then
|
||||
sed -i -e "s|softfp|hard|" \
|
||||
"${S}"/media/libvpx/moz.build
|
||||
fi
|
||||
fi
|
||||
|
||||
mozconfig_use_enable !bindist official-branding
|
||||
# Enable position independent executables
|
||||
mozconfig_annotate 'enabled by Gentoo' --enable-pie
|
||||
|
||||
mozconfig_use_enable debug
|
||||
mozconfig_use_enable debug tests
|
||||
if ! use debug ; then
|
||||
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
|
||||
else
|
||||
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
|
||||
fi
|
||||
# These are enabled by default in all mozilla applications
|
||||
mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
|
||||
--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate 'Gentoo default' --enable-system-hunspell
|
||||
mozconfig_annotate '' --disable-crashreporter
|
||||
mozconfig_annotate 'Gentoo default' --with-system-png
|
||||
mozconfig_annotate '' --enable-system-ffi
|
||||
mozconfig_annotate '' --disable-gconf
|
||||
mozconfig_annotate '' --with-intl-api
|
||||
mozconfig_annotate '' --enable-system-pixman
|
||||
# Instead of the standard --build= and --host=, mozilla uses --host instead
|
||||
# of --build, and --target intstead of --host.
|
||||
# Note, mozilla also has --build but it does not do what you think it does.
|
||||
# Set both --target and --host as mozilla uses python to guess values otherwise
|
||||
mozconfig_annotate '' --target="${CHOST}"
|
||||
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
|
||||
if use system-libevent; then
|
||||
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
|
||||
fi
|
||||
|
||||
# skia has no support for big-endian platforms
|
||||
if [[ $(tc-endian) == "big" ]]; then
|
||||
mozconfig_annotate 'big endian target' --disable-skia
|
||||
else
|
||||
mozconfig_annotate '' --enable-skia
|
||||
fi
|
||||
|
||||
# use the gtk3 toolkit (the only one supported at this point)
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
|
||||
|
||||
mozconfig_use_enable startup-notification
|
||||
mozconfig_use_enable system-sqlite
|
||||
mozconfig_use_with system-jpeg
|
||||
mozconfig_use_with system-icu
|
||||
mozconfig_use_with system-libvpx
|
||||
mozconfig_use_with system-harfbuzz
|
||||
mozconfig_use_with system-harfbuzz system-graphite2
|
||||
mozconfig_use_enable pulseaudio
|
||||
# force the deprecated alsa sound code if pulseaudio is disabled
|
||||
if use kernel_linux && ! use pulseaudio ; then
|
||||
mozconfig_annotate '-pulseaudio' --enable-alsa
|
||||
fi
|
||||
|
||||
mozconfig_use_enable dbus
|
||||
|
||||
mozconfig_use_enable wifi necko-wifi
|
||||
|
||||
# enable JACK, bug 600002
|
||||
mozconfig_use_enable jack
|
||||
|
||||
# Other tb-specific settings
|
||||
mozconfig_annotate '' --with-user-appdir=.thunderbird
|
||||
mozconfig_annotate '' --enable-ldap
|
||||
mozconfig_annotate '' --enable-calendar
|
||||
|
||||
# Disable built-in ccache support to avoid sandbox violation, #665420
|
||||
# Use FEATURES=ccache instead!
|
||||
mozconfig_annotate '' --without-ccache
|
||||
sed -i -e 's/ccache_stats = None/return None/' \
|
||||
python/mozbuild/mozbuild/controller/building.py || \
|
||||
die "Failed to disable ccache stats call"
|
||||
|
||||
# Stylo is only broken on x86 builds
|
||||
use x86 && mozconfig_annotate 'Upstream bug 1341234' --disable-stylo
|
||||
|
||||
# Stylo is horribly broken on arm, renders GUI unusable
|
||||
use arm && mozconfig_annotate 'breaks UI on arm' --disable-stylo
|
||||
|
||||
if use clang ; then
|
||||
# libprldap60.so: terminate called after throwing an instance of 'std::runtime_error', bug 667186
|
||||
mozconfig_annotate 'elf-hack is broken when using clang' --disable-elf-hack
|
||||
elif use arm ; then
|
||||
mozconfig_annotate 'elf-hack is broken on arm' --disable-elf-hack
|
||||
fi
|
||||
|
||||
# Use an objdir to keep things organized.
|
||||
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
|
||||
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
|
||||
|
||||
mozlinguas_mozconfig
|
||||
|
||||
# Finalize and report settings
|
||||
mozconfig_final
|
||||
|
||||
####################################
|
||||
#
|
||||
# Configure and build
|
||||
#
|
||||
####################################
|
||||
|
||||
# Disable no-print-directory
|
||||
MAKEOPTS=${MAKEOPTS/--no-print-directory/}
|
||||
|
||||
if [[ $(gcc-major-version) -lt 4 ]]; then
|
||||
append-cxxflags -fno-stack-protector
|
||||
fi
|
||||
|
||||
# workaround for funky/broken upstream configure...
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
./mach configure || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
./mach build --verbose || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
declare emid
|
||||
cd "${BUILD_OBJ_DIR}" || die
|
||||
|
||||
# Pax mark xpcshell for hardened support, only used for startupcache creation.
|
||||
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
|
||||
|
||||
# Copy our preference before omnijar is created.
|
||||
cp "${FILESDIR}"/thunderbird-gentoo-default-prefs.js-2 \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
# set dictionary path, to use system hunspell
|
||||
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
|
||||
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
|
||||
if use system-harfbuzz ; then
|
||||
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
# force cairo as the canvas renderer on platforms without skia support
|
||||
if [[ $(tc-endian) == "big" ]] ; then
|
||||
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
cd "${S}" || die
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
DESTDIR="${D}" ./mach install || die
|
||||
|
||||
# Install language packs
|
||||
MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
|
||||
|
||||
local size sizes icon_path icon
|
||||
if ! use bindist; then
|
||||
icon_path="${S}/comm/mail/branding/thunderbird"
|
||||
icon="${PN}-icon"
|
||||
|
||||
domenu "${FILESDIR}"/icon/${PN}.desktop
|
||||
else
|
||||
icon_path="${S}/comm/mail/branding/nightly"
|
||||
icon="${PN}-icon-unbranded"
|
||||
|
||||
newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
|
||||
${PN}.desktop
|
||||
|
||||
sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
|
||||
"${ED}"/usr/share/applications/${PN}.desktop
|
||||
fi
|
||||
|
||||
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
|
||||
newicon "${icon_path}"/default48.png "${icon}".png
|
||||
# Install icons for menu entry
|
||||
sizes="16 22 24 32 48 256"
|
||||
for size in ${sizes}; do
|
||||
newicon -s ${size} "${icon_path}/default${size}.png" "${icon}.png"
|
||||
done
|
||||
|
||||
local emid
|
||||
# stage extra locales for lightning and install over existing
|
||||
emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
|
||||
rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die
|
||||
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid} \
|
||||
"${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
|
||||
|
||||
mkdir -p "${T}/${emid}" || die
|
||||
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid}/* || die
|
||||
insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
|
||||
doins -r "${T}/${emid}"
|
||||
|
||||
if use lightning; then
|
||||
# move lightning out of distribution/extensions and into extensions for app-global install
|
||||
mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
|
||||
|
||||
# stage extra locales for gdata-provider and install app-global
|
||||
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
|
||||
"${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
|
||||
emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
|
||||
mkdir -p "${T}/${emid}" || die
|
||||
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
|
||||
|
||||
# manifest.json does not allow the addon to load, put install.rdf in place
|
||||
# note, version number needs to be set properly
|
||||
cp -RLp -t "${T}/${emid}" "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}/install.rdf
|
||||
sed -i -e '/em:version/ s/>[^<]*</>4.1</' "${T}/${emid}"/install.rdf
|
||||
|
||||
insinto ${MOZILLA_FIVE_HOME}/extensions
|
||||
doins -r "${T}/${emid}"
|
||||
fi
|
||||
|
||||
# thunderbird and thunderbird-bin are identical
|
||||
rm "${ED%/}"${MOZILLA_FIVE_HOME}/thunderbird-bin || die
|
||||
dosym thunderbird ${MOZILLA_FIVE_HOME}/thunderbird-bin
|
||||
|
||||
# Required in order to use plugins and even run thunderbird on hardened.
|
||||
pax-mark pm "${ED%/}"${MOZILLA_FIVE_HOME}/{thunderbird,plugin-container}
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST libopenshot-audio-0.1.4.tar.gz 2959997 BLAKE2B 0736d9f4877f46ac90fd236cbdcfce8c1f66f5ac5d5e9762672a4eaeb668eb61a5f1e45996f0feea604d2c30891198fa58fc89f360815336ea18311d019fed2c SHA512 5605164a8c66c33ac893cc2b42cdacffff03eb156a61740c1b2c00dd7e7602a802fa1dc3795c620810e3ee29a290aa6bae8b62bc17eab3f4dd2d8052e0481824
|
||||
DIST libopenshot-audio-0.1.9_pre20190502.tar.gz 1696201 BLAKE2B 6bc0be3f8374f734cb6b7271c09dad8f7da794acb87236441f41999fab9baa3fee69d6a820db51a4c116b3a5113bb8f72da396babd13511d013b8ffafc2c1bf7 SHA512 73ba3e2054de1b74e6ae7c874a61388220efe12b640f741d5e18d9b242d427fd0fc82b03527af7de64ecd6dbe0a450b884c8557bb5a51493be21838e1f4dfd1a
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
COMMIT="77edb1f14dde35e1facecc309dbc4fb7f07d7014"
|
||||
|
||||
DESCRIPTION="Library for audio editing and playback used by OpenShot"
|
||||
HOMEPAGE="https://www.openshot.org/"
|
||||
SRC_URI="https://github.com/OpenShot/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0/6"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
media-libs/alsa-lib
|
||||
media-libs/freetype
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
S="${WORKDIR}/${PN}-${COMMIT}"
|
@ -1 +1,2 @@
|
||||
DIST libopenshot-0.2.2.tar.gz 11037768 BLAKE2B c307e41bf17d40ae421a541bbdf4cd53c6ef4d97041a476c6910bd156c10815aa5a5811813b24fdc472401516f29cf8cb68fbda17a0b434767c3f3aa63d6f222 SHA512 b89189e57e82da68a063417bba9c94704c04b0546c0aed227daa23a794eee56341a05988d8e28dbd339edfcdeeaed48103b347060eccf94f32fe1a4bf23d6553
|
||||
DIST libopenshot-0.2.4_pre20190609.tar.gz 10268173 BLAKE2B 01e07c0a7c051b5804f24fab1bfb920862a165ef14d3fdd020430b9e3a47858842c8cab3408ba0d161cb15cc6e90531a3b5df9ad327a01f414ff2e7e392fc243 SHA512 bf8c06aba6a899cb1ca6fbe9ac89fc859083b03175338c04af8dce68698f4ac78eac0b5b594e2b02390cd5e64576445b1c95324b254a267506353bed97ca16d1
|
||||
|
@ -0,0 +1,101 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{5,6,7} )
|
||||
|
||||
inherit cmake-utils python-single-r1 toolchain-funcs
|
||||
|
||||
COMMIT="0d4ea7fe71e88bcee4a7fd1404bd52c8e2169997"
|
||||
|
||||
DESCRIPTION="Video editing library used by OpenShot"
|
||||
HOMEPAGE="https://www.openshot.org/"
|
||||
SRC_URI="https://github.com/OpenShot/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0/17"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc examples +imagemagick libav +python test"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
net-libs/cppzmq
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtmultimedia:5[widgets]
|
||||
>=media-libs/libopenshot-audio-0.1.9_pre20190502:0=
|
||||
imagemagick? ( >=media-gfx/imagemagick-7:0=[cxx] )
|
||||
libav? ( media-video/libav:0=[encode,x264,xvid,vpx,mp3,theora] )
|
||||
!libav? ( media-video/ffmpeg:0=[encode,x264,xvid,vpx,mp3,theora] )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
doc? ( app-doc/doxygen )
|
||||
python? ( dev-lang/swig )
|
||||
test? ( dev-libs/unittest++ )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${PN}-${COMMIT}"
|
||||
|
||||
# From Mageia
|
||||
# https://github.com/OpenShot/libopenshot/issues/60
|
||||
PATCHES=( ${FILESDIR}/${PN}-0.2.2-imagemagick7.patch )
|
||||
|
||||
check_compiler() {
|
||||
if [[ ${MERGE_TYPE} != binary ]] && ! tc-has-openmp; then
|
||||
eerror "${P} requires a compiler with OpenMP support. Your current"
|
||||
eerror "compiler does not support it. If you use gcc, you can"
|
||||
eerror "re-emerge it with the 'openmp' use flag enabled."
|
||||
die "The current compiler does not support OpenMP"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
check_compiler
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
check_compiler
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
# https://github.com/OpenShot/libopenshot/issues/17
|
||||
use test || cmake_comment_add_subdirectory tests
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DENABLE_RUBY=OFF # TODO: add ruby support
|
||||
-DENABLE_PYTHON=$(usex python)
|
||||
$(cmake-utils_use_find_package imagemagick ImageMagick)
|
||||
)
|
||||
use python && mycmakeargs+=(
|
||||
-DPYTHON_EXECUTABLE="${PYTHON}"
|
||||
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
|
||||
-DPYTHON_LIBRARY="$(python_get_library_path)"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
use doc && cmake-utils_src_make doc
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cmake-utils_src_make os_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( AUTHORS README.md doc/HW-ACCEL.md )
|
||||
use examples && DOCS+=( src/examples/ )
|
||||
use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
|
||||
|
||||
cmake-utils_src_install
|
||||
use python && python_optimize
|
||||
}
|
Binary file not shown.
@ -1,5 +1,2 @@
|
||||
DIST playerctl-0.5.0.tar.gz 17015 BLAKE2B 5da1d0fd4e442ac5f124bd693ae14222624c5239c9fad72e57d43977467339522344bc8d8c37b0f2bfda51c61861dc33d7e35e4a730ce59a87b691b5657ec729 SHA512 307cad5eeea7efa0c97c885660f49468f442fe907ef2495b56ac512e0551c7248750897b6d00934cbfcfcb35f486a101a238b276ef71d2ef866132ca3cc0932c
|
||||
DIST playerctl-0.6.0.tar.gz 22124 BLAKE2B 6bb90586c56e21a00b5e6e1769248b9782a8211b01dacf590857fe4fe199d6d3fa7aa46a36cba9a8e198a1aad0bf17973fc15140db11c484edfb0275971d3d08 SHA512 8023b5704ca2a428510df6228850b616061289764cc3c4190c0c46f79d6a20e499495f2d773bd821357653ba63bca40eac70f7cc3a11251da3c6a4f7781db739
|
||||
DIST playerctl-0.6.1.tar.gz 22921 BLAKE2B d2f5874280e1a99b318bc83c40a38ee31d9c68426cb63e1e16e8ded26bac1a894d78a929f46d45d631af70e37476a4151c520eb69c94e80026689a12c682f0ad SHA512 07c302eb06a96bf3b8aa180e68e85ef6f9fdb5933b80fbce8ee5f9a36c1d961eaf5638e319ff0b26475984acc57a447a4aa8e705667f77e4bd393364cdbfb284
|
||||
DIST playerctl-2.0.1.tar.gz 43700 BLAKE2B 9df01bdb5f71a589a40462ed807b0f150d8c90921d1e0ef96bf99f20d9e58345307af35b39cc95e8ab37fcf9e5686935d856e050b61210188008b65281e63557 SHA512 6a5807abc79358bab0ad30a11897a8109121d5eb7d9e17d2c695221ef83942c3c7235fc738ab27c9dd2d3364c04737355e9c88ec5d49f999565565fb4494f720
|
||||
DIST playerctl-2.0.2.tar.gz 44241 BLAKE2B 3a1d5f59fdb0067f1147f4ef95990ae0755a372469c0f03491b4f3aec8d0cf754bb4d3057063211ee810532967ace0d35fa6a7f3f8cee8d7a5c09031cb5b11c9 SHA512 ad588f81d42c8000ccd2d2dedacfcd82887a958189b354ad6285545f7ed59e885febe0c3f9e3da915ae0fd0af4bfb4cefda54f17f0560fc4c00b1be6e92f3ac0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue