parent
0ff1301272
commit
bac5a3deb6
@ -1,3 +1,3 @@
|
||||
DIST libarchive-3.2.2.tar.gz 5458241 SHA256 691c194ee132d1f0f7a42541f091db811bc2e56f7107e9121be2bc8c04f1060f SHA512 a67920c37d49cf9478032d77fc4fa21827cebb96e9b83d9ecb8466328834052e4ab3d3a9bc4e2edf405d6cb14ffd648c9fa100b578257f6e5842c99bbea558a7 WHIRLPOOL 8fdc2e9245db27a7da3cfdeecb6283b170a25fc6ea8201fe5a414b4c1b523ae6b05745246f867f24062d91b7a040780b687b1a44a95503c4e252f9836218ffef
|
||||
DIST libarchive-3.3.0.tar.gz 6277298 SHA256 f9c80dece299c04dd5f601b523f6518ad90fef1575db9b278e81616cc860e20c SHA512 06c5b6469cee760719b2e3e2909d0098639dc4e38501a74fdab5e2abc695676a6e5e11aaa0a033e9badef45fdc4abd6d943c3f4b07dce19cc8b34b039c528529 WHIRLPOOL 086926f3bce77c86385d514730b69d4e8580a55b3c97a134c50c478ecccffebfc6f39d2d156b2739bb2401ad5a8342e1fb0f3e781c0f4bfcee71a9e710bc0abe
|
||||
DIST libarchive-3.3.1.tar.gz 6219943 SHA256 29ca5bd1624ca5a007aa57e16080262ab4379dbf8797f5c52f7ea74a3b0424e7 SHA512 90702b393b6f0943f42438e277b257af45eee4fa82420431f6a4f5f48bb846f2a72c8ff084dc3ee9c87bdf8b57f4d8dddf7814870fe2604fe86c55d8d744c164 WHIRLPOOL 07a8a5f700c62d61e82d6bb123b5e720041b1ea296c17f189d4494ef4dab58b2c4d428c12fe8221602c7ec5d8eca859f8c288fc9b9a51d8a511fb01051dc17ca
|
||||
DIST libarchive-3.3.2.tar.gz 6236562 SHA256 ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce SHA512 1e538cd7d492f54b11c16c56f12c1632ba14302a3737ec0db786272aec0c8020f1e27616a7654d57e26737e5ed9bfc9a62f1fdda61a95c39eb726aa7c2f673e4 WHIRLPOOL 6afc8dfca6474933383619e15c750b08ecd1553f3ff244c60cd43502b3d177be9633a2d2c80d9ea7846af21ae7dc59f32fd79cface4258a1b7b00e60e3a5f7a9
|
||||
|
@ -1 +1,2 @@
|
||||
DIST spice-protocol-0.12.12.tar.bz2 80628 SHA256 17abdc2743b5d44b0f4423b61c44aafe9f2078c27218aeea78c2d02a5c409d03 SHA512 66e7a902b3c4a5a778cb91ffd9d324b12d414184146ac834dfb3bd81b4b6b1bb56258d3e1ce240b6f8747e1960fce8f0f6b0ada3617e9f9819be7118195fce6b WHIRLPOOL 15f7989e4508724dd43b435b0047a6f0bd6f1121ede74093012706007fe1d1755d51992e7085bbef37ee1bb0bb484141b8cdeb035b17280c70be23cb83ef66e7
|
||||
DIST spice-protocol-0.12.13.tar.bz2 73259 SHA256 89ee11b202d2268e061788e6ace114e1ff18c7620ae64d1ca3aba252ee7c9933 SHA512 55840020a7a538e72bf53d2124a6b1920dd2d567418cf02dc33783ae5c78154d5c832d69f2e6570453c4086194b417d10687884de20365c13657ad7ca7b2ae02 WHIRLPOOL 6ea2ac3361a3e52fd9e62b44a7c5c2fc189a71ca5c0f7f97a8f5775437a1090b67dc26114f28ebc25afe39c8181cddc34490d75cc704be5fbc33a1c4ff291649
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Headers defining the SPICE protocol"
|
||||
HOMEPAGE="http://spice-space.org/"
|
||||
SRC_URI="http://spice-space.org/download/releases/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
@ -0,0 +1,617 @@
|
||||
# Copyright 1999-2017 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 eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://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}.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}"
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
D3D9_EGIT_REPO_URI="git://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/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}] )
|
||||
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}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
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.0 )
|
||||
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-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# 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"
|
||||
|
||||
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
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
|
||||
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, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
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 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)
|
||||
)
|
||||
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 "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# 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
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
fdo-mime_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
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,551 @@
|
||||
# Copyright 1999-2017 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 eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://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}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
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 +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}] )
|
||||
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}] )
|
||||
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}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
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.0 )
|
||||
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-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# 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"
|
||||
|
||||
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 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, 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, 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 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() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use d3d9; then
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
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, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
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 X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
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 "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# 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
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use d3d9; then
|
||||
eselect wine register --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_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 d3d9; then
|
||||
eselect wine deregister --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,586 @@
|
||||
# Copyright 1999-2017 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 eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://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}.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}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/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 +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}] )
|
||||
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}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
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.0 )
|
||||
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-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# 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"
|
||||
|
||||
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 "environmental variables WINE_COMMIT, and STAGING_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
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
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
|
||||
|
||||
default
|
||||
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, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
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)
|
||||
)
|
||||
|
||||
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 "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# 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
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
fdo-mime_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() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST FreeWnn-1.1.1-a021.tar.bz2 3108905 SHA256 df9523b2eea7cbc94d9d01c19a01394abe3b648c5ec3f1259adac06fc8ecbb86 SHA512 27a61949d4f9e969d09b7c698c07db0be8140e346dad4e84be72d54f9c087e317e7854ae02e2ebbd530b6b86b4a55c8d209a7dd27de1ed908731487aece5d7a8 WHIRLPOOL 3e34357a3925fdbedd1c71138053196799de9a7b0d5e3c1e23501a52cafac5eda52b6f33b5c75f7ed7e09174dfc36a63b25e3d7d620114b157e6dd82530f6013
|
||||
DIST FreeWnn-1.1.1-a022.tar.bz2 3137954 SHA256 3728352fe9d3352ce16884bd0a517eaf227da0cf7e6f1d09b7a3f38f6bfb6dba SHA512 938c8bff69e2f43cce265a6a84822ae08b89725837f808addb66ba202dadafa60c213638f298d9efe1257fd96f7193fd711a3dacecd803289d925d8f6ea6eaf3 WHIRLPOOL f7462c2d6214ea416c8b726b0d086911b238efd39615c4eea5d2c1a9685974ce1c9f20d23d65e861753e64d796c8b98d72682d670d48bf5da80e8051df8d7de9
|
||||
DIST FreeWnn-1.1.1-a023.tar.bz2 3147378 SHA256 88c81a9aae33151dcc66259637e5499b1fc313b7288d5b1e90d8dd6290c7a7e9 SHA512 f0b8c657f0441463c752314b7d2fd603b4df056b049d247ecd77ff8b2f2f837fed7e75ce89deabca7061d3126afd51bf301bcdd3ac429056f43bfc8e0c7c8385 WHIRLPOOL 1fa31f568346c69b2cd263ff336ae1eedb6da1d085827eb9b65634fe690f6148b4535f125881053bf6fe79de149f78af6e226c40d1ea278a4977403a36b4efd4
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/Wnn/pubdicplus/Makefile.in b/Wnn/pubdicplus/Makefile.in
|
||||
index 41c868d..e9ffc28 100644
|
||||
--- a/Wnn/pubdicplus/Makefile.in
|
||||
+++ b/Wnn/pubdicplus/Makefile.in
|
||||
@@ -422,7 +422,7 @@ fzk.master-.c: fzk.master
|
||||
$(LN) $? $@
|
||||
|
||||
std.fzk: fzk.master-.c $(FZK_SRC)
|
||||
- $(CPP) $(FZK_FLAG) fzk.master-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
|
||||
+ $(CPP) -P $(FZK_FLAG) fzk.master-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
|
||||
|
||||
full.fzk: $(FZK_SRC)
|
||||
$(MAKE) FZK_FLAG=-DKANSAI std.fzk
|
@ -1,26 +0,0 @@
|
||||
diff --git a/makerule.mk.in b/makerule.mk.in
|
||||
index fa9a7e1..dc7210a 100644
|
||||
--- a/makerule.mk.in
|
||||
+++ b/makerule.mk.in
|
||||
@@ -94,7 +94,7 @@ ALLDEFINES = $(INCLUDES) $(DEFINES)
|
||||
CFLAGS = @CFLAGS@ @CDEBUGFLAGS@ $(CCOPTIONS) @ipv6@ @DEFS@ $(ALLDEFINES)
|
||||
LIBS = @LIBS@
|
||||
LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
|
||||
-LDOPTIONS = @CDEBUGFLAGS@ $(CCOPTIONS)
|
||||
+LDOPTIONS = @CDEBUGFLAGS@ $(CCOPTIONS) $(LDFLAGS)
|
||||
|
||||
|
||||
#
|
||||
diff --git a/Wnn/jlib.V3/Makefile.in b/Wnn/jlib.V3/Makefile.in
|
||||
index 9d5b873..5b1bf23 100644
|
||||
--- a/Wnn/jlib.V3/Makefile.in
|
||||
+++ b/Wnn/jlib.V3/Makefile.in
|
||||
@@ -76,7 +76,7 @@ includes::
|
||||
all:: libjd.la
|
||||
|
||||
libjd.la: $(OBJS) $(EXTRALIBRARYDEPS)
|
||||
- $(LIBTOOL) $(CC) -o $@ $(OBJS:.o=.lo) -rpath $(WNNLIBDIR) -version-info $(WNNJLIBVERSION)
|
||||
+ $(LIBTOOL) $(CC) -o $@ $(LDOPTIONS) $(OBJS:.o=.lo) -rpath $(WNNLIBDIR) -version-info $(WNNJLIBVERSION)
|
||||
|
||||
lintlib:: llib-ljd.ln
|
||||
|
@ -0,0 +1,13 @@
|
||||
--- a/Wnn/include/wnn_config.h
|
||||
+++ b/Wnn/include/wnn_config.h
|
||||
@@ -149,8 +149,8 @@
|
||||
#define TTY_KCODE J_EUJIS
|
||||
#define PTY_KCODE J_EUJIS
|
||||
# else /* !DGUX */
|
||||
-#define TTY_KCODE J_JIS
|
||||
-#define PTY_KCODE J_JIS
|
||||
+#define TTY_KCODE J_EUJIS
|
||||
+#define PTY_KCODE J_EUJIS
|
||||
# endif
|
||||
#endif
|
||||
|
@ -1,22 +1,16 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
depend() {
|
||||
use net
|
||||
}
|
||||
command="/usr/bin/Wnn4/jserver"
|
||||
|
||||
start() {
|
||||
ebegin "Starting up ${SERVICE}"
|
||||
/usr/bin/Wnn4/jserver &>/dev/null
|
||||
if [ $? -eq 15 ]; then
|
||||
true;
|
||||
else
|
||||
false;
|
||||
fi
|
||||
eend 0
|
||||
depend() {
|
||||
use logger
|
||||
need net
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${SERVICE}"
|
||||
/usr/bin/Wnn4/wnnkill &> /dev/null
|
||||
eend $? "Failed to stop ${SERVICE}"
|
||||
ebegin "Stopping ${name:-${RC_SVCNAME}}"
|
||||
/usr/bin/Wnn4/wnnkill
|
||||
eend ${?}
|
||||
}
|
||||
|
@ -1,58 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit eutils
|
||||
|
||||
MY_P="FreeWnn-${PV/_alpha/-a0}"
|
||||
|
||||
DESCRIPTION="Network-Extensible Kana-to-Kanji Conversion System"
|
||||
HOMEPAGE="http://freewnn.sourceforge.jp/
|
||||
http://www.freewnn.org/"
|
||||
SRC_URI="mirror://sourceforge.jp/freewnn/17724/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
|
||||
IUSE="X ipv6"
|
||||
|
||||
DEPEND="X? ( x11-libs/libX11 x11-libs/libXmu x11-libs/libXt )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
|
||||
cd "${S}"
|
||||
#Change WNNOWNER to root so we don't need to add wnn user
|
||||
# and disable stripping of binary files
|
||||
sed -i -e "s/WNNOWNER = wnn/WNNOWNER = root/" \
|
||||
-e "s/@INSTPGMFLAGS@//" makerule.mk.in || die
|
||||
|
||||
#bug #318593
|
||||
epatch "${FILESDIR}"/${P}-gcc45.patch
|
||||
|
||||
epatch "${FILESDIR}"/${P}-ldflags.patch
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
econf \
|
||||
--disable-cWnn \
|
||||
--disable-kWnn \
|
||||
--without-termcap \
|
||||
$(use_with X x) \
|
||||
$(use_with ipv6) \
|
||||
|| die
|
||||
emake -j1 || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# install executables, libs ,dictionaries
|
||||
emake DESTDIR="${D}" install || die
|
||||
# install man pages
|
||||
emake DESTDIR="${D}" install.man || die
|
||||
# install docs
|
||||
dodoc ChangeLog* CONTRIBUTORS
|
||||
# install rc script
|
||||
newinitd "${FILESDIR}"/freewnn.initd freewnn
|
||||
}
|
@ -1,60 +1,54 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils
|
||||
EAPI="6"
|
||||
|
||||
MY_P="FreeWnn-${PV/_alpha/-a0}"
|
||||
|
||||
DESCRIPTION="Network-Extensible Kana-to-Kanji Conversion System"
|
||||
HOMEPAGE="http://freewnn.sourceforge.jp/
|
||||
http://www.freewnn.org/"
|
||||
SRC_URI="mirror://sourceforge.jp/freewnn/59257/${MY_P}.tar.bz2"
|
||||
HOMEPAGE="http://freewnn.sourceforge.jp/ http://www.freewnn.org/"
|
||||
SRC_URI="mirror://sourceforge.jp/${PN}/59257/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 ~arm64 hppa ia64 ppc ppc64 sparc x86"
|
||||
IUSE="X ipv6"
|
||||
|
||||
DEPEND="X? ( x11-libs/libX11 x11-libs/libXmu x11-libs/libXt )"
|
||||
RDEPEND="${DEPEND}"
|
||||
IUSE="ipv6"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
#Change WNNOWNER to root so we don't need to add wnn user
|
||||
# and disable stripping of binary files
|
||||
sed -i -e "s/WNNOWNER = wnn/WNNOWNER = root/" \
|
||||
-e "s/@INSTPGMFLAGS@//" makerule.mk.in \
|
||||
-e "s/@LN_S@/ln -sf/" || die
|
||||
|
||||
#bug #318593
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-parallel-build.patch
|
||||
"${FILESDIR}"/${PN}-Wformat-security.patch
|
||||
)
|
||||
DOCS="ChangeLog* CONTRIBUTORS"
|
||||
|
||||
epatch "${FILESDIR}"/${P}-parallel-build.patch #517916
|
||||
|
||||
# 542534
|
||||
sed -i -e "s/egrep -v/egrep -av/" kWnn/kdic/Makefile.in \
|
||||
cWnn/tdic/Makefile.in cWnn/cdic/Makefile.in \
|
||||
Wnn/pubdicplus/Makefile.in || die
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -i \
|
||||
-e "s/WNNOWNER = wnn/WNNOWNER = root/" \
|
||||
-e "s/@INSTPGMFLAGS@//" \
|
||||
makerule.mk.in
|
||||
|
||||
# bug #542534
|
||||
sed -i \
|
||||
-e "s/egrep -v/egrep -av/" \
|
||||
PubdicPlus/Makefile.in \
|
||||
Wnn/pubdicplus/Makefile.in \
|
||||
cWnn/[ct]dic/Makefile.in \
|
||||
kWnn/kdic/Makefile.in
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_with ipv6) \
|
||||
--disable-cWnn \
|
||||
--disable-kWnn \
|
||||
--without-termcap \
|
||||
$(use_with X x) \
|
||||
$(use_with ipv6)
|
||||
--disable-kWnn
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# install executables, libs ,dictionaries
|
||||
emake DESTDIR="${ED}" install || die
|
||||
# install man pages
|
||||
emake DESTDIR="${ED}" install.man || die
|
||||
# install docs
|
||||
dodoc ChangeLog* CONTRIBUTORS
|
||||
# install rc script
|
||||
newinitd "${FILESDIR}"/freewnn.initd freewnn
|
||||
emake DESTDIR="${D}" install install.man
|
||||
einstalldocs
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||
}
|
||||
|
@ -0,0 +1,72 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
MY_P="FreeWnn-${PV/_alpha/-a0}"
|
||||
|
||||
DESCRIPTION="Network-Extensible Kana-to-Kanji Conversion System"
|
||||
HOMEPAGE="http://freewnn.sourceforge.jp/ http://www.freewnn.org/"
|
||||
SRC_URI="mirror://sourceforge.jp/${PN}/63271/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="ipv6 uum"
|
||||
|
||||
RDEPEND="uum? ( sys-libs/ncurses:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
uum? ( virtual/pkgconfig )"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-uum-EUC-JP.patch
|
||||
"${FILESDIR}"/${PN}-Wformat-security.patch
|
||||
)
|
||||
DOCS="ChangeLog* CONTRIBUTORS"
|
||||
|
||||
src_prepare() {
|
||||
sed -i \
|
||||
-e "s/WNNOWNER = wnn/WNNOWNER = root/" \
|
||||
-e "s|@mandir@/|@mandir@/ja/|" \
|
||||
-e "s/@INSTPGMFLAGS@//" \
|
||||
makerule.mk.in
|
||||
|
||||
# bug #542534
|
||||
sed -i \
|
||||
-e "s/egrep -v/egrep -av/" \
|
||||
PubdicPlus/Makefile.in \
|
||||
Wnn/pubdicplus/Makefile.in \
|
||||
cWnn/[ct]dic/Makefile.in \
|
||||
kWnn/kdic/Makefile.in
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable uum client) \
|
||||
$(use_with ipv6) \
|
||||
--disable-cWnn \
|
||||
--disable-kWnn \
|
||||
--disable-traditional-layout \
|
||||
--with-term-libs="$(pkg-config --libs ncurses)"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
local m
|
||||
for m in $(find Wnn/man -name "*.man"); do
|
||||
iconv -f EUC-JP -t UTF-8 "${m}" > "${m}".UTF-8 || die
|
||||
mv "${m}"{.UTF-8,} || die
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install install.man
|
||||
einstalldocs
|
||||
|
||||
newconfd "${FILESDIR}"/${PN}.confd-r1 ${PN}
|
||||
newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
|
||||
}
|
@ -1,11 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>cjk@gentoo.org</email>
|
||||
<name>Cjk</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="sourceforge-jp">freewnn</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="project">
|
||||
<email>cjk@gentoo.org</email>
|
||||
<name>Cjk</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="uum">Build uum</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="sourceforge-jp">freewnn</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,5 +1,3 @@
|
||||
diff --git a/kimera.pro b/kimera.pro
|
||||
index 0d4f0be..a2b63da 100644
|
||||
--- a/kimera.pro
|
||||
+++ b/kimera.pro
|
||||
@@ -90,7 +90,7 @@ SOURCES = \
|
@ -0,0 +1,4 @@
|
||||
XIM=kimera
|
||||
XIM_PROGRAM="@EPREFIX@/usr/bin/kimera"
|
||||
GTK_IM_MODULE=xim
|
||||
QT_IM_MODULE=xim
|
@ -1,33 +1,38 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=3
|
||||
inherit qt4-r2 eutils multilib
|
||||
EAPI="6"
|
||||
|
||||
inherit qmake-utils
|
||||
|
||||
DESCRIPTION="A Japanese input method which supports the XIM protocol"
|
||||
SRC_URI="mirror://sourceforge.jp/kimera/37271/${P}.tar.gz"
|
||||
HOMEPAGE="http://kimera.sourceforge.jp/"
|
||||
HOMEPAGE="http://kimera.osdn.jp/"
|
||||
SRC_URI="mirror://sourceforge.jp/${PN}/37271/${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="+anthy"
|
||||
|
||||
DEPEND="dev-qt/qtcore:4
|
||||
RDEPEND="dev-qt/qt3support:4
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtgui:4
|
||||
dev-qt/qt3support:4
|
||||
anthy? ( app-i18n/anthy )
|
||||
!anthy? ( app-i18n/canna )"
|
||||
RDEPEND="${DEPEND}"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS="AUTHORS README*"
|
||||
PATCHES=( "${FILESDIR}"/${PN}-underlinking.patch )
|
||||
|
||||
src_configure() {
|
||||
local myconf="target.path=/usr/$(get_libdir)/${P}"
|
||||
use anthy || myconf="${myconf} no_anthy=1"
|
||||
eqmake4 kimera.pro ${myconf}
|
||||
local myconf=(
|
||||
script.path="${EPREFIX}"/usr/bin
|
||||
target.path="${EPREFIX}"/usr/$(get_libdir)/${P}
|
||||
no_anthy=$(usex anthy 1 0)
|
||||
)
|
||||
eqmake4 ${PN}.pro "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${P}-underlinking.patch
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
einstalldocs
|
||||
}
|
||||
|
@ -0,0 +1,44 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit qmake-utils
|
||||
|
||||
DESCRIPTION="A Japanese input method which supports the XIM protocol"
|
||||
HOMEPAGE="http://kimera.osdn.jp/"
|
||||
SRC_URI="mirror://sourceforge.jp/${PN}/37271/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+anthy"
|
||||
|
||||
RDEPEND="dev-qt/qt3support:4
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtgui:4
|
||||
anthy? ( app-i18n/anthy )
|
||||
!anthy? ( app-i18n/canna )"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-underlinking.patch )
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
script.path="${EPREFIX}"/usr/bin
|
||||
target.path="${EPREFIX}"/usr/$(get_libdir)/${P}
|
||||
no_anthy=$(usex anthy 1 0)
|
||||
)
|
||||
eqmake4 ${PN}.pro "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
einstalldocs
|
||||
|
||||
insinto /etc/X11/xinit/xinput.d
|
||||
sed \
|
||||
-e "s:@EPREFIX@:${EPREFIX}:g" \
|
||||
"${FILESDIR}"/xinput-${PN} > "${T}"/${PN}.conf
|
||||
doins "${T}"/${PN}.conf
|
||||
}
|
@ -0,0 +1,101 @@
|
||||
--- a/cmd/kinput2.c
|
||||
+++ b/cmd/kinput2.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
#include <signal.h>
|
||||
#include <X11/Intrinsic.h>
|
||||
#include <X11/StringDefs.h>
|
||||
--- a/lib/Canna.c
|
||||
+++ b/lib/Canna.c
|
||||
@@ -50,6 +50,7 @@
|
||||
static char *rcsid = "$Id: Canna.c,v 1.55 1999/05/25 08:13:03 ishisone Exp $";
|
||||
#endif
|
||||
|
||||
+#include <stdlib.h>
|
||||
#include <X11/IntrinsicP.h>
|
||||
#include <X11/StringDefs.h>
|
||||
#include <X11/Xmu/Atoms.h>
|
||||
--- a/lib/CcWnn.c
|
||||
+++ b/lib/CcWnn.c
|
||||
@@ -2754,6 +2754,7 @@
|
||||
wchar wbuf[1024];
|
||||
int wlen;
|
||||
int len;
|
||||
+ extern int convJWStoCT();
|
||||
|
||||
TRACE(("CcWnn:saveYomiAndKanji()\n"));
|
||||
|
||||
--- a/lib/ConvCtrl.c
|
||||
+++ b/lib/ConvCtrl.c
|
||||
@@ -18,6 +18,7 @@
|
||||
* Author: Makoto Ishisone, Software Research Associates, Inc., Japan
|
||||
*/
|
||||
|
||||
+#include <stdio.h>
|
||||
#include <X11/IntrinsicP.h>
|
||||
#include <X11/StringDefs.h>
|
||||
#include <X11/Xmu/CharSet.h>
|
||||
--- a/lib/KIProto.c
|
||||
+++ b/lib/KIProto.c
|
||||
@@ -18,6 +18,7 @@
|
||||
* Author: Makoto Ishisone, Software Research Associates, Inc., Japan
|
||||
*/
|
||||
|
||||
+#include <stdio.h>
|
||||
#include <X11/IntrinsicP.h>
|
||||
#include <X11/StringDefs.h>
|
||||
#include <X11/Xatom.h>
|
||||
--- a/lib/XimpProto.c
|
||||
+++ b/lib/XimpProto.c
|
||||
@@ -18,6 +18,7 @@
|
||||
* Author: Makoto Ishisone, Software Research Associates, Inc., Japan
|
||||
*/
|
||||
|
||||
+#include <stdio.h>
|
||||
#include <X11/Xos.h>
|
||||
#include <X11/IntrinsicP.h>
|
||||
|
||||
--- a/lib/cconv.c
|
||||
+++ b/lib/cconv.c
|
||||
@@ -604,6 +604,7 @@
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/keysym.h>
|
||||
#include <X11/Xutil.h>
|
||||
--- a/lib/ctext.c
|
||||
+++ b/lib/ctext.c
|
||||
@@ -71,6 +71,8 @@
|
||||
static char *rcsid = "$Id: ctext.c,v 2.6 1999/03/10 08:55:15 ishisone Exp $";
|
||||
#endif
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
typedef unsigned short wchar;
|
||||
|
||||
#define NULL 0
|
||||
--- a/lib/ioecall.c
|
||||
+++ b/lib/ioecall.c
|
||||
@@ -23,6 +23,7 @@
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xfuncproto.h>
|
||||
#include "IOECall.h"
|
||||
--- a/lib/wnnlib.c
|
||||
+++ b/lib/wnnlib.c
|
||||
@@ -578,6 +578,7 @@
|
||||
#ifdef DEBUG_WNNLIB
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
+#include <stdlib.h>
|
||||
#include "wnnlib.h"
|
||||
#include "WStr.h"
|
||||
#include <string.h>
|
@ -0,0 +1,11 @@
|
||||
--- a/cmd/kinput2.c
|
||||
+++ b/cmd/kinput2.c
|
||||
@@ -644,3 +644,8 @@
|
||||
return n;
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+#if defined(linux) && defined(PPC)
|
||||
+/* avoid nusty gcc bug */
|
||||
+void _XtInherit() {}
|
||||
+#endif
|
@ -0,0 +1,12 @@
|
||||
--- a/lib/imlib/imconv.c
|
||||
+++ b/lib/imlib/imconv.c
|
||||
@@ -591,6 +591,9 @@
|
||||
}
|
||||
}
|
||||
IMFinishRequest(conn, offset);
|
||||
+ #ifdef STATUS_SYNC
|
||||
+ IMFlush(conn);
|
||||
+ #endif /* STATUS_SYNC */
|
||||
}
|
||||
|
||||
/*- preeditCaret: do actual preedit caret -*/
|
@ -1,5 +1,5 @@
|
||||
XIM=kinput2
|
||||
XIM_PROGRAM=@EPREFIX@/usr/bin/kinput2
|
||||
XIM_PROGRAM="@EPREFIX@/usr/bin/kinput2"
|
||||
XIM_ARGS="-@SERVER@ +kinput -xim"
|
||||
GTK_IM_MODULE=xim
|
||||
QT_IM_MODULE=xim
|
||||
|
@ -1,59 +1,70 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit eutils
|
||||
EAPI="6"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
MY_P="${PN}-v${PV}"
|
||||
|
||||
DESCRIPTION="A Japanese input server which supports the XIM protocol"
|
||||
HOMEPAGE="http://www.nec.co.jp/canna/"
|
||||
HOMEPAGE="http://www.nec.co.jp/canna"
|
||||
SRC_URI="ftp://ftp.sra.co.jp/pub/x11/${PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="HPND"
|
||||
SLOT="0"
|
||||
KEYWORDS="x86 ppc sparc amd64 ppc64"
|
||||
KEYWORDS="amd64 ppc ppc64 sparc x86"
|
||||
IUSE="freewnn"
|
||||
|
||||
RDEPEND="freewnn? ( >=app-i18n/freewnn-1.1.1_alpha19 )
|
||||
!freewnn? ( >=app-i18n/canna-3.5_beta2-r1 )
|
||||
RDEPEND="x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXaw
|
||||
x11-libs/libXext
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXp
|
||||
x11-libs/libXt"
|
||||
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXt
|
||||
!freewnn? ( app-i18n/canna )
|
||||
freewnn? ( app-i18n/freewnn )"
|
||||
DEPEND="${RDEPEND}
|
||||
x11-misc/gccmakedep
|
||||
x11-misc/imake
|
||||
app-text/rman"
|
||||
|
||||
x11-misc/imake"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_unpack() {
|
||||
local mysed=""
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-gentoo.patch
|
||||
"${FILESDIR}"/${PN}-headers.patch
|
||||
"${FILESDIR}"/${PN}-ppc.patch
|
||||
"${FILESDIR}"/${PN}-segfault.patch
|
||||
"${FILESDIR}"/${PN}-wnn.patch
|
||||
)
|
||||
DOCS=( README NEWS doc/. )
|
||||
|
||||
unpack ${A}
|
||||
epatch "${FILESDIR}/${PF}-gentoo.diff"
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if use freewnn; then
|
||||
sed -i -e '/\/\* #define UseWnn/s:^:#define UseWnn\n:' "${S}/Kinput2.conf"
|
||||
else
|
||||
sed -i -e '/\/\* #define UseCanna/s:^:#define UseCanna\n:' "${S}/Kinput2.conf"
|
||||
fi
|
||||
sed -i "s|^/\* \(#define Use$(usex freewnn Wnn Canna)\) \*/|\1|" ${PN^k}.conf
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
src_configure() {
|
||||
xmkmf -a || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake \
|
||||
XAPPLOADDIR="/usr/share/X11/app-defaults/" \
|
||||
CC="$(tc-getCC)" \
|
||||
CDEBUGFLAGS="${CFLAGS}" \
|
||||
LOCAL_LDFLAGS="${LDFLAGS}" \
|
||||
|| die
|
||||
XAPPLOADDIR="${EPREFIX}/usr/share/X11/app-defaults"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake XAPPLOADDIR="/usr/share/X11/app-defaults/" DESTDIR="${D}" install || die
|
||||
rm -rf "${D}/usr/lib/X11"
|
||||
|
||||
dodoc README NEWS doc/*
|
||||
emake \
|
||||
XAPPLOADDIR="${EPREFIX}/usr/share/X11/app-defaults" \
|
||||
DESTDIR="${D}" \
|
||||
install
|
||||
einstalldocs
|
||||
newman cmd/${PN}.man ${PN}.1
|
||||
|
||||
rm -rf "${ED}"/usr/$(get_libdir)/X11
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>cjk@gentoo.org</email>
|
||||
<name>Cjk</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>cjk@gentoo.org</email>
|
||||
<name>Cjk</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
|
@ -1,3 +1 @@
|
||||
DIST man-pages-ru_3.81-2230-2080-20160117.tar.bz2 1119715 SHA256 225c2e4eeb1a9071ab995b446cecfec51b24b2034191133c2035ad8c540a921b SHA512 2d38d4aca0d247f6f23556e58f5538510e58596146d481e72b6d70c9282b8ec24f79da1c7525612f8b4e968cd7049f2ba51eb40804804ba6d9aeb39f4b4d12dc WHIRLPOOL 9fdef40b11119fff41dbe099c321fc7358d9df391e5a55a5d0ea1a8b2691fd5666755ed70e497501ef182ffa4b5e5c738386377f7feb29cc6f09001101ee88ed
|
||||
DIST man-pages-ru_4.08-2329-2269-20170309.tar.bz2 1464870 SHA256 367b6eadc2076791d1dad67e47ff534de3fa6fc81d8eeafe4d081e1e52b76e7b SHA512 cb87d2e7c975577ff71a5b4ce24ab4998ba2f67e6248ee489620bcd6387e5b568e2d4f9aaa3ebb7ea388136f84876cbef8e348816cf6ab67af892d01f0b9eb77 WHIRLPOOL 8cc27cde0320f674f3dcc1c6c88e6fe5b39ec6cffe56dcd25fd74627a880a6b9173e512020d2e64c04ea000240d694f49dd8b19b2a42f543ab004a318c068283
|
||||
DIST man-pages-ru_4.08-2329-2329-20170422.tar.bz2 1543256 SHA256 beccdb2868e1101ee7d4bcabe2b2e2db73d6cb6bc80eb3674858335dd49976ef SHA512 4cfb9b67118d0b3ed44d7ec2f5cbd3e711e738225fe528e7a80c9503bc9136bbf81423772ce9e25abd46f172b90dcee931ebfec26ed79a6bf6d36cc0287af51f WHIRLPOOL 181c5ab3d063c064f75b87ec519533bd54286045d1a7e6fee3536b62b4595c9dd68a3fc9aa44be9fa3d2cc4cecdcb0894ced5733a1e6efd38c5f2c95af45f1fc
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit versionator
|
||||
|
||||
MY_PV="$(replace_version_separator 1 . $(replace_all_version_separators -))"
|
||||
|
||||
DESCRIPTION="A collection of Russian translations of Linux manual pages"
|
||||
HOMEPAGE="http://man-pages-ru.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${PN}_${MY_PV}.tar.bz2"
|
||||
|
||||
LICENSE="FDL-1.3"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="virtual/man"
|
||||
|
||||
S="${WORKDIR}/${PN}_${MY_PV}"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/man/ru
|
||||
doins -r man*
|
||||
dodoc README
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit versionator
|
||||
|
||||
MY_PV="$(replace_version_separator 1 . $(replace_all_version_separators -))"
|
||||
|
||||
DESCRIPTION="A collection of Russian translations of Linux manual pages"
|
||||
HOMEPAGE="http://man-pages-ru.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${PN}_${MY_PV}.tar.bz2"
|
||||
|
||||
LICENSE="FDL-1.3"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="virtual/man"
|
||||
|
||||
S="${WORKDIR}/${PN}_${MY_PV}"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/man/ru
|
||||
doins -r man*
|
||||
dodoc README
|
||||
}
|
@ -1,3 +1 @@
|
||||
DIST crunch-3.4.tgz 38388 SHA256 cd3b46409a1d8a3adeac68b1b618b2773c7dd4085d61e37f9d02a2060f261922 SHA512 b433c4cb0eb42ce4e76bb8c77d26f3738bd73f925d69c1e4220ac186daf6b8afe20665dfb87e0e869b0a3bb91fb76f1b341a438cd219afa0629ca961c13a71a8 WHIRLPOOL b089c2306f7a4fbf5412f7667bdb521b24748f4786c2b80ae0dea78efb3e1144b53507a66a242842b73499e01ced3f7ff867b562eed6a20ee1bced2731e9d39d
|
||||
DIST crunch-3.5.tgz 38459 SHA256 471195d9503f3420ffe80da00c1bc2e392e9bf39918ddda3cf0eaf5ef5627fda SHA512 70280e290fae392a1bd2c07f0235945438f81bccad055fe69d2ac94fedfd5f95fc22ba528be7671bb68fd33c824171fd03589d72bd089e806ff22d88c6e6e087 WHIRLPOOL 7a3b78cdb22362ca6d2c5d1b0898a3131726bc0b505aff20f6314c5ae5e17108998d123552797e3d834301d823a70eff56eb39264f2c810c0741ab2178bf3743
|
||||
DIST crunch-3.6.tgz 38635 SHA256 6a8f6c3c7410cc1930e6854d1dadc6691bfef138760509b33722ff2de133fe55 SHA512 85a2a12bb481988ab27a19602122abc29bb307de0af279132dcc0565dfc4ba44ab9f7ca15d876001f2e6dcf7be77ed50168cb066fc6a65bf06ec5cf9d798e81f WHIRLPOOL 79a27e8af6472f4ab5a604e42a25e80aa957dbdee91478bc228df9d5fe45864cc468a3f3aadc0883d025fa804c16fd3e2ca836ea113ad6373b73114141ea153f
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="A wordlist generator"
|
||||
HOMEPAGE="https://sourceforge.net/projects/crunch-wordlist/"
|
||||
SRC_URI="mirror://sourceforge/crunch-wordlist/crunch-wordlist/${P}.tgz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~x86"
|
||||
|
||||
src_prepare() {
|
||||
tc-export CC
|
||||
epatch "${FILESDIR}/${P}-gentoo.patch"
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_install(){
|
||||
dobin crunch
|
||||
doman crunch.1
|
||||
insinto /usr/share/crunch
|
||||
doins charset.lst
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="A wordlist generator"
|
||||
HOMEPAGE="https://sourceforge.net/projects/crunch-wordlist/"
|
||||
SRC_URI="mirror://sourceforge/crunch-wordlist/crunch-wordlist/${P}.tgz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~x86"
|
||||
|
||||
src_prepare() {
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)"
|
||||
}
|
||||
|
||||
src_install(){
|
||||
dobin crunch
|
||||
doman crunch.1
|
||||
insinto /usr/share/crunch
|
||||
doins charset.lst
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
--- Makefile.orig 2013-11-21 11:53:21.835712927 +0400
|
||||
+++ Makefile 2013-11-21 11:53:42.557713372 +0400
|
||||
@@ -16,19 +16,19 @@
|
||||
# General variables
|
||||
PACKAGE = crunch
|
||||
VERSION = 3.4
|
||||
-PREFIX = /usr
|
||||
+PREFIX ?= /usr
|
||||
DISTDIR = $(PACKAGE)-$(VERSION)
|
||||
DISTFILES = crunch.c crunch.1 charset.lst
|
||||
BINDIR = $(PREFIX)/bin
|
||||
BTBINDIR = /pentest/passwords/$(PACKAGE)
|
||||
MANDIR = $(PREFIX)/share/man/man1
|
||||
INSTALL = $(shell which install)
|
||||
-CC = $(shell which gcc)
|
||||
+CC ?= $(shell which gcc)
|
||||
LIBFLAGS = -lm
|
||||
THREADFLAGS = -pthread
|
||||
OPTFLAGS = -g -o0
|
||||
LINTFLAGS = -Wall -pedantic
|
||||
-CFLAGS = $(THREADFLAGS) $(LINTFLAGS) -std=c99
|
||||
+CFLAGS += $(THREADFLAGS) $(LINTFLAGS) -std=c99
|
||||
VCFLAGS = $(THREADFLAGS) $(LINTFLAGS) -std=c99 $(OPTFLAGS)
|
||||
LFS = $(shell getconf POSIX_V6_ILP32_OFFBIG_CFLAGS)
|
||||
INSTALL_OPTIONS = -o root -g root
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
crunch: crunch.c
|
||||
@echo "Building binary..."
|
||||
- $(CC) $(CFLAGS) $(LFS) $? $(LIBFLAGS) -o $@
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) $(LFS) $? $(LIBFLAGS) -o $@
|
||||
@echo ""
|
||||
|
||||
# Clean target
|
@ -1,2 +1 @@
|
||||
DIST empty-0.6.19b.tgz 16075 SHA256 05b7cb361ef815774abda325c09c573f8c9039ccbb71eedc743439e4637c314a SHA512 7afb2b5d08f2d3ebe0819eccef39b2e35fa532b6cbdcef49d2dbb4a5aa57fe55b1765461de9691d6eaa3188a9ecd98c291de738c13c9c2158c4f53d704b83670 WHIRLPOOL ed003801da923de6b50e6b29313b5603c18b98851e7523971b7a1059c9d14bc9545726437c6c8c41427fe7fbac531469aa7500ffb324f3cd77682208da88088b
|
||||
DIST empty-0.6.20b.tgz 16269 SHA256 7e6636e400856984c4405ce7bd0843aaa3329fa3efd20c58df8400a9eaa35f09 SHA512 bdeda29ecde0bc7ee0432656f0497154e04dbad26aba62a0fe76ded394ddeefe2bfd921594a2dae44459b62ab4767d3b12a7a86216dfda56b6d77035a8b05c3d WHIRLPOOL d8004ed6b88a95e3f37416f40da0936cfb082f416ac0ac7c34e052767802faac0f9ad94e1e5e922c3cbdbe9affd0192232a4dccc04aed8bb34234932184ab76e
|
||||
|
@ -1,32 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="4"
|
||||
inherit eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="Small shell utility, similar to expect(1)"
|
||||
HOMEPAGE="http://empty.sourceforge.net"
|
||||
SRC_URI="mirror://sourceforge/empty/${P}.tgz"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="examples"
|
||||
DEPEND=""
|
||||
RDEPEND="virtual/logger"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/overflow-fixes.patch"
|
||||
epatch "${FILESDIR}/${PN}-respect-LDFLAGS.patch"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC=$(tc-getCC)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin empty
|
||||
doman empty.1
|
||||
dodoc README
|
||||
use examples && dodoc -r examples
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
--- empty.c.orig 2009-07-27 18:26:42.000000000 +0100
|
||||
+++ empty.c 2011-12-22 17:17:11.037090159 +0000
|
||||
@@ -584,7 +584,7 @@
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
strncat(buf, " ", 1);
|
||||
- strncat(buf, argv[i], sizeof(buf));
|
||||
+ strncat(buf, argv[i], sizeof(buf) -1);
|
||||
}
|
||||
|
||||
(void)syslog(LOG_NOTICE, "forked %s", buf);
|
||||
@@ -686,7 +686,7 @@
|
||||
while ((dent = readdir(dir)) != NULL) {
|
||||
if (!strncmp(fmask, dent->d_name, len)) {
|
||||
strncpy(fname, dent->d_name, sizeof(fname) - 1);
|
||||
- fname[sizeof(buf) - 1] = '\0';
|
||||
+ fname[MAXPATHLEN - 1] = '\0';
|
||||
|
||||
strtok(fname, sep); /* empty */
|
||||
strtok(NULL, sep); /* PPID */
|
@ -1,26 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="UNIX Shell for people already familiar with the C language"
|
||||
HOMEPAGE="http://ccsh.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/ccsh/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc sparc x86 ~ppc64"
|
||||
IUSE=""
|
||||
|
||||
src_compile() {
|
||||
emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
exeinto /bin
|
||||
doexe ccsh
|
||||
newman ccsh.man ccsh.1
|
||||
dodoc ChangeLog README TODO
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST fbless-0.2.2.tar.gz 101438 SHA256 0b5e98293e311df52220b5bb2ab74f3fda9e6776e84d963cb18bc6e622e1793b SHA512 93c20d7d2a53790319443c4cb5383ca4b7dbe1c31755ab0bcce748f02a7786ce728629164120aecd1b8cfb36cb082a28d119c882656d54649bbfdfaa0a4e4959 WHIRLPOOL 6c6c7ee572a9bac0d0301e41c336e13f1ef1403591995235aa955254b1f6d08ef2ca5952367e1fb80cf50f3b8caff15b8a49b73e3cec3f6a6885b324498b0790
|
||||
DIST fbless-0.2.3.tar.gz 115622 SHA256 68ae914d141da913ed6ff1805a1739346c33756b64a9407c14e95e278452c362 SHA512 b5188b0b4c0654915487a49930987c02a3e9bc3ba47a830f744362b464235a502fb28e20bb8c91cea15a5bdbeea54775697bf57ca581f5ebbadb84134dfdbafd WHIRLPOOL 7cb37452dd320689a33edb3e59a97cf8936dfb1578f6ee60c11da579b1f054767f2335969eb5e6eb3b84e243e41c681f02aaf43b8e750bdefab85427d4b19b1d
|
||||
|
@ -1,16 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,xml"
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python-based console fb2 reader with less-like interface"
|
||||
HOMEPAGE="https://github.com/matimatik/fbless"
|
||||
SRC_URI="mirror://github/matimatik/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
@ -1,16 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGIT_REPO_URI="git://github.com/matimatik/fbless.git"
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,xml"
|
||||
inherit distutils-r1 git-r3
|
||||
|
||||
DESCRIPTION="Python-based console fb2 reader with less-like interface"
|
||||
HOMEPAGE="https://github.com/matimatik/fbless"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
@ -1,2 +1 @@
|
||||
DIST yagf-0.9.2.tar.gz 258305 SHA256 1099760462c029aa9919ef96809a1b0252d8d735d9d0807ce790f9d3e1e271b8 SHA512 7348b1611654e9478ef915a5c56f729495382e083bf99ad85284a19499027ad380f7781466aa6c21796859623ca3526ce0965f690c784aa2d459a22d201ef98f WHIRLPOOL b91ef8688801951fe780bdb6e005abd3b97ac42ab7f8d0e9b13ab83a7a163caa445d95b6668328ed1336137ca4bfb5391078347f06fd97ca1a3721b7a90db384
|
||||
DIST yagf-0.9.3.2.tar.gz 766396 SHA256 32dd2a60ac04f9b08ec06a4e2974fde2fe3af60238b6a1a8de5a0a29b6ead231 SHA512 79fd1f9fe3a6d10e568b46653d6afd8ef050b4dead58aea42f42888461a1a095ff85e0cf577cb641ba13fb4e9be1efadd000688e100675a03f2c91952211b6fc WHIRLPOOL 37d5d777de797a54676933ec4a35668a4a248d6e90f181ab2e414af5e97ab1c8d9297b5ecbe3c99b1db64d536a234e51fada3f0e1a2353119de367632c567961
|
||||
DIST yagf-0.9.5.tar.gz 427018 SHA256 c0e9fe4b16d39378319fe37772403104a81c58084aa918e78347f56456ed5ebc SHA512 a0b77e49c11be0ed043d3f44b1c48122cdabf0ae4ae69d84bc01eee0a8b084dae8201234e08816065d449e4d47bd704f282b1cd3b31c3539d201e9f32dfef05c WHIRLPOOL 92a7c6f02aa1bdc567b9599e6a57888a880eeba111c18645f3987f6d350770ef492d8f0394f2b429daabab4843f496819299fb2e9bdca6f6e6d187d4e1facd18
|
||||
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
CMAKE_IN_SOURCE_BUILD=1
|
||||
PLOCALES="de lt pl ru uk"
|
||||
inherit cmake-utils l10n
|
||||
|
||||
DESCRIPTION="Graphical front-end for cuneiform and tesseract OCR tools"
|
||||
HOMEPAGE="http://symmetrica.net/cuneiform-linux/yagf-en.html"
|
||||
SRC_URI="http://symmetrica.net/cuneiform-linux/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="scanner cuneiform +tesseract pdf"
|
||||
|
||||
REQUIRED_USE="|| ( cuneiform tesseract )"
|
||||
|
||||
DEPEND=">=dev-qt/qtgui-4.7:4
|
||||
app-text/aspell"
|
||||
RDEPEND="${DEPEND}
|
||||
cuneiform? ( app-text/cuneiform )
|
||||
tesseract? ( app-text/tesseract )
|
||||
scanner? ( media-gfx/xsane )
|
||||
pdf? ( || ( app-text/poppler[utils] app-text/ghostscript-gpl ) )"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog DESCRIPTION README )
|
||||
|
||||
src_prepare() {
|
||||
l10n_find_plocales_changes "src/translations" "${PN}_" '.ts'
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
remove_translation() {
|
||||
rm "${ED}/usr/share/yagf/translations/${PN}_${1}.qm" || die "remove '${PN}_${1}.qm' file failed"
|
||||
}
|
||||
cmake-utils_src_install
|
||||
l10n_for_each_disabled_locale_do remove_translation
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
DIST mariadb-galera-10.0.28.tar.gz 63652419 SHA256 cbbbd3067cbd350aad4811c270aeb77119c6f3949b400231b69e765b64610923 SHA512 8c176771f0329a60da298bc2e234778432a39a78253810b7cd91f5c736e9fc1a730227f9b7ab7a245ed4a935f177274c3ce69b253038052006148a6937c5f272 WHIRLPOOL cbef008eb570a142c4ffab090b9a03e6df58ae8d0726d99c124c87a073865ca71354231805a2eaa9c364d0357d84df0fa8d56176d806dbcfdb43a51d0ee7446c
|
||||
DIST mariadb-galera-10.0.30.tar.gz 63823185 SHA256 d236e12cfd64e79a5bbca3f7b1914829ca6db2f39f330366d0226d8ad8cc998f SHA512 fcc059f13e68aa664c077edeed186980d121fbbcc88b2281dcdb4939e19bc53c089a70f3a051393e69805e3ded41721ea8fe64771d4cf54d29efa75cb07f9e8a WHIRLPOOL a4dab62602fab4384ff10804c783e773cde12feff6d296be0c7ae84625d82c980cb3090386b318c0da974290583063522d34dbc67bb63e74371492da1924dc8e
|
||||
DIST mysql-extras-20160629-1442Z.tar.bz2 299152 SHA256 c90979db927772468f8b398c640469ff4740f950068e740c04ff60500e714766 SHA512 1de46daf6b4534dadf9d3eff8d5d557778e63b5e04aedb57fe56d3016ba93a9d55d80faee38f77852d23da5169879e4f25b3386abe44ee8d961db7ffc4145715 WHIRLPOOL d8c94e4e43e772307d8d137a28e18991fa24a27b1587ec19ae5bd12c733cc0931e459092de2c43216776e3284c7c416d52030fe20c98a6439388507c5fe5111f
|
||||
|
@ -1,181 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
MY_EXTRAS_VER="20160629-1442Z"
|
||||
# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number
|
||||
WSREP_REVISION="25"
|
||||
SUBSLOT="18"
|
||||
MYSQL_PV_MAJOR="5.6"
|
||||
|
||||
SERVER_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz"
|
||||
MY_SOURCEDIR="${PN%%-galera}-${PV}"
|
||||
JAVA_PKG_OPT_USE="jdbc"
|
||||
|
||||
inherit toolchain-funcs java-pkg-opt-2 mysql-multilib-r1
|
||||
|
||||
HOMEPAGE="http://mariadb.org/"
|
||||
DESCRIPTION="An enhanced, drop-in replacement for MySQL with Galera Replication"
|
||||
|
||||
IUSE="bindist jdbc odbc oqgraph pam sphinx sst-rsync sst-xtrabackup tokudb xml"
|
||||
RESTRICT="!bindist? ( bindist )"
|
||||
|
||||
REQUIRED_USE="server? ( tokudb? ( jemalloc ) ) static? ( !pam )"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
|
||||
PATCHES=(
|
||||
"${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
|
||||
"${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-10.0.26.patch"
|
||||
"${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
|
||||
"${MY_PATCH_DIR}/20018_all_mariadb-galera-10.0.20-without-clientlibs-tools.patch"
|
||||
)
|
||||
COMMON_DEPEND="
|
||||
!bindist? ( >=sys-libs/readline-4.1:0= )
|
||||
server? (
|
||||
extraengine? (
|
||||
odbc? ( dev-db/unixODBC:0= )
|
||||
xml? ( dev-libs/libxml2:2= )
|
||||
)
|
||||
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
|
||||
pam? ( virtual/pam:0= )
|
||||
tokudb? ( app-arch/snappy )
|
||||
)
|
||||
>=dev-libs/libpcre-8.35:3=
|
||||
"
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="${RDEPEND} ${COMMON_DEPEND}
|
||||
sys-apps/iproute2
|
||||
=sys-cluster/galera-${WSREP_REVISION}*
|
||||
sst-rsync? ( sys-process/lsof )
|
||||
sst-xtrabackup? ( net-misc/socat[ssl] )
|
||||
perl? ( !dev-db/mytop
|
||||
virtual/perl-Getopt-Long
|
||||
dev-perl/TermReadKey
|
||||
virtual/perl-Term-ANSIColor
|
||||
virtual/perl-Time-HiRes )
|
||||
server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
|
||||
"
|
||||
# xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
|
||||
PDEPEND="sst-xtrabackup? ( || ( >=dev-db/xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) )"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h )
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
mysql-multilib-r1_pkg_setup
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
java-pkg-opt-2_pkg_preinst
|
||||
mysql-multilib-r1_pkg_preinst
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
java-pkg-opt-2_src_prepare
|
||||
mysql-multilib-r1_src_prepare
|
||||
}
|
||||
|
||||
src_configure(){
|
||||
# bug 508724 mariadb cannot use ld.gold
|
||||
tc-ld-disable-gold
|
||||
local MYSQL_CMAKE_NATIVE_DEFINES=(
|
||||
-DWITH_JEMALLOC=$(usex jemalloc system)
|
||||
-DWITH_PCRE=system
|
||||
)
|
||||
if use server ; then
|
||||
# Federated{,X} must be treated special otherwise they will not be built as plugins
|
||||
if ! use extraengine ; then
|
||||
MYSQL_CMAKE_NATIVE_DEFINES+=(
|
||||
-DWITHOUT_FEDERATED=1
|
||||
-DWITHOUT_FEDERATEDX=1 )
|
||||
fi
|
||||
|
||||
MYSQL_CMAKE_NATIVE_DEFINES+=(
|
||||
$(mysql-cmake_use_plugin oqgraph OQGRAPH)
|
||||
$(mysql-cmake_use_plugin sphinx SPHINX)
|
||||
$(mysql-cmake_use_plugin tokudb TOKUDB)
|
||||
$(mysql-cmake_use_plugin pam AUTH_PAM)
|
||||
-DWITHOUT_CASSANDRA=0
|
||||
$(mysql-cmake_use_plugin extraengine SEQUENCE)
|
||||
$(mysql-cmake_use_plugin extraengine SPIDER)
|
||||
$(mysql-cmake_use_plugin extraengine CONNECT)
|
||||
-DCONNECT_WITH_MYSQL=1
|
||||
-DCONNECT_WITH_LIBXML2=$(usex xml)
|
||||
-DCONNECT_WITH_ODBC=$(usex odbc)
|
||||
-DCONNECT_WITH_JDBC=$(usex jdbc)
|
||||
-DWITHOUT_MROONGA=1
|
||||
)
|
||||
fi
|
||||
mysql-multilib-r1_src_configure
|
||||
}
|
||||
|
||||
# Official test instructions:
|
||||
# USE='embedded extraengine perl server openssl static-libs' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mariadb-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
multilib_src_test() {
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
einfo "Server tests not available on non-native abi".
|
||||
return 0;
|
||||
fi
|
||||
|
||||
local TESTDIR="${BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
if ! use server ; then
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might run out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}" || die
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder
|
||||
retstatus_tests=$?
|
||||
|
||||
popd || die
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
local failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
JAVA_PKG_IUSE="doc examples source test"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="Java Compiler Compiler - The Java Parser Generator"
|
||||
HOMEPAGE="https://javacc.java.net/"
|
||||
SRC_URI="http://java.net/projects/${PN}/downloads/download/${P}src.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
|
||||
CDEPEND="dev-java/junit:0"
|
||||
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jre-1.6"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jdk-1.6
|
||||
test? ( dev-java/ant-junit:0 )"
|
||||
|
||||
S="${WORKDIR}/${PN}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.0-javadoc.patch
|
||||
)
|
||||
|
||||
JAVA_ANT_REWRITE_CLASSPATH="yes"
|
||||
JAVA_ANT_CLASSPATH_TAGS+=" javadoc"
|
||||
|
||||
EANT_GENTOO_CLASSPATH="junit"
|
||||
|
||||
java_prepare() {
|
||||
epatch "${PATCHES[@]}"
|
||||
rm -v lib/junit*/*.jar || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
java-pkg-2_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar "bin/lib/${PN}.jar"
|
||||
|
||||
dodoc README
|
||||
|
||||
if use doc; then
|
||||
java-pkg_dohtml -r www/*
|
||||
java-pkg_dojavadoc doc/api
|
||||
fi
|
||||
use examples && java-pkg_doexamples examples
|
||||
use source && java-pkg_dosrc src/*
|
||||
|
||||
echo "JAVACC_HOME=${EPREFIX}/usr/share/javacc/" > "${T}"/22javacc
|
||||
doenvd "${T}"/22javacc
|
||||
|
||||
echo "export VERSION=${PV}" > "${T}"/pre
|
||||
|
||||
local launcher
|
||||
for launcher in javacc jjdoc jjtree
|
||||
do
|
||||
java-pkg_dolauncher ${launcher} -pre "${T}"/pre --main ${launcher}
|
||||
done
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
DIST otp_doc_html_18.3.tar.gz 34285271 SHA256 8fd6980fd05367735779a487df107ace7c53733f52fbe56de7ca7844a355676f SHA512 0ac429f67ca9ae7f235cda72eb0f4e5b0b43ae90b70c706aeea08be0ad88968677ccc80eb1ba006e90c9f024de586ffd91741d4cef4d614d1dfac51b407d2659 WHIRLPOOL 7d64c2ec433b4bc2da4c56290ad6d21b85d15f72fe9b78654955d27e65b26e1b929d0c9b7d5f60c25c1f16db8d22e36c2ad6ca2a75044707ccd1eea1197fa15d
|
||||
DIST otp_doc_html_19.1.tar.gz 34624316 SHA256 76c89aee1ac69b5107114b0065189101e3f42d53e929d8ef8f08b5c586f15930 SHA512 2c6448af0be4bf35427950aca82eac3aac7554575ba07a8ba8942c27e1eb668461fde00604c3be28fbaca8a1e28ee4861608e33a9c79bc951bb695f99b1c1ac8 WHIRLPOOL 5c344246b32f21abc5ad8403c136263a6f9f5f2664b8027ad7f574e1b7cfa9b127f7863547550114b889daba363c19936cf7a0199a0bf5b4da8ac23c02dd24d0
|
||||
DIST otp_doc_html_19.2.tar.gz 34761971 SHA256 c373c8c1a9fe7433825088684932f3ded76f53d5b8a4d3d2a364263f1f783043 SHA512 ac9393f3e077be33a4a6e2b50c7848d28298b0f61fbd3b3cc0c650902ebed48d90defcbd6bd3031ac252efa845a6ed94ed781743c04a94c709ae65e5d5957dbb WHIRLPOOL 576ee94e04cf2089a98b949e55443c1b415224a427cf066ff6e7d9871de50c0b21a998ea2346a10c699136d34e5dc1049268e98121f2a4083b4711cf0db3f9b5
|
||||
DIST otp_doc_html_19.3.tar.gz 35818689 SHA256 dc3e3a82d1aba7f0deac1ddb81b7d6f8dee9a75e1d42b90c677a2b645f19a00c SHA512 a70d2c470fa1dc0594b20af73ba36ccb7702b4192960e6fc0296738175215a43450f9bf558637f7f5e40757f7a15dcf4f1ae8a88515e211cd3c0fae45c5e1858 WHIRLPOOL 468cd8b9761fbcaa8892405f451c53bf1014067022966384db96520855366afcfb09aa9ddf1390931da2288c0620b909588637c9c4501f753413752b293a9cbe
|
||||
DIST otp_doc_html_20.0.tar.gz 33948386 SHA256 1ab25110b148ce263d6e68cd5a3b912299b6066cfcd9d2fce416a4e9b7d2543a SHA512 a183943a3a2636489cfdf3e7ede8dc4233db84a271b4b8bd655b57b4abac597b797f035d77087be72e823638898d202e08c53decb565fc10f2e444dcc6da8628 WHIRLPOOL 953bf75da7f6aa46e26e4fb6f12d22834d2a41a43e5449e3bbefbe7359f67b7a0affbb0dd6dbfebdecae9294f080a69c0637741ddcf5dbcd0db488ab5a6ddd1a
|
||||
DIST otp_doc_man_18.3.tar.gz 1395166 SHA256 978be100e9016874921b3ad1a65ee46b7b6a1e597b8db2ec4b5ef436d4c9ecc2 SHA512 d45d72d7ee7492e081dd5fac1a4d1cea93fe5f5287900be13c92e1c1802f7ec77573eeb4d271497154b9e0723c393700f35982ceedbe29be6cb759a0ebe83325 WHIRLPOOL 03b57a87573630a2826dd5e9a597ab0bb67daa73e4b2b733982b6ce4a3cf6a32c5ad17cb3ba3fc0a29248c867b1ba303098c7f61c0cfe42636621aa8a370790f
|
||||
DIST otp_doc_man_19.1.tar.gz 1405580 SHA256 7200e9e5b3a229a6b3838046e1b3e64afc869265539d49d0e4853212f19c0c79 SHA512 4ee35feeff70419ff5500e00dc17e34fdea8be21342d41cf1e255b84a1826b51057046be543ee1052153ae8c8cd215f4720cecae7d9fe1576cbd681dcf4b2334 WHIRLPOOL e94333be9d1d9239d1dc6e9bbcc6930b148eda8d8a73e3d21896e498c331c062ea1541d8fa03a2d0dd6f21510874f5aa6062b22a3738c85d1b18a30b09fb5482
|
||||
DIST otp_doc_man_19.2.tar.gz 1409661 SHA256 8a76ff3bb40a6d6a1552fa5a4204c8a3c7d99d2ea6f12684f02d038b23ad25cb SHA512 613b50841443fb71e5666a281edbf580b35f28e9fad6a246170017552ee5a04770700b95eae8bcfef3fa2e327a559c43969568091ed8389ecfe3eeea4f67d674 WHIRLPOOL 2d59d572a7f13e8fcb2aed60d5adf44a9d6aa19737b6a0487a1df3e733713306b3b405d4f1e6da4a7ad02df9835eee556d741af4d2baeb261c9a0db5e8596998
|
||||
DIST otp_doc_man_19.3.tar.gz 1410781 SHA256 f8192ffdd7367083c055695eeddf198155da43dcc221aed1d870d1e3871dd95c SHA512 675a0d2d5972660a60de17c832e630f646f942d23815427eb0dec3a5ca1c44ed8fe35a9c30f8b608dedfd10f6fb1e47e958ea6e32e296b6f6809b1844b4da9a1 WHIRLPOOL b7fb4954a46670c672eec02df8713fe68eeb4c15fa8c56e37c802f384bafeb77d88b257ebd1f8f7a0e35e3020853211b9f46ecb01fbe16c19254a3cd992c0fc1
|
||||
DIST otp_doc_man_20.0.tar.gz 1430939 SHA256 b7f1542a94a170f8791f5d80a85706f9e8838924ea65d4301032d0c0cfb845cc SHA512 8f3c9b39c5574c239fe4f8d220884667d9d8b8231e923da8caebedc2cfd4db61a3b71a45788c3d63ae4cecc11884df9143e164c544356145977010f31c388e99 WHIRLPOOL 16b1c1448cdd3a35b340f66131a41af88e679e2e5e5383f5586f4cd386462f4a306512a068bbac8020209d6f72ef2ac57db07e4075b1d48bd0dcc0b3dfd9657a
|
||||
DIST otp_src_18.3.tar.gz 68292101 SHA256 fdab8129a1cb935db09f1832e3a7d511a4aeb2b9bb3602ca6a7ccb9730d5c9c3 SHA512 f4a69bb14743d9f913d7060cfb6426f7c54693d07ed439506ede5160a0ba5a79a81cf08a56aaa02c68b3377cd22fed66a0fbeb216378330d7ad5c6348ed82014 WHIRLPOOL 493fe8f803194647ab0c113d8f67f5f97636321618296969d9da0396cc9b083b6deffd42638fe3e3eb0b63c4ff996fb4b2c4559c6039add94f7dad62205b815b
|
||||
DIST otp_src_19.1.tar.gz 68103074 SHA256 fed4cbbc1ee5cc8efc2b8f14c3db97bfde1de967703f5f9a95f8ab6852737e23 SHA512 bd1c243393c867c91768367613aedb40d56889add149390c81f22e022e76b716d6e9a4d5db7e6477ceb1216c26c18c962abdfd8215a87420758f5ef2063b9714 WHIRLPOOL 3422ad4ab48916f79bcfd2b4550059f88e4e55340a9eb298a9039f07f899e6430eb2fd346bf52931acc2a03e86f3fc5571e9e577fce83bd2040c6cb37fb5348f
|
||||
DIST otp_src_19.2.tar.gz 68395949 SHA256 a016b3ef5dac1e532972617b2715ef187ecb616f7cd7ddcfe0f1d502f5d24870 SHA512 6403f2160ea1de9c5b269af47de5d0a0c5714544cdfdbdf366bb20b7b6a60a91b893344ab932b2689021cbd4cedf3dea0de8b390e659eff23b0cc99f36c30f0c WHIRLPOOL 6407ec880ad743b844e1a6b00bf5adcc99b9fe686cff89015a96b5341c58f62aebcc7db547da4e5ad4f680fdc22334d59e20a63f0277d3d60bd8ad72c59ed8c2
|
||||
DIST otp_src_19.3.tar.gz 68510871 SHA256 fe4a00651db39b8542b04530a48d24b2f2e7e0b77cbe93d728c9f05325bdfe83 SHA512 6920eab6e1681a76ab44bdd0eeb9b012e601191f91ca06edf1f63ba2e261c555d6f8dddf7025b2e9c3c6459bd63ff78659010ec33967fb1952840fb451ec2de6 WHIRLPOOL ae5b65001872dc855e45a7fbadef278a373935b66819342f4d222055043e1e1ad8974356468e2b1821b36246f5cd621c06cb2e287abab290d6891ea6cd8b698a
|
||||
DIST otp_src_20.0.tar.gz 87346046 SHA256 fe80e1e14a2772901be717694bb30ac4e9a07eee0cc7a28988724cbd21476811 SHA512 f73ea74fd149392c72925ea163eafe62ed4470405c61d1c7e557c4f3c94546b4385b073d5d53017f1f5422bdf203ea346fa3d672f49bca4cceec26c51de68951 WHIRLPOOL df800cc5dd9a79a32ebb14376ced74482cbfd85bb4e6d3af7c7b70f32c7080b1c3dee08d9769fa1e296b248c05e3aebb5a3b486f7f6f6f3e1e36486fd3044b56
|
||||
|
@ -1,772 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic versionator systemd
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="http://php.net/"
|
||||
SRC_URI="http://php.net/distributions/${P}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(get_version_component_range 1-2)"
|
||||
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"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage crypt +ctype curl debug
|
||||
enchant exif +fileinfo +filter firebird
|
||||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
|
||||
mhash mssql mysql libmysqlclient mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline recode selinux +session sharedmem
|
||||
+simplexml snmp soap sockets spell sqlite ssl
|
||||
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre-8.32[unicode]
|
||||
acl? ( sys-apps/acl )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[threads=] ) )
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
cjk? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib
|
||||
) )
|
||||
coverage? ( dev-util/lcov )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
exif? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib
|
||||
) )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0 )
|
||||
gmp? ( dev-libs/gmp:0 )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
|
||||
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
libmysqlclient? (
|
||||
mysql? ( virtual/libmysqlclient:= )
|
||||
mysqli? ( virtual/libmysqlclient:= )
|
||||
)
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
sharedmem? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
sybase-ct? ( dev-db/freetds )
|
||||
tidy? ( app-text/htmltidy )
|
||||
truetype? (
|
||||
=media-libs/freetype-2*
|
||||
>=media-libs/t1lib-5.0.0
|
||||
!gd? (
|
||||
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
|
||||
)
|
||||
unicode? ( dev-libs/oniguruma )
|
||||
vpx? ( media-libs/libvpx )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
|
||||
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xpm? (
|
||||
x11-libs/libXpm
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0= sys-libs/zlib
|
||||
)
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( sys-libs/zlib )
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1
|
||||
sys-devel/flex
|
||||
>=sys-devel/m4-1.4.3
|
||||
>=sys-devel/libtool-1.5.18"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd )
|
||||
vpx? ( gd )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
libmysqlclient? ( || (
|
||||
mysql
|
||||
mysqli
|
||||
pdo
|
||||
) )
|
||||
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysql !mysqli )
|
||||
sharedmem? ( !threads )
|
||||
|
||||
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
|
||||
|
||||
PHP_MV="$(get_major_version)"
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config file php-fpm.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch"
|
||||
|
||||
# Change PHP branding
|
||||
# Get the alpha/beta/rc version
|
||||
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
|
||||
-i configure.in || die "Unable to change PHP branding"
|
||||
|
||||
# Patch PHP to show Gentoo as the server platform
|
||||
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
|
||||
-i configure.in || die "Failed to fix server platform name"
|
||||
|
||||
# Prevent PHP from activating the Apache config,
|
||||
# as we will do that ourselves
|
||||
sed -i \
|
||||
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
|
||||
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
|
||||
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
|
||||
|| die
|
||||
|
||||
# Patch PHP to support heimdal instead of mit-krb5
|
||||
if has_version "app-crypt/heimdal" ; then
|
||||
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|
||||
|| die "Failed to fix heimdal libname"
|
||||
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|
||||
|| die "Failed to fix heimdal crypt library reference"
|
||||
fi
|
||||
|
||||
eapply_user
|
||||
|
||||
# Force rebuilding aclocal.m4
|
||||
rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
|
||||
eautoreconf
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# http://bugs.php.net/bug.php?id=48795, bug #343481
|
||||
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
$(use_enable threads maintainer-zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_enable bcmath bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl intl)
|
||||
$(use_enable ipv6 ipv6)
|
||||
$(use_enable json json)
|
||||
$(use_with kerberos kerberos "${EPREFIX}/usr")
|
||||
$(use_enable xml libxml)
|
||||
$(use_with xml libxml-dir "${EPREFIX}/usr")
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with crypt mcrypt "${EPREFIX}/usr")
|
||||
$(use_with mssql mssql "${EPREFIX}/usr")
|
||||
$(use_with unicode onig "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl-dir "${EPREFIX}/usr")
|
||||
$(use_enable pcntl pcntl)
|
||||
$(use_enable phar phar)
|
||||
$(use_enable pdo pdo)
|
||||
$(use_enable opcache opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_with recode recode "${EPREFIX}/usr")
|
||||
$(use_enable simplexml simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap soap)
|
||||
$(use_enable sockets sockets)
|
||||
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
|
||||
$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with systemd fpm-systemd)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer tokenizer)
|
||||
$(use_enable wddx wddx)
|
||||
$(use_enable xml xml)
|
||||
$(use_enable xmlreader xmlreader)
|
||||
$(use_enable xmlwriter xmlwriter)
|
||||
$(use_with xmlrpc xmlrpc)
|
||||
$(use_with xslt xsl "${EPREFIX}/usr")
|
||||
$(use_enable zip zip)
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm ; then
|
||||
our_conf+=( "--enable-dba${shared}" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype-dir "${EPREFIX}/usr")
|
||||
$(use_with truetype t1lib "${EPREFIX}/usr")
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg-dir "${EPREFIX}/usr")
|
||||
$(use_with gd png-dir "${EPREFIX}/usr")
|
||||
$(use_with xpm xpm-dir "${EPREFIX}/usr")
|
||||
$(use_with vpx vpx-dir "${EPREFIX}/usr")
|
||||
)
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_with gd gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# Interbase/firebird support
|
||||
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
local mysqllib="mysqlnd"
|
||||
local mysqlilib="mysqlnd"
|
||||
use libmysqlclient && mysqllib="${EPREFIX}/usr"
|
||||
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
|
||||
|
||||
our_conf+=( $(use_with mysql mysql "${mysqllib}") )
|
||||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
our_conf+=(
|
||||
$(use_with odbc unixODBC "${EPREFIX}/usr")
|
||||
$(use_with iodbc iodbc "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib)
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local sapi="", file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp5$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp${PHP_MV}$(get_libname)"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue