964 changed files with 9722 additions and 6963 deletions
-
BINManifest.files.gz
-
BINapp-admin/Manifest.gz
-
2app-admin/eselect/eselect-1.4.13.ebuild
-
2app-admin/puppetserver/puppetserver-5.3.5-r1.ebuild
-
2app-admin/syslog-ng/Manifest
-
0app-admin/syslog-ng/syslog-ng-3.17.2.ebuild
-
BINapp-benchmarks/Manifest.gz
-
2app-benchmarks/stress-ng/Manifest
-
0app-benchmarks/stress-ng/stress-ng-0.09.38.ebuild
-
BINapp-cdr/Manifest.gz
-
2app-cdr/cdrtools/cdrtools-3.02_alpha09.ebuild
-
BINapp-crypt/Manifest.gz
-
1app-crypt/gnupg/Manifest
-
134app-crypt/gnupg/gnupg-2.2.10.ebuild
-
3app-crypt/tpm-emulator/tpm-emulator-0.7.4-r1.ebuild
-
4app-crypt/trousers/files/trousers-0.3.14-libressl.patch
-
BINapp-dicts/Manifest.gz
-
6app-dicts/myspell-el/myspell-el-0.8.ebuild
-
8app-dicts/myspell-el/myspell-el-0.9.ebuild
-
2app-dicts/myspell-ru/myspell-ru-20150711-r2.ebuild
-
BINapp-editors/Manifest.gz
-
1app-editors/emacs-vcs/Manifest
-
3app-editors/emacs-vcs/emacs-vcs-26.1.9999.ebuild
-
3app-editors/emacs-vcs/emacs-vcs-27.0.50_pre20180731.ebuild
-
415app-editors/emacs-vcs/emacs-vcs-27.0.50_pre20180831.ebuild
-
3app-editors/emacs/Manifest
-
3app-editors/emacs/emacs-24.5-r5.ebuild
-
2app-editors/emacs/emacs-24.5-r7.ebuild
-
3app-editors/emacs/emacs-25.3-r4.ebuild
-
8app-editors/emacs/emacs-25.3-r6.ebuild
-
3app-editors/emacs/emacs-26.1-r1.ebuild
-
6app-editors/emacs/emacs-26.1-r3.ebuild
-
BINapp-emacs/Manifest.gz
-
2app-emacs/php-mode/php-mode-1.19.1.ebuild
-
BINapp-emulation/Manifest.gz
-
12app-emulation/wine-any/Manifest
-
1app-emulation/wine-any/metadata.xml
-
634app-emulation/wine-any/wine-any-2.0-r1.ebuild
-
3app-emulation/wine-any/wine-any-3.12.ebuild
-
3app-emulation/wine-any/wine-any-3.13-r1.ebuild
-
5app-emulation/wine-any/wine-any-3.14.ebuild
-
10app-emulation/wine-any/wine-any-3.15.ebuild
-
3app-emulation/wine-any/wine-any-9999.ebuild
-
8app-emulation/wine-d3d9/Manifest
-
568app-emulation/wine-d3d9/wine-d3d9-2.0-r1.ebuild
-
3app-emulation/wine-d3d9/wine-d3d9-3.12.ebuild
-
3app-emulation/wine-d3d9/wine-d3d9-3.13-r1.ebuild
-
5app-emulation/wine-d3d9/wine-d3d9-3.14.ebuild
-
5app-emulation/wine-d3d9/wine-d3d9-3.15.ebuild
-
3app-emulation/wine-d3d9/wine-d3d9-9999.ebuild
-
8app-emulation/wine-staging/Manifest
-
1app-emulation/wine-staging/metadata.xml
-
605app-emulation/wine-staging/wine-staging-2.0-r1.ebuild
-
3app-emulation/wine-staging/wine-staging-3.12.ebuild
-
3app-emulation/wine-staging/wine-staging-3.13-r1.ebuild
-
5app-emulation/wine-staging/wine-staging-3.14.ebuild
-
10app-emulation/wine-staging/wine-staging-3.15.ebuild
-
3app-emulation/wine-staging/wine-staging-9999.ebuild
-
3app-emulation/wine-vanilla/Manifest
-
3app-emulation/wine-vanilla/wine-vanilla-3.12.ebuild
-
3app-emulation/wine-vanilla/wine-vanilla-3.13-r1.ebuild
-
5app-emulation/wine-vanilla/wine-vanilla-3.14.ebuild
-
5app-emulation/wine-vanilla/wine-vanilla-3.15.ebuild
-
3app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
-
BINapp-i18n/Manifest.gz
-
2app-i18n/ibus/ibus-1.5.18.ebuild
-
2app-i18n/unicode-cldr/unicode-cldr-33.0.ebuild
-
2app-i18n/unicode-emoji/unicode-emoji-11.0.ebuild
-
BINapp-laptop/Manifest.gz
-
4app-laptop/laptop-mode-tools/laptop-mode-tools-1.72.2.ebuild
-
BINapp-misc/Manifest.gz
-
2app-misc/lxsplit/lxsplit-0.2.4-r1.ebuild
-
30app-misc/taskd/taskd-1.1.0-r2.ebuild
-
2app-misc/towitoko/towitoko-2.0.7-r3.ebuild
-
BINapp-office/Manifest.gz
-
18app-office/gnucash/gnucash-3.2-r2.ebuild
-
BINapp-text/Manifest.gz
-
4app-text/pdftk/pdftk-9999.ebuild
-
2app-text/sdcv/metadata.xml
-
BINdev-db/Manifest.gz
-
1dev-db/cpp-driver/Manifest
-
28dev-db/cpp-driver/cpp-driver-2.9.0.ebuild
-
2dev-db/mariadb/mariadb-10.0.35-r2.ebuild
-
2dev-db/mariadb/mariadb-10.1.34.ebuild
-
2dev-db/mysql/mysql-5.6.40.ebuild
-
2dev-db/postgresql/postgresql-10.5.ebuild
-
2dev-db/postgresql/postgresql-9.3.24.ebuild
-
2dev-db/postgresql/postgresql-9.4.19.ebuild
-
2dev-db/postgresql/postgresql-9.5.14.ebuild
-
2dev-db/postgresql/postgresql-9.6.10.ebuild
-
BINdev-java/Manifest.gz
-
1dev-java/classmate/Manifest
-
50dev-java/classmate/classmate-1.1.0.ebuild
-
1dev-java/commons-daemon/Manifest
-
58dev-java/commons-daemon/commons-daemon-1.1.0.ebuild
-
1dev-java/gnu-jaf/Manifest
-
29dev-java/gnu-jaf/gnu-jaf-1.1.2.ebuild
-
1dev-java/xz-java/Manifest
-
31dev-java/xz-java/xz-java-1.8.ebuild
-
BINdev-lang/Manifest.gz
@ -1 +1 @@ |
|||
DIST stress-ng-0.09.37.tar.xz 354748 BLAKE2B 8910e169c8b14f047691bc931d016a39b90ace613ab10cc7337a90d48ae4ce78b8bcc76d0f5257a627e258de12836293f4bcf73117ccc1ecaab7fe7325f3f0ab SHA512 87014399e4e166bbacd01d65e6660db80ad6653bd6e69088321b6190e3dca1d9997d9f0567433791380c5af97a58b7414fea2d9190c09954a5861e6da303f25f |
|||
DIST stress-ng-0.09.38.tar.xz 355252 BLAKE2B 9382d48af5fa7fbb9128887d484688045cf033a2f5997898209f530ef6c27ea27c5271666247a9c650f4dd66bd2add93586dd5beb19f6509f78b9e355791cf27 SHA512 b3f3d03151cd5afaa267eb028ec9f450d8dccec851de0f16fe8d83e81b7a8e9572b7c556e1fab4ecc57c56829e6d30023716708f15b9156af146a0c72ae4ddf8 |
@ -1,3 +1,4 @@ |
|||
DIST gnupg-1.4.21.tar.bz2 3689305 BLAKE2B 0c26c9c3aeae2bf2eafa858bc3bd15cc2702bce12a8a90938565322c34e2eeb8e5432932f5c9344a76aa4528b66051141536c062d9923a79d12a0767421bb017 SHA512 619e0fbc10310c7e55d129027e2945791fe91a0884b1d6f53acb4b2e380d1c6e71d1a516a59876182c5c70a4227d44a74ceda018c343b5291fa9a5d6de77c984 |
|||
DIST gnupg-2.2.10.tar.bz2 6659484 BLAKE2B d0270ca40bd70fe113fa4283c307d7d04370beec77ffba0abb7862defdab2d5a82b1508284961e30e7d0aab82bffdf09fe796741603e843a062073f179f0bfc2 SHA512 a4477828f268fa69125cf1822f8a721e67f8f4008bd9817b701989393bd93689aac8fee1f4d34d918911d53afabdcbb1c84d40e8a4489d7a29b5a769d330fddd |
|||
DIST gnupg-2.2.8.tar.bz2 6632465 BLAKE2B e13bdfb2b17f87dd2122da5a489318bfcefec26c0fbb65dc6a36034314985bbd405cb22cfaf9bffa4c7928657cbc63d363f16b77d00bf86737b73c73ffbce4f2 SHA512 24271ec2663b941ed5e72e2179b48ac73d5cd838292aa9d4954952b11713f4b466f30e6af632b22c9e7c284350e300a07046d41d0ab73dcbd1639b303cd09007 |
|||
DIST gnupg-2.2.9.tar.bz2 6659547 BLAKE2B 3715fa0fcfbed24b0c985811c14e5a8c84caef0e66937ec7eb2ebefb4603a2c9a994d3c73224941254c685ca32cd83d7bb924fb7171ee569b346f2092ed7ae5d SHA512 96faf227bef78fee99ff20606f3ce74eddc407c3864b928f8676a80f50dfaf2dd291eaeeaa0d291a254275a87e4f8506df9ed31c1cfc7652999208c292a16922 |
@ -0,0 +1,134 @@ |
|||
# Copyright 1999-2018 Gentoo Foundation |
|||
# Distributed under the terms of the GNU General Public License v2 |
|||
|
|||
EAPI="6" |
|||
|
|||
inherit flag-o-matic systemd toolchain-funcs |
|||
|
|||
MY_P="${P/_/-}" |
|||
|
|||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation" |
|||
HOMEPAGE="http://www.gnupg.org/" |
|||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2" |
|||
|
|||
LICENSE="GPL-3" |
|||
SLOT="0" |
|||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~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="bzip2 doc ldap nls readline selinux +smartcard ssl tofu tools usb wks-server" |
|||
|
|||
COMMON_DEPEND_LIBS=" |
|||
>=dev-libs/npth-1.2 |
|||
>=dev-libs/libassuan-2.5.0 |
|||
>=dev-libs/libgcrypt-1.7.3 |
|||
>=dev-libs/libgpg-error-1.28 |
|||
>=dev-libs/libksba-1.3.4 |
|||
>=net-misc/curl-7.10 |
|||
ssl? ( >=net-libs/gnutls-3.0:0= ) |
|||
sys-libs/zlib |
|||
ldap? ( net-nds/openldap ) |
|||
bzip2? ( app-arch/bzip2 ) |
|||
readline? ( sys-libs/readline:0= ) |
|||
smartcard? ( usb? ( virtual/libusb:0 ) ) |
|||
tofu? ( >=dev-db/sqlite-3.7 ) |
|||
virtual/mta |
|||
" |
|||
COMMON_DEPEND_BINS="app-crypt/pinentry |
|||
!app-crypt/dirmngr" |
|||
|
|||
# Existence of executables is checked during configuration. |
|||
DEPEND="${COMMON_DEPEND_LIBS} |
|||
${COMMON_DEPEND_BINS} |
|||
nls? ( sys-devel/gettext ) |
|||
doc? ( sys-apps/texinfo )" |
|||
|
|||
RDEPEND="${COMMON_DEPEND_LIBS} |
|||
${COMMON_DEPEND_BINS} |
|||
selinux? ( sec-policy/selinux-gpg ) |
|||
nls? ( virtual/libintl )" |
|||
|
|||
S="${WORKDIR}/${MY_P}" |
|||
|
|||
DOCS=( |
|||
ChangeLog NEWS README THANKS TODO VERSION |
|||
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER |
|||
) |
|||
|
|||
PATCHES=( |
|||
"${FILESDIR}/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch" |
|||
) |
|||
|
|||
src_configure() { |
|||
local myconf=() |
|||
|
|||
if use smartcard; then |
|||
myconf+=( |
|||
--enable-scdaemon |
|||
$(use_enable usb ccid-driver) |
|||
) |
|||
if use prefix && use usb ; then |
|||
# bug #649598 |
|||
append-cppflags -I"${EPREFIX}/usr/include/libusb-1.0" |
|||
fi |
|||
else |
|||
myconf+=( --disable-scdaemon ) |
|||
fi |
|||
|
|||
if use elibc_SunOS || use elibc_AIX; then |
|||
myconf+=( --disable-symcryptrun ) |
|||
else |
|||
myconf+=( --enable-symcryptrun ) |
|||
fi |
|||
|
|||
# glib fails and picks up clang's internal stdint.h causing weird errors |
|||
[[ ${CC} == *clang ]] && \ |
|||
export gl_cv_absolute_stdint_h=/usr/include/stdint.h |
|||
|
|||
econf \ |
|||
"${myconf[@]}" \ |
|||
$(use_enable bzip2) \ |
|||
$(use_enable ssl gnutls) \ |
|||
$(use_enable nls) \ |
|||
$(use_enable tofu) \ |
|||
$(use_enable wks-server wks-tools) \ |
|||
$(use_with ldap) \ |
|||
$(use_with readline) \ |
|||
--enable-gpg \ |
|||
--enable-gpgsm \ |
|||
--enable-large-secmem \ |
|||
--enable-all-tests \ |
|||
CC_FOR_BUILD="$(tc-getBUILD_CC)" |
|||
} |
|||
|
|||
src_compile() { |
|||
default |
|||
|
|||
use doc && emake -C doc html |
|||
} |
|||
|
|||
src_test() { |
|||
#Bug: 638574 |
|||
use tofu && export TESTFLAGS=--parallel |
|||
default |
|||
} |
|||
|
|||
src_install() { |
|||
default |
|||
|
|||
use tools && |
|||
dobin \ |
|||
tools/{convert-from-106,gpg-check-pattern} \ |
|||
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \ |
|||
tools/make-dns-cert |
|||
|
|||
dosym gpg /usr/bin/gpg2 |
|||
dosym gpgv /usr/bin/gpgv2 |
|||
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die |
|||
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die |
|||
|
|||
dodir /etc/env.d |
|||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die |
|||
|
|||
use doc && dodoc doc/gnupg.html/* doc/*.png |
|||
|
|||
systemd_douserunit doc/examples/systemd-user/*.{service,socket} |
|||
} |
@ -1 +1,2 @@ |
|||
DIST emacs-27.0.50_pre20180731.tar.xz 28569892 BLAKE2B 03988ee559f53ce54da2bc610bfb8cb9daab583610de419485c6cd76bd85d990ba18360b5cb12623c6a248471b5846620ce5c7deba03074c0bcdea4dc7db5e22 SHA512 35036de6748b0d63524172c4535676d330b917ca478c36aed227af4a04a82da2b32ed8e7d75e388f7182ebbe476775c48c1234a08eeea18561b43411a20dfb05 |
|||
DIST emacs-27.0.50_pre20180831.tar.xz 28668124 BLAKE2B fae74d9885889b042142f580e971c73c193306dca26b42dd87ac3d3d765312ce6695511d7d31a047d79803982f6345c4c319a3d83cea1313080170da97482fa2 SHA512 43b32d8943dc897dfc0c1fddb4261a196d3a604add5bcf87a93748125f15db2cac762d3550d6593b80e961ae35d543adc4d5937bac77970c658f93dba26f17e4 |
@ -0,0 +1,415 @@ |
|||
# Copyright 1999-2018 Gentoo Foundation |
|||
# Distributed under the terms of the GNU General Public License v2 |
|||
|
|||
EAPI=7 |
|||
|
|||
inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1 |
|||
|
|||
if [[ ${PV##*.} = 9999 ]]; then |
|||
inherit git-r3 |
|||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git" |
|||
EGIT_BRANCH="master" |
|||
EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" |
|||
S="${EGIT_CHECKOUT_DIR}" |
|||
else |
|||
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz |
|||
mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz" |
|||
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" |
|||
# FULL_VERSION keeps the full version number, which is needed in |
|||
# order to determine some path information correctly for copy/move |
|||
# operations later on |
|||
FULL_VERSION="${PV%%_*}" |
|||
S="${WORKDIR}/emacs-${FULL_VERSION}" |
|||
[[ ${FULL_VERSION} != ${PV} ]] && S="${WORKDIR}/emacs" |
|||
fi |
|||
|
|||
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" |
|||
HOMEPAGE="https://www.gnu.org/software/emacs/" |
|||
|
|||
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" |
|||
SLOT="27" |
|||
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gzip-el imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib" |
|||
REQUIRED_USE="?? ( aqua X )" |
|||
RESTRICT="test" |
|||
|
|||
RDEPEND="sys-libs/ncurses:0= |
|||
>=app-eselect/eselect-emacs-1.16 |
|||
>=app-emacs/emacs-common-gentoo-1.5[games?,X?] |
|||
acl? ( virtual/acl ) |
|||
alsa? ( media-libs/alsa-lib ) |
|||
dbus? ( sys-apps/dbus ) |
|||
gmp? ( dev-libs/gmp:0= ) |
|||
gpm? ( sys-libs/gpm ) |
|||
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) ) |
|||
json? ( dev-libs/jansson ) |
|||
kerberos? ( virtual/krb5 ) |
|||
lcms? ( media-libs/lcms:2 ) |
|||
libxml2? ( >=dev-libs/libxml2-2.2.0 ) |
|||
mailutils? ( net-mail/mailutils[clients] ) |
|||
!mailutils? ( net-libs/liblockfile ) |
|||
selinux? ( sys-libs/libselinux ) |
|||
ssl? ( net-libs/gnutls:0= ) |
|||
systemd? ( sys-apps/systemd ) |
|||
zlib? ( sys-libs/zlib ) |
|||
X? ( |
|||
x11-libs/libICE |
|||
x11-libs/libSM |
|||
x11-libs/libX11 |
|||
x11-libs/libXext |
|||
x11-libs/libXfixes |
|||
x11-libs/libXinerama |
|||
x11-libs/libXrandr |
|||
x11-libs/libxcb |
|||
x11-misc/xbitmaps |
|||
gconf? ( >=gnome-base/gconf-2.26.2 ) |
|||
gsettings? ( >=dev-libs/glib-2.28.6 ) |
|||
gif? ( media-libs/giflib:0= ) |
|||
jpeg? ( virtual/jpeg:0= ) |
|||
png? ( >=media-libs/libpng-1.4:0= ) |
|||
svg? ( >=gnome-base/librsvg-2.0 ) |
|||
tiff? ( media-libs/tiff:0 ) |
|||
xpm? ( x11-libs/libXpm ) |
|||
imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= ) |
|||
xft? ( |
|||
media-libs/fontconfig |
|||
media-libs/freetype |
|||
x11-libs/libXft |
|||
x11-libs/libXrender |
|||
cairo? ( >=x11-libs/cairo-1.12.18 ) |
|||
m17n-lib? ( |
|||
>=dev-libs/libotf-0.9.4 |
|||
>=dev-libs/m17n-lib-1.5.1 |
|||
) |
|||
) |
|||
gtk? ( |
|||
gtk2? ( x11-libs/gtk+:2 ) |
|||
!gtk2? ( |
|||
x11-libs/gtk+:3 |
|||
xwidgets? ( |
|||
net-libs/webkit-gtk:4= |
|||
x11-libs/libXcomposite |
|||
) |
|||
) |
|||
) |
|||
!gtk? ( |
|||
motif? ( |
|||
>=x11-libs/motif-2.3:0 |
|||
x11-libs/libXpm |
|||
x11-libs/libXmu |
|||
x11-libs/libXt |
|||
) |
|||
!motif? ( |
|||
Xaw3d? ( |
|||
x11-libs/libXaw3d |
|||
x11-libs/libXmu |
|||
x11-libs/libXt |
|||
) |
|||
!Xaw3d? ( athena? ( |
|||
x11-libs/libXaw |
|||
x11-libs/libXmu |
|||
x11-libs/libXt |
|||
) ) |
|||
) |
|||
) |
|||
)" |
|||
|
|||
DEPEND="${RDEPEND} |
|||
X? ( x11-base/xorg-proto )" |
|||
|
|||
BDEPEND="virtual/pkgconfig |
|||
gzip-el? ( app-arch/gzip )" |
|||
# pax_kernel? ( sys-apps/attr ) |
|||
|
|||
if [[ ${PV##*.} = 9999 ]]; then |
|||
DEPEND="${DEPEND} |
|||
sys-apps/texinfo" |
|||
fi |
|||
|
|||
EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" |
|||
SITEFILE="20${PN}-${SLOT}-gentoo.el" |
|||
|
|||
src_prepare() { |
|||
if [[ ${PV##*.} = 9999 ]]; then |
|||
FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \ |
|||
configure.ac) |
|||
[[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" |
|||
einfo "Emacs branch: ${EGIT_BRANCH}" |
|||
einfo "Commit: ${EGIT_VERSION}" |
|||
einfo "Emacs version number: ${FULL_VERSION}" |
|||
[[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ |
|||
|| die "Upstream version number changed to ${FULL_VERSION}" |
|||
fi |
|||
|
|||
eapply_user |
|||
|
|||
# Fix filename reference in redirected man page |
|||
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ |
|||
|| die "unable to sed ctags.1" |
|||
|
|||
AT_M4DIR=m4 eautoreconf |
|||
} |
|||
|
|||
src_configure() { |
|||
strip-flags |
|||
filter-flags -pie #526948 |
|||
|
|||
if use sh; then |
|||
replace-flags "-O[1-9]" -O0 #262359 |
|||
elif use ia64; then |
|||
replace-flags "-O[2-9]" -O1 #325373 |
|||
else |
|||
replace-flags "-O[3-9]" -O2 |
|||
fi |
|||
|
|||
local myconf |
|||
|
|||
if use alsa; then |
|||
use sound || ewarn \ |
|||
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support." |
|||
myconf+=" --with-sound=alsa" |
|||
else |
|||
myconf+=" --with-sound=$(usex sound oss)" |
|||
fi |
|||
|
|||
if use X; then |
|||
myconf+=" --with-x --without-ns" |
|||
myconf+=" $(use_with gconf)" |
|||
myconf+=" $(use_with gmp libgmp)" |
|||
myconf+=" $(use_with gsettings)" |
|||
myconf+=" $(use_with toolkit-scroll-bars)" |
|||
myconf+=" $(use_with gif)" |
|||
myconf+=" $(use_with jpeg)" |
|||
myconf+=" $(use_with png)" |
|||
myconf+=" $(use_with svg rsvg)" |
|||
myconf+=" $(use_with tiff)" |
|||
myconf+=" $(use_with xpm)" |
|||
myconf+=" $(use_with imagemagick)" |
|||
|
|||
if use xft; then |
|||
myconf+=" --with-xft" |
|||
myconf+=" $(use_with cairo)" |
|||
myconf+=" $(use_with m17n-lib libotf)" |
|||
myconf+=" $(use_with m17n-lib m17n-flt)" |
|||
else |
|||
myconf+=" --without-xft" |
|||
myconf+=" --without-cairo" |
|||
myconf+=" --without-libotf --without-m17n-flt" |
|||
use cairo && ewarn \ |
|||
"USE flag \"cairo\" has no effect if \"xft\" is not set." |
|||
use m17n-lib && ewarn \ |
|||
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set." |
|||
fi |
|||
|
|||
local f line |
|||
if use gtk; then |
|||
einfo "Configuring to build with GIMP Toolkit (GTK+)" |
|||
while read line; do ewarn "${line}"; done <<-EOF |
|||
Your version of GTK+ will have problems with closing open |
|||
displays. This is no problem if you just use one display, but |
|||
if you use more than one and close one of them Emacs may crash. |
|||
See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>. |
|||
If you intend to use more than one display, then it is strongly |
|||
recommended that you compile Emacs with the Athena/Lucid or the |
|||
Motif toolkit instead. |
|||
EOF |
|||
if use gtk2; then |
|||
myconf+=" --with-x-toolkit=gtk2 --without-xwidgets" |
|||
use xwidgets && ewarn \ |
|||
"USE flag \"xwidgets\" has no effect if \"gtk2\" is set." |
|||
else |
|||
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)" |
|||
fi |
|||
for f in motif Xaw3d athena; do |
|||
use ${f} && ewarn \ |
|||
"USE flag \"${f}\" has no effect if \"gtk\" is set." |
|||
done |
|||
elif use motif; then |
|||
einfo "Configuring to build with Motif toolkit" |
|||
myconf+=" --with-x-toolkit=motif" |
|||
for f in Xaw3d athena; do |
|||
use ${f} && ewarn \ |
|||
"USE flag \"${f}\" has no effect if \"motif\" is set." |
|||
done |
|||
elif use athena || use Xaw3d; then |
|||
einfo "Configuring to build with Athena/Lucid toolkit" |
|||
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" |
|||
else |
|||
einfo "Configuring to build with no toolkit" |
|||
myconf+=" --with-x-toolkit=no" |
|||
fi |
|||
if ! use gtk; then |
|||
use gtk2 && ewarn \ |
|||
"USE flag \"gtk2\" has no effect if \"gtk\" is not set." |
|||
use xwidgets && ewarn \ |
|||
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set." |
|||
fi |
|||
elif use aqua; then |
|||
einfo "Configuring to build with Nextstep (Cocoa) support" |
|||
myconf+=" --with-ns --disable-ns-self-contained" |
|||
myconf+=" --without-x" |
|||
else |
|||
myconf+=" --without-x --without-ns" |
|||
fi |
|||
|
|||
econf \ |
|||
--program-suffix="-${EMACS_SUFFIX}" \ |
|||
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ |
|||
--localstatedir="${EPREFIX}"/var \ |
|||
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ |
|||
--without-compress-install \ |
|||
--without-hesiod \ |
|||
--without-pop \ |
|||
--with-file-notification=$(usev inotify || usev gfile || echo no) \ |
|||
$(use_enable acl) \ |
|||
$(use_with dbus) \ |
|||
$(use_with dynamic-loading modules) \ |
|||
$(use_with games gameuser ":gamestat") \ |
|||
$(use_with gpm) \ |
|||
$(use_with json) \ |
|||
$(use_with kerberos) $(use_with kerberos kerberos5) \ |
|||
$(use_with lcms lcms2) \ |
|||
$(use_with libxml2 xml2) \ |
|||
$(use_with mailutils) \ |
|||
$(use_with selinux) \ |
|||
$(use_with ssl gnutls) \ |
|||
$(use_with systemd libsystemd) \ |
|||
$(use_with threads) \ |
|||
$(use_with wide-int) \ |
|||
$(use_with zlib) \ |
|||
${myconf} |
|||
} |
|||
|
|||
src_compile() { |
|||
# Disable sandbox when dumping. For the unbelievers, see bug #131505 |
|||
emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs" |
|||
} |
|||
|
|||
src_install () { |
|||
emake DESTDIR="${D}" NO_BIN_LINK=t install |
|||
|
|||
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ |
|||
|| die "moving emacs executable failed" |
|||
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ |
|||
|| die "moving emacs man page failed" |
|||
|
|||
# move info dir to avoid collisions with the dir file generated by portage |
|||
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ |
|||
|| die "moving info dir failed" |
|||
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir |
|||
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig |
|||
|
|||
# avoid collision between slots, see bug #169033 e.g. |
|||
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el |
|||
rm -rf "${ED}"/usr/share/{appdata,applications,icons} |
|||
rm -rf "${ED}/usr/$(get_libdir)" |
|||
rm -rf "${ED}"/var |
|||
|
|||
# remove unused <version>/site-lisp dir |
|||
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp |
|||
|
|||
# remove COPYING file (except for etc/COPYING used by describe-copying) |
|||
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING |
|||
|
|||
if use gzip-el; then |
|||
# compress .el files when a corresponding .elc exists |
|||
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ |
|||
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n |
|||
assert "gzip .el failed" |
|||
fi |
|||
|
|||
local cdir |
|||
if use source; then |
|||
cdir="/usr/share/emacs/${FULL_VERSION}/src" |
|||
insinto "${cdir}" |
|||
# This is not meant to install all the source -- just the |
|||
# C source you might find via find-function |
|||
doins src/*.{c,h,m} |
|||
elif has installsources ${FEATURES}; then |
|||
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" |
|||
fi |
|||
|
|||
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die |
|||
X |
|||
;;; ${PN}-${SLOT} site-lisp configuration |
|||
X |
|||
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) |
|||
Y (setq find-function-C-source-directory |
|||
Y "${EPREFIX}${cdir}") |
|||
X (let ((path (getenv "INFOPATH")) |
|||
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") |
|||
X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) |
|||
X (and path |
|||
X ;; move Emacs Info dir before anything else in /usr/share/info |
|||
X (let* ((p (cons nil (split-string path ":" t))) (q p)) |
|||
X (while (and (cdr q) (not (string-match re (cadr q)))) |
|||
X (setq q (cdr q))) |
|||
X (setcdr q (cons dir (delete dir (cdr q)))) |
|||
X (setq Info-directory-list (prune-directory-list (cdr p))))))) |
|||
EOF |
|||
elisp-site-file-install "${T}/${SITEFILE}" || die |
|||
|
|||
dodoc README BUGS CONTRIBUTE |
|||
|
|||
if use aqua; then |
|||
dodir /Applications/Gentoo |
|||
rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app |
|||
mv nextstep/Emacs.app \ |
|||
"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die |
|||
fi |
|||
|
|||
DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs |
|||
through the Emacs eselect module, which also redirects man and info |
|||
pages. Therefore, several Emacs versions can be installed at the |
|||
same time. \"man emacs.eselect\" for details. |
|||
\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is |
|||
strongly recommended that you use app-admin/emacs-updater to rebuild |
|||
all byte-compiled elisp files of the installed Emacs packages." |
|||
use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. |
|||
Installing media-fonts/font-adobe-{75,100}dpi on the X server's |
|||
machine would satisfy basic Emacs requirements under X11. |
|||
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs |
|||
for how to enable anti-aliased fonts." |
|||
use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in |
|||
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink |
|||
it into /Applications by yourself." |
|||
readme.gentoo_create_doc |
|||
} |
|||
|
|||
pkg_preinst() { |
|||
# move Info dir file to correct name |
|||
local infodir=/usr/share/info/${EMACS_SUFFIX} f |
|||
if [[ -f ${ED}${infodir}/dir.orig ]]; then |
|||
mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" |
|||
elif [[ -d "${ED}"${infodir} ]]; then |
|||
# this should not happen in EAPI 4 |
|||
ewarn "Regenerating Info directory index in ${infodir} ..." |
|||
rm -f "${ED}"${infodir}/dir{,.*} |
|||
for f in "${ED}"${infodir}/*; do |
|||
if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then |
|||
install-info --info-dir="${ED}"${infodir} "${f}" \ |
|||
|| die "install-info failed" |
|||
fi |
|||
done |
|||
fi |
|||
} |
|||
|
|||
pkg_postinst() { |
|||
elisp-site-regen |
|||
readme.gentoo_print_elog |
|||
|
|||
if use livecd; then |
|||
# force an update of the emacs symlink for the livecd/dvd, |
|||
# because some microemacs packages set it with USE=livecd |
|||
eselect emacs update |
|||
elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then |
|||
# refresh symlinks in case any installed files have changed |
|||
eselect emacs set ${EMACS_SUFFIX} |
|||
else |
|||
eselect emacs update ifunset |
|||
fi |
|||
} |
|||
|
|||
pkg_postrm() { |
|||
elisp-site-regen |
|||
eselect emacs update ifunset |
|||
} |
@ -1,13 +1,13 @@ |
|||
DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2 |
|||
DIST wine-2.0.tar.bz2 23662707 BLAKE2B 1d485c1359ce8a0395a9f6378c1f8be33ea2836b80390d1eb1095057a0acedd21708daab16e1851a315391b9f9b0a360879b9d98c73bcc8371c5023e9a8037f5 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186 |
|||
DIST wine-3.11.tar.xz 20501100 BLAKE2B 793fe0a83ed13f4ca436c710198ffcbde5e0109d9890551a410b1d836d79adf4060f0cc7e20861eb806878db79f8003023821ac1b0d72a0710235412863c4576 SHA512 8f7226364648ec30eb77f1848ee6bf01be2445fd96f902309575ac1f6ece31bf54d415516fcda76ae438010a36a9d4846d22cc37365aac4a230701376f9589d7 |
|||
DIST wine-3.12.tar.xz 20516708 BLAKE2B 6ff32f8d471492c1ca42db434b16c0273e98cd15215d2f67e3d8e34e298d36620f55409bb781687f3ab11e6a44bd95eaa033e642fdb0d7aae90319ac2ddd2fb6 SHA512 afc76e8975ea780f664de27a17128f730bcbe72a9fad0c01bfe6dcc98c2f98729ccde32e97fe4df2cf98f5d1b254b28f0e7cd380855148c5cfb41dd88f3012a1 |
|||
DIST wine-3.13.tar.xz 20551460 BLAKE2B 2f8b1c2f72761b3c5541b8760be3009295dc9482257539edce83aa9d6022b2e8a25e1cee4fe56b69808e51e338fd330db5da17dec5dea4ba7684b5d7eb7e77d5 SHA512 a07a3d2a19261f9251f165ca4c14871e6ebda4d3f99da16f9fc41f06e80cae3fb50aeab96628c7a739e635e896dbb31c55df8b42c4637a058f9035c664c93a59 |
|||
DIST wine-d3d9-2.0.tar.gz 48373 BLAKE2B 80370a7519141030a7e54c2ea5db410b2bf1cde8d8389618487c52e4ff40f87cf7b0f9087331bb43fa6436e1b9936de9cc00a02b9ab9ce6528635a245e6a8b3f SHA512 a9e2d1c9f2784128e4c53a8dc923070a5057b5ff3d83c2b536a2d2df0bc8433ac92b8ab1c3cdf34158c0e7bfe497ddb5974605fbc1736a92307639d59450c7a1 |
|||
DIST wine-d3d9-3.11.tar.gz 50540 BLAKE2B c9c6469fb0dfff9be5cf50796f47a747d02c736a22b186ec561c0dcc3715a0da1cfce24e852da075685ea3047131d98cf506810ab7d555fd91ca334dbf8c315c SHA512 57ebadc6764c36a925c8e9130b3b436513795bb53e96566a88c22337b37a8c3efcb84aada19d3e5dd6ae2eb24f64b46a33376027600cb7863254369b4555de05 |
|||
DIST wine-3.14.tar.xz 20583696 BLAKE2B 5e9410c5dadd0c08cbe0e52b0170840492890784dbd1afc8f01ab50caac8443513133575fa6f64143276ce315dde8614f5ece4b3cd5568c224a3379c85619b63 SHA512 50dbbf8a832abfa01247b9d170c6e1fe4f722cc8868659512df7bc17efd7e9d618db10283baf1eda0f1e4abbcdd130be16dbdb8d5a91b155c2c441e50e2b43f1 |
|||
DIST wine-3.15.tar.xz 21402964 BLAKE2B fb74ae33b89612b894463b6381184737ddda7b8a23d939cefc207124529d2042051ae16959f0e752400c02ca1ee69a5870d809912b7ddc9f56c7377bcc643bf2 SHA512 3fb3f6a896eae53ef75a751e72f7431f9b6986b56738dc314bca9eff9d078e65d865ebb28cbb7a63aa571eb11cdaed20c21c36cec565f81610e348fd165e0f2a |
|||
DIST wine-d3d9-3.12.tar.gz 50544 BLAKE2B 68c58a8800facf910b72e07f8be77d260060175da25583d3e6562cbe18c4fa1cf2fe0f5d109747e6901677231483adf02a0f1d76105e66733faf1e932c75e876 SHA512 9beb98528600b6699a6112abaf037d73a7cd0e791de04dee2c1874075b9b99a24438df92421802eb89e1285e1235e6a36b6cd7260757fc43d7f8cb3b913296ad |
|||
DIST wine-d3d9-3.13.tar.gz 50546 BLAKE2B 2773503ad2c952c47982258c8b7d7486b5822bfd759a96aa138996aed5ac16d7e3c7add7700f4394292f6154fdd8d58dbfabad1faf8b5013fb88f68ed7657521 SHA512 c3da30c0ce7fca433a703e42213c4a4f6c7a1f8a2d7744555a385641e5c344772dfd142779978d131bf42e79cddb4925b9926fd96e7e1497e173a755f1ec6ce5 |
|||
DIST wine-staging-2.0.tar.gz 10182575 BLAKE2B 1de645f66fa3e5e0d8ceddf5439fd246510470f63d6331c7029abed7192180b7b8430e43a2e732a30a5fbe0c73ba39b7fafcfc08830c68e679dff90576c3a960 SHA512 51412299259d6e92c8993543d5fdb3239ebe31e0d1d715e0a9e8ce94b3139c0567b08ff1600d41be94f12427cbfccc2f6b6b2ed030535445c95618aaf6578580 |
|||
DIST wine-staging-3.11.tar.gz 9950753 BLAKE2B bffc6a86b652695d9ed4e0e2ce6f165e45fc2f6fb7e898704fd22624b1b0497ae35319b2444b49ee62eb8d0e308dd32148af64e38f480ce4408170aa2c91a828 SHA512 811a8668c3747f02850928a99bc66612937c38d98068dddec47bffe427d00c7c83b172f12807e1cb609d83c00e978949f913877bfbf5d8443a5ad29011c03545 |
|||
DIST wine-d3d9-3.14.tar.gz 50546 BLAKE2B 47169741d0330902a006ce4a7663de317b221cfaa3e19abfbb3af2ff886e2a42a1185151531c2b67b57bdafc5646c10f57cd4ff11faf1d2f36c9f269f382637d SHA512 921bd096aa039d002b0f3c5f856668063a34164ad097cee696f45af7d148e80a78b05dfb879f91337fea2cb6e06dd99be2d199b5186c9cd7726dc72f31ddd1ea |
|||
DIST wine-d3d9-3.15.tar.gz 50540 BLAKE2B 5fbb56d4e6b2373fa9a2075a379e577584a50c04fa15fbe3e282d25b03211e64dc5f429082a654c3c61016ddda9c5a12277b78086a0938e5cb20952b01ef72e2 SHA512 448433198cb40628edf2ee6f7697671c9efb1c8e68ce826b0edc884625e5f1659956f0c76ea995443c29ca4cefe5030559860d7413f553fc4a3523df3a35b3a7 |
|||
DIST wine-staging-3.12.tar.gz 9936375 BLAKE2B 5c48fb1037d39ce6ab78c03a002b2edfc2fc434c0f661bb6def050becd7411998b9ae763db99bda3b5190e3e6ab355699806d976d01f813904080c6156dafb7e SHA512 166f991f7c8f59df656f3fb28150a8e26e48d1ff6906b3eccd31cb84524e28efe7e7df00eadc21881940308ccc4b4edebcb2a71bdd03ba3de5beb1cf42e2f058 |
|||
DIST wine-staging-3.13.tar.gz 9936353 BLAKE2B f5791c6f1bc43395860ea938cfadefe88e6839e44d6e3a8c5b9474e1ec17654645145459a2a9c32adbec6a5cd6441f754b0121958ff4c12e424262bb61c18358 SHA512 0124950cc18d566daecc532a432bce27d712f48eaaa9b37bf930e056b460e30a8fb1806aa179f72b44a95dc56963a3dc063b4acb71affb7b8ddff3001fe59b9a |
|||
DIST wine-staging-3.14.tar.gz 9938677 BLAKE2B 0f801298ad23d24688d072236bfa5b9fc549e1ecb964912f90029efd71fab27a38661df27433b52d1356a2b800c9a7c39d91ae08f60eb2deaf211d97a1ba60b7 SHA512 f998baac6be3fece1ae6d4e924f883befea43f849d678c987e9fe4d102cf22fde7b4a0fa728294c46d70c7d29caa037022fb9e33ce4b4fac0e49c94d25cdfa66 |
|||
DIST wine-staging-3.15.tar.gz 9941091 BLAKE2B 5a0e37ce52ff3e6130434aa56953e70fafb0c83dc33fa1ad7562a9244821ae75c30b9c858c7506462348b6d13016c236a14bde0297bc43d2d282d60c6c012470 SHA512 f0ed9d4a099b03c04a126927919b7eddbdaff7a08a0b97cdf387c64318826d6454183cf03997425b349540d13b1ccf6262aa2c5af0af682939584e3de71b7541 |
@ -1,634 +0,0 @@ |
|||
# Copyright 1999-2018 Gentoo Foundation |
|||
# 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.bz2" |
|||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
|||
fi |
|||
S="${WORKDIR}/${MY_P}" |
|||
|
|||
STAGING_P="wine-staging-${PV}" |
|||
STAGING_DIR="${WORKDIR}/${STAGING_P}" |
|||
D3D9_P="wine-d3d9-${PV}" |
|||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}" |
|||
GWP_V="20180120" |
|||
PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
|||
|
|||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional 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 |
|||
" |
|||
|
|||
if [[ ${PV} == "9999" ]] ; then |
|||
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git" |
|||
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git" |
|||
else |
|||
SRC_URI="${SRC_URI} |
|||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz ) |
|||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )" |
|||
fi |
|||
|
|||
LICENSE="LGPL-2.1" |
|||
SLOT="${PV}" |
|||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml" |
|||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
|||
X? ( truetype ) |
|||
elibc_glibc? ( threads ) |
|||
osmesa? ( opengl ) |
|||
pipelight? ( staging ) |
|||
s3tc? ( staging ) |
|||
test? ( abi_x86_32 ) |
|||
themes? ( staging ) |
|||
vaapi? ( staging )" # 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/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}] ) |
|||
d3d9? ( |
|||
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}] |
|||
x11-libs/libX11[${MULTILIB_USEDEP}] |
|||
x11-libs/libXext[${MULTILIB_USEDEP}] |
|||
x11-libs/libxcb[${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}] ) |
|||
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}] ) |
|||
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}] ) |
|||
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.6.4 ) |
|||
perl? ( |
|||
dev-lang/perl |
|||
dev-perl/XML-Simple |
|||
) |
|||
pulseaudio? ( |
|||
realtime? ( sys-auth/rtkit ) |
|||
) |
|||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] ) |
|||
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 |
|||
"${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
|||
"${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
|||
"${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
|||
) |
|||
PATCHES_BIN=( |
|||
"${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
|||
) |
|||
|
|||
# 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 || use d3d9; 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 "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT." |
|||
eerror |
|||
return 1 |
|||
fi |
|||
fi |
|||
if [[ ! -z ${EGIT_COMMIT} ]]; then |
|||
eerror "Commits must now be specified using the environmental variables" |
|||
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_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 |
|||
if use staging; then |
|||
local CURRENT_WINE_COMMIT=${EGIT_VERSION} |
|||
|
|||
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}" |
|||
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}" |
|||
|
|||
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine" |
|||
fi |
|||
fi |
|||
if use d3d9; then |
|||
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}" |
|||
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}" |
|||
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="" |
|||
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132 |
|||
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 |
|||
if use d3d9; then |
|||
if use staging; then |
|||
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" ) |
|||
else |
|||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" ) |
|||
fi |
|||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" ) |
|||
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 |
|||
# 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 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 xcomposite) |
|||
$(use_with xinerama) |
|||
$(use_with xml) |
|||
$(use_with xml xslt) |
|||
) |
|||
|
|||
use staging && myconf+=( |
|||
--with-xattr |
|||
$(use_with themes gtk3) |
|||
$(use_with vaapi va) |
|||
) |
|||
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) ) |
|||
|
|||
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 |
|||
if use d3d9; then |
|||
eselect wine register --d3d9 ${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 |
|||
if use d3d9; then |
|||
eselect wine deregister --d3d9 ${P} || die |
|||
fi |
|||