Sync with portage [Thu Jun 1 13:47:28 MSK 2017].

mhiretskiy
root 7 years ago
parent 3bd3aa9e5b
commit 81649deca6

@ -1,4 +1,4 @@
DIST needrestart-2.10.tar.gz 50602 SHA256 e2a9eff45d47d2c5e7c33102d204059bd493a4b950df15e01b37af7a2c084ebb SHA512 94cc4b898b3fadd4f5936133e8ce008fd79ce3e399c3343ab61308da59264f8e8301c3d1701fc0fa44478a94a6f518d73c09de708149a63fc3feb9dcd0f87a31 WHIRLPOOL 7b7eeecd92bddd326ced1671a04b50511279dacd04bcf33ccd0ceac1fd6f5eedbef388f70459789ee9dbb91299d3cbe4c2311e15a72d030be10aa546255d79b8
DIST needrestart-2.11.tar.gz 52156 SHA256 5c7c322e551ae5de9442ac4915d6c9bc47303a22bc8fb234b953d4a158e65777 SHA512 e987ebafe77aba6920645088fa12e609b52f55edfd545ede1c0a93ee1d6b91ed3ea84cb8db69cd067aaabe8ba973b366da61301b5527ec176a29e3ba30605311 WHIRLPOOL a936b180037de8b804ed15ae44620aadc0dfc42d238207547832f42e7f8dea3784017ec1e517b7b22a0273396a26cb16d333358a80923dc2219c747c4129ebf5
DIST needrestart-2.8.tar.gz 46420 SHA256 33b4f734335987557c68a8c57ea070ac4d23a249fa8675260f0bc28769056cc8 SHA512 2a6e5616a412039e9057a655208a7c55ed611d0deee5ba4c1d25563bb2610bcbf2b6d2534b906fd729db2eee5b3891fdb3fd3bc647f4d6aa06e2a87173b69be7 WHIRLPOOL 4f9daf45ca1a034d6476cf0b387174665d6bf15a4f36cb86e565d6b3715227bf8f7e27f6af422b1ef53c4b07a76d7b36eea0852e2db2a9032679ecc0b04bfc15
DIST needrestart-2.9.tar.gz 49774 SHA256 812c9594a5a262524f354f2290d8f9cd623004b30222aaeb37faa8cc911bd89f SHA512 f3ed8c0312ec6ee40b7f74fb6a69eaec939c6af5d3a09fd62e59e426ac3fabd416db145eb3946e51f7fe53470c24aa8ccd3ad6aa1e5988195085456204153c81 WHIRLPOOL 577735033ad12178e6d1eafaa71a2e9f7d09eece84aa7970e19619767a823da9a6e872bd7e57fd2b0db5c6421f2690105e805c0450a3386ea92bc8b8625dc3d5
DIST v2.8.tar.gz 46420 SHA256 33b4f734335987557c68a8c57ea070ac4d23a249fa8675260f0bc28769056cc8 SHA512 2a6e5616a412039e9057a655208a7c55ed611d0deee5ba4c1d25563bb2610bcbf2b6d2534b906fd729db2eee5b3891fdb3fd3bc647f4d6aa06e2a87173b69be7 WHIRLPOOL 4f9daf45ca1a034d6476cf0b387174665d6bf15a4f36cb86e565d6b3715227bf8f7e27f6af422b1ef53c4b07a76d7b36eea0852e2db2a9032679ecc0b04bfc15

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -9,7 +9,7 @@ if [[ ${PV} == "9999" ]] ; then
SRC_URI=""
KEYWORDS=""
else
SRC_URI="https://github.com/liske/${PN}/archive/v${PV}.tar.gz"
SRC_URI="https://github.com/liske/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi

@ -1 +1,2 @@
DIST sudo-1.8.20p1.tar.gz 2930394 SHA256 9e980eb23a60dd11f0f452e672e705d7a386882bc230c6e8483050e03182db1d SHA512 b7d4c07a550da917029e31d15e734d9462f3565ee43eb5f6fd19463b54a2fa3f444381f0999d6d1ba643b65832056dd9177dad4452fa9f87f2542c223b13f258 WHIRLPOOL 7e652f70782d7c5240fa23198d16d94171510d7eb52df56ee667a3da17c26643257d4304c3bfdb94a77831b904ac1c4d4027f2d1140764ddcd130159a3c3a3d3
DIST sudo-1.8.20p2.tar.gz 2930769 SHA256 bd42ae1059e935f795c69ea97b3de09fe9410a58a74b5d5e6836eb5067a445d9 SHA512 8bf67e687f7a84605fdef8d547b5cd661141b6c8fd25820c33c7e37e97ca7f21f564c3bae691f8a8cd08df7d80338e36a8f06bb5086cc104509d71d6ab1bceda WHIRLPOOL 4e9b6ddaba8cdb4d82358e01252136af56ae50f656f9802285471c7c1e5c831d26aa07cb78205f63ea6098f98846911938681a89256afe5419372039d0e4e792

@ -0,0 +1,216 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils pam multilib libtool
MY_P=${P/_/}
MY_P=${MY_P/beta/b}
uri_prefix=
case ${P} in
*_beta*|*_rc*) uri_prefix=beta/ ;;
esac
DESCRIPTION="Allows users or groups to run commands as other users"
HOMEPAGE="http://www.sudo.ws/"
SRC_URI="http://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
# Basic license is ISC-style as-is, some files are released under
# 3-clause BSD license
LICENSE="ISC BSD"
SLOT="0"
if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~sparc-solaris"
fi
IUSE="gcrypt ldap nls pam offensive openssl selinux skey +sendmail"
CDEPEND="
gcrypt? ( dev-libs/libgcrypt:= )
openssl? ( dev-libs/openssl:0= )
pam? ( virtual/pam )
skey? ( >=sys-auth/skey-1.1.5-r1 )
ldap? (
>=net-nds/openldap-2.1.30-r1
dev-libs/cyrus-sasl
)
sys-libs/zlib
"
RDEPEND="
${CDEPEND}
selinux? ( sec-policy/selinux-sudo )
ldap? ( dev-lang/perl )
pam? ( sys-auth/pambase )
>=app-misc/editor-wrapper-3
virtual/editor
sendmail? ( virtual/mta )
"
DEPEND="
${CDEPEND}
sys-devel/bison
"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
pam? ( !skey )
skey? ( !pam )
?? ( gcrypt openssl )
"
MAKEOPTS+=" SAMPLES="
src_prepare() {
default
elibtoolize
}
set_rootpath() {
# FIXME: secure_path is a compile time setting. using ROOTPATH
# is not perfect, env-update may invalidate this, but until it
# is available as a sudoers setting this will have to do.
einfo "Setting secure_path ..."
# first extract the default ROOTPATH from build env
ROOTPATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}")
if [[ -z ${ROOTPATH} ]] ; then
ewarn " Failed to find ROOTPATH, please report this"
fi
# then remove duplicate path entries
cleanpath() {
local newpath thisp IFS=:
for thisp in $1 ; do
if [[ :${newpath}: != *:${thisp}:* ]] ; then
newpath+=:$thisp
else
einfo " Duplicate entry ${thisp} removed..."
fi
done
ROOTPATH=${newpath#:}
}
cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${ROOTPATH:+:${ROOTPATH}}
# finally, strip gcc paths #136027
rmpath() {
local e newpath thisp IFS=:
for thisp in ${ROOTPATH} ; do
for e ; do [[ $thisp == $e ]] && continue 2 ; done
newpath+=:$thisp
done
ROOTPATH=${newpath#:}
}
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
einfo "... done"
}
src_configure() {
local ROOTPATH
set_rootpath
# audit: somebody got to explain me how I can test this before I
# enable it.. - Diego
# plugindir: autoconf code is crappy and does not delay evaluation
# until `make` time, so we have to use a full path here rather than
# basing off other values.
myeconfargs=(
--enable-zlib=system
--with-editor="${EPREFIX}"/usr/libexec/editor
--with-env-editor
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
--with-rundir="${EPREFIX}"/var/run/sudo
--with-secure-path="${ROOTPATH}"
--with-vardir="${EPREFIX}"/var/db/sudo
--without-linux-audit
--without-opie
$(use_enable gcrypt)
$(use_enable nls)
$(use_enable openssl)
$(use_with offensive insults)
$(use_with offensive all-insults)
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
$(use_with ldap)
$(use_with pam)
$(use_with skey)
$(use_with selinux)
$(use_with sendmail)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
if use ldap ; then
dodoc README.LDAP
dosbin plugins/sudoers/sudoers2ldif
cat <<-EOF > "${T}"/ldap.conf.sudo
# See ldap.conf(5) and README.LDAP for details
# This file should only be readable by root
# supported directives: host, port, ssl, ldap_version
# uri, binddn, bindpw, sudoers_base, sudoers_debug
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
EOF
insinto /etc
doins "${T}"/ldap.conf.sudo
fperms 0440 /etc/ldap.conf.sudo
insinto /etc/openldap/schema
newins doc/schema.OpenLDAP sudo.schema
fi
pamd_mimic system-auth sudo auth account session
keepdir /var/db/sudo
fperms 0700 /var/db/sudo
# Don't install into /var/run as that is a tmpfs most of the time
# (bug #504854)
rm -rf "${D}"/var/run
}
pkg_postinst() {
if use ldap ; then
ewarn
ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
ewarn
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
ewarn "configured in /etc/nsswitch.conf."
ewarn
ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
ewarn " sudoers: ldap files"
ewarn
fi
fi
if use prefix ; then
ewarn
ewarn "To use sudo, you need to change file ownership and permissions"
ewarn "with root privileges, as follows:"
ewarn
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
ewarn
fi
elog "To use the -A (askpass) option, you need to install a compatible"
elog "password program from the following list. Starred packages will"
elog "automatically register for the use with sudo (but will not force"
elog "the -A option):"
elog ""
elog " [*] net-misc/ssh-askpass-fullscreen"
elog " net-misc/x11-ssh-askpass"
elog ""
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
elog "variable to the program you want to use."
}

@ -1,2 +1,3 @@
DIST burp-1.4.40.tar.bz2 712937 SHA256 4108eb45e14740de990d918a2adbb661d88f90de48d6e2e3a6b54fd12b16fa5e SHA512 b44ba3a63d3b75f6fee55bbfef70ac07fa87e78ddb22a398e31a86670dfa3f2db1c9dbc58de3d0038cdc409bd5ae52c8e901cb26975fd7dbe0f773c4841af10c WHIRLPOOL 636120b3fa2d4a3217567177f3c8abbdeb562d298043fd6bd685842287964d835f2a369e36db0bc32ce908ce8f96e4e2677569e6ca4bac80f8d9958a2364a62d
DIST burp-2.0.54.tar.gz 558845 SHA256 26130da9791c57b1e194973ef1ea292dec57468bf4291a4d0eae880d192c1fd1 SHA512 dccc4d3679dd759028cd6b71d09ae4e49a511e5d94b4df2f112ad974abb507bbc8fffaf63ef85c847b0f9363b20a9e817179ab556c5a788acacb7a25e7600fa4 WHIRLPOOL 60e9bec56c08bc7ebc4700824eab34cf8cefdc5871140471eec5e05dbff4f4b83c2f7c6d5554d33dbb918f46e2c60159ba99a5da599938acd40b9d5b7b582978
DIST burp-2.1.8.tar.gz 568051 SHA256 d711a40838d5d5ace844cd68f7667c2dbf3995c81217837d4863941f172a9569 SHA512 44073b9e4ba78e50766bf7c1e6c28ac3b3f589e450d58be07f11c7a479f53ee4fa48c4b191cd693ce674253a8fc1b1b440a64644c31deb85b9f8eaabdf4073df WHIRLPOOL 365babbdbe62e35551605fab301f9c39206b5b9f941e6fbdc1e4198e06cea6458380fbb82b0377a9c316f24c25166a526f8bb549c1210f590054a615e80bc283

@ -1,115 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit autotools eutils user
DESCRIPTION="Network backup and restore client and server for Unix and Windows"
HOMEPAGE="http://burp.grke.org/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
http://burp.grke.org/downloads/${P}/${P}.tar.bz2"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="acl afs ipv6 libressl nls tcpd xattr"
DEPEND="
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
dev-libs/uthash
sys-libs/libcap
>net-libs/librsync-2.0.0:0=
sys-libs/ncurses:0=
sys-libs/zlib
acl? ( sys-apps/acl )
afs? ( net-fs/openafs )
nls? ( sys-devel/gettext )
tcpd? ( sys-apps/tcp-wrappers )
xattr? ( sys-apps/attr )
"
RDEPEND="${DEPEND}
virtual/logger
"
DOCS=( CONTRIBUTORS DONATIONS UPGRADING )
PATCHES=(
"${FILESDIR}/${PV}-non-zero-or-build-failure.patch"
"${FILESDIR}/${PV}-bedup-conf-path.patch"
"${FILESDIR}/${PV}-tinfo.patch"
)
pkg_setup() {
enewgroup "${PN}"
enewuser "${PN}" -1 "" "" "${PN}"
}
src_prepare() {
epatch "${PATCHES[@]}"
eautoreconf
sed -e '/autoupgrade/d' -i "${S}"/Makefile.in || die
rm "${S}"/docs/autoupgrade.txt || die
}
src_configure() {
local myeconfargs=(
--sbindir=/usr/sbin
--sysconfdir=/etc/burp
--enable-largefile
$(use_enable acl)
$(use_enable afs)
$(use_enable ipv6)
$(use_enable nls)
$(use_enable xattr)
$(use_with tcpd tcp-wrappers)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
fowners root:burp /etc/burp
fperms 0775 /etc/burp
fowners root:burp /etc/burp/burp-server.conf
fperms 0640 /etc/burp/burp-server.conf
fowners root:burp /etc/burp/clientconfdir
fperms 0750 /etc/burp/clientconfdir
fowners root:burp /var/spool/burp
fperms 0770 /var/spool/burp
newinitd "${FILESDIR}"/${PN}.initd ${PN}
dodoc docs/*
local scripts_dir=/usr/share/burp/scripts
dodir "${scripts_dir}"
local script
for script in notify_script ssl_extra_checks_script summary_script \
timer_script; do
mv "${D}etc/burp/${script}" "${D}${scripts_dir}/" || die
sed -r \
-e "s|(=\\s*)/etc/burp/${script}\\s*$|\1${scripts_dir}/${script}|" \
-i "${D}etc/burp/burp-server.conf" \
|| die
done
sed -e '/autoupgrade/d' -i "${D}etc/burp/burp.conf" || die
sed -e '/autoupgrade/,+1d' -i "${D}etc/burp/burp-server.conf" || die
sed -e 's|^# user=graham|user = burp|' \
-e 's|^# group=nogroup|group = burp|' \
-e 's|^pidfile = .*|lockfile = /run/lock/burp/server.lock|' \
-i "${D}etc/burp/burp-server.conf" || die
}
pkg_postinst() {
if [[ ! -e /etc/burp/CA/index.txt ]]; then
elog "At first run burp server will generate DH parameters and SSL"
elog "certificates. You should adjust configuration before."
elog "Server configuration is located at"
elog ""
elog " /etc/burp/burp-server.conf"
elog ""
fi
}

@ -11,7 +11,7 @@ SRC_URI="https://github.com/grke/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="acl ipv6 libressl test xattr"
CDEPEND="dev-libs/uthash

@ -0,0 +1,110 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools systemd tmpfiles user versionator
DESCRIPTION="Network backup and restore client and server for Unix and Windows"
HOMEPAGE="http://burp.grke.org/"
SRC_URI="https://github.com/grke/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="acl ipv6 libressl test xattr"
CDEPEND="dev-libs/uthash
net-libs/librsync
sys-libs/ncurses:0=
sys-libs/zlib
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
acl? ( sys-apps/acl )
xattr? ( sys-apps/attr )"
DEPEND="${CDEPEND}
test? ( dev-libs/check )"
RDEPEND="${CDEPEND}
virtual/logger"
PATCHES=(
"${FILESDIR}"/${PN}-2.0.54-no_mkdir_run.patch
"${FILESDIR}"/${PN}-2.0.54-protocol1_by_default.patch
"${FILESDIR}"/${PN}-2.0.54-server_user.patch
)
pkg_setup() {
enewgroup "${PN}"
enewuser "${PN}" -1 "" "" "${PN}"
}
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
--localstatedir=/var
--sysconfdir=/etc/burp
--enable-largefile
$(use_enable acl)
$(use_enable ipv6)
$(use_enable xattr)
)
# --runstatedir option will only work from autoconf-2.70 onwards
runstatedir='/run/burp' \
econf "${myeconfargs[@]}"
}
src_install() {
default
fowners -R root:${PN} /var/spool/burp
fperms 0770 /var/spool/burp
emake DESTDIR="${D}" install-configs
fowners -R root:${PN} /etc/burp
fperms 0775 /etc/burp
fperms 0640 /etc/burp/burp-server.conf
fperms 0750 /etc/burp/clientconfdir
newinitd "${FILESDIR}"/${PN}2.initd ${PN}
systemd_dounit "${FILESDIR}"/${PN}.service
newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf
}
pkg_postinst() {
elog "Burp ebuilds now support the autoupgrade mechanism in both"
elog "client and server mode. In both cases it is disabled by"
elog "default. You almost certainly do NOT want to enable it in"
elog "client mode because upgrades obtained this way will not be"
elog "managed by Portage."
if [[ ! -e /etc/burp/CA/index.txt ]]; then
elog ""
elog "At first run burp server will generate DH parameters and SSL"
elog "certificates. You should adjust configuration before."
elog "Server configuration is located at"
elog ""
elog " /etc/burp/burp-server.conf"
elog ""
fi
# According to PMS this can be a space-separated list of version
# numbers, even though in practice it is typically just one.
local oldver
for oldver in ${REPLACING_VERSIONS}; do
if [[ $(get_major_version ${oldver}) -lt 2 ]]; then
ewarn "Starting with version 2.0.54 we no longer patch bedup to use"
ewarn "the server config file by default. If you use bedup, please"
ewarn "update your scripts to invoke it as"
ewarn ""
ewarn " bedup -c /etc/burp/burp-server.conf"
ewarn ""
ewarn "Otherwise deduplication will not work!"
break
fi
done
}

@ -11,7 +11,7 @@ HOMEPAGE="https://github.com/ajaiantilal/i7z"
SRC_URI="https://github.com/ajaiantilal/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="qt4 qt5"
RDEPEND="sys-libs/ncurses:0=

@ -1 +1,3 @@
DIST nrg2iso-0.4.tar.gz 8553 SHA256 25049d864680ec12bbe31b20597ce8c1ba3a4fe7a7f11e25742b83e2fda94aa3 SHA512 fa9e081984345770fad713cdfc5711c8c9ace3981d1cc8130b4c2b83eca517c7765eaab758a34dd5e59846f24c6e3f76f3fc89e984305c4358859b0b28e1ec68 WHIRLPOOL 668d43e1a3dc7e3dfc41f92212d3c102d41ef055f7af396a4e8726aa047701e64bac4100f3a149e61641d52bbbc88a6bd024976e2bda62a84535017cac835b14
DIST nrg2iso-test.iso 55452 SHA256 c88230596afeebef632ebe1c683180abb93a082e3e8667ca066d994b9cd77605 SHA512 905c0b30482a3b411e786a4cc225dab7513a33c32bfd312717f4666543323456d2b6b6ddbeee75ed194e04cf28d472c87ffbdbf783c63abd06fae7e433601fba WHIRLPOOL 0db6347b0eb253879bd675112faad91cab287e8a26eb63b03b116ff4ae5a8d72b82fd65d38935f8a66c4b7b464bed0667cdc421d19d83835e9a63b4014b66d6c
DIST nrg2iso-test.nrg 362652 SHA256 1219059917243ec0d8ca211354e50611a912094a1ea523d759c06690b60bc63a SHA512 c29f7e7d3f692a03fdbc5d0c1a112ead73efb45b102302f7f1685f9f2ccfe1eed9b690a3c3f1c7d7d79da9197fdb40dd06ca7bab4187e5dfca81d47268b550b7 WHIRLPOOL a4ee3f1216eebe15ca01037eae371697d4275f463c4428e403b30c66f1412bf9853bf7bbb413f2c2a3c72c24a9695aa8532dd5519bdd2ea0ccffbc456d6a219f

@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>Nrg2Iso is a linux utils for converting CD (or DVD) image
generated by Nero Burning Rom to ISO format.
</longdescription>
<maintainer type="person">
<email>yegortimoshenko@gmail.com</email>
<name>Yegor Timoshenko</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,35 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit toolchain-funcs
DESCRIPTION="Convert CD images from nrg (Nero) to iso"
HOMEPAGE="http://gregory.kokanosky.free.fr/v4/linux/nrg2iso.en.html"
SRC_URI="http://gregory.kokanosky.free.fr/v4/linux/${P}.tar.gz
test? (
https://yegortimoshenko.s3.amazonaws.com/${PN}-test.iso
https://yegortimoshenko.s3.amazonaws.com/${PN}-test.nrg
)"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
IUSE="test"
DOCS=( CHANGELOG )
src_compile() {
$(tc-getCC) ${CFLAGS} ${LDFLAGS} ${PN}.c -o ${PN}
}
src_test() {
einfo "checking that nrg -> iso matches the expected output"
"${S}/${PN}" "${DISTDIR}/${PN}-test.nrg" "${T}/${PN}-test.iso" || die "conversion failed"
diff "${DISTDIR}/${PN}-test.iso" "${T}/${PN}-test.iso" || die "unexpected iso"
}
src_install() {
dobin ${PN}
einstalldocs
}

@ -1 +1,3 @@
DIST uif2iso-0.1.7c.zip 113727 SHA256 b78dde3e8bc28559f73e2feb46d41c8f57b511ddbe25d63ada704ef8697528ec SHA512 22e2e2d156cae7f2f72ba5959bf3b4282609397d148e6a98666382003ce568e185a90e6af8821829d302c1efea1ca2c6d155df0181c6a29294d70de8adc9591f WHIRLPOOL df4a0446faec70dcb30316a576d49cdf074b042e99a85ccb4dbd0273bc72a5b5a5e37d74c5326728fb80bd34da8783c5dd070c97c9476ff0a1c245b2d5520d56
DIST uif2iso-test.iso 55296 SHA256 6fe46b1733fe3e337b3aa4035cdb817e611656136b828a519fe2bd595349c0e0 SHA512 775f8fc87a51709c6ef10ae2751cc8600c22d70af419afd680a1917338a699e6a3934597af26400f67ff68fdea5db32e416d73fda370ef71f0d19a5bbdcbedd6 WHIRLPOOL 7a12d5abb9a8b49083b810f8657b5f0f24b4fb75c555a168d41b8a104ec14a123f5ff0d62f8b2e9aeabba1e081a4eb7e13e1837101c6e300d515688c613837be
DIST uif2iso-test.uif 499 SHA256 2019019dc6c532be145fd0ff5c6c23da7927dc321620482d1e99188ccd61a096 SHA512 6863305d325ec6cf6c8693512d011ec4150bcf0be94f84495e4075cea74412b9fd8ede17f77ad9f7d4b3cf205c9406adbd5440697c7857ab094e4659d074efeb WHIRLPOOL 27d1db05f5f971dd173cd05c197539a1c637ef5baf83493eb3615ad05d664c624b7aacebc4af24d1e08676d6e1c1a6c13398a6669aa6203b1dedef248dd2f0c6

@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<longdescription lang="en">
uif2iso is a program that can convert images taken with the
MagicISO software under Windows, with its proprietary UIF format,
into standard ISO9660 images.
</longdescription>
<maintainer type="person">
<email>yegortimoshenko@gmail.com</email>
<name>Yegor Timoshenko</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,41 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit toolchain-funcs
DESCRIPTION="Convert CD images from uif (MagicISO) to iso"
HOMEPAGE="http://aluigi.altervista.org/mytoolz.htm#uif2iso"
SRC_URI="mirror://gentoo/${P}.zip
test? ( https://yegortimoshenko.s3.amazonaws.com/${PN}-test.iso
https://yegortimoshenko.s3.amazonaws.com/${PN}-test.uif )"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="test"
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/unzip"
S="${WORKDIR}"
src_compile() {
emake CC="$(tc-getCC)" -C src -f - <<-'EOF'
CPPFLAGS += -DMAGICISO_IS_SHIT
LDLIBS = -lz
uif2iso: $(patsubst %.c,%.o,$(wildcard *.c))
EOF
}
src_test() {
einfo "checking that uif -> iso matches the expected output"
src/${PN} "${DISTDIR}/${PN}-test.uif" "${T}/${PN}-test.iso" # always returns 1
diff "${DISTDIR}/${PN}-test.iso" "${T}/${PN}-test.iso" || die "unexpected iso"
}
src_install() {
dobin src/${PN}
dodoc ${PN}.txt README
}

@ -9,5 +9,6 @@
<flag name="binary">Download pre-built files instead of building
from sources</flag>
<flag name="html">Generate PMS as .html as well</flag>
<flag name="twoside">Enable two-sided layout suitable for printing</flag>
</use>
</pkgmetadata>

@ -13,7 +13,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification"
LICENSE="CC-BY-SA-3.0"
SLOT="live"
IUSE="html"
IUSE="html twoside"
DEPEND="dev-tex/leaflet
dev-texlive/texlive-bibtexextra
@ -28,7 +28,7 @@ DEPEND="dev-tex/leaflet
RDEPEND=""
src_compile() {
emake
emake $(usex twoside TWOSIDE=yes "")
use html && emake html
}

@ -6,6 +6,8 @@ DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0
DIST wine-2.5.tar.xz 18993176 SHA256 13f92b7ab483323aaabbc6519851e688ad4372ea30569961c831d40d6d3bccd2 SHA512 7b6faf6d8aa3d41465ad93ebae055581136f736c7eb8b4c61682e5a05589c83a0ff2c85e0f9abbca016f31b6f1c1435617c4994f1913f715a8707ebee3f28467 WHIRLPOOL 5acd2ac65df5dee1c860ddca72b8df8e021a0b95a3a1870d15468ce4591d569fa15bf8a0a6d341bcd3a624d13d0affe5b0263e67f9dfcbbf3ae7b59218dcded9
DIST wine-2.6.tar.xz 19023352 SHA256 e6ff64758f437647e99a36c1275e41adf54f0432907172d3bba22b070a97aac0 SHA512 2aa55413ac090e011725566d004e42ee46323cd4c6961b9faa63e3de422ba60bb657bf224a4d7e8aa712a8e26e11977d07acb7c088ffeef8c37310e8cc698970 WHIRLPOOL 82e6a06cc342c7d6eace64a97bae10cc39c120c5776170b059700542b8b6fef56be9a697f05b3bc21ae82621f4bf50f3ab478311c9a3a55d86ed7c0a009766b0
DIST wine-2.7.tar.xz 19101108 SHA256 e55a43088e313c45f7ab49272b7cb441c06f5659fb4220b2325dc060db0ee14c SHA512 1e61b9a4aa1f5f42fb27d11d5254a9ba90f348ad9c4d1ddd4b5da47cd7de638290a20accf7447db9c0e4ced4c2144497cdf5fc906a5eac60e923dabb61f65d3a WHIRLPOOL 133426a0313facc856eebad3d16d199948b780ce4c4561e5784845c119fe462b8942ed86fa5e823e729a997d704bd3c70f44a64ce3eef965b4f3eb92587dfa4d
DIST wine-2.8.tar.xz 19120740 SHA256 83e9607af66d86020dc27a368ebba28fa7e8ffecfdf8f149da06b3531ac3e579 SHA512 4d0b167b1e5add31ed0ed05b328d16fc13cd268285c03a9100e7ddc53864aa07f6b216a555ef0c2e51dee550e3f4abf0c7c20db2cbca177bb38e8c3e11f05b97 WHIRLPOOL 568cf46caf7322eb5e26b364bd15f9e80c41a65340952a1ee0fa80514bbee3c5adfa72af40809a978a5d4202f5e8d3da3e4581767bab9fa08ab441cdd5d1da31
DIST wine-2.9.tar.xz 19154668 SHA256 ac46f7bbbbc1dc135c95e4f98d28bf6e3d7a78fb7f9ba6caa7354a3e8786545f SHA512 6d06e511d8f338297ed0ddb7bf2ffb501f528209eaecbbee3d4e5d53db649dd5ea0aeb78bba661a9bcfda5f97e170ca10eb8fab355e229bfe7db6a5feb7ec4e8 WHIRLPOOL 7355166aeaac54abb6e1d25da6f87a4814d37764044e95462bc2a83f8d5a9b7a3bb10730bb5506516e130a4fc9ee35e3656d1106939bbbc1310c6aff0d798a1c
DIST wine-d3d9-2.0.tar.gz 48373 SHA256 7bfac23706723c6d51a7a95e416e47fb2678cd4d0945b990f74eba2b059e6206 SHA512 a9e2d1c9f2784128e4c53a8dc923070a5057b5ff3d83c2b536a2d2df0bc8433ac92b8ab1c3cdf34158c0e7bfe497ddb5974605fbc1736a92307639d59450c7a1 WHIRLPOOL 53044c0a4b7159c3af75fc935d1ac45030e80dbfd70d787f64885ddc025cfcd62f724c3256e389a7fde680670e594101955f52301cf6b9bbf23ebc64552790c2
DIST wine-d3d9-2.1.tar.gz 48385 SHA256 9fd80e3e2ea905272c42dbc14679e94c8e2f955101ae098c84060d4c62ffc9c6 SHA512 9234d8227412d940a6befcf79433f1d5ab0634d5e829f3771ffeea235af05be29ffc40438818b1976c77d1e2e79da8a67c4dab2b7d2e822b502fb6e4a1a7f8b7 WHIRLPOOL 790e482850a13c5bf0967e900620c36d71c4d6673106f8f5c2848550ed574d326d3945d9906de88d847bb5644a520aab7fe6d460b3c3afd49a396798dd253392
DIST wine-d3d9-2.2.tar.gz 48387 SHA256 203ed60980ec584c09b413266728e3a93e2d980dbff9b4f65375a4e9744b5042 SHA512 6e9e031b51afc8ec200bbd252ff0d768c29af23907f782409834de593f896afb128f86fe012c95dc18e5f3c7267f170eb343d2a2c53d639933a337f0c1e04fab WHIRLPOOL 6b32c0dfd3068e87d94bbcd83718dd75a14b36d69b151e9257e04793d2d3ae78ce7da10b80cbc824ccefb6c11666241593f91963ddee6a58301f95bbde35285d
@ -14,6 +16,8 @@ DIST wine-d3d9-2.4.tar.gz 48502 SHA256 4c7084e733d95545b894b152b2c6c9564dfb8df59
DIST wine-d3d9-2.5.tar.gz 48692 SHA256 8b28c16701ec1cefab11d41d00954a92a5ced9a63f1ede81e96f247d2f498f94 SHA512 8b5ebec6341f70ec977aabee35decbe2d22fe43e111c1fd6015066a2b0e4fd259cd964fdb79306a489be4406078cb1e241d90ed636222174ed4abcc8026e7d03 WHIRLPOOL d5fcc5fbea4c4a4900235d33cb5de8f2a7cbf2b51b1a5c47d75ab765aa88ce1f8f81a61eefe0a742a55bb2ca210747b345589628fd1020430e4d962319b1c6fe
DIST wine-d3d9-2.6.tar.gz 48702 SHA256 06ed18f2d5fff04613ea1401c37ad70e163135c159528745ff1063d617f31e2d SHA512 17df692df8ff3c1419258a3faf9ddacde67f185a797dce76cd07c07e6f4fa2040b981662d311329a80921c039bfba0da5fed3ee53f8c36e34eeaa92af1c7b755 WHIRLPOOL e614b4af0f3c92113617f533255fd67a4b322bdaf0939fb98e09bf77e3b0437cb2b813032e33300e45294a60d5c3586a302669c28c293e180c775666cddc2581
DIST wine-d3d9-2.7.tar.gz 48708 SHA256 df6ed1e50d8af0624b8f4f658705f75102094f6e17fec53ec8461991ce5dca2a SHA512 d258e81a942f905255a637aa80dd647878691caa79adc52fd79f66ce1320d42d7d36ea776876d6a26a2c711a168da4c64f27fa8744ca6d8318c5526f8a8af75a WHIRLPOOL 2d62cab5e3b14eaf29ecc96ac97555f48845a78c751040a850750d3b19fbc64efb3f3589dd3475a03cb1e3dff3e200528dabd2952b1ee8d0520a5db0d7db154b
DIST wine-d3d9-2.8.tar.gz 48700 SHA256 c67de9fee6e97859896aa2326fbc245e8b0f7393a1c6341126607b03afebc964 SHA512 bb933b51d0022ce616331f2550faedeff3058007525b4519833b925c57999ab08b08380b8967d48ad7c56458e812342428388a5eac2ed8fcdd8cfbfee74a8e8c WHIRLPOOL 52c8538e3f4b3be3412ee544efebae69c3de781255e12298d544f47523aba3afaadbffa8dedc463c207b0ae8a0a92599beca17017f266648b9b229847990ae2e
DIST wine-d3d9-2.9.tar.gz 48693 SHA256 32b847adf74c293e858800248aa1b164688f98cde89ca4d2cd0808fae7f94340 SHA512 89d06587481f7702b6884c83627a27c7b38a078e2b333bea2612a58840695211c19ab4ca02669c983580f95ae42ef114020f6b6bbb1a17d72449c0ed2212dc49 WHIRLPOOL e32b261f6e87580eec2c2ee57848b08b2487d1f280b8b257403e0722ec1b44cb31dcb240d89757599be2c3c6d958c48f92510bc625e5c05fc08116d13c303168
DIST wine-desktop-common-20150204.tar.gz 99491 SHA256 444ad6b52b5290ec7d160e2cc40e4ba0910b4c4983dba1ceb054b81b09b24b5e SHA512 1f3d7022c5cff87ed3b8fd3b7cd14397c6f23b98fe6a7c583ac0d2f439ff29d943f57375f23687aa6519ff1d84ff07624a9a712d6f19fa207fd26d01edcb6688 WHIRLPOOL e9810b2952d25c05d831000e00e423de86809ec31b9a033fd4c64a70709da7338a9afc9e632e678f49c789a8a3702fbd0113226770cdb806623f2de371a16f54
DIST wine-staging-2.0.tar.gz 10182575 SHA256 22a43cb50c1fff9c6f233a965247056e3321533aa73a6419aa34a22de7180039 SHA512 51412299259d6e92c8993543d5fdb3239ebe31e0d1d715e0a9e8ce94b3139c0567b08ff1600d41be94f12427cbfccc2f6b6b2ed030535445c95618aaf6578580 WHIRLPOOL 9879174bc3a7c8ece156c822b7a7b870908e51335702a78e6f04ea1496125a2018a879bfc53d1302e4825138d22af526308ba7f656d683a535be44d4515f1bac
DIST wine-staging-2.1.tar.gz 10101781 SHA256 1d193be2734ea495df2cae1dc54ce89204ca68699979174b0bd726d2e5e0576b SHA512 c64c48b265f0779c621a643ddbd2d12aaa548e4bff3b2b728280cdb9613214989911ee8ba5e46c7770f5f6430014a5da1c98e95d5008c1174bd14bf9ce5250db WHIRLPOOL ecf970ef436089bbcd0088e1608b22e808d54560e905c7d8046b3e21508166a595c3ef7b69819c45e4b13183bd9134a2bd7016d29c4da52985701d392eb35a0a
@ -23,3 +27,5 @@ DIST wine-staging-2.4.tar.gz 10067020 SHA256 709cab12c0ebf7cf9504fd4a67eb8512723
DIST wine-staging-2.5.tar.gz 10062025 SHA256 b5cf6fa38151ff47ab6d725077693b02b37bb07b2ab7fda55290bb1f63ac54ad SHA512 6ab981886776f624c6478230aad18870f55b7252f1c6df90bfe1a248f7ea76cbb181f8e0780fdd4bb5e3c589a785baa7cf126a2c838adf65db2a67f873ed1698 WHIRLPOOL 7045b1642a3b14e5a507854cb8bf910c7cfb3c64ada4ee3534175c75b03cd604206617a55fb870e47fb248a4db8a9ca2abc0b4688005c1c0de0d542fec8cbc57
DIST wine-staging-2.6.tar.gz 10034709 SHA256 ff86ddcceb7f6857bd415db3842ddf216a5cb301452e2a08053a9378cbf5580a SHA512 dc199b5345985d261b708ac811b02253ab9fbc4966889f2382ce518d991fe43b7c771c1d56d055c6234c9329d5c571cd9cf0b16587b77124b9c46917ddd066d2 WHIRLPOOL 375f484c6c50645c605994eb08c38c649ca6c8b47430e2f2f285a63fc24eca81588d0496a8c32074f90e4ea8f4330f76854bf8874f042e27581a7eee19aedf98
DIST wine-staging-2.7.tar.gz 10018082 SHA256 3095f9c634f00b143c2407dce8c3f29c629ec95074cf14c8e8dc2e0cdba45b6d SHA512 0abc89af701ae1b95c0eb08e72894c7bc40bdfe792e05b8af9282eab8407bb90b7dfcd4eb3a193a88759ce5d6ea6c2aa9696cac2d744f543c92529bb0d2636ee WHIRLPOOL 6cc666f702ef1bd574ede54a7f6755e07d768c9fa549b9bdb9b5416288619347e0c1b9c70893b6300800d8e6c94e8d2396937f639d1e821945ba9fe144b32c95
DIST wine-staging-2.8.tar.gz 10043842 SHA256 8680614be6c3b01c7c577eb6924fc05cc3de92394384939dd5b2e12e08235fff SHA512 af1707fe3119664a0d97d94fc4c955612d80cb76eae8c4248a268c0f6be9e659fccf7c26899c9e9ae5822f74474c0db5283b598dd4d9d69a3b108f947653217a WHIRLPOOL 7e9aa61a7666404475abb442304e63c76c2e6df26479711b7c08ebe7c15b9b53017e7a1d2dca4f9f8aeba78290df03f06076c99ac06c30d5ed893cfc3842107a
DIST wine-staging-2.9.tar.gz 10062408 SHA256 cde0895142c0ca0be5b532560ec0546d6e4f655615572d80cfcce663f92c57f6 SHA512 7862a403817791c54c5c1b8f233b06a850500305c46283bccb9026fb6db041a8fba619d145ab21fe2fdc5f25ed3bbb75fde05245fbbbd67139a5f64b547b1196 WHIRLPOOL 52c0b9065cfa54f6b86b74f9a98c9d232e3a88aa9d61d06c6e01044122fab8b01a567e99f93014042031e9eb991fd9234c4a02ebe3d2aa8c042e5e769269095c

@ -0,0 +1,615 @@
# 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/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 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,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
}

@ -67,6 +67,7 @@ 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}]
@ -461,6 +462,7 @@ multilib_src_configure() {
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)

@ -6,6 +6,8 @@ DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0
DIST wine-2.5.tar.xz 18993176 SHA256 13f92b7ab483323aaabbc6519851e688ad4372ea30569961c831d40d6d3bccd2 SHA512 7b6faf6d8aa3d41465ad93ebae055581136f736c7eb8b4c61682e5a05589c83a0ff2c85e0f9abbca016f31b6f1c1435617c4994f1913f715a8707ebee3f28467 WHIRLPOOL 5acd2ac65df5dee1c860ddca72b8df8e021a0b95a3a1870d15468ce4591d569fa15bf8a0a6d341bcd3a624d13d0affe5b0263e67f9dfcbbf3ae7b59218dcded9
DIST wine-2.6.tar.xz 19023352 SHA256 e6ff64758f437647e99a36c1275e41adf54f0432907172d3bba22b070a97aac0 SHA512 2aa55413ac090e011725566d004e42ee46323cd4c6961b9faa63e3de422ba60bb657bf224a4d7e8aa712a8e26e11977d07acb7c088ffeef8c37310e8cc698970 WHIRLPOOL 82e6a06cc342c7d6eace64a97bae10cc39c120c5776170b059700542b8b6fef56be9a697f05b3bc21ae82621f4bf50f3ab478311c9a3a55d86ed7c0a009766b0
DIST wine-2.7.tar.xz 19101108 SHA256 e55a43088e313c45f7ab49272b7cb441c06f5659fb4220b2325dc060db0ee14c SHA512 1e61b9a4aa1f5f42fb27d11d5254a9ba90f348ad9c4d1ddd4b5da47cd7de638290a20accf7447db9c0e4ced4c2144497cdf5fc906a5eac60e923dabb61f65d3a WHIRLPOOL 133426a0313facc856eebad3d16d199948b780ce4c4561e5784845c119fe462b8942ed86fa5e823e729a997d704bd3c70f44a64ce3eef965b4f3eb92587dfa4d
DIST wine-2.8.tar.xz 19120740 SHA256 83e9607af66d86020dc27a368ebba28fa7e8ffecfdf8f149da06b3531ac3e579 SHA512 4d0b167b1e5add31ed0ed05b328d16fc13cd268285c03a9100e7ddc53864aa07f6b216a555ef0c2e51dee550e3f4abf0c7c20db2cbca177bb38e8c3e11f05b97 WHIRLPOOL 568cf46caf7322eb5e26b364bd15f9e80c41a65340952a1ee0fa80514bbee3c5adfa72af40809a978a5d4202f5e8d3da3e4581767bab9fa08ab441cdd5d1da31
DIST wine-2.9.tar.xz 19154668 SHA256 ac46f7bbbbc1dc135c95e4f98d28bf6e3d7a78fb7f9ba6caa7354a3e8786545f SHA512 6d06e511d8f338297ed0ddb7bf2ffb501f528209eaecbbee3d4e5d53db649dd5ea0aeb78bba661a9bcfda5f97e170ca10eb8fab355e229bfe7db6a5feb7ec4e8 WHIRLPOOL 7355166aeaac54abb6e1d25da6f87a4814d37764044e95462bc2a83f8d5a9b7a3bb10730bb5506516e130a4fc9ee35e3656d1106939bbbc1310c6aff0d798a1c
DIST wine-d3d9-2.0.tar.gz 48373 SHA256 7bfac23706723c6d51a7a95e416e47fb2678cd4d0945b990f74eba2b059e6206 SHA512 a9e2d1c9f2784128e4c53a8dc923070a5057b5ff3d83c2b536a2d2df0bc8433ac92b8ab1c3cdf34158c0e7bfe497ddb5974605fbc1736a92307639d59450c7a1 WHIRLPOOL 53044c0a4b7159c3af75fc935d1ac45030e80dbfd70d787f64885ddc025cfcd62f724c3256e389a7fde680670e594101955f52301cf6b9bbf23ebc64552790c2
DIST wine-d3d9-2.1.tar.gz 48385 SHA256 9fd80e3e2ea905272c42dbc14679e94c8e2f955101ae098c84060d4c62ffc9c6 SHA512 9234d8227412d940a6befcf79433f1d5ab0634d5e829f3771ffeea235af05be29ffc40438818b1976c77d1e2e79da8a67c4dab2b7d2e822b502fb6e4a1a7f8b7 WHIRLPOOL 790e482850a13c5bf0967e900620c36d71c4d6673106f8f5c2848550ed574d326d3945d9906de88d847bb5644a520aab7fe6d460b3c3afd49a396798dd253392
DIST wine-d3d9-2.2.tar.gz 48387 SHA256 203ed60980ec584c09b413266728e3a93e2d980dbff9b4f65375a4e9744b5042 SHA512 6e9e031b51afc8ec200bbd252ff0d768c29af23907f782409834de593f896afb128f86fe012c95dc18e5f3c7267f170eb343d2a2c53d639933a337f0c1e04fab WHIRLPOOL 6b32c0dfd3068e87d94bbcd83718dd75a14b36d69b151e9257e04793d2d3ae78ce7da10b80cbc824ccefb6c11666241593f91963ddee6a58301f95bbde35285d
@ -14,4 +16,6 @@ DIST wine-d3d9-2.4.tar.gz 48502 SHA256 4c7084e733d95545b894b152b2c6c9564dfb8df59
DIST wine-d3d9-2.5.tar.gz 48692 SHA256 8b28c16701ec1cefab11d41d00954a92a5ced9a63f1ede81e96f247d2f498f94 SHA512 8b5ebec6341f70ec977aabee35decbe2d22fe43e111c1fd6015066a2b0e4fd259cd964fdb79306a489be4406078cb1e241d90ed636222174ed4abcc8026e7d03 WHIRLPOOL d5fcc5fbea4c4a4900235d33cb5de8f2a7cbf2b51b1a5c47d75ab765aa88ce1f8f81a61eefe0a742a55bb2ca210747b345589628fd1020430e4d962319b1c6fe
DIST wine-d3d9-2.6.tar.gz 48702 SHA256 06ed18f2d5fff04613ea1401c37ad70e163135c159528745ff1063d617f31e2d SHA512 17df692df8ff3c1419258a3faf9ddacde67f185a797dce76cd07c07e6f4fa2040b981662d311329a80921c039bfba0da5fed3ee53f8c36e34eeaa92af1c7b755 WHIRLPOOL e614b4af0f3c92113617f533255fd67a4b322bdaf0939fb98e09bf77e3b0437cb2b813032e33300e45294a60d5c3586a302669c28c293e180c775666cddc2581
DIST wine-d3d9-2.7.tar.gz 48708 SHA256 df6ed1e50d8af0624b8f4f658705f75102094f6e17fec53ec8461991ce5dca2a SHA512 d258e81a942f905255a637aa80dd647878691caa79adc52fd79f66ce1320d42d7d36ea776876d6a26a2c711a168da4c64f27fa8744ca6d8318c5526f8a8af75a WHIRLPOOL 2d62cab5e3b14eaf29ecc96ac97555f48845a78c751040a850750d3b19fbc64efb3f3589dd3475a03cb1e3dff3e200528dabd2952b1ee8d0520a5db0d7db154b
DIST wine-d3d9-2.8.tar.gz 48700 SHA256 c67de9fee6e97859896aa2326fbc245e8b0f7393a1c6341126607b03afebc964 SHA512 bb933b51d0022ce616331f2550faedeff3058007525b4519833b925c57999ab08b08380b8967d48ad7c56458e812342428388a5eac2ed8fcdd8cfbfee74a8e8c WHIRLPOOL 52c8538e3f4b3be3412ee544efebae69c3de781255e12298d544f47523aba3afaadbffa8dedc463c207b0ae8a0a92599beca17017f266648b9b229847990ae2e
DIST wine-d3d9-2.9.tar.gz 48693 SHA256 32b847adf74c293e858800248aa1b164688f98cde89ca4d2cd0808fae7f94340 SHA512 89d06587481f7702b6884c83627a27c7b38a078e2b333bea2612a58840695211c19ab4ca02669c983580f95ae42ef114020f6b6bbb1a17d72449c0ed2212dc49 WHIRLPOOL e32b261f6e87580eec2c2ee57848b08b2487d1f280b8b257403e0722ec1b44cb31dcb240d89757599be2c3c6d958c48f92510bc625e5c05fc08116d13c303168
DIST wine-desktop-common-20150204.tar.gz 99491 SHA256 444ad6b52b5290ec7d160e2cc40e4ba0910b4c4983dba1ceb054b81b09b24b5e SHA512 1f3d7022c5cff87ed3b8fd3b7cd14397c6f23b98fe6a7c583ac0d2f439ff29d943f57375f23687aa6519ff1d84ff07624a9a712d6f19fa207fd26d01edcb6688 WHIRLPOOL e9810b2952d25c05d831000e00e423de86809ec31b9a033fd4c64a70709da7338a9afc9e632e678f49c789a8a3702fbd0113226770cdb806623f2de371a16f54

@ -0,0 +1,549 @@
# 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/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 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,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
}

@ -59,6 +59,7 @@ 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}]
@ -406,6 +407,7 @@ multilib_src_configure() {
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)

@ -7,6 +7,7 @@ DIST wine-2.5.tar.xz 18993176 SHA256 13f92b7ab483323aaabbc6519851e688ad4372ea305
DIST wine-2.6.tar.xz 19023352 SHA256 e6ff64758f437647e99a36c1275e41adf54f0432907172d3bba22b070a97aac0 SHA512 2aa55413ac090e011725566d004e42ee46323cd4c6961b9faa63e3de422ba60bb657bf224a4d7e8aa712a8e26e11977d07acb7c088ffeef8c37310e8cc698970 WHIRLPOOL 82e6a06cc342c7d6eace64a97bae10cc39c120c5776170b059700542b8b6fef56be9a697f05b3bc21ae82621f4bf50f3ab478311c9a3a55d86ed7c0a009766b0
DIST wine-2.7.tar.xz 19101108 SHA256 e55a43088e313c45f7ab49272b7cb441c06f5659fb4220b2325dc060db0ee14c SHA512 1e61b9a4aa1f5f42fb27d11d5254a9ba90f348ad9c4d1ddd4b5da47cd7de638290a20accf7447db9c0e4ced4c2144497cdf5fc906a5eac60e923dabb61f65d3a WHIRLPOOL 133426a0313facc856eebad3d16d199948b780ce4c4561e5784845c119fe462b8942ed86fa5e823e729a997d704bd3c70f44a64ce3eef965b4f3eb92587dfa4d
DIST wine-2.8.tar.xz 19120740 SHA256 83e9607af66d86020dc27a368ebba28fa7e8ffecfdf8f149da06b3531ac3e579 SHA512 4d0b167b1e5add31ed0ed05b328d16fc13cd268285c03a9100e7ddc53864aa07f6b216a555ef0c2e51dee550e3f4abf0c7c20db2cbca177bb38e8c3e11f05b97 WHIRLPOOL 568cf46caf7322eb5e26b364bd15f9e80c41a65340952a1ee0fa80514bbee3c5adfa72af40809a978a5d4202f5e8d3da3e4581767bab9fa08ab441cdd5d1da31
DIST wine-2.9.tar.xz 19154668 SHA256 ac46f7bbbbc1dc135c95e4f98d28bf6e3d7a78fb7f9ba6caa7354a3e8786545f SHA512 6d06e511d8f338297ed0ddb7bf2ffb501f528209eaecbbee3d4e5d53db649dd5ea0aeb78bba661a9bcfda5f97e170ca10eb8fab355e229bfe7db6a5feb7ec4e8 WHIRLPOOL 7355166aeaac54abb6e1d25da6f87a4814d37764044e95462bc2a83f8d5a9b7a3bb10730bb5506516e130a4fc9ee35e3656d1106939bbbc1310c6aff0d798a1c
DIST wine-desktop-common-20150204.tar.gz 99491 SHA256 444ad6b52b5290ec7d160e2cc40e4ba0910b4c4983dba1ceb054b81b09b24b5e SHA512 1f3d7022c5cff87ed3b8fd3b7cd14397c6f23b98fe6a7c583ac0d2f439ff29d943f57375f23687aa6519ff1d84ff07624a9a712d6f19fa207fd26d01edcb6688 WHIRLPOOL e9810b2952d25c05d831000e00e423de86809ec31b9a033fd4c64a70709da7338a9afc9e632e678f49c789a8a3702fbd0113226770cdb806623f2de371a16f54
DIST wine-staging-2.0.tar.gz 10182575 SHA256 22a43cb50c1fff9c6f233a965247056e3321533aa73a6419aa34a22de7180039 SHA512 51412299259d6e92c8993543d5fdb3239ebe31e0d1d715e0a9e8ce94b3139c0567b08ff1600d41be94f12427cbfccc2f6b6b2ed030535445c95618aaf6578580 WHIRLPOOL 9879174bc3a7c8ece156c822b7a7b870908e51335702a78e6f04ea1496125a2018a879bfc53d1302e4825138d22af526308ba7f656d683a535be44d4515f1bac
DIST wine-staging-2.1.tar.gz 10101781 SHA256 1d193be2734ea495df2cae1dc54ce89204ca68699979174b0bd726d2e5e0576b SHA512 c64c48b265f0779c621a643ddbd2d12aaa548e4bff3b2b728280cdb9613214989911ee8ba5e46c7770f5f6430014a5da1c98e95d5008c1174bd14bf9ce5250db WHIRLPOOL ecf970ef436089bbcd0088e1608b22e808d54560e905c7d8046b3e21508166a595c3ef7b69819c45e4b13183bd9134a2bd7016d29c4da52985701d392eb35a0a
@ -17,3 +18,4 @@ DIST wine-staging-2.5.tar.gz 10062025 SHA256 b5cf6fa38151ff47ab6d725077693b02b37
DIST wine-staging-2.6.tar.gz 10034709 SHA256 ff86ddcceb7f6857bd415db3842ddf216a5cb301452e2a08053a9378cbf5580a SHA512 dc199b5345985d261b708ac811b02253ab9fbc4966889f2382ce518d991fe43b7c771c1d56d055c6234c9329d5c571cd9cf0b16587b77124b9c46917ddd066d2 WHIRLPOOL 375f484c6c50645c605994eb08c38c649ca6c8b47430e2f2f285a63fc24eca81588d0496a8c32074f90e4ea8f4330f76854bf8874f042e27581a7eee19aedf98
DIST wine-staging-2.7.tar.gz 10018082 SHA256 3095f9c634f00b143c2407dce8c3f29c629ec95074cf14c8e8dc2e0cdba45b6d SHA512 0abc89af701ae1b95c0eb08e72894c7bc40bdfe792e05b8af9282eab8407bb90b7dfcd4eb3a193a88759ce5d6ea6c2aa9696cac2d744f543c92529bb0d2636ee WHIRLPOOL 6cc666f702ef1bd574ede54a7f6755e07d768c9fa549b9bdb9b5416288619347e0c1b9c70893b6300800d8e6c94e8d2396937f639d1e821945ba9fe144b32c95
DIST wine-staging-2.8.tar.gz 10043842 SHA256 8680614be6c3b01c7c577eb6924fc05cc3de92394384939dd5b2e12e08235fff SHA512 af1707fe3119664a0d97d94fc4c955612d80cb76eae8c4248a268c0f6be9e659fccf7c26899c9e9ae5822f74474c0db5283b598dd4d9d69a3b108f947653217a WHIRLPOOL 7e9aa61a7666404475abb442304e63c76c2e6df26479711b7c08ebe7c15b9b53017e7a1d2dca4f9f8aeba78290df03f06076c99ac06c30d5ed893cfc3842107a
DIST wine-staging-2.9.tar.gz 10062408 SHA256 cde0895142c0ca0be5b532560ec0546d6e4f655615572d80cfcce663f92c57f6 SHA512 7862a403817791c54c5c1b8f233b06a850500305c46283bccb9026fb6db041a8fba619d145ab21fe2fdc5f25ed3bbb75fde05245fbbbd67139a5f64b547b1196 WHIRLPOOL 52c0b9065cfa54f6b86b74f9a98c9d232e3a88aa9d61d06c6e01044122fab8b01a567e99f93014042031e9eb991fd9234c4a02ebe3d2aa8c042e5e769269095c

@ -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
}

@ -8,7 +8,7 @@ HOMEPAGE="http://www.gentoo.org/"
SRC_URI="http://dev.gentoo.org/~titanofold/${P}.tbz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
IUSE=""
RDEPEND="app-admin/eselect"

@ -0,0 +1,35 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit toolchain-funcs
DESCRIPTION="The advanced PC speaker beeper"
HOMEPAGE="http://www.johnath.com/beep"
SRC_URI="http://www.johnath.com/beep/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
IUSE="suid"
PATCHES=( "${FILESDIR}/${P}-Makefile.patch" )
DOCS=( CHANGELOG CREDITS README )
pkg_setup() {
tc-export CC
}
src_install() {
dobin beep
if use suid; then
fowners :audio /usr/bin/beep
fperms 4710 /usr/bin/beep
else
fperms 0711 /usr/bin/beep
fi
unpack "./${PN}.1.gz"
doman "${PN}.1"
einstalldocs
}

@ -1,5 +1,5 @@
--- /var/tmp/portage/app-misc/beep-1.2.2-r1/work/beep-1.2.2/Makefile 2002-03-29 09:37:22.000000000 -0800
+++ /tmp/Makefile 2009-03-27 22:19:18.000000000 -0700
--- a/Makefile 2002-03-29 09:37:22.000000000 -0800
+++ b/Makefile 2009-03-27 22:19:18.000000000 -0700
@@ -1,17 +1,18 @@
-CC=gcc
-FLAGS=-Wall

@ -11,7 +11,7 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
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"
IUSE="debug selinux utempter vim-syntax kernel_FreeBSD kernel_linux"
CDEPEND="

@ -46,7 +46,7 @@ SRC_URI="
IUSE="gnome java kde"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="-* amd64 ~x86"
KEYWORDS="-* amd64 x86"
RDEPEND="=app-office/${PN/-debug}-${PVR}[gnome=,java=,kde=]"

@ -54,7 +54,7 @@ SRC_URI="
IUSE="gnome java kde"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="-* amd64 ~x86"
KEYWORDS="-* amd64 x86"
BIN_COMMON_DEPEND="
app-text/hunspell:0/1.6

@ -11,7 +11,7 @@ SRC_URI="https://github.com/editorconfig/${PN}/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~x86"
KEYWORDS="amd64 ~arm x86"
IUSE="cli doc"
CDEPEND="dev-libs/libpcre:="
DEPEND="${CDEPEND}

@ -11,7 +11,7 @@ SRC_URI="https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/s
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND="

@ -0,0 +1,56 @@
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, the
# best way is to create file
# "/etc/systemd/system/postgresql-@SLOT@.service.d/*.conf"
# containing your changes
# For example, if you want to change the server's port number to 5433,
# create a file named
# "/etc/systemd/system/postgresql-@SLOT@.service.d/port.conf"
# containing:
# [Service]
# Environment=PGPORT=5433
# This will override the setting appearing below.
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=notify
User=postgres
Group=postgres
# Port number for server to listen on
Environment=PGPORT=5432
# Location of configuration files
Environment=PGDATA=/etc/postgresql-@SLOT@
# Where the data directory is located
Environment=DATA_DIR=/var/lib/postgresql/@SLOT@/data
# Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog
ExecStartPre=/usr/bin/postgresql-@SLOT@-check-db-dir
ExecStart=/usr/@LIBDIR@/postgresql-@SLOT@/bin/postgres -p ${PGPORT} -D ${DATA_DIR}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
# Make sure the required runtimedir is present
RuntimeDirectory=postgresql
RuntimeDirectoryMode=1775
[Install]
WantedBy=multi-user.target

@ -8,7 +8,7 @@ PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -8,7 +8,7 @@ PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -8,7 +8,7 @@ PYTHON_COMPAT=( python{2_7,3_4} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -8,7 +8,7 @@ PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"

@ -0,0 +1,484 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
systemd user versionator
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
MY_PV=${PV/_/}
S="${WORKDIR}/${PN}-${MY_PV}"
SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="http://www.postgresql.org/"
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr
zh_CN zh_TW"
IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
+readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
for lingua in ${LINGUAS}; do
IUSE+=" linguas_${lingua}"
done
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
wanted_languages() {
local enable_langs
for lingua in ${LINGUAS} ; do
use linguas_${lingua} && enable_langs+="${lingua} "
done
echo -n ${enable_langs}
}
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
sys-apps/less
virtual/libintl
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap )
pam? ( virtual/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
libressl? ( dev-libs/libressl:= )
)
server? ( systemd? ( sys-apps/systemd ) )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
"
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
nest_usedep() {
local front back
while [[ ${#} -gt 1 ]]; do
front+="${1}? ( "
back+=" )"
shift
done
echo "${front}${1}${back}"
}
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
!!<sys-apps/sandbox-2.0
sys-devel/bison
sys-devel/flex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
!dev-db/postgresql-docs:${SLOT}
!dev-db/postgresql-base:${SLOT}
!dev-db/postgresql-server:${SLOT}
selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
enewgroup postgres 70
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
use python && python-single-r1_pkg_setup
}
src_prepare() {
# Work around PPC{,64} compilation bug where bool is already defined
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
# Rely on $PATH being in the proper order so that the correct
# install program is used for modules utilizing PGXS in both
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
use server || epatch "${FILESDIR}/${PN}-${SLOT}.1-no-server.patch"
# Fix bug 486556 where the server would crash at start up because of
# an infinite loop caused by a self-referencing symlink.
epatch "${FILESDIR}/postgresql-9.2-9.4-tz-dir-overflow.patch"
if use pam ; then
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-i src/backend/libpq/auth.c || \
die 'PGSQL_PAM_SERVICE rename failed.'
fi
epatch_user
}
src_configure() {
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
export LDFLAGS_SL="${LDFLAGS}"
export LDFLAGS_EX="${LDFLAGS}"
local PO="${EPREFIX%/}"
local i uuid_config=""
if use uuid; then
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
for i in ${BSD_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=bsd"
done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
econf \
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
--docdir="${PO}/usr/share/doc/${PF}" \
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable !pg_legacytimestamp integer-datetimes) \
$(use_enable threads thread-safety) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
$(use_with pam) \
$(use_with perl) \
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(usex server "$(use_with systemd)" '--without-systemd') \
$(use_with tcl) \
${uuid_config} \
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
"$(use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
emake
emake -C contrib
}
src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
dodoc README HISTORY doc/{TODO,bug.template}
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
# manually install man pages.
# We use ${SLOT} instead of doman for postgresql.eselect
insinto /usr/share/postgresql-${SLOT}/man/
doins -r doc/src/sgml/man{1,3,7}
if ! use server; then
# Remove man pages for non-existent binaries
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
done
fi
docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
use static-libs || find "${ED}" -name '*.a' -delete
local f bn
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
# Temporarily tack on tmp to workaround a file collision
# issue. This is only necessary for 9.7 and earlier. 10 never
# had this issue.
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
"/usr/bin/${bn}${SLOT/.}tmp"
done
local linkname mansec
for mansec in {1,3,7} ; do
for f in "${ED}"/usr/share/postgresql-${SLOT}/man/man${mansec}/* ; do
bn=$(basename "${f}")
linkname=${bn/%.${mansec}/${SLOT/.}.${mansec}}
dosym ../../postgresql-${SLOT}/man/man${mansec}/$bn \
/usr/share/man/man${mansec}/${linkname}
done
done
if use doc ; then
docinto html
dodoc doc/src/sgml/html/*
docinto sgml
dodoc doc/src/sgml/*.{sgml,dsl}
fi
if use server; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.6" | \
systemd_newunit - ${PN}-${SLOT}.service
fi
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 0775 /run/postgresql
fi
fi
}
pkg_preinst() {
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
# /usr/bin/psql96). They may have been created by the
# postgresql.eselect module, but they're handled within this ebuild
# now. It's alright if we momentarily delete /usr/bin/psql as it
# will be recreated by the eselect module in pkg_ppostinst(). This
# is only necessary for 9.7 and earlier. 10 and later were never
# handled in this manner.
local canonicalise
if type -p realpath > /dev/null; then
canonicalise=realpath
elif type -p readlink > /dev/null; then
canonicalise='readlink -f'
else
# can't die, subshell
die "No readlink nor realpath found, cannot canonicalise"
fi
local l
# First remove any symlinks in /usr/bin that may have been created
# by the old eselect
for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
rm "${l}" || ewarn "Couldn't remove ${l}"
fi
done
# Then move the symlinks created by the ebuild to their proper place.
for l in "${ED}"/usr/bin/*tmp ; do
mv "${l}" "${l%tmp}" \
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
done
}
pkg_postinst() {
postgresql-config update
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
if use server ; then
elog
elog "Gentoo specific documentation:"
elog "https://wiki.gentoo.org/wiki/PostgreSQL"
elog
elog "Official documentation:"
elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
elog
elog "The default location of the Unix-domain socket is:"
elog " ${EROOT%/}/run/postgresql/"
elog
elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
elog "so that it contains your preferred locale in:"
elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
elog
elog "Then, execute the following command to setup the initial database"
elog "environment:"
elog " emerge --config =${CATEGORY}/${PF}"
fi
}
pkg_prerm() {
if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
sleep 10
eend 0
fi
}
pkg_postrm() {
postgresql-config update
}
pkg_config() {
use server || die "USE flag 'server' not enabled. Nothing to configure."
[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
[[ -z "${DATA_DIR}" ]] \
&& DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
# environment.bz2 may not contain the same locale as the current system
# locale. Unset and source from the current system locale.
if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
unset LANG
unset LC_CTYPE
unset LC_NUMERIC
unset LC_TIME
unset LC_COLLATE
unset LC_MONETARY
unset LC_MESSAGES
unset LC_ALL
source "${EROOT%/}/etc/env.d/02locale"
[ -n "${LANG}" ] && export LANG
[ -n "${LC_CTYPE}" ] && export LC_CTYPE
[ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
[ -n "${LC_TIME}" ] && export LC_TIME
[ -n "${LC_COLLATE}" ] && export LC_COLLATE
[ -n "${LC_MONETARY}" ] && export LC_MONETARY
[ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
[ -n "${LC_ALL}" ] && export LC_ALL
fi
einfo "You can modify the paths and options passed to initdb by editing:"
einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
einfo
einfo "Information on options that can be passed to initdb are found at:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
einfo
einfo "PG_INITDB_OPTS is currently set to:"
if [[ -z "${PG_INITDB_OPTS}" ]] ; then
einfo " (none)"
else
einfo " ${PG_INITDB_OPTS}"
fi
einfo
einfo "Configuration files will be installed to:"
einfo " ${PGDATA}"
einfo
einfo "The database cluster will be created in:"
einfo " ${DATA_DIR}"
einfo
ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
sleep 5
eend 0
if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
eerror "The given directory, '${DATA_DIR}', is not empty."
eerror "Modify DATA_DIR to point to an empty directory."
die "${DATA_DIR} is not empty."
fi
einfo "Creating the data directory ..."
if [[ ${EUID} == 0 ]] ; then
mkdir -p "${DATA_DIR}"
chown -Rf postgres:postgres "${DATA_DIR}"
chmod 0700 "${DATA_DIR}"
fi
einfo "Initializing the database ..."
if [[ ${EUID} == 0 ]] ; then
su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
else
"${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
fi
if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
fi
# unix_socket_directory has no effect in postgresql.conf as it's
# overridden in the initscript
sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
# On the off-chance that you might need to work with UTF-8 encoded
# characters in PL/Perl
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
EOF
einfo "The autovacuum function, which was in contrib, has been moved to the main"
einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
if ! use systemd; then
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
fi
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
einfo "To start the server:"
einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
einfo "To stop:"
einfo " pg_ctl stop -D ${DATA_DIR}"
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
elif use systemd; then
einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
einfo "instead of 'pg_ctl'."
else
einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."
fi
}
src_test() {
if use server && [[ ${UID} -ne 0 ]] ; then
emake check
einfo "If you think other tests besides the regression tests are necessary, please"
einfo "submit a bug including a patch for this ebuild to enable them."
else
use server || \
ewarn 'Tests cannot be run without the "server" use flag enabled.'
[[ ${UID} -eq 0 ]] || \
ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
ewarn 'Skipping.'
fi
}

@ -22,7 +22,7 @@ HOMEPAGE="http://www.postgresql.org/"
LINGUAS="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr
zh_CN zh_TW"
IUSE="kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
+readline selinux +server ssl static-libs tcl threads uuid xml zlib"
+readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
for lingua in ${LINGUAS}; do
IUSE+=" linguas_${lingua}"
@ -53,6 +53,7 @@ ssl? (
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
libressl? ( dev-libs/libressl:= )
)
server? ( systemd? ( sys-apps/systemd ) )
tcl? ( >=dev-lang/tcl-8:0= )
uuid? ( dev-libs/ossp-uuid )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
@ -155,6 +156,7 @@ src_configure() {
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(usex server "$(use_with systemd)" '--without-systemd') \
$(use_with tcl) \
$(use_with uuid ossp-uuid) \
$(use_with xml libxml) \
@ -183,9 +185,11 @@ src_install() {
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service" | \
systemd_newunit - ${PN}-${SLOT}.service
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.6" | \
systemd_newunit - ${PN}-${SLOT}.service
fi
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
@ -389,9 +393,11 @@ pkg_config() {
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
if ! use systemd; then
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
fi
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
@ -402,6 +408,9 @@ pkg_config() {
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
elif use systemd; then
einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
einfo "instead of 'pg_ctl'."
else
einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -11,7 +11,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3 MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="test"
RDEPEND="

@ -4,7 +4,7 @@
EAPI=6
MULTILIB_COMPAT=( abi_x86_{32,64} )
KEYWORDS="-* amd64 ~x86"
KEYWORDS="-* amd64 x86"
inherit java-vm-2 multilib-build prefix toolchain-funcs

@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/gforth/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~x86-linux ~ppc-macos ~sparc-solaris"
KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
IUSE="emacs"
DEPEND="dev-libs/ffcall

@ -9,6 +9,7 @@ DIST perl-5.24.1-patches-3.tar.xz 24012 SHA256 b8f8164c1fb34c5db82d9f16c5330cdb2
DIST perl-5.24.1.tar.xz 11569284 SHA256 03a77bac4505c270f1890ece75afc7d4b555090b41aa41ea478747e23b2afb3f SHA512 9429608eb4d7f6a01b5a7df8601e0757acdf3e6d5af960d5cf710f8e4fd20ffe082bb42eedc2cd079d5173e48cf5574d55477e1c51f7f53b32fb5d1b89f6db8c WHIRLPOOL 26d401f03af54ba61ea8e761f483f3d374737660fa4beaa3bd77951c0f920f88f9e47f327754c32d4c3c49557882a2a531b9eebef420ad6155d62423f7753406
DIST perl-5.25.11-patches-1.tar.xz 16776 SHA256 43dda2f9a20b44442d25caa733ba94acb0c48b26e8201b3f8fa3d2be24a6667e SHA512 ee340824746d3b626b41c76bfa901543869fb9560ef75ff6d338df017e5528e33c344a91ce7cbe9f2fa9e813bf61bbe9eb290433baceb05b832110e746ce9036 WHIRLPOOL 98681898039e1bcc3e9a33498a8b7b8b3f24cc4c49396b33dfd04a853c329323ad47081d64da61ba2880fbd3505e10ffe90367dffa8005bda86c4f114b283934
DIST perl-5.26.0.tar.xz 11961692 SHA256 9bf2e3d0d72aad77865c3bdbc20d3b576d769c5c255c4ceb30fdb9335266bf55 SHA512 cd5af6495fe4c46c0d5d0f51d4015b54daa221f08a5fb48899c247cb57c2ba85cffb97e6d258d0f931504828bb23e175d899f311c73805d924d1042058ac42e4 WHIRLPOOL 9b87a1fd5371871c747351440e40f5d1345b8bf6ac5810b9ef239e58947fe0c243583fdac6888f0450bdca437b6031cc5281a4e045d5014642ef2dc671e24e47
DIST perl-5.27.0.tar.xz 11957024 SHA256 1965b69d19cec6bc2e6bd01daa727995f875643d816e999d9bfa5ae90fca82e3 SHA512 e69c17de989ce4bb97746358e3de88fce3ac55566646a845cb24b7ebae1a00b39fc32359fab94488dfe69eb565b8927fd583d9409b41b77b710622b0112235bd WHIRLPOOL 96fd0aa10273548fa4dd6821237325a36c4b1f5c9f3a1ea41c4c946d53156e92cdfe9c530cda41a0cf17f91adb73e9d7c7cb429535a552462db3a352d013afba
DIST perl-cross-1.1.1.tar.gz 88283 SHA256 8ee72f39119b342f3b911266e5c965914a44a484fd18d9c444d106aca4dd7abc SHA512 8ad958d08d8e7ff2b80333959544aaf0e83a74f2e34c9e8aca543052d039c0f4b00cda694ee940874b192b0d83656a9f6854ebbf2c444b212ba9d4417c576591 WHIRLPOOL e6739ca8fc4dcafa14a20585d75931cf6b6a98fad9c732312d15507b29b926452668afc4f27f2b6c5bb6faa623fc506538a53ed9d303d21897f42d47c26e4924
DIST perl-cross-1.1.3.tar.gz 93856 SHA256 181b24ff71815fb2c8065e6ea139d106796eee0964aebfd8081f0b7f69e0696d SHA512 d1ea6ab8a431f831ec9c4c6b71a238a66f021f5610505ebb48c3b0d0b8c9afb0fcb8050779abe1a126afdd92e65f8c86e134832b45a0a6c26ca4b46735e3021d WHIRLPOOL f7313b859031d13516193a88a70fff845987eea93eab3d0d3bac6f3b47c781324acddeed72d6cef8c7d8ee06c8ca5f59a10560b20a53575ffdfd2ce36272a723
DIST perl-cross-1.1.4.tar.gz 94623 SHA256 c840a327d5464ca271cac40d52e2d199330875527bf1003c28a6e550fb7bcc57 SHA512 3bfc108245f0c05b7d45c317eb28c2eb70aba528dfe8a39bc99d6e49b4751f5dca4f4ac661484bfc7528c3e28fcdbd8994c36daa49c25516618fec1f58116d79 WHIRLPOOL c4a150cf15d067cd58db63dae01bbe810808888477f9a2bfcd8557b2eeee097bbf93509bb9128feef84e8a2913724a82de0accc3b9c5d65207ee9dcd2989fe51

@ -0,0 +1,595 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
CROSS_VER=1.1.4
PATCH_BASE="perl-5.25.11-patches-${PATCH_VER}"
DIST_AUTHOR=XSAWYERX
# Greatest first, don't include yourself
# Devel point-releases are not ABI-intercompatible, but stable point releases are
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
PERL_BIN_OLDVERSEN=""
# Don't add more -RC values, its historical bungling
PERL_OLDVERSEN="5.26.0 5.26.0-RC1 5.25.12 5.25.11 5.24.2 5.24.1 5.24.0 5.22.3 5.22.2 5.22.1 5.22.0"
if [[ "${PV##*.}" == "9999" ]]; then
DIST_VERSION=5.27.0
else
DIST_VERSION="${PV/_rc/-RC}"
fi
SHORT_PV="${DIST_VERSION%.*}"
# Even numbered major versions are ABI intercompatible
# Odd numbered major versions are not
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
SUBSLOT="${DIST_VERSION%-RC*}"
else
SUBSLOT="${DIST_VERSION%.*}"
fi
# Used only in tar paths
MY_P="perl-${DIST_VERSION}"
# Used in library paths
MY_PV="${DIST_VERSION%-RC*}"
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
SRC_URI="
mirror://cpan/src/5.0/${MY_P}.tar.xz
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
mirror://gentoo/${PATCH_BASE}.tar.xz
https://dev.gentoo.org/~kentnl/distfiles/${PATCH_BASE}.tar.xz
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
"
HOMEPAGE="http://www.perl.org/"
LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0/${SUBSLOT}"
if [[ "${PV##*.}" != "9999" ]]; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
IUSE="berkdb debug doc gdbm ithreads"
RDEPEND="
berkdb? ( sys-libs/db:= )
gdbm? ( >=sys-libs/gdbm-1.8.3 )
app-arch/bzip2
sys-libs/zlib
"
DEPEND="${RDEPEND}
!prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
"
PDEPEND="
>=app-admin/perl-cleaner-2.5
>=virtual/perl-File-Temp-0.230.400-r2
>=virtual/perl-Data-Dumper-2.154.0
virtual/perl-Test-Harness
"
# bug 390719, bug 523624
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
S="${WORKDIR}/${MY_P}"
dual_scripts() {
src_remove_dual perl-core/Archive-Tar 2.240.0 ptar ptardiff ptargrep
src_remove_dual perl-core/CPAN 2.180.0 cpan
src_remove_dual perl-core/Digest-SHA 5.960.0 shasum
src_remove_dual perl-core/Encode 2.880.0 enc2xs piconv
src_remove_dual perl-core/ExtUtils-MakeMaker 7.240.0 instmodsh
src_remove_dual perl-core/ExtUtils-ParseXS 3.340.0 xsubpp
src_remove_dual perl-core/IO-Compress 2.74.0 zipdetails
src_remove_dual perl-core/JSON-PP 2.274.0.200_rc json_pp
src_remove_dual perl-core/Module-CoreList 5.201.705.310 corelist
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
src_remove_dual perl-core/Pod-Perldoc 3.280.0 perldoc
src_remove_dual perl-core/Test-Harness 3.380.0 prove
src_remove_dual perl-core/podlators 4.90.0 pod2man pod2text
src_remove_dual_man perl-core/podlators 4.90.0 /usr/share/man/man1/perlpodstyle.1
}
check_rebuild() {
# Fresh install
if [[ -z "${REPLACING_VERSIONS}" ]]; then
return 0;
# Major Upgrade
# doesn't matter if there's multiple copies, it still needs a rebuild
# if the string is anything other than "5.CURRENTMAJOR"
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
echo ""
ewarn "UPDATE THE PERL MODULES:"
ewarn "After updating dev-lang/perl the installed Perl modules"
ewarn "have to be re-installed. In most cases, this is done automatically"
ewarn "by the package manager, but subsequent steps are still recommended"
ewarn "to ensure system consistency."
ewarn
ewarn "You should start with a depclean to remove any unused perl dependencies"
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
ewarn "Recommended: emerge --depclean -va"
ewarn
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
ewarn "remaining rebuilds portage may have missed."
ewarn "Use: perl-cleaner --all"
return 0;
# Reinstall w/ USE Change
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
( use debug && ! has_version dev-lang/perl[debug] ) || \
( ! use debug && has_version dev-lang/perl[debug] ) ; then
echo ""
ewarn "TOGGLED USE-FLAGS WARNING:"
ewarn "You changed one of the use-flags ithreads or debug."
ewarn "You must rebuild all perl-modules installed."
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
fi
}
pkg_setup() {
case ${CHOST} in
*-freebsd*) osname="freebsd" ;;
*-dragonfly*) osname="dragonfly" ;;
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*-cygwin*) osname="cygwin" ;;
*) osname="linux" ;;
esac
myarch="${CHOST%%-*}-${osname}"
if use debug ; then
myarch+="-debug"
fi
if use ithreads ; then
mythreading="-multi"
myarch+="-thread"
fi
LIBPERL="libperl$(get_libname ${MY_PV} )"
PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}"
ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}"
SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}"
VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}"
dual_scripts
}
src_remove_dual_file() {
local i pkg ver
pkg="$1"
ver="$2"
shift 2
case "${EBUILD_PHASE:-none}" in
postinst|postrm)
for i in "$@" ; do
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
done
;;
setup)
for i in "$@" ; do
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
break
fi
done
;;
install)
for i in "$@" ; do
if ! [[ -f "${ED}"${i} ]] ; then
ewarn "${i} does not exist!"
continue
fi
mv "${ED}"${i}{,-${ver}-${P}} || die
done
;;
esac
}
src_remove_dual_man() {
local i pkg ver ff
pkg="$1"
ver="$2"
shift 2
case "${EBUILD_PHASE:-none}" in
postinst|postrm)
for i in "$@" ; do
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
ff=${ff##*${i#${i%.[0-9]}}}
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
done
;;
install)
for i in "$@" ; do
if ! [[ -f "${ED}"${i} ]] ; then
ewarn "${i} does not exist!"
continue
fi
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
done
;;
esac
}
src_remove_dual() {
local i pkg ver
pkg="$1"
ver="$2"
shift 2
for i in "$@" ; do
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
done
}
src_prepare_update_patchlevel_h() {
# Copied and modified from debian:
# Copyright 2011 Niko Tyni
# This program is free software; you can redistribute it and/or modify
# it under the same terms as Perl itself.
local patchdir="${WORKDIR}/patches"
local prefix
local patchoutput="patchlevel-gentoo.h"
[[ -f ${patchdir}/series ]] || return 0
while read patch
do
patchname=$(echo $patch | sed 's/\.diff$//')
< $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
# massage the patch headers
s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
s|^Bug-Gentoo: ||; tprepend;
s/^\(Subject\|Description\): //; tappend;
s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
# post-process at the end of input
$ { x;
# include the version number in the patchlevel.h description (if available)
s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
# escape any backslashes and double quotes
s|\\|\\\\|g; s|"|\\"|g;
# add a prefix
s|^|\t,"'"$prefix$patchname"' - |;
# newlines away
s/\n/ /g; s/ */ /g;
# add a suffix
s/ *$/"/; p
};
# stop all processing
d;
# label: append to the hold space
:append H; d;
# label: prepend to the hold space
:prepend x; H; d;
'
done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
echo "${patchoutput}" >> "${S}/MANIFEST"
}
src_prepare_perlcross() {
cp -a ../perl-cross-${CROSS_VER}/* . || die
sed -i \
-e 's/(15 + $CLEANUP)/(13 + $CLEANUP)/' \
cnf/diffs/perl5-${PV}/makemaker-test.patch || die
sed -i \
-e 's/MakeMaker\.pm .*/MakeMaker.pm bf9174c70a0e50ff2fee4552c7df89b37d292da1/' \
-e 's/MM_Unix\.pm .*/MM_Unix.pm b0ec308fe2d7dcfcef5732880db0fae1f4ea80fa/' \
cnf/diffs/perl5-${PV}/customized.patch || die
sed -i \
-e 's|^lib/unicore/CombiningClass.pl pod/perluniprops.pod:|lib/unicore/CombiningClass.pl pod/perluniprops.pod: $(CONFIGPM)|' \
Makefile || die
# bug 604072
MAKEOPTS+=" -j1"
export MAKEOPTS
}
src_prepare_dynamic() {
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
ln -s ${LIBPERL} libperl$(get_libname ) || die
}
src_prepare() {
local patch
EPATCH_OPTS+=" -p1"
einfo "Applying patches from ${PATCH_BASE} ..."
while read patch ; do
EPATCH_SINGLE_MSG=" ${patch} ..."
epatch "${WORKDIR}"/patches/${patch}
done < "${WORKDIR}"/patches/series
src_prepare_update_patchlevel_h
tc-is-cross-compiler && src_prepare_perlcross
tc-is-static-only || src_prepare_dynamic
if use gdbm; then
sed -i "s:INC => .*:INC => \"-I${EROOT}usr/include/gdbm\":g" \
ext/NDBM_File/Makefile.PL || die
fi
default
}
myconf() {
# the myconf array is declared in src_configure
myconf=( "${myconf[@]}" "$@" )
}
src_configure() {
declare -a myconf
export LC_ALL="C"
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
# some arches and -O do not mix :)
use ppc && replace-flags -O? -O1
# Perl has problems compiling with -Os in your flags with glibc
use elibc_uclibc || replace-flags "-Os" "-O2"
# This flag makes compiling crash in interesting ways
filter-flags "-malign-double"
# Fixes bug #97645
use ppc && filter-flags "-mpowerpc-gpopt"
# Fixes bug #143895 on gcc-4.1.1
filter-flags "-fsched2-use-superblocks"
use sparc && myconf -Ud_longdbl
export BUILD_BZIP2=0
export BZIP2_INCLUDE=${EROOT}/usr/include
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
export BUILD_ZLIB=False
export ZLIB_INCLUDE=${EROOT}/usr/include
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
myndbm='U'
mygdbm='U'
mydb='U'
if use gdbm ; then
mygdbm='D'
if use berkdb ; then
myndbm='D'
fi
fi
if use berkdb ; then
mydb='D'
has_version '=sys-libs/db-1*' && myndbm='D'
fi
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
myconf -Ui_db -Ui_ndbm
fi
use ithreads && myconf -Dusethreads
if use debug ; then
append-cflags "-g"
myconf -DDEBUGGING
elif [[ ${CFLAGS} == *-g* ]] ; then
myconf -DDEBUGGING=-g
else
myconf -DDEBUGGING=none
fi
if [[ -n ${PERL_OLDVERSEN} ]] ; then
local inclist=$(
for v in ${PERL_OLDVERSEN}; do
has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} ";
echo -n "${v} ";
done )
myconf -Dinc_version_list="${inclist}"
fi
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
# Make sure we can do the final link #523730, need to set deployment
# target to override hardcoded 10.3 which breaks on modern OSX
[[ ${CHOST} == *-darwin* ]] && \
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
# Prefix itself we don't do multilib either, so make sure perl can find
# something compatible.
if use prefix ; then
# Set a hook to check for each detected library whether it actually works.
export libscheck="
( echo 'main(){}' > '${T}'/conftest.c &&
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
) || xxx=/dev/null"
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
elif [[ $(get_libdir) != "lib" ]] ; then
# We need to use " and not ', as the written config.sh use ' ...
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
fi
# don't try building ODBM, bug #354453
disabled_extensions="ODBM_File"
if ! use gdbm ; then
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
fi
myconf -Dnoextensions="${disabled_extensions}"
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
# allow fiddling via EXTRA_ECONF, bug 558070
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
myconf \
-Duseshrplib \
-Darchname="${myarch}" \
-Dcc="$(tc-getCC)" \
-Doptimize="${CFLAGS}" \
-Dldflags="${LDFLAGS}" \
-Dprefix="${EPREFIX}"'/usr' \
-Dsiteprefix="${EPREFIX}"'/usr/local' \
-Dvendorprefix="${EPREFIX}"'/usr' \
-Dscriptdir="${EPREFIX}"'/usr/bin' \
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
-Darchlib="${EPREFIX}${ARCH_LIB}" \
-Dsitelib="${EPREFIX}${SITE_LIB}" \
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
-Dman1ext='1' \
-Dman3ext='3pm' \
-Dlibperl="${LIBPERL}" \
-Dlocincpth="${EPREFIX}"'/usr/include ' \
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
-Duselargefiles \
-Dd_semctl_semun \
-Dcf_by='Gentoo' \
-Dmyhostname='localhost' \
-Dperladmin='root@localhost' \
-Ud_csh \
-Dsh="${EPREFIX}"/bin/sh \
-Dtargetsh="${EPREFIX}"/bin/sh \
-Uusenm \
"${myconf[@]}" \
"${EXTRA_ECONF[@]}"
if tc-is-cross-compiler; then
./configure \
--target="${CHOST}" \
--build="${CBUILD}" \
-Dinstallprefix='' \
-Dinstallusrbinperl='undef' \
-Dusevendorprefix='define' \
"${myconf[@]}" \
|| die "Unable to configure"
else
sh Configure \
-des \
-Dinstallprefix="${EPREFIX}"'/usr' \
-Dinstallusrbinperl='n' \
"${myconf[@]}" \
|| die "Unable to configure"
fi
}
src_test() {
export NO_GENTOO_NETWORK_TESTS=1;
if [[ ${EUID} == 0 ]] ; then
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
return 0
fi
use elibc_uclibc && export MAKEOPTS+=" -j1"
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
}
src_install() {
local i
local coredir="${ARCH_LIB}/CORE"
emake DESTDIR="${D}" install
rm -f "${ED}/usr/bin/perl${MY_PV}"
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
if ! tc-is-static-only ; then
dolib.so "${ED}"${coredir}/${LIBPERL}
rm -f "${ED}"${coredir}/${LIBPERL}
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
fi
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
# This removes ${D} from Config.pm
for i in $(find "${D}" -iname "Config.pm" ) ; do
einfo "Removing ${D} from ${i}..."
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
done
dodoc Changes* README AUTHORS
if use doc ; then
# HTML Documentation
# We expect errors, warnings, and such with the following.
dodir /usr/share/doc/${PF}/html
LD_LIBRARY_PATH=. ./perl installhtml \
--podroot='.' \
--podpath='lib:ext:pod:vms' \
--recurse \
--htmldir="${ED}/usr/share/doc/${PF}/html"
fi
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
dual_scripts
}
pkg_preinst() {
check_rebuild
}
pkg_postinst() {
dual_scripts
if [[ "${ROOT}" = "/" ]] ; then
local INC DIR file
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
einfo "Removing old .ph files"
for DIR in ${INC} ; do
if [[ -d "${DIR}" ]] ; then
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
rm -f "${file}"
einfo "<< ${file}"
done
fi
done
# Silently remove the now empty dirs
for DIR in ${INC} ; do
if [[ -d "${DIR}" ]] ; then
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
fi
done
fi
}
pkg_postrm(){
dual_scripts
}

@ -16,7 +16,7 @@ SRC_URI="mirror://apache/apr/${P}.tar.bz2"
LICENSE="Apache-2.0"
SLOT="1"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="berkdb doc freetds gdbm ldap libressl nss odbc openssl postgres sqlite static-libs"
IUSE="berkdb doc freetds gdbm ldap libressl mysql nss odbc openssl postgres sqlite static-libs"
#RESTRICT="test"
RDEPEND="
@ -26,6 +26,7 @@ RDEPEND="
freetds? ( dev-db/freetds )
gdbm? ( sys-libs/gdbm )
ldap? ( =net-nds/openldap-2* )
mysql? ( =virtual/mysql-5* )
nss? ( dev-libs/nss )
odbc? ( dev-db/unixODBC )
openssl? (
@ -49,6 +50,12 @@ PATCHES=(
src_prepare() {
default
# Fix usage of libmysqlclient (bug #620230)
grep -lrF "libmysqlclient_r" "${S}" \
| xargs sed 's@libmysqlclient_r@libmysqlclient@g' -i \
|| die
mv configure.{in,ac} || die
eautoreconf
elibtoolize
@ -83,11 +90,11 @@ src_configure() {
--datadir="${EPREFIX}"/usr/share/apr-util-1
--with-apr="${SYSROOT}${EPREFIX}"/usr
--with-expat="${EPREFIX}"/usr
--without-mysql
--without-sqlite2
$(use_with freetds)
$(use_with gdbm)
$(use_with ldap)
$(use_with mysql)
$(use_with nss)
$(use_with odbc)
$(use_with openssl)
@ -114,7 +121,9 @@ src_install() {
default
find "${ED}" -name "*.la" -delete || die
find "${ED}usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete || die
if [[ -d "${ED}usr/$(get_libdir)/apr-util-${SLOT}" ]] ; then
find "${ED}usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete || die
fi
if ! use static-libs ; then
find "${ED}" -name "*.a" -not -name "*$(get_libname)" -delete || die
fi

@ -11,7 +11,7 @@ SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
IUSE="bzip2 lzma nls static-libs test +threads +utils"
RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]

@ -13,7 +13,7 @@ LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc examples static-libs"
DEPEND="

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -29,7 +29,7 @@ fi
LICENSE="|| ( MIT BSD )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE=""
RDEPEND="

@ -18,7 +18,7 @@ else
fi
RESTRICT="test" # Tests need to run as root.
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86"
IUSE=""
DEPEND="${PYTHON_DEPS}"

@ -10,7 +10,7 @@ SRC_URI="https://www.freedesktop.org/software/${PN}/${P}.tar.xz"
LICENSE="MIT"
SLOT="0/10"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
IUSE="input_devices_wacom test"
# Tests require write access to udev rules directory which is a no-no for live system.
# Other tests are just about logs, exported symbols and autotest of the test library.

@ -9,7 +9,7 @@ inherit xorg-2
DESCRIPTION="Pthread functions stubs for platforms missing them"
SRC_URI="https://xcb.freedesktop.org/dist/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND=""

@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3 LGPL-2.1"
SLOT="0/6" # subslot = libtasn1 soname version
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc static-libs valgrind"
DEPEND=">=dev-lang/perl-5.6

@ -18,7 +18,7 @@ if [[ $PV = 9999* ]]; then
SRC_URI=""
else
SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
fi
LICENSE="MIT"

@ -26,4 +26,6 @@ DIST sbcl-1.3.16-source.tar.bz2 5803184 SHA256 b7dd98017b70aec351ec4475c68438d52
DIST sbcl-1.3.16-x86-64-linux-binary.tar.bz2 10891148 SHA256 5ae49b7a6861781ef5f70eacfb4b423b79b5c7e7f8b1ddd6e40e7bcea96f026b SHA512 6abe9ba05697a98c17a747a3ba5c6ae13b9cb522142cbab9d7b5da78201e82693cb3b653b7070c00d75ea4e9d716e6b74439122ca83d8b333439ae814e0cdbd4 WHIRLPOOL dbaa399cf4633832bcda9a300bf994a05dfd34613db86a5975f12ba21181a4696e597fd0727648c29829d82df35b68b33baaeaf68562b21e496521bb66dbc699
DIST sbcl-1.3.17-source.tar.bz2 5833092 SHA256 94b9f576328de3a5d9ced452fdaa4d2f55437af8838fbbfb4f226c86591a0daf SHA512 c0309d12564783b9791daa7a7754ba21ba6a3429205cf83fd15d077ab5b8907de666b25071a823c5baa210877602219cb2d3ecf111f9710f0ed94bace2fb3001 WHIRLPOOL 07a2a712210d78571ded9e96f74a648676e6599f660a42ce887a66b89c4e01346585b0d36d7fe1f6d12c149cfd8a124c0ea1f91190164c99a36a4988dc5c7274
DIST sbcl-1.3.17-x86-64-linux-binary.tar.bz2 10932931 SHA256 d782a1b6f0666b26c9e7c2487bbb1c542c5c597627f1ead3d6692970df369987 SHA512 eb40084f24c3f98a54d67a9a2675e4be5fb5bafb6ec356653ad0b9b76d74b4c337ba2ad07171287e0ecc792714d0dcf8f703dce7c99a28f96aa1d360cbbbc35d WHIRLPOOL 88217d20fc95726089eeca8086e9d66bb067fbff777a0843be50abdf4f14affaca2d3d446569ecfe3d27f59cd81c12a50f33c2e23bc1a9168712b181c356d957
DIST sbcl-1.3.18-source.tar.bz2 5850931 SHA256 fb2d622cba55ac441b7eb1be3c7343cd5e80f0c194bc648341aa0bb08f61398e SHA512 a5d5370ea99086a969959ebddf18c2f3593abde56776dbbe735cd732eb65addc0c1b684346bd0637fdcbfc1e3d740de31b3eb2ae28b3a7a50f8c51b0ab38464a WHIRLPOOL dc02f6b05bb15b8c270779345d0a8eeb0b6aee88b36a9591f0bbcfb970b201e56546b44d8827b48edf0a51f7e76aa9dc2b9092c72c0295ddd4bb378e7075d4f3
DIST sbcl-1.3.18-x86-64-linux-binary.tar.bz2 10959273 SHA256 eb44d9efb4389f71c05af0327bab7cd18f8bb221fb13a6e458477a9194853958 SHA512 b93f74fb36de3cebf87d3e742dcc65072b26259ebf7386227ef6f07ad7f8df512d504dbf87298e1b5eb7fefe0b8760fcf777fdc1cf7ed1c3ddb99d4a71b92864 WHIRLPOOL e0ae9cad97a505a8d1fd80b0e6bd2ef30183256bc7f51ffff1fb50190f7a84834f16f3f12f5b27bceb31c5b8fd165a1d6e0eb61842cf16cfd61330bbf3a98c6c
DIST sbcl-1.3.9-armhf-linux-binary.tar.bz2 9161130 SHA256 da2d296a8ab107a7b2e10831836648d882b01193f60269853932af4f63a06571 SHA512 309e2ac7ef9ac95bf751432cf243af0de022c5b21054df2bf4e99da4ff087218af72b0ab3be69214eba3df1b6bbe707cc28840508e960c5d2ed2af0e86de3fdd WHIRLPOOL d2dde314d2b49e4246823032d953bbfe0858f7c69d0445da356426f9c5fac73036b32c1c048cf7f43615fa02707e8e434d8b085942e79d1e2b20f6fcb7e08919

@ -0,0 +1,234 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit multilib eutils flag-o-matic pax-utils
#same order as http://www.sbcl.org/platform-table.html
BV_X86=1.2.7
BV_AMD64=1.3.18
BV_PPC=1.2.7
BV_SPARC=1.0.28
BV_ALPHA=1.0.28
BV_ARM=1.3.12
BV_ARM64=1.3.16
BV_PPC_MACOS=1.0.47
BV_X86_MACOS=1.1.6
BV_X64_MACOS=1.2.11
BV_SPARC_SOLARIS=1.0.23
BV_X86_SOLARIS=1.2.7
BV_X64_SOLARIS=1.2.7
DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
HOMEPAGE="http://sbcl.sourceforge.net/"
SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )
x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )"
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
IUSE="debug doc source +threads +unicode pax_kernel zlib"
CDEPEND=">=dev-lisp/asdf-3.1:="
DEPEND="${CDEPEND}
doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
pax_kernel? ( sys-apps/elfix )"
RDEPEND="${CDEPEND}
!prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.6 ) )"
# Disable warnings about executable stacks, as this won't be fixed soon by upstream
QA_EXECSTACK="usr/bin/sbcl"
CONFIG="${S}/customize-target-features.lisp"
ENVD="${T}/50sbcl"
# Prevent ASDF from using the system libraries
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)"
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)"
usep() {
use ${1} && echo "true" || echo "false"
}
sbcl_feature() {
echo "$( [[ ${1} == "true" ]] && echo "(enable ${2})" || echo "(disable ${2})")" >> "${CONFIG}"
}
sbcl_apply_features() {
sed 's/^X//' > "${CONFIG}" <<-'EOF'
(lambda (list)
X (flet ((enable (x) (pushnew x list))
X (disable (x) (setf list (remove x list))))
EOF
if use x86 || use amd64; then
sbcl_feature "$(usep threads)" ":sb-thread"
fi
sbcl_feature "true" ":sb-ldb"
sbcl_feature "false" ":sb-test"
sbcl_feature "$(usep unicode)" ":sb-unicode"
sbcl_feature "$(usep zlib)" ":sb-core-compression"
sbcl_feature "$(usep debug)" ":sb-xref-for-internals"
sed 's/^X//' >> "${CONFIG}" <<-'EOF'
X )
X list)
EOF
cat "${CONFIG}"
}
src_unpack() {
unpack ${A}
mv sbcl-*-* sbcl-binary || die
cd "${S}"
}
src_prepare() {
# bug #468482
eapply "${FILESDIR}"/concurrency-test-1.3.15.patch
# bugs #486552, #527666, #517004
eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch
# bugs #560276, #561018
eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch
eapply_user
# bug #526194
sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \
-e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \
-i src/runtime/GNUmakefile || die
sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
-i make-config.sh || die
cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
# Some shells(such as dash) don't have "time" as builtin
# and we don't want to DEPEND on sys-process/time
sed "s,^time ,," -i make.sh || die
sed "s,/lib,/$(get_libdir),g" -i install.sh || die
# #define SBCL_HOME ...
sed "s,/usr/local/lib,${EPREFIX}/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
# change location of /etc/sbclrc ...
sed "s,/etc/sbclrc,${EPREFIX}/etc/sbclrc,g" -i src/code/toplevel.lisp || die
find . -type f -name .cvsignore -delete
}
src_configure() {
# customizing SBCL version as per
# http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup
echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr
# applying customizations
sbcl_apply_features
}
src_compile() {
local bindir="${WORKDIR}"/sbcl-binary
strip-unsupported-flags ; filter-flags -fomit-frame-pointer
if use pax_kernel ; then
# To disable PaX on hardened systems
pax-mark -mr "${bindir}"/src/runtime/sbcl
# Hack to disable PaX on second GENESIS stage
sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\ paxmark.sh -mr \.\/src\/runtime\/sbcl' \
"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
fi
# clear the environment to get rid of non-ASCII strings, see bug 174702
# set HOME for paludis
env - HOME="${T}" PATH="${PATH}" \
CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \
CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \
GNUMAKE=make ./make.sh \
"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
|| die "make failed"
# need to set HOME because libpango(used by graphviz) complains about it
if use doc; then
env - HOME="${T}" PATH="${PATH}" \
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
make -C doc/manual info html || die "Cannot build manual"
env - HOME="${T}" PATH="${PATH}" \
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
make -C doc/internals info html || die "Cannot build internal docs"
fi
}
src_test() {
ewarn "Unfortunately, it is known that some tests fail eg."
ewarn "run-program.impure.lisp. This is an issue of the upstream's"
ewarn "development and not of Gentoo's side. Please, before filing"
ewarn "any bug(s) search for older submissions. Thank you."
time ( cd tests && sh run-tests.sh )
}
src_install() {
# install system-wide initfile
dodir /etc/
sed 's/^X//' > "${ED}"/etc/sbclrc <<-EOF
;;; The following is required if you want source location functions to
;;; work in SLIME, for example.
X
(setf (logical-pathname-translations "SYS")
X '(("SYS:SRC;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/src/**/*.*")
X ("SYS:CONTRIB;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/**/*.*")))
X
;;; Setup ASDF2
(load "${EPREFIX}/etc/common-lisp/gentoo-init.lisp")
EOF
# Install documentation
unset SBCL_HOME
INSTALL_ROOT="${ED}/usr" LIB_DIR="${EPREFIX}/usr/$(get_libdir)" DOC_DIR="${ED}/usr/share/doc/${PF}" \
sh install.sh || die "install.sh failed"
# bug #517008
pax-mark -mr "${D}"/usr/bin/sbcl
# rm empty directories lest paludis complain about this
find "${ED}" -empty -type d -exec rmdir -v {} +
if use doc; then
dodoc -r doc/internals/sbcl-internals
doinfo doc/manual/*.info*
doinfo doc/internals/sbcl-internals.info
docinto internals-notes
dodoc doc/internals-notes/*
else
rm -Rv "${ED}/usr/share/doc/${PF}" || die
fi
# install the SBCL source
if use source; then
./clean.sh
cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die
fi
# necessary for running newly-saved images
echo "SBCL_HOME=${EPREFIX}/usr/$(get_libdir)/${PN}" > "${ENVD}"
echo "SBCL_SOURCE_ROOT=${EPREFIX}/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
doenvd "${ENVD}"
}

@ -1 +1,2 @@
DIST ocaml-conduit-0.15.3.tar.gz 38921 SHA256 6760c9fed6b1c5360d74b4cd6fafbd78e1736c08d3024ed9ecb79b29ad3456db SHA512 0666ed22a93351dc8381de3eaafcf019336f9d62e6b7ed7c0bcd7e202ecfb54ede8ed999023a0ed712da6406cee872965b22c77982ed65897b2e0abfadd0a07c WHIRLPOOL e754553c08fe31be337b8f1aaf504a5319af66aea9f897b411a6ca4d8efd4a5c1ac9488cbe7ca091f7c87ce4171e3725f701a9f8359d04dfd6c6cca350a1a611
DIST ocaml-conduit-0.15.4.tar.gz 38960 SHA256 5c18e1cd034b4f8e0f229426051a16100d30d07c83d7969e3331e0d7dec3b2d7 SHA512 12f61828c943cb60b2c9be080fb32c8fe5ba16d8bac46a8b788f2ea9b8b7a3a53563defbb05271d516365d18cddafe57051125391ac018328608c4f6537ec5b0 WHIRLPOOL 6d82618a68acdee4bb93b18c9a379ecad96ba8d88ebfe600465a7f57ea84b1dfd5cfd7e0f6dcde5f5c76c9395e3e528a9d457d54173a911079daab3ec1064253

@ -0,0 +1,46 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit findlib eutils
DESCRIPTION="Dereference URIs into communication channels for Async or Lwt"
HOMEPAGE="https://github.com/mirage/ocaml-conduit"
SRC_URI="https://github.com/mirage/ocaml-conduit/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="ISC"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE=""
DEPEND="
dev-lang/ocaml:=
dev-ml/sexplib:=
dev-ml/stringext:=
dev-ml/ocaml-uri:=
dev-ml/logs:=
dev-ml/ocaml-cstruct:=
dev-ml/ocaml-ipaddr:=
>=dev-ml/lwt-3:=
dev-ml/lwt_ssl:=
dev-ml/async:=
dev-ml/ocaml-dns:=
dev-ml/ocaml-ssl:=
"
RDEPEND="${DEPEND}"
DEPEND="${DEPEND}
dev-ml/findlib
dev-ml/ocamlbuild
dev-ml/ppx_driver
dev-ml/ppx_optcomp
dev-ml/ppx_sexp_conv
"
DOCS=( TODO.md README.md CHANGES )
src_install() {
findlib_src_preinst
default
}

@ -1,3 +1 @@
DIST utop-1.19.3.tar.gz 105213 SHA256 9dbca07b8c55700473cca1d9dd975abb9c6cd03e715dec4857f1249bee16e09b SHA512 97b3fec8b6f930efa742230058eba6fb846900d71e5758903dcefe03fa08e93b54e32642a5b8b6ad02aed7e81ccd6146e87a92805eb74aa4fae275a1188818cd WHIRLPOOL 470e5739639440b11905fbd4f755643aa3117f9fe76690723df7e2fba07e1bdcfcb7ad796a9dc2d00b3be3a6f0eba1afa335ce826a8c715ac40681ad38165599
DIST utop-2.0.0.tar.gz 57421 SHA256 0a69e5ec055db223cf878d7fdda3b389dc5d42649cc99b5877db507767ce52b6 SHA512 12def269f18be292645d6339f80ffe85823d8095940acb57a03f99ea3f2fe2559662921e3a38d6381ec7246245164b5e2c6b5fc843bdb4fd07ad2377c73da207 WHIRLPOOL 8baf739295132c785d55001bba2aabe24e0f4b3e78214be3a3ac19ffa8baa80ab513d31225500f2dc18018284267be6a235d012f32d7e6c68c829e98358f1410
DIST utop-2.0.1.tar.gz 57523 SHA256 5a93793a3a33724716bdb8e6829eaa85a792c5f5939eb86f5d8bbf1df85f42ec SHA512 66e7858a44ddd038f08073f9530c790f3ad44134899793c9f5e689d0e1786d2e2751bf38c6be33979292942b00dd6ff2db421025e12f49e05c4a694df36d23e3 WHIRLPOOL bfb06654e52f124739eeeb1568157d6377f8749eddaaf5c0761056da5754a486f9db0f89a21d60c1030be88400bd1cf5782c58337421c56412ea8b5b7631ed9f

@ -5,9 +5,6 @@
<email>ml@gentoo.org</email>
<name>Gentoo ML Project</name>
</maintainer>
<use>
<flag name="camlp4">Enables camlp4 support.</flag>
</use>
<upstream>
<remote-id type="github">diml/utop</remote-id>
</upstream>

@ -1,59 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
OASIS_BUILD_DOCS=1
inherit oasis elisp-common
DESCRIPTION="A new toplevel for OCaml with completion and colorization"
HOMEPAGE="https://github.com/diml/utop"
SRC_URI="https://github.com/diml/utop/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="camlp4 emacs"
DEPEND="
>=dev-ml/lwt-2.4.0:=
dev-ml/lwt_react:=
>=dev-ml/lambda-term-1.2:=
>=dev-ml/zed-1.2:=
>=dev-ml/cppo-1.0.1:=
emacs? ( virtual/emacs )
camlp4? ( dev-ml/camlp4:= )"
RDEPEND="${DEPEND}"
DOCS=( "CHANGES.md" "README.md" )
SITEFILE="50${PN}-gentoo.el"
src_prepare() {
sed -i "s/(\"utop.el.*)//" setup.ml
}
src_configure() {
oasis_configure_opts="$(use_enable camlp4)" \
oasis_src_configure
}
src_compile() {
oasis_src_compile
if use emacs; then
elisp-compile src/top/*.el
fi
}
src_install() {
oasis_src_install
if use emacs; then
elisp-install "${PN}" src/top/*.el src/top/*.elc || die
fi
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,41 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit findlib
DESCRIPTION="A new toplevel for OCaml with completion and colorization"
HOMEPAGE="https://github.com/diml/utop"
SRC_URI="https://github.com/diml/utop/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE=""
DEPEND="
dev-lang/ocaml:=
>=dev-ml/lwt-2.4.0:=
dev-ml/lwt_react:=
>=dev-ml/lambda-term-1.2:=
>=dev-ml/zed-1.2:=
>=dev-ml/cppo-1.0.1:=
dev-ml/findlib:=
"
RDEPEND="${DEPEND}"
DEPEND="${DEPEND}
dev-ml/opam
dev-ml/jbuilder"
DOCS=( "CHANGES.md" "README.md" )
SITEFILE="50${PN}-gentoo.el"
src_install() {
opam-installer -i \
--prefix="${ED}/usr" \
--libdir="${D}/$(ocamlc -where)" \
--docdir="${ED}/usr/share/doc/${PF}" \
--mandir="${ED}/usr/share/man" \
${PN}.install || die
}

@ -21,7 +21,7 @@ DEPEND="
>=dev-ml/lambda-term-1.2:=
>=dev-ml/zed-1.2:=
>=dev-ml/cppo-1.0.1:=
dev-ml/findlib:=
>=dev-ml/findlib-1.7.2:=
"
RDEPEND="${DEPEND}"
DEPEND="${DEPEND}

@ -11,7 +11,7 @@ DESCRIPTION="Extract data from an HTML table"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="test"
RDEPEND="

@ -1,3 +1,4 @@
DIST Module-Build-0.4216.tar.gz 305240 SHA256 661e030ee9f83027e8a5067788175d53050b5d1292be1bfd85d44ad141fb7671 SHA512 46b5d03e6bea1ee33a1202a38d68231daf49931b25b792b41fa39ab3b3c1321d8a47819a2714bf90a981e6686fc566aa5a6067edf61d78fe8166c7e4f83eeaa9 WHIRLPOOL 78d027fa13afa8832c916d9939c0639ed3f1e7b056522fceb10aebcdcfe04db6528c74b1a1cf1e0929d1ce5ccec0ec03c26b8ddb3563ae4df4d35612c2bd77c3
DIST Module-Build-0.4218.tar.gz 305533 SHA256 1ef0aa529a3f296f894a5e79240a77d71be60dd595e8cad3a0d04c7ea187c0d0 SHA512 d752226dbc89b1ae65d3dea4f4356cd355288ab73eebc34bd09efa3d4ad5f78d284a705525d8bbc8785babf6cdc934953333254a8cc7c67cbd943f88ffaab301 WHIRLPOOL a1c1d6ac5102ccaad3844ae4841540e96a422ba30a0c52b0cab918f087e779631d0d11af0ab0e3cdd492640db126829eb5ac0f4929eed8e28415f74c441c210d
DIST Module-Build-0.4222.tar.gz 304398 SHA256 e74b45d9a74736472b74830599cec0d1123f992760f9cd97104f94bee800b160 SHA512 348c8495df5e665a7dc61c37c9c612ec20f7dbeb6d6692e40c57e44cd5f2a4c0ba538ed24f8d88d8a83fe85b3039dd874d9f6681d31b985429b27123def374c6 WHIRLPOOL 5a7c9a42bbb147646d0b20779766125d5d7e2f63ea9c8b25ec2cc778c0a458148ebac84ff2afdc345fc1c32ddc3307c7709075ffb011aa6b9d8635905acb8696
DIST Module-Build-0.4224.tar.gz 304181 SHA256 a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782 SHA512 c08e84c542a882aa16a682a81cbb7a4860774a3f6a0ec2e720ba9e9bcea76dab331999fee86bf8b92edc08560d7cef4a7c2dfa4e626ab9b22da965e715af531f WHIRLPOOL f30f2c9d62a6c01ed6085973b91e738f1a3c4d0c372ce426e7f7290bd42e35a4112673b27b10642940f2a6fd5acb8907a7988a63edcac0c2bbf7a08c7131b0d1

@ -0,0 +1,40 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=LEONT
DIST_VERSION=0.4224
inherit perl-module
DESCRIPTION="Build and install Perl modules"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND="
>=virtual/perl-CPAN-Meta-2.142.60
virtual/perl-Data-Dumper
>=virtual/perl-ExtUtils-CBuilder-0.270.0
virtual/perl-ExtUtils-Install
virtual/perl-ExtUtils-Manifest
virtual/perl-ExtUtils-MakeMaker
>=virtual/perl-ExtUtils-ParseXS-2.210.0
>=virtual/perl-File-Spec-0.820.0
virtual/perl-Getopt-Long
>=virtual/perl-Module-Metadata-1.0.2
>=virtual/perl-Perl-OSType-1
>=virtual/perl-Test-Harness-3.290.0
virtual/perl-Text-ParseWords
>=virtual/perl-podlators-2.1.0
>=virtual/perl-version-0.870.0
"
DEPEND="${RDEPEND}
>=virtual/perl-CPAN-Meta-YAML-0.3.0
>=virtual/perl-File-Temp-0.150.0
>=virtual/perl-Parse-CPAN-Meta-1.440.100
test? (
>=virtual/perl-Test-Simple-0.490.0
)
"

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -25,5 +25,6 @@ LICENSE="MagickWand"
SLOT="0"
KEYWORDS="~amd64 ~x86"
DEPEND=">=media-gfx/imagemagick-6.5.2.9"
DEPEND=">=media-gfx/imagemagick-6.5.2.9
<media-gfx/imagemagick-7.0"
RDEPEND="${DEPEND}"

@ -0,0 +1 @@
DIST gitdb2-2.0.2.tar.gz 393188 SHA256 f2e36d7561e91f30a6a44858756dc020d8f1e81ca6e4185979d5c6c24c648070 SHA512 685af97dcb1f352255024b8a382255dacea00aa6312f71d2a16eab00d0204ebf6d46c90d804a4778ea0ef35eae7e5a2f5ae71c16851206fdaf27be8af59499d9 WHIRLPOOL d79705c7bca170f98f47ec7b437af6b9d2b0d1c5fffa57b863ade7a3d4b8e950860f9b1a08aceb5a8c5a2135266a671b7a35bd56f39777a40e8b1afaaadcfdc8

@ -0,0 +1,56 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit distutils-r1
DESCRIPTION="GitDB is a pure-Python git object database"
HOMEPAGE="
https://github.com/gitpython-developers/gitdb
https://pypi.python.org/pypi/gitdb2"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RDEPEND="
!dev-python/gitdb[${PYTHON_USEDEP}]
>=dev-python/smmap2-2.0.1[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
test? (
dev-python/nose[${PYTHON_USEDEP}]
dev-vcs/git
)"
src_test() {
local i
mkdir "${T}"/repo || die
cd "${T}"/repo || die
for (( i = 0; i < 2500; ++i )); do
echo "${i}" > file"${i}" || die
done
git init || die
git config user.email "you@example.com" || die
git config user.name "Your Name" || die
git add -A || die
git commit -q -m ".." || die
git clone --bare "${T}"/repo "${T}"/repo.git || die
cd "${S}" || die
distutils-r1_src_test
}
python_test() {
#TRAVIS=1 disables performance tests which rely on the gitdb repo
local -x TRAVIS=1
local -x GITDB_TEST_GIT_REPO_BASE="${T}"/repo.git
nosetests -v || die "Tests fail with ${EPYTHON}"
}

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="pypi">gitdb2</remote-id>
<remote-id type="github">gitpython-developers/gitdb</remote-id>
</upstream>
</pkgmetadata>

@ -1,2 +1,3 @@
DIST guessit-2.1.1.tar.gz 86447 SHA256 cdb51ced109e05318f35dc5ee1c50182a85edd800e86de77ec96eb68a0a99391 SHA512 61ace43bacf4bf2289bd1f0cd5105080b8302d92be8bda77942355594e07db14b594c73e4bf42bd14840f9f9723d602a38cd443cc3e1fabdca335d364fa97e2f WHIRLPOOL 885ee697f4929523527747d3ce5c0b548c6bcfe34c0e590bb1b8e5e4530ae4be6c0264a62dad83c5e2356a9063a9930ea3216f44b6df1b73000fd41c45b0e905
DIST guessit-2.1.2.tar.gz 100478 SHA256 9f7e12b7f2215548284631a20aae6fc009c8af2bb8cc5d5e5e339cb15361dd95 SHA512 394098cb61cdd1d140e47a969dd86422d6856d2cda42dc7072ab9e482a0001d62f6ffe91d74a7bad04f274197e36e731ce203fe92930558969a94889d47c8e14 WHIRLPOOL dd26470424be58231a5787da45ca9122596800fbb968366699bc799cc29d65562cded7d40f8c6abbb6e48466300521d07560c92f44868b8a4229a68b5795468f
DIST guessit-2.1.3.tar.gz 102452 SHA256 b2eebbb61e4d2b3764ce4462e0b27da0dccbb25b78e13493a2f913a402e1d0fb SHA512 e10d784709b0f66e344988021274077ae7e849c75b35701ded414f80de00d5314a149a99679b4e41e52c1bc91f6b8f481e82418126be0fba43541a05ecdfe95c WHIRLPOOL 573c1efef786758555e602b1cb17891570c53d491f170371037630ba5251954f2903c273d2d508f146a3e6c526320456bcafc86393f91ed15e095e01360dc82c

@ -0,0 +1,48 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit distutils-r1
DESCRIPTION="Python library for guessing information from video filenames"
HOMEPAGE="https://github.com/guessit-io/guessit https://pypi.python.org/pypi/guessit"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RDEPEND="
>=dev-python/babelfish-0.5.5[${PYTHON_USEDEP}]
>=dev-python/rebulk-0.8.2[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}
test? (
>=dev-python/pytest-2.7.3[${PYTHON_USEDEP}]
dev-python/pytest-capturelog[${PYTHON_USEDEP}]
dev-python/pytest-runner[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
)
"
python_prepare_all() {
# Disable benchmarks as they require unavailable pytest-benchmark.
rm guessit/test/test_benchmark.py || die
sed -i -e "s|'pytest-benchmark',||g" setup.py || die
# Disable unconditional dependency on dev-python/pytest-runner.
sed -i -e "s|'pytest-runner'||g" setup.py || die
distutils-r1_python_prepare_all
}
python_test() {
esetup.py test
}

@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE=""
RDEPEND="

@ -1,9 +1,9 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
inherit distutils-r1
@ -14,13 +14,19 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
IUSE="test"
RDEPEND="dev-python/lxml[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}"
DEPEND="${RDEPEND}
test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
DOCS=( CHANGES README.rst )
RESTRICT="test"
#RESTRICT="test"
python_prepare_all() {
rm setup.cfg || die
distutils-r1_python_prepare_all
}
python_test() {
export TINYCSS_SKIP_SPEEDUPS_TESTS=1

@ -18,7 +18,7 @@ HOMEPAGE="http://haml-lang.com/"
LICENSE="MIT"
SLOT="4"
KEYWORDS="~amd64 arm ppc ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~amd64 arm ppc ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"

@ -1,50 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
USE_RUBY="ruby20 ruby21 ruby22"
RUBY_FAKEGEM_TASK_TEST="test"
RUBY_FAKEGEM_TASK_DOC="-Ilib doc"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md FAQ.md README.md REFERENCE.md"
RUBY_FAKEGEM_DOCDIR="doc"
inherit ruby-fakegem
DESCRIPTION="A ruby web page templating engine"
HOMEPAGE="http://haml-lang.com/"
LICENSE="MIT"
SLOT="4"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"
RDEPEND="${RDEPEND} !!<dev-ruby/haml-3.1.8-r2"
ruby_add_rdepend "dev-ruby/tilt:*"
ruby_add_bdepend "
test? (
dev-ruby/minitest:5
dev-ruby/nokogiri
dev-ruby/rails:4.2
)
doc? (
dev-ruby/yard
>=dev-ruby/maruku-0.7.2-r1
)"
all_ruby_prepare() {
sed -i -e '/bundler/ s:^:#:' \
-e 's/gem "minitest"/gem "minitest", "~>5.0"/'\
-e '1igem "actionpack", "~>4.2"'\
-e '1igem "activesupport", "~>4.2"'\
-e '1igem "railties", "~>4.2"'\
test/test_helper.rb || die
# Remove test that fails when RedCloth is available
sed -i -e "/should raise error when a Tilt filters dependencies are unavailable for extension/,+9 s/^/#/"\
test/filters_test.rb || die
}

@ -15,7 +15,7 @@ HOMEPAGE="https://github.com/gemhome/rmagick"
LICENSE="Artistic"
SLOT="0"
KEYWORDS="amd64 ~hppa ~ppc ~ppc64 ~x86 ~x86-macos"
KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86 ~x86-macos"
IUSE="doc"
RDEPEND+=" >=media-gfx/imagemagick-6.4.9:= =media-gfx/imagemagick-6*"

@ -1,4 +1,4 @@
DIST cmake-3.7.2-x32.patch.xz 7204 SHA256 d04cc6dc7ffbb8e16426e85f50e3f3c3037fb42a0e746d0604a412a00d31444e SHA512 36140132ecbe05d07b167e2895c2909ed545371af0962cb8246beb61a400fad14f56394c90cc2319e4581d5e97116069bebe466b87451a9a83f04095ce9b0510 WHIRLPOOL 07f49188fc6d7f6eb005f8e82526c33401b7ee8ff7839c4620280774650f9be9af9aafefb6a1f9ff2648316123aa1232b53924ef9dda3ce2268f01560d53606a
DIST cmake-3.7.2.tar.gz 7361593 SHA256 dc1246c4e6d168ea4d6e042cfba577c1acd65feea27e56f5ff37df920c30cae0 SHA512 b2ed0192e12267de19eb178c2dedc69d06fc33dfadd47efbe0ccf6969ad72d290fa4bff02861c379a8752337d67d2485d7e1ba947cb219f2e4041a53a195e88d WHIRLPOOL 1861fe2887f4483856e1964ff1492e196624d3072ad1e21910fba29d0c0d654e7d5035571648386a77cd6cbe895f8cdfbb1f4cc1ad60d14015a01a22494456f7
DIST cmake-3.8.0.tar.gz 7503379 SHA256 cab99162e648257343a20f61bcd0b287f5e88e36fcb2f1d77959da60b7f35969 SHA512 a261088073ab41c41b461d155bead82b580225c8a4d32884715fba5eeb892acb2f73ae0484e823d7c33c9e29f331ec34ca223987f05e3ceb9a2f9b7defef17bf WHIRLPOOL d3a38fd5079effd6d9da3e21939a39019ee332768925f311bd799047c57f83918ee204a51abbe2f422c4200577b8c15e483fa8059be7863eb13196cc443d7e39
DIST cmake-3.8.1.tar.gz 7503955 SHA256 ce5d9161396e06501b00e52933783150a87c33080d4bdcef461b5b7fd24ac228 SHA512 2164f502900a803928f2df3168fb5094de05392fd62d30c55d08de89bdd4ba7323255e724cbca260202edf1691bd5c6be63c585f75ff9d36bd0d35b816c2fde0 WHIRLPOOL 6ef8f4bcd5186e6efb3aa95a6f09ab686ee21adbe049d74c75e6c2a60ecf2d61328a06b14e4a15eb421bd495dfee128c30a50c299c8681640e1deff546e9309c
DIST cmake-3.8.2.tar.gz 7504706 SHA256 da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d SHA512 49ea6f74a81dfa8ed8336c94ed50e0a483b796132c260f4bef159f9c389d99cc7b26ecfcccdd8b0a8f5b52fddd277c17c547d2a2e8848da9912c464ada1cbe3f WHIRLPOOL 8768bffb365852414eda0349d71e59517c8047689303d7873a5889cb8b28c72cd636982a18b039f26daae33023f7e0ad91c3a9ab2d30c30e4b3a9b3cc525b78e

@ -11,7 +11,7 @@ if [[ ${PV} == "9999" ]] ; then
inherit git-2 autotools
else
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~arm-linux ~x86-linux"
fi
DESCRIPTION="A useful diagnostic, instructional, and debugging tool"

@ -4,4 +4,7 @@
<maintainer type="person">
<email>swegener@gentoo.org</email>
</maintainer>
<use>
<flag name="libvirt">Support probing of libvirt domains.</flag>
</use>
</pkgmetadata>

@ -0,0 +1,75 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit linux-info autotools eutils python-single-r1
DESCRIPTION="A linux trace/probe tool"
HOMEPAGE="http://www.sourceware.org/systemtap/"
SRC_URI="http://www.sourceware.org/${PN}/ftp/releases/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
IUSE="libvirt sqlite"
RDEPEND=">=dev-libs/elfutils-0.142
sys-libs/libcap
${PYTHON_DEPS}
libvirt? ( >=app-emulation/libvirt-1.0.2 )
sqlite? ( dev-db/sqlite:3 )"
DEPEND="${RDEPEND}
>=sys-devel/gettext-0.18.2"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
CONFIG_CHECK="~KPROBES ~RELAY ~DEBUG_FS"
ERROR_KPROBES="${PN} requires support for KProbes Instrumentation (KPROBES) - this can be enabled in 'Instrumentation Support -> Kprobes'."
ERROR_RELAY="${PN} works with support for user space relay support (RELAY) - this can be enabled in 'General setup -> Kernel->user space relay support (formerly relayfs)'."
ERROR_DEBUG_FS="${PN} works best with support for Debug Filesystem (DEBUG_FS) - this can be enabled in 'Kernel hacking -> Debug Filesystem'."
DOCS="AUTHORS HACKING NEWS README"
pkg_setup() {
linux-info_pkg_setup
python-single-r1_pkg_setup
}
src_prepare() {
python_fix_shebang .
sed -i \
-e 's:-Werror::g' \
configure.ac \
Makefile.am \
staprun/Makefile.am \
stapdyn/Makefile.am \
buildrun.cxx \
testsuite/systemtap.unprivileged/unprivileged_probes.exp \
testsuite/systemtap.unprivileged/unprivileged_myproc.exp \
testsuite/systemtap.base/stmt_rel_user.exp \
testsuite/systemtap.base/sdt_va_args.exp \
testsuite/systemtap.base/sdt_misc.exp \
testsuite/systemtap.base/sdt.exp \
scripts/kprobes_test/gen_code.py \
|| die "Failed to clean up sources"
default
eautoreconf
}
src_configure() {
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
--without-rpm \
--disable-server \
--disable-docs \
--disable-refdocs \
--disable-grapher \
$(use_enable libvirt virt) \
$(use_enable sqlite)
}

@ -1 +1,2 @@
DIST vint-0.3.11.tar.gz 90545 SHA256 33fc2178b9244d3058669984735a3e20f82fd0e927b31387fc910336614d671f SHA512 4e85192c9489fc1f4345d5d1e8e351182d73583d051705bc6655a054511764721ac334135dbeb6d4ba98af1e1c698e852fff720d01e323b279d4157997769c9a WHIRLPOOL cd6f2d69aa8401bd44a6dbe025fa084d1f12620da931fb91b4fbf22d0d02392cf9b0398f44210a623e135ac6571756b6ec8d1e573be1abfbc5996077431a93a7
DIST vint-0.3.13.tar.gz 91599 SHA256 7cb00bf3d83a093857db9a9bcc7d316a9fa52704cbeff991130eb34ed2d27df5 SHA512 ef0b811df0250899e23e30ee4b240cf8b54e510231353ca86202661fd5f0826b9faeacc9268849e51bd6a1c71c1514498dec04a7a4ed79f00a5098811525e3d4 WHIRLPOOL 0c0a12c8a17ac2a4ab664b8aee03597a5e77b8a6b03458d4767c841d3adc03955bcbb0f876de09b2c4e194a94c9ab1d162a1902b6e49b146c4d8493ffe750e2d

@ -0,0 +1,46 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit distutils-r1
DESCRIPTION="Lint tool for Vim script language"
HOMEPAGE="https://github.com/Kuniwak/vint https://pypi.python.org/pypi/vim-vint/"
SRC_URI="https://github.com/Kuniwak/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RDEPEND="
>=dev-python/ansicolor-0.2.4[${PYTHON_USEDEP}]
>=dev-python/chardet-2.3.0[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.11[${PYTHON_USEDEP}]
virtual/python-enum34[${PYTHON_USEDEP}]
virtual/python-pathlib[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
>=dev-python/coverage-3.7.1[${PYTHON_USEDEP}]
>=dev-python/pytest-2.6.4[${PYTHON_USEDEP}]
>=dev-python/pytest-cov-1.8.1[${PYTHON_USEDEP}]
$(python_gen_cond_dep '>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]' python2_7)
)
"
python_prepare_all() {
distutils-r1_python_prepare_all
# Don't try to use an installed vint executable.
# See https://github.com/Kuniwak/vint/issues/22
sed -i -e "s|'vint'|'bin/vint'|" test/acceptance/test_cli{,_vital}.py || die
}
python_test() {
py.test -v || die "Test suite failed with ${EPYTHON}"
}

@ -39,8 +39,7 @@ esac
if [[ -z ${_MESON_ECLASS} ]]; then
# FIXME: We will need to inherit toolchain-funcs as well to support crossdev.
inherit ninja-utils
inherit ninja-utils toolchain-funcs
fi
@ -71,17 +70,52 @@ DEPEND=">=dev-util/meson-0.39.1
# Optional meson arguments as Bash array; this should be defined before
# calling meson_src_configure.
# Create a cross file for meson
# fixme: This function should write a cross file as described at the
# following url.
# http://mesonbuild.com/Cross-compilation.html
# _meson_create_cross_file() {
# touch "${T}"/meson.crossfile
# }
# @FUNCTION: _meson_create_cross_file
# @INTERNAL
# @DESCRIPTION:
# Creates a cross file. meson uses this to define settings for
# cross-compilers. This function is called from meson_src_configure.
_meson_create_cross_file() {
# Reference: http://mesonbuild.com/Cross-compilation.html
# system roughly corresponds to uname -s (lowercase)
local system=unknown
case ${CHOST} in
*-aix*) system=aix ;;
*-cygwin*) system=cygwin ;;
*-darwin*) system=darwin ;;
*-freebsd*) system=freebsd ;;
*-linux*) system=linux ;;
*-solaris*) system=sunos ;;
esac
local cpu_family=$(tc-arch)
case ${cpu_family} in
amd64) cpu_family=x86_64 ;;
arm64) cpu_family=aarch64 ;;
esac
# This may require adjustment based on CFLAGS
local cpu=${CHOST%%-*}
cat > "${T}/meson.${CHOST}" <<-EOF
[binaries]
ar = '${AR}'
c = '${CC}'
cpp = '${CXX}'
strip = '${STRIP}'
[host_machine]
system = '${system}'
cpu_family = '${cpu_family}'
cpu = '${cpu}'
endian = '$(tc-endian)'
EOF
}
# @FUNCTION: meson_src_configure
# @DESCRIPTION:
# This is the meson_src_configure function
# This is the meson_src_configure function.
meson_src_configure() {
debug-print-function ${FUNCNAME} "$@"
@ -94,13 +128,23 @@ meson_src_configure() {
--sysconfdir "${EPREFIX}/etc"
)
# fixme: uncomment this for crossdev support
# if tc-is-cross-compiler; then
# _meson_create_cross_file || die "unable to write meson cross file"
# mesonargs+=(
# --cross-file "${T}"/meson.crossfile
# )
# fi
# Both meson(1) and _meson_create_cross_file need these
local -x AR=$(tc-getAR)
local -x CC=$(tc-getCC)
local -x CXX=$(tc-getCXX)
local -x STRIP=$(tc-getSTRIP)
if tc-is-cross-compiler; then
_meson_create_cross_file || die "unable to write meson cross file"
mesonargs+=(
--cross-file "${T}/meson.${CHOST}"
)
# In cross mode, meson uses these as the native/build programs
AR=$(tc-getBUILD_AR)
CC=$(tc-getBUILD_CC)
CXX=$(tc-getBUILD_CXX)
STRIP=$(tc-getBUILD_STRIP)
fi
# Append additional arguments from ebuild
mesonargs+=("${emesonargs[@]}")

@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/gemrb/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"

@ -1 +1 @@
DIST runescape-launcher_2.2.3_amd64.deb 2065806 SHA256 facf1c55b81b37b7c4a2f41bb5286066e86f68b37d17109aa2d3c0fcec597d99 SHA512 6ddda8fa195486361099f056ce1301d85c8ebcfa75dff6a3f93349d9f6883f3788b7732aef42e94a55f2a1f915da30d164398c99317f982e591a2a1f95a7702f WHIRLPOOL 64ac1755ae697116aede2cda48feaeb7fab7c8177a64f96d6aa87f20cab8d100e742a7e5dd1e97c3b9be6aec5ee1b2a4675a2224d1bab33e6085c7519c2f904c
DIST runescape-launcher_2.2.4_amd64.deb 3015162 SHA256 3aa5cb2189c8ee0f2c95da1229b3fc30cacb1209ff794afc77ddb218684386df SHA512 981dbee9ce795f6a1d5bc0fb235b7f0325378e8d1d5a91b2fbe80d08954fb9818d8f5ddd8545dfb2d1246b21bedfac041d73e84cda1c38e4a3cfa076e128f408 WHIRLPOOL b7a10f33557030bbdeae159c5302d3302dde829f29d6a362a3b2306e158cba9ff7617546ed3999ae8d226546810b299eff2ccc2dc938959ab8cd4e7d4fe25515

@ -1,2 +1,3 @@
DIST sogo-3.2.6a.tar.gz 32285592 SHA256 07ba2527dab193c5424bc0dd4a9fb53e266c68936011a7245bf5e81e97366a62 SHA512 9b24ab0111408f18e655a5b5ebfe251fc7b9c21914af1c2f2d23c27a7d2d635a8ec0c0119752c7757d2ed878db018c483a8516911e89f5892c1d8fa878418471 WHIRLPOOL d02f25a4360ceea3ccab8f40b3ec726a4ef7792afb412cf415874727abdce1c828e231058be80b3ec5c970c929a33dc3145b82fac8ec13ffdf8b7a9c7d5bc58a
DIST sogo-3.2.8.tar.gz 32338801 SHA256 cc974f3e486c1b3897ed27c17cedb46b06580bab18a9a6a022fdebd38316ba3d SHA512 34a964e707879c0b6438fca7e7205f454a6bff080ccfc2bdd0b5bd1ffd2c4fcb6fd381e4f168bb2e716d5083f3bfd9d7887fa31b1cfb216a5810b1ffe7d72ca2 WHIRLPOOL 6c3645f3d25358508538baef2c3aebd7d4744f988745bc9117565ba0d373c010c0894083935ba7469c4199d37bf66623c21566fc0856a100f1397bdc2792d934
DIST sogo-3.2.9.tar.gz 32443733 SHA256 c28591e738c5c57428c63504a52ef527898e7a4c6af444ccfe988ccfb5c4f8b1 SHA512 070b3812d65598364d9204432678ea48705bf7481371e44442a13ad86d219415e24c579ad59212a7631922a527d30e69aeb17711c3abfc01960f663f4e0112a3 WHIRLPOOL bb8dd3053c96acb507a3d620a191ebe6225d157995af4428b66755bf38061226cd4d9537413117477d40c095531ca46040d28c78b97f2aeea520bb4ae318683c

@ -0,0 +1,100 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit gnustep-2 user vcs-snapshot
DESCRIPTION="Groupware server built around OpenGroupware.org and the SOPE application server"
HOMEPAGE="http://www.sogo.nu"
SRC_URI="https://github.com/inverse-inc/sogo/archive/SOGo-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="gnutls libressl +ssl"
RDEPEND="
dev-libs/libmemcached
net-misc/curl
net-misc/memcached
>=gnustep-libs/sope-${PV}[ldap]
gnutls? ( net-libs/gnutls:= )
!gnutls? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
)
"
DEPEND="${RDEPEND}
>=gnustep-base/gnustep-make-2.6.3"
pkg_pretend() {
if use ssl && use gnutls && use libressl ; then
ewarn "You have enabled both gnutls and libressl, but only"
ewarn "one provider can be active. Using gnutls!"
fi
}
pkg_setup() {
enewuser sogo -1 /bin/bash /var/lib/sogo
}
src_prepare() {
gnustep-base_src_prepare
sed -e "s/validateArgs$//" -i configure \
|| die "GNUstep.conf sed failed"
default
}
src_configure() {
local ssl_provider
if use ssl ; then
if use gnutls ; then
ssl_provider=gnutls
else
ssl_provider=ssl
fi
else
ssl_provider=none
fi
egnustep_env
./configure \
--disable-strip \
--prefix=/usr \
--with-ssl="${ssl_provider}" \
$(use_enable debug) \
|| die "configure failed"
}
src_install() {
gnustep-base_src_install
newconfd "${FILESDIR}"/sogod.confd sogod
newinitd "${FILESDIR}"/sogod.initd sogod
insinto /etc/logrotate.d
newins Scripts/logrotate sogo
newdoc Apache/SOGo.conf SOGo-Apache.conf
insinto /etc/sogo
doins Scripts/sogo.conf
insinto /etc/cron.d
newins Scripts/sogo.cron sogo
keepdir /var/log/sogo
fowners sogo:sogo /var/log/sogo
fowners -R root:sogo /etc/sogo
}
pkg_postinst() {
gnustep-base_pkg_postinst
elog "SOGo documentation is available online at:"
elog "http://www.sogo.nu/downloads/documentation.html"
elog
elog "Apache sample configuration file is available in:"
elog "/usr/share/doc/${PF}"
}

@ -1,2 +1,3 @@
DIST sope-3.2.6a.tar.gz 2196322 SHA256 b01e2fdadfa8db81af462fd4622251de0547359af706bbe7b7cf958b0eed350a SHA512 b1f56f7fb61ee9b95cb5cfcc362cfe72312f9e90fe669904b2f341f42fb2f4299a2449437b6c23c1db316005dfa05ef8d163cadbc271f9821e64d7269afb73ef WHIRLPOOL c13825861ee8a49e03dfaef0cb3b6bc93015d287253753cf288348128831827ca99f59854f40b740180f7634a2a2c6af2cb8008a62afcb66954027bd71053139
DIST sope-3.2.8.tar.gz 2196618 SHA256 f70cea6b07c73e2e448c8e382a12c50bfa8d2dc79908e2b3b3c08faab7756bba SHA512 cecb4bf3ae78afbb210a3295ff4bcbf7d3a547fec6378fcda976ff2bd1c5d805d57a6c30ec5eaf61bceb580982af4f0402ac0895ad3b7f4695cdb1ceb0160f50 WHIRLPOOL 522426e7f1c9cd5d920fe42588d10b405343f827cd4a948570824e77b03313618f38f507a2a3a938ea203c7a93fa2d84bd67a7eb827bdfa9a7f0f6658bf7a9e5
DIST sope-3.2.9.tar.gz 2196831 SHA256 bcbbfab4e4f8dcc536992d54f6e0b6734d2009233428622009e5dac78c622f2e SHA512 ffa3d63eed5862aba9740ab84408297218ad6cd75b0dc7e40f2810366281bf139c55e27c11405b51dc1cf640d5f5434ee14c2d5f1d0384ad50684c23d8bc58b7 WHIRLPOOL 241e056333e9355cf4453ed4505233238fef09c85f1f41d151866eed8ed09ab3f70f1b907e5bbe9941ea5b11500cf13a3d7b816c00f6367de3613d6332617c84

@ -0,0 +1,62 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils gnustep-2 vcs-snapshot
DESCRIPTION="A set of frameworks forming a complete Web application server environment"
HOMEPAGE="http://www.sogo.nu/"
SRC_URI="https://github.com/inverse-inc/sope/archive/SOPE-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="gnutls ldap libressl mysql postgres +ssl +xml"
RDEPEND="
sys-libs/zlib
ldap? ( net-nds/openldap )
gnutls? ( net-libs/gnutls:= )
!gnutls? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
)
mysql? ( virtual/libmysqlclient:= )
postgres? ( dev-db/postgresql:= )
xml? ( dev-libs/libxml2:2 )
"
DEPEND="${RDEPEND}"
pkg_pretend() {
if use ssl && use gnutls && use libressl ; then
ewarn "You have enabled both gnutls and libressl, but only"
ewarn "one provider can be active. Using gnutls!"
fi
}
src_configure() {
local ssl_provider
if use ssl ; then
if use gnutls ; then
ssl_provider=gnutls
else
ssl_provider=ssl
fi
else
ssl_provider=none
fi
egnustep_env
# Non-standard configure script
./configure \
--disable-strip \
$(use_enable debug) \
$(use_enable ldap openldap) \
$(use_enable mysql) \
$(use_enable postgres postgresql) \
$(use_enable xml) \
--with-ssl="${ssl_provider}" \
--with-gnustep || die "configure failed"
}

@ -0,0 +1,73 @@
From 695f24fb522a5ae6fe2530cbd72d3966b234b025 Mon Sep 17 00:00:00 2001
From: David Edmundson <kde@davidedmundson.co.uk>
Date: Wed, 31 May 2017 10:08:25 +0100
Subject: [PATCH] Don't leak MimeData object
Summary:
A DeclarativeDropArea creates a new DeclarativeDragDropEvent on every
enter/move/leave event.
The getter method for the mimeData property creates a new MimeData
QObject wrapper, which then leaks.
Use of the mimeData object outside of the event shouldn't be expected to
work, and a quick grep couldn't find any usage.
BUG: 380270
Test Plan: Dragged some things
Reviewers: #plasma, mart, hein
Reviewed By: #plasma, mart, hein
Subscribers: hein, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D6017
---
src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp | 4 ++--
src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h | 5 ++---
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp b/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp
index 5c1b0e3..a75f85f 100644
--- a/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp
+++ b/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.cpp
@@ -65,7 +65,7 @@ DeclarativeMimeData* DeclarativeDragDropEvent::mimeData()
if (!m_data && m_event) {
// TODO This should be using MimeDataWrapper eventually, although this is an API break,
// so will need to be done carefully.
- m_data = new DeclarativeMimeData(m_event->mimeData());
+ m_data.reset(new DeclarativeMimeData(m_event->mimeData()));
}
- return m_data;
+ return m_data.data();
}
diff --git a/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h b/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h
index 3fd846d..b35568a 100644
--- a/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h
+++ b/src/qmlcontrols/draganddrop/DeclarativeDragDropEvent.h
@@ -26,8 +26,7 @@
#include <QObject>
#include "DeclarativeDropArea.h"
-
-class DeclarativeMimeData;
+#include "DeclarativeMimeData.h"
class DeclarativeDragDropEvent : public QObject
{
@@ -115,7 +114,7 @@ private:
int m_y;
Qt::MouseButtons m_buttons;
Qt::KeyboardModifiers m_modifiers;
- DeclarativeMimeData* m_data;
+ QScopedPointer<DeclarativeMimeData> m_data;
QDropEvent* m_event;
};
--
2.13.0

@ -0,0 +1,34 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
KDE_TEST="false"
inherit kde5
DESCRIPTION="Framework providing integration of QML and KDE work spaces"
LICENSE="LGPL-2+"
KEYWORDS="~amd64 ~arm ~x86"
IUSE=""
# drop qtdeclarative subslot operator when QT_MINIMAL >= 5.8.0
DEPEND="
$(add_frameworks_dep kconfig)
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep kglobalaccel)
$(add_frameworks_dep ki18n)
$(add_frameworks_dep kiconthemes)
$(add_frameworks_dep kio)
$(add_frameworks_dep kpackage)
$(add_frameworks_dep kservice)
$(add_frameworks_dep kwidgetsaddons)
$(add_frameworks_dep kwindowsystem)
$(add_qt_dep qtdeclarative '' '' '5=')
$(add_qt_dep qtgui)
$(add_qt_dep qtnetwork)
$(add_qt_dep qtwidgets)
media-libs/libepoxy
"
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}/${P}-memleak.patch" )

@ -1,2 +1,2 @@
DIST kio-gdrive-1.1.1.tar.xz 24096 SHA256 c840151e844f9c135ff575771c09ac78bd9c939b853af72b568c76aa1db540ea SHA512 9377167a8f12731b27adc816790f50b73685dbfccf416e4ca927f08d52a85adb2cc6d769c111fc66fd24fe9646217321d7392946dbc6f05c9eb8a3e6aeb929ba WHIRLPOOL 2096961eb41738a319cc8e9589a0c6b14df6c55a365344c8dd484ed2b329aae2f19db12c7e9c8f8ef0417241406ea81a607cb03008d53207f2c84705482941fd
DIST kio-gdrive-1.2.0.tar.xz 33780 SHA256 c3b0eb54efc92daa636c8eb81113bf8f196cd2e3af0ba8c37660bfa3a7dd9274 SHA512 244d4eb3ec17451400b8e68eb554f5bf8708c797085dc8606be095d1c39f367e9f5c8633d68834cfdbd25032e1726372d3fead131610d3ae9daf25f555924d29 WHIRLPOOL 2e66b8706604e1ea1aed1af817f18fb4f901ff2fa7b52fd28ee6807b1e309b9362fd10d4fd0bbd2dd3b75c91bc00fa0ca18a0e94be3391dc2f12bd838eeab388
DIST kio-gdrive-1.2.0.1.tar.xz 34356 SHA256 7abe7352ae87e16580c6274502c7475d00d852bad96052aec5a3ce09f70a8009 SHA512 8f3cff889ff91c7775733f067ba45097d89e2f98a5ba1202d2fd55645973ffcf03f18002ce73fb5221706d51551af3d44ee2c41229f5c272ccf6913fcdb78c47 WHIRLPOOL b8d5c135123b2d94e0233ed3acf5131c97b3937b5897aadbadb9259b457449d48ed282be09f5d4029f328e1664a98f30b038837daf56dbba2a51f31eda31fcff

@ -1,21 +0,0 @@
commit e9ddacb58dcf011bc2a877c11b026cab94031e65
Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Sat May 27 15:58:32 2017 +0200
If tests are optional, autotests subdir must be conditional
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0c1b691..a2a771c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,7 +61,9 @@ add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
add_definitions(-DQT_STRICT_ITERATORS)
add_definitions(-DTRANSLATION_DOMAIN=\"kio5_gdrive\")
-add_subdirectory(autotests)
+if(BUILD_TESTING)
+ add_subdirectory(autotests)
+endif()
add_subdirectory(desktop)
add_subdirectory(doc)
add_subdirectory(src)

@ -31,12 +31,11 @@ RDEPEND="
DEPEND="${RDEPEND}
$(add_qt_dep qtgui)
$(add_qt_dep qtnetwork)
dev-util/intltool
"
DOCS=( README.md )
PATCHES=( "${FILESDIR}/${P}-tests-optional.patch" )
src_configure() {
local mycmakeargs=(
$(cmake-utils_use_find_package kaccounts KAccounts)

@ -9,7 +9,7 @@ inherit kde5
DESCRIPTION="Useful applications for Plasma development"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="plasmate"
IUSE=""
DEPEND="
$(add_frameworks_dep karchive)
@ -34,13 +34,6 @@ DEPEND="
$(add_qt_dep qtwidgets)
$(add_qt_dep qtxml)
dev-libs/kirigami:1
plasmate? (
$(add_frameworks_dep kdelibs4support)
$(add_frameworks_dep knewstuff)
$(add_frameworks_dep kparts)
$(add_qt_dep qtwebkit)
dev-util/kdevplatform:5
)
"
RDEPEND="${DEPEND}
!dev-util/plasmate
@ -48,9 +41,7 @@ RDEPEND="${DEPEND}
src_configure() {
local mycmakeargs=(
$(cmake-utils_use_find_package plasmate KDevPlatform)
$(cmake-utils_use_find_package plasmate Qt5WebKit)
$(cmake-utils_use_find_package plasmate Qt5WebKitWidgets)
-DCMAKE_DISABLE_FIND_PACKAGE_KDevPlatform=ON
)
kde5_src_configure

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

Loading…
Cancel
Save