Sync with portage [Fri Mar 25 17:05:27 MSK 2016].

mhiretskiy 274
root 8 years ago
parent 1e2b9a1766
commit b7234f8487

@ -1,8 +1,6 @@
DIST puppet-agent_1.3.2-1wheezy_amd64.deb 18316012 SHA256 9d36e5d2902e8ffa9cb19a51c0df26bfe9e15fa28daaff8fc7724185df460ae6 SHA512 d63a52a9e5cf6a0cb1438715ed3f1c8edddaf4c21335aac80771b283c577151519bfbf73028c3d6af702d03372220964b052c4b45190f838a0a7e5ade247923a WHIRLPOOL 789b9316dc0edf701da9ef73c6034501b261e71db86c29db2d4f737719a3d37a53ef71f5eb43d8b7c5d2ff465d44ab59f4f744a39ed20b6a7600624e5ef4b993
DIST puppet-agent_1.3.2-1wheezy_i386.deb 18248404 SHA256 7e6570f592a712c342c192643cacfb74ca103efea26191cb8b8baa0f359b0fca SHA512 66a092cd7579af5aff89e3c45897c2f3d036fc2fb6e35be3492bdfb273d33c356e4d5ff53362d303eead6b3c53aeef9e82da1371b3555c94f67f11a65f0f5b6d WHIRLPOOL 8cf9f5ddad6815511f2c09d76e66d456aa15c68af0485dfda86a081fa3f6ecbdeeaf4815838c2f6113a65890532164bbba1fb12fb9607c5d1fa8c95d4df14217
DIST puppet-agent_1.3.4-1wheezy_amd64.deb 20088688 SHA256 d98026bc27d680c6d674889ddf76aab3da0f9122be3aaccfd4794c5193bf58af SHA512 1a11a7df1545c405f0cbcf6fa2b12a12d6f2091068706cc2be614b2aac4c2d1b8f92f8d6bb9721b5c9b7a30f27d087b585c4d9e41e9c966f526977bff1e39a91 WHIRLPOOL 619a00bdd175ad518a00c04410a09ed9502d768878f64810d434ef45bd41b2f0d695ea9fddb01a27b31989a90e47554b6a7577842f2762872601425b6801809f
DIST puppet-agent_1.3.4-1wheezy_i386.deb 19864590 SHA256 7eaf2264fc0ce048fd1fc604f384df8d601e8571e9f92fb1432bc2be73a24874 SHA512 2640a6b0daaa2a9c913a9411a7eb56914bb127610d2bf56100f9029dc94727f3c42df7c858924b22fc5ad03a9151d98a136c0c6d369501f3e38a9c179333d2ff WHIRLPOOL 88dbebd7c5217d7efc85c877bc1977c574e17ca544a59424b805cebcad637ed5762ebe37c13d82dc01cebcd1ef1259383143adff7a748c82241124b2007d5513
DIST puppet-agent_1.3.6-1wheezy_amd64.deb 20097384 SHA256 47f04c848eff486660ba5ab4cc6c9340193ae0f9d703e0aba6094ccc7d15ec4f SHA512 a079f66bd0ff0b9535e037712ff4306ec16cc5303e1a19016a7ebb2d19f39eea1d91d758996d37e6d848cd0c1d8f047bcfad64550647de99de248071626a0845 WHIRLPOOL 42013e4abf062548b0349db3ebd628bfd887877462b3f24dbd47058bda59828c0f13f2f3bb8a7aace5d835faf3be0fbbaeb097c55c665aa71eec6d78881d71b7
DIST puppet-agent_1.3.6-1wheezy_i386.deb 19873296 SHA256 aaf16cffcf33070eda0979025b72c87d1528bf017f65dadc333defe623190065 SHA512 4d6390c6f9fd3464029ae8bde02e5f7536de7ecb701bc50a7a4a24f50102fcd542448729259148bb62343ed44e4e5b41ced670aed7a8aa3897fa2f7729fff9db WHIRLPOOL 17f7231cd5c546aa8a104aadec07457abebb71cccc1f8f718e7e0e5544b46502979b3079e1d3931f58d3d2d4232eb2ac82e5ee2c49c0ed54e280ef515575b45f
DIST puppet-agent_1.4.0-1wheezy_amd64.deb 21367140 SHA256 322f3db0e1c2cebe675f6162411eecc9aec4e6a9d20daba4416ad914a7d562f0 SHA512 9d40ca518dfe5086f9fb738c971fed06b6f634f2069a0a10ae4ea4c1595db6c7122323dcbe1f871faed114acd1a3405146fb834fce964312391159b6e66edae5 WHIRLPOOL cf5f1649083e3224cffa5c1b16164e8cdb2a7fdc4756b97e12dfd6857e74e5923e04282d885ac963ef4fc386843e1014c489346836798eec1db5ed70d187a15e
DIST puppet-agent_1.4.0-1wheezy_i386.deb 21107662 SHA256 88adf39e5fd7dba87f497c348797207df1f3192228d8601de9cbd155d481c31f SHA512 6651bb55b7ab4db5ce738dfa8ff555d385c7ea5c3806e5e3a961afaf58fc8923e44264bbd33b920871a84ebaa8b7003374a269467fe13454f7f498c18ba3afec WHIRLPOOL bffdcf7cffc6bf6dcce925728ac032c2fd7e2e19641eef200b60b5ec3fd1e0b87b44a6fd43c001cec0b69d96f050243252a0a954240568344ddcdb481010a700
DIST puppet-agent_1.4.1-1wheezy_amd64.deb 21371032 SHA256 bc73ca0bf9bf753f70c261f0884a19c94cf0d0f337d370af9e2424f563eed7f9 SHA512 5c99cbc1637992630152d8d5f9922ee38e78147cca04ef030ff0232bf729e5dddd607cc0f318a09e52bfb29d991ff7f111b564d8e173240cc1b0f039f34ad69b WHIRLPOOL c41bfad01fef8329b3ed599c1f5bc98b6e306bb7d0c2cd4ad85a2d3ddb97797828d794c3b0eeaab6650a80c2ba07b644e29ea914c494711be31abf8582e9f13f
DIST puppet-agent_1.4.1-1wheezy_i386.deb 21109088 SHA256 a6ef8820dc6a96522da30bc9cac992a61e87d8c29a3908849455d8eb0ffeb725 SHA512 f9a62e8d71af1a466cc3ad2fcece79d300251dd936d97e2360580452de9f964b18316643e488b1dbe3ebd610cb58a6f19e5f70534a1cb42a016cc5719cd7b016 WHIRLPOOL 02d45b9260f71eeb94d7a7aa2da0a2491db6ab0d31bfc8afe37b5086d87503a090b850965ab2a339e7ac58c24aa277b985bec19b7d728e24ac7fe336fa5512cd

@ -1,99 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils systemd unpacker user
DESCRIPTION="general puppet client utils along with mcollective hiera and facter"
HOMEPAGE="https://puppetlabs.com/"
SRC_BASE="http://apt.puppetlabs.com/pool/wheezy/PC1/${PN:0:1}/${PN}/${PN}_${PV}-1wheezy"
SRC_URI="
amd64? ( ${SRC_BASE}_amd64.deb )
x86? ( ${SRC_BASE}_i386.deb )
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="puppetdb selinux"
RESTRICT="strip"
CDEPEND="!app-admin/augeas
!app-admin/mcollective
!app-admin/puppet
!dev-ruby/hiera
!dev-ruby/facter
!app-emulation/virt-what"
DEPEND="
${CDEPEND}"
RDEPEND="${CDEPEND}
sys-apps/dmidecode
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
puppetdb? ( >=dev-ruby/puppetdb-termini-3.1.0 )"
S=${WORKDIR}
QA_PREBUILT="
/opt/puppetlabs/puppet
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/2.1.0/x86_64-linux/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/mathn/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/io/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/dl/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/racc/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/enc/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/json/ext/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/rbconfig/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/digest/*
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/*
/opt/puppetlabs/puppet/lib/engines/*
/opt/puppetlabs/puppet/lib/virt-what/*
/opt/puppetlabs/puppet/lib/*
/opt/puppetlabs/puppet/bin/*"
pkg_setup() {
enewgroup puppet
enewuser puppet -1 -1 /var/run/puppet puppet
}
src_install() {
# conf.d
doconfd etc/default/puppet
doconfd etc/default/mcollective
# logrotate.d
insinto /etc/logrotate.d
doins etc/logrotate.d/mcollective
# puppet itself
insinto /etc/puppetlabs
doins -r etc/puppetlabs/*
# logdir for systemd
dodir var/log/puppetlabs/puppet/
fperms 0750 var/log/puppetlabs/puppet/
# the rest
insinto /opt
dodir opt/puppetlabs/puppet/cache
doins -r opt/*
fperms 0750 /opt/puppetlabs/puppet/cache
# init
newinitd "${FILESDIR}/puppet.initd" puppet
newinitd "${FILESDIR}/mcollective.initd" mcollective
systemd_dounit "${FILESDIR}/puppet.service"
systemd_dounit "${FILESDIR}/mcollective.service"
systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
# symlinks
chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
dosym /opt/puppetlabs/bin/facter /usr/bin/facter
dosym /opt/puppetlabs/bin/hiera /usr/bin/hiera
dosym /opt/puppetlabs/bin/mco /usr/bin/mco
dosym /opt/puppetlabs/bin/puppet /usr/bin/puppet
dosym /opt/puppetlabs/puppet/bin/mcollectived /usr/sbin/mcollectived
dosym /opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
dosym /opt/puppetlabs/puppet/bin/augparse /usr/bin/augparse
dosym /opt/puppetlabs/puppet/bin/augtool /usr/bin/augtool
dosym /opt/puppetlabs/puppet/bin/extlookup2hiera /usr/bin/extlookup2hiera
}

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -15,7 +15,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
KEYWORDS="~amd64 ~x86"
IUSE="puppetdb selinux"
RESTRICT="strip"

@ -9,4 +9,4 @@ DIST puppet-4.0.0.tar.gz 2498445 SHA256 c02a5cceb68d6c26228c242a312d68cf05423384
DIST puppet-4.1.0.tar.gz 2532579 SHA256 a168ac45a7b25932dfc78bd5da3efe41363e239c7361dd5c4f91615dc17bb275 SHA512 85ba32fb3a7e9f3413f201263943411fbb6b57a4aa13461954b32c1095b06d04f26288a216c5624290cf89d09183bc86bb5f57769fe2ccadc44bf57cd601f5d3 WHIRLPOOL 5288b3204a5c5b96da4eabdee19c1156e71b3a76662d8d28fc8e43988e76ca52618d423c207c1a25d5d92638c559db76ee3c8ce336286d3a5e875c1dc538f8b8
DIST puppet-4.2.1.tar.gz 2546267 SHA256 519842dfa03ff78c94e77fb28867aef12933691b9e2ce41788f80c5c2865fe7e SHA512 d4ce3f6cd0fbca4270a9121671c27985c9aaa5360a1a317afcc8f79cd81d285e1661cc77d50dda47abd8e50309762d5931545ea4d675b9fb6c32b612e570fd3d WHIRLPOOL 492294158f7f5eb78b93098c759c97ca53a09fc7b24a8350dfd76220a1d578f78375ba3bd9d618b97299931001af83cc5475c4f6ad9bbb1c3d9744fa07585bfd
DIST puppet-4.2.2.tar.gz 2550591 SHA256 2d34cda2c65c885ba16e6644edd7733d55e6a0e1011a1f0f7fe80b411affc348 SHA512 63fdbce7839fe1638c22129d22bf2aeef29838adceb6c53aaaf54acc7c9d2957ed559e3625a13dfa1f35b556791de0232868f5ecdc439be95b0b64bea097d217 WHIRLPOOL e2f579efbfc3fbab35ee3a23f40a396b0326484c935eaacead503848abc8406fe705701a2ab7eaf28e070feedef7ac4467d4bbf3412f5999091c809c88550c4c
DIST puppet-4.4.0.tar.gz 2672781 SHA256 489931ec65273764ab506a1cbd4c3189997098a9c9c4791bf019e81c572ca5c8 SHA512 cf9309db57ea06689eb9233624479e87249ef8cd9736a6426efd78227916bd7bd741bd019bab29694f660d7f0b31c1c8d69d7f9307e63d5df2bad6e3c2c19f47 WHIRLPOOL 49fddc4acfa284fbfc7a1d5b38864fc86614f599955033f638e78bb3a7abe11c6363e8f6f1129267e16074cd151ec7b632d75c9f7237615530c0c58b6a3282fe
DIST puppet-4.4.1.tar.gz 2675495 SHA256 a8b15fc035acd56711fdc6160cfbcae455f9f2708ed49ee8c937d93aa7d1c291 SHA512 d9ba703dc0544c5feddbd6c8f28eddba330cc1906e010cf3fc703541ed2d8595262dac56dbdd3ade49d652e3f55942115494928dc40bfe07df4d1b558577787c WHIRLPOOL 11fb2df07ac621cc4a28bcc83e89cd815e609467a0e7d86e15220963b3c907ae1ba772ff313a8ec7a578c0a7299b95625f311d3cb0ef6936e3fcde9bebd28f79

@ -1,2 +1,3 @@
DIST puppetserver-2.2.1.tar.gz 42665674 SHA256 583662380b161fc35e0f0c5e7e2964892ec4b7e0cb848cadcd76b29684a85843 SHA512 9b7036d886467a41d0d62d4651a91676d885dfa684aa757d9e27ce5ef5f8183f188f490e1594b6b936219a3dd9bee8f609df6229d5d26fd331677fcf1f61d034 WHIRLPOOL f0f15512be55fd49da80b2e839cef9bd9684ef23eab5e872d331b0802f790451c0fb16320b97d25d0bbb8e9bad08cd66c788c0a47643c8da4d973d6649f0da2c
DIST puppetserver-2.3.0.tar.gz 33655096 SHA256 b8bb77ae4684a57a00b8fd41782034718e3d53e09fe3bb6470b4aef2e3da15a4 SHA512 364d9af1eb138db814b45310f9c0bc67976a0a1a3d1d36ddf6cbb547ab85088e5efc0149dfbb1cd662966b61aef9d95709d4b9c7ffe615ede8b7a8ff35b0deff WHIRLPOOL 77c4a245bcb8125b8c8d4e50994c3ff05233a6337a98f60e7d0d8fbe1e0ea4635fffca8de755bbe9c10a5c3f4d6c41b77eaf10d967fd6b82209907ff6464ae85
DIST puppetserver-2.3.1.tar.gz 33667638 SHA256 25e0d27339c2e8313cb083503e5790e4f7f1c5c3b29a67b73a35a3aca2f513d9 SHA512 584d41864ec588d46aee81f43d0f6aeee50456d8cb789624d0ba1e000d7b42dec2d14373a93cb0230d63bc0758f0150591ea4754794b18d14d1ec25b1d172722 WHIRLPOOL 8c82fa01cd352325837eacd9952a2b3e299492da2034f5607cf269073df09f1e999ce219358f5c462328ec33d9378704ad8ac91cd92fa20d680be6e327a13cda

@ -0,0 +1,107 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit multilib systemd user
DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="puppetdb"
# will need the same keywords as puppet
KEYWORDS="~amd64 ~x86"
RDEPEND+="
>=virtual/jdk-1.7.0
app-admin/puppet-agent[puppetdb?]"
DEPEND+=""
pkg_setup() {
enewgroup puppet
enewuser puppet -1 -1 /opt/puppetlabs/server/data/puppetserver "puppet"
}
src_prepare() {
sed -i 's/sysconfig\/puppetserver/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/g' ext/redhat/puppetserver.service || die
sed -i 's/sysconfig\/puppetserver/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/g' ext/bin/puppetserver || die
sed -i 's/sysconfig\/puppetserver/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/g' install.sh || die
sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
sed -i 's/var\/run/run/g' install.sh || die
}
src_compile() {
einfo "not compiling"
}
src_install() {
insinto /opt/puppetlabs/server/apps/puppetserver
insopts -m0774
doins ext/ezbake-functions.sh
insopts -m0644
doins ext/ezbake.manifest
doins puppet-server-release.jar
insinto /etc/puppetlabs/puppetserver
doins ext/config/logback.xml
doins ext/config/bootstrap.cfg
doins ext/config/request-logging.xml
insinto /etc/puppetlabs/puppetserver/conf.d
doins ext/config/conf.d/puppetserver.conf
doins ext/config/conf.d/auth.conf
doins ext/config/conf.d/global.conf
doins ext/config/conf.d/web-routes.conf
doins ext/config/conf.d/webserver.conf
insopts -m0755
insinto /opt/puppetlabs/server/apps/puppetserver/scripts
doins install.sh
insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
doins ext/cli/irb
doins ext/cli/foreground
doins ext/cli/gem
doins ext/cli/ruby
insinto /opt/puppetlabs/server/apps/puppetserver/bin
doins ext/bin/puppetserver
insopts -m0644
dodir /opt/puppetlabs/server/bin
dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
dodir /opt/puppetlabs/bin
dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
dosym /opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
# other sys stuff
dodir /etc/puppetlabs/code
# needed for systemd
dodir /var/log/puppetlabs/puppetserver
dodir /etc/puppetlabs/puppet/ssl
fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
fperms -R 771 /etc/puppetlabs/puppet/ssl
# init type tasks
newconfd ext/default puppetserver
newinitd "${FILESDIR}/puppetserver.initd" puppetserver
# systemd type things
insinto /etc/systemd/system/puppetserver.service.d/
newins ext/default gentoo.conf
systemd_dounit ext/redhat/puppetserver.service
# misc
insinto /etc/logrotate.d
newins ext/puppetserver.logrotate.conf puppetserver
# cleanup
dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
fowners -R puppet:puppet /opt/puppetlabs/server/data
fperms -R 775 /opt/puppetlabs/server/data/puppetserver
fperms -R 700 /var/log/puppetlabs/puppetserver
}
pkg_postinst() {
elog "to install you may want to run the following:"
elog
elog "puppet config set --section master vardir /opt/puppetlabs/server/data/puppetserver"
elog "puppet config set --section master logdir /var/log/puppetlabs/puppetserver"
elog "puppet config set --section master rundir /run/puppetlabs/puppetserver"
elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
elog "puppet config set --section master codedir /etc/puppetlabs/code"
}

@ -1,2 +1,3 @@
DIST innoextract-1.4.tar.gz 151230 SHA256 5a494b5ae1e41043574096761d31695ed8b1d39dfe64895306d0d92623901cc9 SHA512 60700ef05ff50e3409b92571ebfc7342c0eadc8add5d1262f7e7740e1a14cfd186a8a9ac0ecab85f01ae50f21edb48f49ba9428369131f7cd46c4b07214838ea WHIRLPOOL 26b38b5c8fbc5c1f79c3d2b3f9cabbe439140ee174d31926ee6c1507815417dbab02632f2aaaf8681c2755ba6907f0a67ef91f2672deab9b2bdef16e3bd323fa
DIST innoextract-1.5.tar.gz 179582 SHA256 f2594e992ccf2859455475794803b29a67393fadb69d4df1eec34c451ffa48cf SHA512 759c319c1f0737b9120ed4613bcab4bebcbb28749d9bbfa46ccb7b4f7640352b4ef01a03ed142c61f67188a83635d4e03e7b0708b913e1f47c09e5189bb56dd6 WHIRLPOOL d9601659b50836b69cdb74f287a4c8abfd489f47da619d8c95b6613b01f9ad85c53efa34b8fcdd1c3fe975325d351e1ea843dc3ce4b745ca8c383b6ff44b6489
DIST innoextract-1.6.tar.gz 183380 SHA256 66463f145fffd4d5883c6b3e2f7b2c2837d6f07095810114e514233a88c1033e SHA512 4c1b50a050d45e1a56d7236150a801cb85d15de8c80f5f1fd94750f3dd2392bdfb3f0e98c214e9504fe6132c7dce3a0dfbe0815ede438aa0f76a88380ceeef62 WHIRLPOOL 5cf9a732d2754a09475576d7cc4c40dcf9406425afba02247f074f66719c4b79953869eaa206e9c082ac8476e9c7874acb208a082189e669cf38943ae233f8f5

@ -0,0 +1,36 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit cmake-utils
DESCRIPTION="A tool to unpack installers created by Inno Setup"
HOMEPAGE="http://constexpr.org/innoextract/"
SRC_URI="http://constexpr.org/innoextract/files/${P}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug +iconv +lzma"
RDEPEND="
dev-libs/boost:=
iconv? ( virtual/libiconv )
lzma? ( app-arch/xz-utils )"
DEPEND="${RDEPEND}"
DOCS=( README.md CHANGELOG )
src_configure() {
local mycmakeargs=(
$(cmake-utils_use_use lzma LZMA)
$(cmake-utils_use debug DEBUG)
-DSET_OPTIMIZATION_FLAGS=OFF
-DSTRICT_USE=ON
-DWITH_CONV=$(usex iconv iconv builtin)
)
cmake-utils_src_configure
}

@ -14,7 +14,7 @@ SRC_URI="http://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz"
LICENSE="unRAR"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
IUSE=""
RDEPEND="!<=app-arch/unrar-gpl-0.0.1_p20080417"

@ -0,0 +1,50 @@
diff --git a/configure.ac b/configure.ac
index 9b5d06f..d099bd2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -343,8 +343,8 @@ AC_ARG_WITH([user-prefix],
user_wconfd="${withval}masterd";
user_kvmd="$user_default";
user_luxid="${withval}masterd";
- user_noded="$user_default";
- user_mond="$user_default"],
+ user_noded="root";
+ user_mond="root"],
[user_masterd="$user_default";
user_metad="$user_default";
user_rapi="$user_default";
@@ -352,8 +352,8 @@ AC_ARG_WITH([user-prefix],
user_wconfd="$user_default";
user_kvmd="$user_default";
user_luxid="$user_default";
- user_noded="$user_default";
- user_mond="$user_default"])
+ user_noded="root";
+ user_mond="root"])
AC_SUBST(MASTERD_USER, $user_masterd)
AC_SUBST(METAD_USER, $user_metad)
AC_SUBST(RAPI_USER, $user_rapi)
@@ -379,9 +379,9 @@ AC_ARG_WITH([group-prefix],
group_luxid="${withval}luxid";
group_masterd="${withval}masterd";
group_metad="$group_default";
- group_noded="$group_default";
+ group_noded="root";
group_daemons="${withval}daemons";
- group_mond="$group_default"],
+ group_mond="root"],
[group_rapi="$group_default";
group_admin="$group_default";
group_confd="$group_default";
@@ -390,9 +390,9 @@ AC_ARG_WITH([group-prefix],
group_luxid="$group_default";
group_masterd="$group_default";
group_metad="$group_default";
- group_noded="$group_default";
+ group_noded="root";
group_daemons="$group_default";
- group_mond="$group_default"])
+ group_mond="root"])
AC_SUBST(RAPI_GROUP, $group_rapi)
AC_SUBST(ADMIN_GROUP, $group_admin)
AC_SUBST(CONFD_GROUP, $group_confd)

@ -0,0 +1,310 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=(python2_7)
PYTHON_REQ_USE="ipv6(+)?"
inherit eutils user autotools bash-completion-r1 python-single-r1 versionator
MY_PV="${PV/_rc/~rc}"
MY_PV="${MY_PV/_beta/~beta}"
MY_P="${PN}-${MY_PV}"
SERIES="$(get_version_component_range 1-2)"
if [[ ${PV} =~ [9]{4,} ]] ; then
EGIT_REPO_URI="git://git.ganeti.org/ganeti.git"
inherit git-2
KEYWORDS=""
GIT_DEPEND="dev-python/docutils
dev-python/sphinx[${PYTHON_USEDEP}]
media-gfx/graphviz
media-fonts/urw-fonts"
else
SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Ganeti is a virtual server management software tool"
HOMEPAGE="http://www.ganeti.org/"
LICENSE="GPL-2"
SLOT="0"
IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen"
REQUIRED_USE="|| ( kvm xen lxc ) test? ( ipv6 ) ${PYTHON_REQUIRED_USE}"
USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}"
GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}"
DOC_DEPEND="dev-python/sphinx[${PYTHON_USEDEP}]
media-fonts/urw-fonts
media-gfx/graphviz"
DEPEND="
dev-libs/openssl:0
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
dev-python/simplejson[${PYTHON_USEDEP}]
dev-python/pyparsing[${PYTHON_USEDEP}]
dev-python/pyinotify[${PYTHON_USEDEP}]
dev-python/pycurl[${PYTHON_USEDEP}]
dev-python/ipaddr[${PYTHON_USEDEP}]
dev-python/bitarray[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
net-analyzer/arping
net-analyzer/fping
net-misc/bridge-utils
net-misc/curl[ssl]
net-misc/openssh
net-misc/socat
sys-apps/iproute2
sys-fs/lvm2
>=sys-apps/baselayout-2.0
dev-lang/ghc
dev-haskell/cabal:0=
dev-haskell/cabal-install:0=
>=dev-haskell/mtl-2.1.1:0=
>=dev-haskell/old-time-1.1.0.0:0=
>=dev-haskell/random-1.0.1.1:0=
haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= )
>=dev-haskell/transformers-0.3.0.0:0=
>=dev-haskell/attoparsec-0.10.1.1:0=
<dev-haskell/attoparsec-0.13:0
>=dev-haskell/base64-bytestring-1.0.0.1:0=
<dev-haskell/base64-bytestring-1.1:0=
>=dev-haskell/crypto-4.2.4:0=
<dev-haskell/crypto-4.3:0=
>=dev-haskell/curl-1.3.7:0=
<dev-haskell/curl-1.4:0=
>=dev-haskell/hinotify-0.3.2:0=
<dev-haskell/hinotify-0.4:0=
>=dev-haskell/hslogger-1.1.4:0=
<dev-haskell/hslogger-1.3:0=
>=dev-haskell/json-0.5:0=
<dev-haskell/json-0.9:0=
>=dev-haskell/lens-3.10:0=
<dev-haskell/lens-4.8:0=
>=dev-haskell/lifted-base-0.2.0.3:0=
<dev-haskell/lifted-base-0.3:0=
>=dev-haskell/monad-control-0.3.1.3:0=
<dev-haskell/monad-control-1.1:0=
>=dev-haskell/network-2.3.0.13:0=
<dev-haskell/network-2.7:0=
>=dev-haskell/parallel-3.2.0.2:3=
<dev-haskell/parallel-3.3:3=
>=dev-haskell/temporary-1.1.2.3:0=
<dev-haskell/temporary-1.3:0=
>=dev-haskell/regex-pcre-0.94.2:0=
<dev-haskell/regex-pcre-0.95:0=
>=dev-haskell/transformers-base-0.4.1:0=
<dev-haskell/transformers-base-0.5:0=
>=dev-haskell/utf8-string-0.3.7:0=
<dev-haskell/utf8-string-0.4:0=
>=dev-haskell/zlib-0.5.3.3:0=
<dev-haskell/zlib-0.6:0=
>=dev-haskell/psqueue-1.1:0=
<dev-haskell/psqueue-1.2:0=
>=dev-haskell/snap-core-0.8.1:0=
<dev-haskell/snap-core-0.10:0=
>=dev-haskell/snap-server-0.8.1:0=
<dev-haskell/snap-server-0.10:0=
>=dev-haskell/case-insensitive-0.4.0.1
dev-haskell/vector:0=
<dev-haskell/semigroupoids-4.1:0=
<dev-haskell/contravariant-0.6
<dev-haskell/transformers-compat-0.4[three]
xen? ( >=app-emulation/xen-3.0 )
kvm? (
dev-python/psutil
app-emulation/qemu
)
lxc? ( app-emulation/lxc )
drbd? (
|| (
<sys-cluster/drbd-8.5
sys-cluster/drbd-utils
)
)
rbd? ( sys-cluster/ceph )
ipv6? ( net-misc/ndisc6 )
${PYTHON_DEPS}
${GIT_DEPEND}"
RDEPEND="${DEPEND}
!app-emulation/ganeti-htools"
DEPEND+="sys-devel/m4
app-text/pandoc
>=dev-haskell/test-framework-0.6:0=
<dev-haskell/test-framework-0.9:0=
>=dev-haskell/test-framework-hunit-0.2.7:0=
<dev-haskell/test-framework-hunit-0.4:0=
>=dev-haskell/test-framework-quickcheck2-0.2.12.1:0=
<dev-haskell/test-framework-quickcheck2-0.4:0=
test? (
dev-python/mock
dev-python/pyyaml
dev-haskell/haddock:0=
>=dev-haskell/hunit-1.2.4.2:0=
<dev-haskell/hunit-1.3:0=
>=dev-haskell/quickcheck-2.4.2:2=
<dev-haskell/quickcheck-2.8:2=
sys-apps/fakeroot
net-misc/socat
dev-util/shelltestrunner
${DOC_DEPEND}
)"
PATCHES=(
"${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch"
"${FILESDIR}/${PN}-2.11-add-pgrep.patch"
"${FILESDIR}/${PN}-2.15-daemon-util.patch"
"${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
"${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
"${FILESDIR}/${PN}-2.10-rundir.patch"
"${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch"
"${FILESDIR}/${PN}-2.11-tests.patch"
"${FILESDIR}/${PN}-lockdir.patch"
"${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch"
"${FILESDIR}/${PN}-2.11-dont-print-man-help.patch"
"${FILESDIR}/${PN}-2.11-daemon-util-tests.patch"
"${FILESDIR}/${PN}-2.13-process_unittest.patch"
"${FILESDIR}/${PN}-2.15-python-mock.patch"
"${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch"
"${FILESDIR}/${PN}-2.15-noded-must-run-as-root.patch"
)
REQUIRED_USE="kvm? ( || ( amd64 x86 ) )"
S="${WORKDIR}/${MY_P}"
QA_WX_LOAD="
usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d
usr/lib*/${PN}/${SERIES}/usr/bin/htools
"
pkg_setup () {
local user
python-single-r1_pkg_setup
if use multiple-users; then
for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do
enewgroup ${user}
enewuser ${user} -1 -1 -1 ${user}
done
fi
}
src_prepare() {
local testfile
epatch "${PATCHES[@]}"
# not sure why these tests are failing
# should remove this on next version bump if possible
for testfile in test/py/import-export_unittest.bash; do
printf '#!/bin/bash\ntrue\n' > "${testfile}"
done
# take the sledgehammer approach to bug #526270
grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g'
[[ ${PV} =~ [9]{4,} ]] && ./autogen.sh
rm autotools/missing
eautoreconf
}
src_configure () {
# this is kind of a hack to work around the removal of the qemu-kvm wrapper
local kvm_arch
if use amd64; then
kvm_arch=x86_64
elif use x86; then
kvm_arch=i386
elif use kvm; then
die "Could not determine qemu system to use for kvm"
fi
econf --localstatedir=/var \
--sharedstatedir=/var \
--disable-symlinks \
--docdir=/usr/share/doc/${P} \
--with-ssh-initscript=/etc/init.d/sshd \
--with-export-dir=/var/lib/ganeti-storage/export \
--with-os-search-path=/usr/share/${PN}/os \
$(use_enable test haskell-tests) \
$(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \
$(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \
$(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \
$(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \
$(use_enable syslog) \
$(use_enable monitoring) \
$(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \
$(usex haskell-daemons "--enable-confd=haskell" '' '' '')
}
src_install () {
emake V=1 DESTDIR="${D}" install || die "emake install failed"
newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN}
newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN}
if use kvm; then
newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
fi
# ganeti installs it's own docs in a generic location
rm -rf "${D}"/{usr/share/doc/${PN},run}
sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion
newbashcomp doc/examples/bash_completion gnt-instance
bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \
h{space,check,scan,info,ail,arep,roller,squeeze,bal} \
gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster}
dodoc INSTALL UPGRADE NEWS README doc/*.rst
dohtml -r doc/html/* doc/css/*.css
docinto examples
dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf
docinto examples/hooks
dodoc doc/examples/hooks/{ipsec,ethers}
insinto /etc/cron.d
newins doc/examples/ganeti.cron ${PN}
insinto /etc/logrotate.d
newins doc/examples/ganeti.logrotate ${PN}
# need to dodir rather than keepdir here (bug #552482)
dodir /var/lib/${PN}
keepdir /var/log/${PN}/
keepdir /usr/share/${PN}/${SERIES}/os/
keepdir /var/lib/ganeti-storage/{export,file,shared}/
dosym ${SERIES} "/usr/share/${PN}/default"
dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default"
python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES}
}
pkg_postinst() {
if use multiple-users; then
elog "You have enable multiple user support, the users for this must"
elog "be created. You can use the provided tool for this, which is"
elog "located at:"
elog " /usr/$(get_libdir)/${PN}/tools/users-setup"
fi
}
src_test () {
PATH="${S}/scripts:${S}/src:${PATH}" \
TMPDIR="/tmp" \
GANETI_MASTER="$(hostname -f)" \
emake check || die "emake check failed"
}

@ -0,0 +1 @@
DIST qemu-init-scripts-0.3.0.tar.xz 4584 SHA256 c2deb393bac7690b6ea7118ee21f414c1a115c7e9b932ebd3282969bedaa4447 SHA512 49427572ce0636400ad3e389ed143fa9b1d637a7a89649cd5e265e409d3d745babe28f6af8cac3d9a249a8d5cc6554b321c0613f35824d604dcd814a44033c51 WHIRLPOOL 9752dab9172f1b26cdad6e5d1e29b5272878ce8c357fd1cba182afa98dd9c4d746ac57def8fac24a6ff9bb5c53ff3b7fe81495133bd6381a835d29659a6b68b8

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dolsen@gentoo.org</email>
<name>Brian Dolbec</name>
</maintainer>
<maintainer type="person">
<email>rafaelmartins@gentoo.org</email>
<name>Rafael Martins</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,39 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
DESCRIPTION="Kvm and qemu init scripts"
HOMEPAGE="https://gitweb.gentoo.org/proj/kvm-tools.git/"
SRC_URI="http://dev.gentoo.org/~dolsen/releases/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT=0
KEYWORDS="~amd64 ~x86"
RDEPEND="
app-emulation/qemu
|| ( net-misc/socat net-analyzer/netcat6 )"
S="${PORTAGE_BUILDDIR}/work/${PN}"
src_prepare() {
epatch_user
}
src_install() {
newinitd "${S}/"qemu-init-script qemu
newconfd "${S}/"qemu-conf.example qemu.conf.example
newsbin "${S}/"qtap-manipulate qtap-manipulate
dosym qemu /etc/init.d/kvm
}
pkg_postinst() {
elog "For bridging networking systems, you need these run time utilities:"
elog " net-misc/bridge-utils"
elog " sys-apps/usermode-utilities"
elog ""
elog "We will be updating these scripts to use"
elog "iptables exclusively in the future"
}

@ -1,661 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="ncurses,readline"
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
user udev fcaps readme.gentoo pax-utils
BACKPORTS=
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
inherit git-2
SRC_URI=""
else
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2
${BACKPORTS:+
https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \
gnutls gtk gtk2 infiniband iscsi +jpeg \
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
+png pulseaudio python \
rbd sasl +seccomp sdl sdl2 selinux smartcard snappy spice ssh static static-softmmu
static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \
virgl virtfs +vnc vte xattr xen xfs"
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
x86_64"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb"
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
# Allow no targets to be built so that people can get a tools-only build.
# Block USE flag configurations known to not work.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
gtk2? ( gtk )
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_ppc64? ( fdt )
sdl2? ( sdl )
static? ( static-softmmu static-user )
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
virtfs? ( xattr )
vte? ( gtk )"
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
#
# The attr lib isn't always linked in (although the USE flag is always
# respected). This is because qemu supports using the C library's API
# when available rather than always using the extranl library.
#
# Older versions of gnutls are supported, but it's simpler to just require
# the latest versions. This is also why we require nettle.
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
sys-libs/zlib[static-libs(+)]
xattr? ( sys-apps/attr[static-libs(+)] )"
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? ( app-accessibility/brltty[static-libs(+)] )
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
bluetooth? ( net-wireless/bluez )
caps? ( sys-libs/libcap-ng[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle[static-libs(+)]
>=net-libs/gnutls-3.0[static-libs(+)]
)
gtk? (
gtk2? (
x11-libs/gtk+:2
vte? ( x11-libs/vte:0 )
)
!gtk2? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.90 )
)
)
infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] )
iscsi? ( net-libs/libiscsi )
jpeg? ( virtual/jpeg:=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
ncurses? ( sys-libs/ncurses:0=[static-libs(+)] )
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl,gles2]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph[static-libs(+)] )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
!sdl2? (
media-libs/libsdl[X]
>=media-libs/libsdl-1.2.11[static-libs(+)]
)
sdl2? (
media-libs/libsdl2[X]
media-libs/libsdl2[static-libs(+)]
)
)
seccomp? (
arm? ( >=sys-libs/libseccomp-2.2.3[static-libs(+)] )
arm64? ( >=sys-libs/libseccomp-2.2.3[static-libs(+)] )
>=sys-libs/libseccomp-2.1.0[static-libs(+)]
)
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
snappy? ( app-arch/snappy[static-libs(+)] )
spice? (
>=app-emulation/spice-protocol-0.12.3
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
X86_FIRMWARE_DEPEND="
>=sys-firmware/ipxe-1.0.0_p20130624
pin-upstream-blobs? (
~sys-firmware/seabios-1.8.2
~sys-firmware/sgabios-0.1_pre8
~sys-firmware/vgabios-0.7a
)
!pin-upstream-blobs? (
sys-firmware/seabios
sys-firmware/sgabios
sys-firmware/vgabios
)"
CDEPEND="
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
python? ( ${PYTHON_DEPS} )
systemtap? ( dev-util/systemtap )
xen? ( app-emulation/xen-tools:= )"
DEPEND="${CDEPEND}
dev-lang/perl
=dev-lang/python-2*
sys-apps/texinfo
virtual/pkgconfig
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
gtk? ( nls? ( sys-devel/gettext ) )
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
test? (
dev-libs/glib[utils]
sys-devel/bc
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-qemu )
"
STRIP_MASK="/usr/share/qemu/palcode-clipper"
QA_PREBUILT="
usr/share/qemu/openbios-ppc
usr/share/qemu/openbios-sparc64
usr/share/qemu/openbios-sparc32
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/u-boot.e500
"
QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm
usr/bin/qemu-cris
usr/bin/qemu-m68k
usr/bin/qemu-microblaze
usr/bin/qemu-microblazeel
usr/bin/qemu-mips
usr/bin/qemu-mipsel
usr/bin/qemu-or32
usr/bin/qemu-ppc
usr/bin/qemu-ppc64
usr/bin/qemu-ppc64abi32
usr/bin/qemu-sh4
usr/bin/qemu-sh4eb
usr/bin/qemu-sparc
usr/bin/qemu-sparc64
usr/bin/qemu-armeb
usr/bin/qemu-sparc32plus
usr/bin/qemu-s390x
usr/bin/qemu-unicore32"
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure
you have the kernel module loaded before running kvm. The easiest way to
ensure that the kernel module is loaded is to load it on boot.\n
For AMD CPUs the module is called 'kvm-amd'\n
For Intel CPUs the module is called 'kvm-intel'\n
Please review /etc/conf.d/modules for how to load these\n\n
Make sure your user is in the 'kvm' group\n
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
qemu_support_kvm() {
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
use qemu_softmmu_targets_s390x; then
return 0
fi
return 1
}
pkg_pretend() {
if use kernel_linux && kernel_is lt 2 6 25; then
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
elif use kernel_linux; then
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
ERROR_KVM="You must enable KVM in your kernel to continue"
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
ERROR_KVM_AMD+=" your kernel configuration."
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
ERROR_TUN+=" into your kernel or loaded as a module to use the"
ERROR_TUN+=" virtual network device if using -net tap."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
ERROR_VHOST_NET+=" support"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
fi
use python && CONFIG_CHECK+=" ~DEBUG_FS"
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
# Now do the actual checks setup above
check_extra_config
fi
fi
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
eerror "instances are still pointing to it. Please update your"
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
eerror "and the right system binary (e.g. qemu-system-x86_64)."
die "update your virt configs to not use qemu-kvm"
fi
}
pkg_setup() {
enewgroup kvm 78
}
# Sanity check to make sure target lists are kept up-to-date.
check_targets() {
local var=$1 mak=$2
local detected sorted
pushd "${S}"/default-configs >/dev/null || die
# Force C locale until glibc is updated. #564936
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "${var}: ${sorted}"
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
die "sync ${var} to the list of targets"
fi
popd >/dev/null
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
# Alter target makefiles to accept CFLAGS set via flag-o
sed -i -r \
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
Makefile Makefile.target || die
# Cheap hack to disable gettext .mo generation.
use nls || rm -f po/*.po
epatch "${FILESDIR}"/qemu-2.5.0-cflags.patch
[[ -n ${BACKPORTS} ]] && \
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
epatch
epatch "${FILESDIR}"/${P}-CVE-2015-8567.patch #567868
epatch "${FILESDIR}"/${P}-CVE-2015-8558.patch #568246
epatch "${FILESDIR}"/${P}-CVE-2015-8701.patch #570110
epatch "${FILESDIR}"/${P}-CVE-2015-8743.patch #570988
epatch "${FILESDIR}"/${P}-CVE-2016-1568.patch #571566
# Fix ld and objcopy being called directly
tc-export AR LD OBJCOPY
# Verbose builds
MAKEOPTS+=" V=1"
epatch_user
}
##
# configures qemu based on the build directory and the build type
# we are using.
#
qemu_src_configure() {
debug-print-function ${FUNCNAME} "$@"
local buildtype=$1
local builddir="${S}/${buildtype}-build"
local static_flag="static-${buildtype}"
mkdir "${builddir}"
local conf_opts=(
--prefix=/usr
--sysconfdir=/etc
--libdir=/usr/$(get_libdir)
--docdir=/usr/share/doc/${PF}/html
--disable-bsd-user
--disable-guest-agent
--disable-strip
--disable-werror
# We support gnutls/nettle for crypto operations. It is possible
# to use gcrypt when gnutls/nettle are disabled (but not when they
# are enabled), but it's not really worth the hassle. Disable it
# all the time to avoid automatically detecting it. #568856
--disable-gcrypt
--python="${PYTHON}"
--cc="$(tc-getCC)"
--cxx="$(tc-getCXX)"
--host-cc="$(tc-getBUILD_CC)"
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
--enable-docs
$(use_enable tci tcg-interpreter)
$(use_enable xattr attr)
)
# Disable options not used by user targets as the default configure
# options will autoprobe and try to link in a bunch of unused junk.
conf_softmmu() {
if [[ ${buildtype} == "user" ]] ; then
echo "--disable-${2:-$1}"
else
use_enable "$@"
fi
}
conf_opts+=(
$(conf_softmmu accessibility brlapi)
$(conf_softmmu aio linux-aio)
$(conf_softmmu bluetooth bluez)
$(conf_softmmu caps cap-ng)
$(conf_softmmu curl)
$(conf_softmmu fdt)
$(conf_softmmu glusterfs)
$(conf_softmmu gnutls)
$(conf_softmmu gnutls nettle)
$(conf_softmmu gtk)
$(conf_softmmu infiniband rdma)
$(conf_softmmu iscsi libiscsi)
$(conf_softmmu jpeg vnc-jpeg)
$(conf_softmmu kernel_linux kvm)
$(conf_softmmu lzo)
$(conf_softmmu ncurses curses)
$(conf_softmmu nfs libnfs)
$(conf_softmmu numa)
$(conf_softmmu opengl)
$(conf_softmmu png vnc-png)
$(conf_softmmu rbd)
$(conf_softmmu sasl vnc-sasl)
$(conf_softmmu sdl)
$(conf_softmmu seccomp)
$(conf_softmmu smartcard)
$(conf_softmmu snappy)
$(conf_softmmu spice)
$(conf_softmmu ssh libssh2)
$(conf_softmmu usb libusb)
$(conf_softmmu usbredir usb-redir)
$(conf_softmmu uuid)
$(conf_softmmu vde)
$(conf_softmmu vhost-net)
$(conf_softmmu virgl virglrenderer)
$(conf_softmmu virtfs)
$(conf_softmmu vnc)
$(conf_softmmu vte)
$(conf_softmmu xen)
$(conf_softmmu xen xen-pci-passthrough)
$(conf_softmmu xfs xfsctl)
)
case ${buildtype} in
user)
conf_opts+=(
--enable-linux-user
--disable-system
--disable-blobs
--disable-tools
)
;;
softmmu)
# audio options
local audio_opts="oss"
use alsa && audio_opts="alsa,${audio_opts}"
use sdl && audio_opts="sdl,${audio_opts}"
use pulseaudio && audio_opts="pa,${audio_opts}"
conf_opts+=(
--disable-linux-user
--enable-system
--with-system-pixman
--audio-drv-list="${audio_opts}"
)
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--disable-blobs
)
static_flag="static"
;;
esac
local targets="${buildtype}_targets"
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
# Add support for SystemTAP
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
# We always want to attempt to build with PIE support as it results
# in a more secure binary. But it doesn't work with static or if
# the current GCC doesn't have PIE support.
if use ${static_flag}; then
conf_opts+=( --static --disable-pie )
else
gcc-specs-pie && conf_opts+=( --enable-pie )
fi
echo "../configure ${conf_opts[*]}"
cd "${builddir}"
../configure "${conf_opts[@]}" || die "configure failed"
# FreeBSD's kernel does not support QEMU assigning/grabbing
# host USB devices yet
use kernel_FreeBSD && \
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
}
src_configure() {
local target
python_setup
softmmu_targets= softmmu_bins=()
user_targets= user_bins=()
for target in ${IUSE_SOFTMMU_TARGETS} ; do
if use "qemu_softmmu_targets_${target}"; then
softmmu_targets+=",${target}-softmmu"
softmmu_bins+=( "qemu-system-${target}" )
fi
done
for target in ${IUSE_USER_TARGETS} ; do
if use "qemu_user_targets_${target}"; then
user_targets+=",${target}-linux-user"
user_bins+=( "qemu-${target}" )
fi
done
softmmu_targets=${softmmu_targets#,}
user_targets=${user_targets#,}
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
[[ -n ${user_targets} ]] && qemu_src_configure "user"
[[ -z ${softmmu_targets}${user_targets} ]] && qemu_src_configure "tools"
}
src_compile() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
default
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
default
fi
if [[ -z ${softmmu_targets}${user_targets} ]]; then
cd "${S}/tools-build"
default
fi
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
pax-mark m */qemu-system-* #515550
emake -j1 check
emake -j1 check-report.html
fi
}
qemu_python_install() {
python_domodule "${S}/scripts/qmp/qmp.py"
python_doscript "${S}/scripts/kvm/kvm_stat"
python_doscript "${S}/scripts/kvm/vmxcap"
python_doscript "${S}/scripts/qmp/qmp-shell"
python_doscript "${S}/scripts/qmp/qemu-ga-client"
}
src_install() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
emake DESTDIR="${ED}" install
# Install binfmt handler init script for user targets
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
emake DESTDIR="${ED}" install
# This might not exist if the test failed. #512010
[[ -e check-report.html ]] && dohtml check-report.html
if use kernel_linux; then
udev_dorules "${FILESDIR}"/65-kvm.rules
fi
if use python; then
python_foreach_impl qemu_python_install
fi
fi
if [[ -z ${softmmu_targets}${user_targets} ]]; then
cd "${S}/tools-build"
emake DESTDIR="${ED}" install
fi
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
pushd "${ED}"/usr/bin >/dev/null
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
popd >/dev/null
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
# Remove the docdir placed qmp-commands.txt
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/" || die
cd "${S}"
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
dodoc docs/qmp-*.txt
if [[ -n ${softmmu_targets} ]]; then
# Remove SeaBIOS since we're using the SeaBIOS packaged one
rm "${ED}/usr/share/qemu/bios.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
fi
# Remove vgabios since we're using the vgabios packaged one
rm "${ED}/usr/share/qemu/vgabios.bin"
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
dosym ../vgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
fi
# Remove sgabios since we're using the sgabios packaged one
rm "${ED}/usr/share/qemu/sgabios.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
fi
# Remove iPXE since we're using the iPXE packaged one
rm "${ED}"/usr/share/qemu/pxe-*.rom
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
fi
fi
qemu_support_kvm && readme.gentoo_create_doc
}
pkg_postinst() {
if qemu_support_kvm; then
readme.gentoo_print_elog
fi
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
udev_reload
fi
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
}
pkg_info() {
echo "Using:"
echo " $(best_version app-emulation/spice-protocol)"
echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/seabios)"
if has_version 'sys-firmware/seabios[binary]'; then
echo " USE=binary"
else
echo " USE=''"
fi
echo " $(best_version sys-firmware/vgabios)"
}

@ -1,2 +1,3 @@
DIST fcitx-qt5-1.0.2.tar.xz 53324 SHA256 b8073f07d9384878c616f6d2cea44fc739a3b5731b95b10b3133e0914d49f66d SHA512 f7075d5334e29fd00c54563182c9cc4027011503aa14d577aa2fb75eb8558c385d91c939f1f21e51850c9c64fc5c396aad5b32fdcc8ddd99c46ec74bd577255d WHIRLPOOL 35ae384cf13fdfdb86c34b7dbefbbe780a2c20ac220868824e25a0ba4368581c19d45cbc9447e1c2dd3236b0758ee9e4311dab1f348a524ca2d002d0b43c760c
DIST fcitx-qt5-1.0.4.tar.xz 53552 SHA256 b42a428008d9bf3a5d9140d63c9a475386480d598bb9ce3b78fad43879a50d1c SHA512 f5a2d3ed30bbbb8da3687dc12dd5be3038242ba40e6bef48483931aacfd9f200db9d24d0df03cb93058eedb3941ef6ecb92d874040eb60742f60a44beda77868 WHIRLPOOL c1dcf45eed09625721c175b1b09724f1f9934cb8cb3413df811009815d4231d2758c54a7b346cb29910c0ce156eb9906136d471359566eb288438cc1f5466710
DIST fcitx-qt5-1.0.5.tar.xz 53584 SHA256 8cef90024ca84c3f607943b91f6bfe63fd077507bbe100e5a1936464095841de SHA512 f4da9ede8918cef7aa0dbacea534ab81024e3c6d812bedd287c4c4c9a8b9ca994d4708489c602967f3504ce057ec6e118674503f5d796883f1890e8ecc11c501 WHIRLPOOL 764190a5f523fc40ca5f937704d5bc1a7018232284f50b9b1b6a36b5dd41dfbebda5db337bdc49b08e601e94f51935f2a70d96dddbd4091744ec8c89a77f26b0

@ -0,0 +1,44 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit cmake-utils
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/fcitx-qt5"
fi
DESCRIPTION="Fcitx input method module for Qt 5"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx-qt5"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}.tar.xz"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
# Private headers of dev-qt/qtgui:5 used.
RDEPEND=">=app-i18n/fcitx-4.2.8
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5=
dev-qt/qtwidgets:5
virtual/libintl
x11-libs/libxkbcommon"
DEPEND="${RDEPEND}
kde-frameworks/extra-cmake-modules:5
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${P}-ucs4.patch"
)
DOCS=()

@ -0,0 +1,40 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit cmake-utils
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/fcitx-qt5"
fi
DESCRIPTION="Fcitx input method module for Qt 5"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx-qt5"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}.tar.xz"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS=""
IUSE=""
# Private headers of dev-qt/qtgui:5 used.
RDEPEND=">=app-i18n/fcitx-4.2.8
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5=
dev-qt/qtwidgets:5
virtual/libintl
x11-libs/libxkbcommon"
DEPEND="${RDEPEND}
kde-frameworks/extra-cmake-modules:5
virtual/pkgconfig"
DOCS=()

@ -0,0 +1,86 @@
https://github.com/fcitx/fcitx-qt5/commit/31ecc9f2f9c8eb77082044944bbb6740d35ae7c3
https://github.com/fcitx/fcitx-qt5/commit/8fc110e6125d85d3c50112bc20a6ed36395b2b21
--- platforminputcontext/qfcitxplatforminputcontext.cpp
+++ platforminputcontext/qfcitxplatforminputcontext.cpp
@@ -254,6 +254,12 @@
anchor = var2.toInt();
else
anchor = cursor;
+
+ // adjust it to real character size
+ QVector<uint> tempUCS4 = text.leftRef(cursor).toUcs4();
+ cursor = tempUCS4.size();
+ tempUCS4 = text.leftRef(anchor).toUcs4();
+ anchor = tempUCS4.size();
if (data.surroundingText != text) {
data.surroundingText = text;
proxy->SetSurroundingText(text, cursor, anchor);
@@ -388,6 +394,7 @@
delete data.proxy;
}
data.proxy = new FcitxQtInputContextProxy(m_connection->serviceName(), path, *m_connection->connection(), this);
+ data.proxy->setProperty("icData", qVariantFromValue(static_cast<void*>(&data)));
connect(data.proxy, SIGNAL(CommitString(QString)), this, SLOT(commitString(QString)));
connect(data.proxy, SIGNAL(ForwardKey(uint, uint, int)), this, SLOT(forwardKey(uint, uint, int)));
connect(data.proxy, SIGNAL(UpdateFormattedPreedit(FcitxQtFormattedPreeditList,int)), this, SLOT(updateFormattedPreedit(FcitxQtFormattedPreeditList,int)));
@@ -480,15 +487,56 @@
update(Qt::ImCursorRectangle);
}
-void QFcitxPlatformInputContext::deleteSurroundingText(int offset, uint nchar)
+void QFcitxPlatformInputContext::deleteSurroundingText(int offset, uint _nchar)
{
QObject *input = qApp->focusObject();
if (!input)
return;
QInputMethodEvent event;
- event.setCommitString("", offset, nchar);
- QCoreApplication::sendEvent(input, &event);
+
+ FcitxQtInputContextProxy *proxy = qobject_cast<FcitxQtInputContextProxy*>(sender());
+ if (!proxy) {
+ return;
+ }
+
+ FcitxQtICData *data = static_cast<FcitxQtICData*>(proxy->property("icData").value<void *>());
+ QVector<uint> ucsText = data->surroundingText.toUcs4();
+
+ int cursor = data->surroundingCursor;
+ // make nchar signed so we are safer
+ int nchar = _nchar;
+ // Qt's reconvert semantics is different from gtk's. It doesn't count the current
+ // selection. Discard selection from nchar.
+ if (data->surroundingAnchor < data->surroundingCursor) {
+ nchar -= data->surroundingCursor - data->surroundingAnchor;
+ offset += data->surroundingCursor - data->surroundingAnchor;
+ cursor = data->surroundingAnchor;
+ } else if (data->surroundingAnchor > data->surroundingCursor) {
+ nchar -= data->surroundingAnchor - data->surroundingCursor;
+ cursor = data->surroundingCursor;
+ }
+
+ // validates
+ if (nchar >= 0 && cursor + offset >= 0 && cursor + offset + nchar < ucsText.size()) {
+ // order matters
+ QVector<uint> replacedChars = ucsText.mid(cursor + offset, nchar);
+ nchar = QString::fromUcs4(replacedChars.data(), replacedChars.size()).size();
+
+ int start, len;
+ if (offset >= 0) {
+ start = cursor;
+ len = offset;
+ } else {
+ start = cursor;
+ len = -offset;
+ }
+
+ QVector<uint> prefixedChars = ucsText.mid(start, len);
+ offset = QString::fromUcs4(prefixedChars.data(), prefixedChars.size()).size() * (offset >= 0 ? 1 : -1);
+ event.setCommitString("", offset, nchar);
+ QCoreApplication::sendEvent(input, &event);
+ }
}
void QFcitxPlatformInputContext::forwardKey(uint keyval, uint state, int type)

@ -1,4 +1,5 @@
DIST fcitx-4.2.7_dict.tar.xz 8546416 SHA256 0c902617581f04eb0d337634b0bf2b39956abbcc949512cc79d4ee24cfc9dbb5 SHA512 e5d8eb55f644250197e69315ad02b9f6bc84e697b23c20c01a731f98ce8b1a16d764a58b1e1047d45b8decb6be33144707c2a52fc427e6338d8b8186cd4da074 WHIRLPOOL e344bc92a84940d3c885d1ae87a2fc83c95d6cb0f0e95eed76078e996c4a00df82a0c09c4540771f628928db1716f90d50d04469f2c0f2d5c17b5048fbf2d482
DIST fcitx-4.2.8.5_dict.tar.xz 8696468 SHA256 fe3d6f57805fc61130f8254f19a86fe3baa0f405406414ca2e94bcf86d3d1b72 SHA512 ee6612a34087135065537fa14f09078bad9f029f69b636fb2221193f23d86c5431a9d8a848b264bdcb259680f6bda41d08d58dcf67d19e5a200cb11fa4a26ffe WHIRLPOOL 0a394d5aaa53819bbab66b32e7ae5896187bc45fad146c7eef4ab75640e5c6670cf811bec87e482bb3516b30e1ce28f2cefa91c10838092f9329b1101b5c70db
DIST fcitx-4.2.8.6_dict.tar.xz 8694328 SHA256 91034e9ef976bbe2649a96b67adf0c133d64e2c0d53be440cc40a4370569d597 SHA512 822e448932e735fe3087384eaf91c6b029b06d3461aa3798501bfbf8f79b8ebc5ea3ac57f01ec32674cc3cb74fcb34b6e285ef265bb49be54543f34dcaf624e4 WHIRLPOOL df24b3b6bbe18a8498732b27817caef6c28278bddd6acfbe49edd9a63d8f33b09ba93ff0bd144e1c1d3b9b9c8079a35a8a047ebf9b361b4f173ec9b23138042e
DIST fcitx-4.2.9.1_dict.tar.xz 8684772 SHA256 5337c8226417a1d4e6f88b3b1048aa73695d281ed483568a7b6a9ee849ad6c77 SHA512 5d3b669ed97423f976116385571d07f832e9e18007e6a3c2aef12957219739a81fbf2343825fea4a1b01a83a6bf9e40e9ffa88466c651876602517c6da1fb25d WHIRLPOOL 02b2ff1b0c33b1f2c0461988bc3323ca27ba565a0d8a1f49b96aaceac857c07365aaaee0048d470dea82e60857bedf59ef8c60d3cdfa14a2ff074216d5cdc16d
DIST fcitx-4.2.9_dict.tar.xz 8675292 SHA256 3a935b7098fe573b126f8e393d93bccc6d4e4e9988830430fa9b1c87876bfc6c SHA512 4bad2efc283858bf9af7f7f283f7beefb210aa361ff034464ff97ea0e536f084c99d876f3595a5375114b68cd51714bd0b5c622a53efc57154a4e629fd416093 WHIRLPOOL 520a6f41a68fd5dbd4b00eb5de5ed2aea0801adc9dd64449e36c442311c9c85bdd28f1d5f79917e99b7fff2f8372bed9bb780fdda7d6d16cf528e5c1a6a0914f

@ -0,0 +1,147 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit cmake-utils gnome2-utils multilib xdg
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/fcitx"
fi
DESCRIPTION="Fcitx (Flexible Context-aware Input Tool with eXtension) input method framework"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}_dict.tar.xz"
fi
LICENSE="GPL-2+ LGPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+X +autostart +cairo +dbus debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml"
REQUIRED_USE="autostart? ( dbus ) cairo? ( X ) gtk2? ( dbus ) gtk3? ( dbus ) introspection? ( dbus ) pango? ( cairo ) qt4? ( X dbus )"
RDEPEND="virtual/libiconv
virtual/libintl
x11-libs/libxkbcommon
X? (
x11-libs/libX11
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libXrender
xml? ( x11-libs/libxkbfile )
)
cairo? (
dev-libs/glib:2
x11-libs/cairo[X]
x11-libs/libXext
pango? ( x11-libs/pango )
!pango? ( media-libs/fontconfig )
)
dbus? ( sys-apps/dbus )
enchant? ( app-text/enchant )
gtk2? (
dev-libs/glib:2
x11-libs/gtk+:2
)
gtk3? (
dev-libs/glib:2
x11-libs/gtk+:3
)
introspection? (
dev-libs/glib:2
dev-libs/gobject-introspection
)
lua? ( dev-lang/lua:= )
nls? ( sys-devel/gettext )
opencc? ( app-i18n/opencc )
qt4? (
dev-qt/qtcore:4
dev-qt/qtdbus:4
dev-qt/qtgui:4
)
xml? (
app-text/iso-codes
dev-libs/libxml2
)"
DEPEND="${RDEPEND}
kde-frameworks/extra-cmake-modules:5
virtual/pkgconfig"
DOCS=(AUTHORS ChangeLog THANKS)
PATCHES=(
"${FILESDIR}/${P}-tray_icon.patch"
"${FILESDIR}/${P}-qt-4_ucs4.patch"
)
src_prepare() {
# https://github.com/fcitx/fcitx/issues/250
sed \
-e "/find_package(XkbFile REQUIRED)/i\\ if(ENABLE_X11)" \
-e "/find_package(XkbFile REQUIRED)/s/^/ /" \
-e "/find_package(XkbFile REQUIRED)/a\\ endif(ENABLE_X11)" \
-i CMakeLists.txt
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
-DSYSCONFDIR="${EPREFIX}/etc"
-DENABLE_CAIRO=$(usex cairo)
-DENABLE_DBUS=$(usex dbus)
-DENABLE_DEBUG=$(usex debug)
-DENABLE_ENCHANT=$(usex enchant)
-DENABLE_GETTEXT=$(usex nls)
-DENABLE_GIR=$(usex introspection)
-DENABLE_GLIB2=$(if use cairo || use gtk2 || use gtk3 || use introspection; then echo yes; else echo no; fi)
-DENABLE_GTK2_IM_MODULE=$(usex gtk2)
-DENABLE_GTK3_IM_MODULE=$(usex gtk3)
-DENABLE_LIBXML2=$(usex xml)
-DENABLE_LUA=$(usex lua)
-DENABLE_OPENCC=$(usex opencc)
-DENABLE_PANGO=$(usex pango)
-DENABLE_QT=$(usex qt4)
-DENABLE_QT_GUI=$(usex qt4)
-DENABLE_QT_IM_MODULE=$(usex qt4)
-DENABLE_SNOOPER=$(if use gtk2 || use gtk3; then echo yes; else echo no; fi)
-DENABLE_STATIC=$(usex static-libs)
-DENABLE_TABLE=$(usex table)
-DENABLE_TEST=$(usex test)
-DENABLE_X11=$(usex X)
-DENABLE_XDGAUTOSTART=$(usex autostart)
)
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
rm -r "${ED}usr/share/doc/${PN}"
}
pkg_preinst() {
gnome2_icon_savelist
xdg_pkg_preinst
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_pkg_postinst
use gtk2 && gnome2_query_immodules_gtk2
use gtk3 && gnome2_query_immodules_gtk3
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_pkg_postrm
use gtk2 && gnome2_query_immodules_gtk2
use gtk3 && gnome2_query_immodules_gtk3
}

@ -0,0 +1,142 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit cmake-utils gnome2-utils multilib xdg
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/fcitx"
fi
DESCRIPTION="Fcitx (Flexible Context-aware Input Tool with eXtension) input method framework"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}_dict.tar.xz"
fi
LICENSE="GPL-2+ LGPL-2+"
SLOT="0"
KEYWORDS=""
IUSE="+X +autostart +cairo +dbus debug +enchant gtk2 gtk3 +introspection lua nls opencc +pango qt4 static-libs +table test +xml"
REQUIRED_USE="autostart? ( dbus ) cairo? ( X ) gtk2? ( dbus ) gtk3? ( dbus ) introspection? ( dbus ) pango? ( cairo ) qt4? ( X dbus )"
RDEPEND="virtual/libiconv
virtual/libintl
x11-libs/libxkbcommon
X? (
x11-libs/libX11
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libXrender
xml? ( x11-libs/libxkbfile )
)
cairo? (
dev-libs/glib:2
x11-libs/cairo[X]
x11-libs/libXext
pango? ( x11-libs/pango )
!pango? ( media-libs/fontconfig )
)
dbus? ( sys-apps/dbus )
enchant? ( app-text/enchant )
gtk2? (
dev-libs/glib:2
x11-libs/gtk+:2
)
gtk3? (
dev-libs/glib:2
x11-libs/gtk+:3
)
introspection? (
dev-libs/glib:2
dev-libs/gobject-introspection
)
lua? ( dev-lang/lua:= )
nls? ( sys-devel/gettext )
opencc? ( app-i18n/opencc )
qt4? (
dev-qt/qtcore:4
dev-qt/qtdbus:4
dev-qt/qtgui:4
)
xml? (
app-text/iso-codes
dev-libs/libxml2
)"
DEPEND="${RDEPEND}
kde-frameworks/extra-cmake-modules:5
virtual/pkgconfig"
DOCS=(AUTHORS ChangeLog THANKS)
src_prepare() {
# https://github.com/fcitx/fcitx/issues/250
sed \
-e "/find_package(XkbFile REQUIRED)/i\\ if(ENABLE_X11)" \
-e "/find_package(XkbFile REQUIRED)/s/^/ /" \
-e "/find_package(XkbFile REQUIRED)/a\\ endif(ENABLE_X11)" \
-i CMakeLists.txt
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
-DSYSCONFDIR="${EPREFIX}/etc"
-DENABLE_CAIRO=$(usex cairo)
-DENABLE_DBUS=$(usex dbus)
-DENABLE_DEBUG=$(usex debug)
-DENABLE_ENCHANT=$(usex enchant)
-DENABLE_GETTEXT=$(usex nls)
-DENABLE_GIR=$(usex introspection)
-DENABLE_GLIB2=$(if use cairo || use gtk2 || use gtk3 || use introspection; then echo yes; else echo no; fi)
-DENABLE_GTK2_IM_MODULE=$(usex gtk2)
-DENABLE_GTK3_IM_MODULE=$(usex gtk3)
-DENABLE_LIBXML2=$(usex xml)
-DENABLE_LUA=$(usex lua)
-DENABLE_OPENCC=$(usex opencc)
-DENABLE_PANGO=$(usex pango)
-DENABLE_QT=$(usex qt4)
-DENABLE_QT_GUI=$(usex qt4)
-DENABLE_QT_IM_MODULE=$(usex qt4)
-DENABLE_SNOOPER=$(if use gtk2 || use gtk3; then echo yes; else echo no; fi)
-DENABLE_STATIC=$(usex static-libs)
-DENABLE_TABLE=$(usex table)
-DENABLE_TEST=$(usex test)
-DENABLE_X11=$(usex X)
-DENABLE_XDGAUTOSTART=$(usex autostart)
)
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
rm -r "${ED}usr/share/doc/${PN}"
}
pkg_preinst() {
gnome2_icon_savelist
xdg_pkg_preinst
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_pkg_postinst
use gtk2 && gnome2_query_immodules_gtk2
use gtk3 && gnome2_query_immodules_gtk3
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_pkg_postrm
use gtk2 && gnome2_query_immodules_gtk2
use gtk3 && gnome2_query_immodules_gtk3
}

@ -0,0 +1,95 @@
https://github.com/fcitx/fcitx/commit/14faccfbb0d87e06c25d182ae842808d18be3dc7
https://github.com/fcitx/fcitx/commit/216a09e3ec056f272eebfbe82809b803d86012cb
--- src/frontend/qt/qfcitxinputcontext.cpp
+++ src/frontend/qt/qfcitxinputcontext.cpp
@@ -232,6 +232,20 @@
anchor = var2.toInt();
else
anchor = cursor;
+
+ // adjust it to real character size
+ // QTBUG-25536;
+ QVector<uint> tempUCS4 = text.leftRef(cursor).toUcs4();
+ while (!tempUCS4.empty() && tempUCS4.last() == 0) {
+ tempUCS4.pop_back();
+ }
+ cursor = tempUCS4.size();
+ tempUCS4 = text.leftRef(anchor).toUcs4();
+ while (!tempUCS4.empty() && tempUCS4.last() == 0) {
+ tempUCS4.pop_back();
+ }
+ anchor = tempUCS4.size();
+
if (data->surroundingText != text) {
data->surroundingText = text;
proxy->SetSurroundingText(text, cursor, anchor);
@@ -581,6 +595,7 @@
delete data->proxy;
}
data->proxy = new FcitxQtInputContextProxy(m_connection->serviceName(), path, *m_connection->connection(), this);
+ data->proxy->setProperty("icData", qVariantFromValue(static_cast<void*>(data)));
connect(data->proxy, SIGNAL(CommitString(QString)), this, SLOT(commitString(QString)));
connect(data->proxy, SIGNAL(ForwardKey(uint, uint, int)), this, SLOT(forwardKey(uint, uint, int)));
connect(data->proxy, SIGNAL(UpdateFormattedPreedit(FcitxQtFormattedPreeditList,int)), this, SLOT(updateFormattedPreedit(FcitxQtFormattedPreeditList,int)));
@@ -680,11 +695,57 @@
sendEvent(event);
}
-void QFcitxInputContext::deleteSurroundingText(int offset, uint nchar)
+void QFcitxInputContext::deleteSurroundingText(int offset, uint _nchar)
{
QInputMethodEvent event;
- event.setCommitString("", offset, nchar);
- sendEvent(event);
+
+ FcitxQtInputContextProxy *proxy = qobject_cast<FcitxQtInputContextProxy*>(sender());
+ if (!proxy) {
+ return;
+ }
+
+ FcitxQtICData *data = static_cast<FcitxQtICData*>(proxy->property("icData").value<void *>());
+ QVector<uint> ucsText = data->surroundingText.toUcs4();
+
+ // QTBUG-25536
+ while (!ucsText.empty() && ucsText.last() == 0) {
+ ucsText.pop_back();
+ }
+
+ int cursor = data->surroundingCursor;
+ // make nchar signed so we are safer
+ int nchar = _nchar;
+ // Qt's reconvert semantics is different from gtk's. It doesn't count the current
+ // selection. Discard selection from nchar.
+ if (data->surroundingAnchor < data->surroundingCursor) {
+ nchar -= data->surroundingCursor - data->surroundingAnchor;
+ offset += data->surroundingCursor - data->surroundingAnchor;
+ cursor = data->surroundingAnchor;
+ } else if (data->surroundingAnchor > data->surroundingCursor) {
+ nchar -= data->surroundingAnchor - data->surroundingCursor;
+ cursor = data->surroundingCursor;
+ }
+
+ // validates
+ if (nchar >= 0 && cursor + offset >= 0 && cursor + offset + nchar < ucsText.size()) {
+ // order matters
+ QVector<uint> replacedChars = ucsText.mid(cursor + offset, nchar);
+ nchar = QString::fromUcs4(replacedChars.data(), replacedChars.size()).size();
+
+ int start, len;
+ if (offset >= 0) {
+ start = cursor;
+ len = offset;
+ } else {
+ start = cursor;
+ len = -offset;
+ }
+
+ QVector<uint> prefixedChars = ucsText.mid(start, len);
+ offset = QString::fromUcs4(prefixedChars.data(), prefixedChars.size()).size() * (offset >= 0 ? 1 : -1);
+ event.setCommitString("", offset, nchar);
+ sendEvent(event);
+ }
}
void QFcitxInputContext::forwardKey(uint keyval, uint state, int type)

@ -0,0 +1,145 @@
https://github.com/fcitx/fcitx/issues/241
https://github.com/fcitx/fcitx/commit/c737618fffa84bfe5a6caf55cee9b9288a791bbf
https://github.com/fcitx/fcitx/commit/353683e29be4ef26409b9a05e0cb647a5180fa8c
https://github.com/fcitx/fcitx/commit/fe2732db27a1c2e183400ceeb3283559e10a4ca8
https://github.com/fcitx/fcitx/commit/440c431d29876a8e4871159d289bc9a573f9a41b
--- src/module/notificationitem/notificationitem.c
+++ src/module/notificationitem/notificationitem.c
@@ -565,8 +565,17 @@
boolean FcitxNotificationItemEnable(FcitxNotificationItem* notificationitem, FcitxNotificationItemAvailableCallback callback, void* data)
{
- if (!callback || notificationitem->callback)
+ if (!callback)
return false;
+
+ if (notificationitem->callback == callback) {
+ return true;
+ }
+
+ if (notificationitem->callback) {
+ return false;
+ }
+
if (notificationitem->serviceName) {
FcitxLog(ERROR, "This should not happen, please report bug.");
return false;
--- src/ui/classic/TrayWindow.c
+++ src/ui/classic/TrayWindow.c
@@ -48,7 +48,7 @@
Display *dpy = classicui->dpy;
int iScreen = classicui->iScreen;
char strWindowName[] = "Fcitx Tray Window";
- if (!classicui->bUseTrayIcon || classicui->isSuspend)
+ if (!classicui->bUseTrayIcon || classicui->isSuspend || classicui->notificationItemAvailable)
return;
if (trayWindow->window == None && trayWindow->dockWindow != None) {
@@ -61,12 +61,12 @@
wsa.colormap = colormap;
wsa.background_pixel = 0;
wsa.border_pixel = 0;
- trayWindow->window = XCreateWindow(dpy, p, -1, -1, 1, 1,
+ trayWindow->window = XCreateWindow(dpy, p, -1, -1, 22, 22,
0, vi->depth, InputOutput, vi->visual,
CWBackPixmap | CWBackPixel | CWBorderPixel | CWColormap, &wsa);
} else {
trayWindow->window = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy),
- -1, -1, 1, 1, 0,
+ -1, -1, 22, 22, 0,
BlackPixel(dpy, DefaultScreen(dpy)),
WhitePixel(dpy, DefaultScreen(dpy)));
XSetWindowBackgroundPixmap(dpy, trayWindow->window, ParentRelative);
@@ -74,6 +74,7 @@
if (trayWindow->window == (Window) NULL)
return;
+ trayWindow->size = 22;
XSizeHints size_hints;
size_hints.flags = PWinGravity | PBaseSize;
size_hints.base_width = trayWindow->size;
@@ -161,7 +162,7 @@
png_surface = image->image;
c = cairo_create(trayWindow->cs);
- cairo_set_source_rgba(c, 0, 0, 0, 0);
+ cairo_set_source_rgba(c, 1, 1, 1, 0);
cairo_set_operator(c, CAIRO_OPERATOR_SOURCE);
cairo_paint(c);
@@ -226,8 +227,6 @@
if (event->xclient.message_type == trayWindow->atoms[ATOM_MANAGER]
&& event->xclient.data.l[1] == trayWindow->atoms[ATOM_SELECTION]
&& trayWindow->dockWindow == None) {
- if (classicui->notificationItemAvailable)
- return true;
trayWindow->dockWindow = event->xclient.data.l[2];
TrayWindowRelease(trayWindow);
TrayWindowInit(trayWindow);
@@ -245,6 +244,7 @@
int size = event->xconfigure.height;
if (size != trayWindow->size) {
trayWindow->size = size;
+ XResizeWindow(dpy, trayWindow->window, size, size);
XSizeHints size_hints;
size_hints.flags = PWinGravity | PBaseSize;
size_hints.base_width = trayWindow->size;
@@ -286,6 +286,14 @@
return true;
}
break;
+ case PropertyNotify:
+ if (event->xproperty.atom == trayWindow->atoms[ATOM_VISUAL] &&
+ event->xproperty.window == trayWindow->dockWindow) {
+ TrayWindowRelease(trayWindow);
+ TrayWindowInit(trayWindow);
+ return true;
+ }
+ break;
}
return false;
}
--- src/ui/classic/classicui.c
+++ src/ui/classic/classicui.c
@@ -168,7 +168,7 @@
void ClassicUIDelayedInitTray(void* arg) {
FcitxClassicUI* classicui = (FcitxClassicUI*) arg;
// FcitxLog(INFO, "yeah we delayed!");
- if (!classicui->bUseTrayIcon)
+ if (!classicui->bUseTrayIcon || classicui->isSuspend)
return;
/*
* if this return false, something wrong happened and callback
@@ -187,7 +187,7 @@
{
FcitxClassicUI* classicui = (FcitxClassicUI*) arg;
classicui->trayTimeout = 0;
- if (!classicui->bUseTrayIcon)
+ if (!classicui->bUseTrayIcon || classicui->isSuspend)
return;
if (!classicui->trayWindow->bTrayMapped) {
--- src/ui/classic/tray.c
+++ src/ui/classic/tray.c
@@ -106,8 +106,9 @@
XWindowAttributes attr;
XGetWindowAttributes(dpy, DefaultRootWindow(dpy), &attr);
- if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) {
- XSelectInput(dpy, DefaultRootWindow(dpy), attr.your_event_mask | StructureNotifyMask); // for MANAGER selection
+ int neededMask = StructureNotifyMask;
+ if ((attr.your_event_mask & neededMask) != neededMask) {
+ XSelectInput(dpy, DefaultRootWindow(dpy), attr.your_event_mask | neededMask); // for MANAGER selection
}
return True;
}
@@ -123,7 +124,7 @@
Display* dpy = tray->owner->dpy;
if (tray->dockWindow != None) {
- XSelectInput(dpy, tray->dockWindow, StructureNotifyMask);
+ XSelectInput(dpy, tray->dockWindow, PropertyChangeMask | StructureNotifyMask);
TraySendOpcode(tray, SYSTEM_TRAY_REQUEST_DOCK, tray->window, 0, 0);
tray->bTrayMapped = True;
return 1;

@ -10,15 +10,16 @@
<name>Cjk</name>
</maintainer>
<use>
<flag name="autostart">Enable xdg-compatible autostart of fcitx</flag>
<flag name="enchant">Use <pkg>app-text/enchant</pkg> for text prediction</flag>
<flag name="introspection">Enable GObject Introspection</flag>
<flag name="gtk">Install GTK2 IM module</flag>
<flag name="gtk3">Install GTK3 IM module</flag>
<flag name="opencc">Enable OpenCC for Chinese Transform</flag>
<flag name="autostart">Enable XDG-compatible autostart of Fcitx</flag>
<flag name="enchant">Enable Enchant backend (using <pkg>app-text/enchant</pkg>) for spelling hinting</flag>
<flag name="introspection">Enable support for GObject Introspection</flag>
<flag name="gtk">Install input method module for GTK+ 2</flag>
<flag name="gtk2">Install input method module for GTK+ 2</flag>
<flag name="gtk3">Install input method module for GTK+ 3</flag>
<flag name="opencc">Enable OpenCC engine (using <pkg>app-i18n/opencc</pkg>) for converter between Simplified Chinese and Traditional Chinese</flag>
<flag name="pango">Enable support for <pkg>x11-libs/pango</pkg></flag>
<flag name="qt4">Install Qt4 IM module</flag>
<flag name="snooper">Enable Key Snooper for GTK app</flag>
<flag name="table">Enable Table IM</flag>
<flag name="qt4">Install input method module for Qt 4</flag>
<flag name="snooper">Enable key snooper for GTK+ applications</flag>
<flag name="table">Install table input methods for Simplified Chinese</flag>
</use>
</pkgmetadata>

@ -2,3 +2,4 @@ DIST kcm-fcitx-0.4.2.tar.xz 63796 SHA256 f681c1a4172b74a63c36094f860eff4ea778422
DIST kcm-fcitx-0.4.3.tar.xz 56864 SHA256 b7e9ad4569c0940f9654d58de1f13281fcbcab56febbd346951edcfa0a86e208 SHA512 d311699a5d99f75d353899b7fba0a950491ee8b891724b855033449900ec4b3db9408bb1b80e60ceb0dbb0ce91072162062261a497f83a2a683214b71c3f4713 WHIRLPOOL 04aec049436a120362d02ba900a0d8639feb359b4cc6b99a871c7ffa8d9660270c321828b8660c718890a7f0ea308ea584711ed712762aab712fe8d7e72a205a
DIST kcm-fcitx-0.5.0.tar.xz 55964 SHA256 079b309aea4b354d081d45d3dde6d754b24717eb7653344055633453cb328b33 SHA512 219b962c4b6f1763b389dc20d22a671d960a884f5c3f0faddbd4919b61dd6d93e600cbf440b15bc42f63cb383ed5ca65e657fa835c520196c8bd9d64a160baa3 WHIRLPOOL df9db7b5198130409986c4805a7771b6df4bd44d532071499ec6eb522af7bfdd9d576fbdf3664720e47a02a57e35409c69fff962152423ac59bab71d8c1e0947
DIST kcm-fcitx-0.5.2.tar.xz 55936 SHA256 348b7afd18670c0879e616d6e097c2d8b033d1a7f5abbc3b75876953bd67f504 SHA512 9418001ad92ada2e7c48c426b24b6babebb3e41510c9ff2aac01e25f84f79cd02a3e413267a31feb677beca51070a4ca55f5d64bd103ddd9ab7853f207370882 WHIRLPOOL 8ca8032ea4b50228ea33189d7afac160cc04882c2ac7403de8cb244b39feddfb89019b4ab4a6caf67b2a9d40c2a9b97cdee0832c5beec4c108b67bc35f0b5923
DIST kcm-fcitx-0.5.3.tar.xz 57488 SHA256 f2de5fa4e31a96fea059e4d390c6f1d6fdc98af572c19a0e84cf6181da7c2935 SHA512 19d172cbf1d2a13f289b64b67488ddc5ba83a9d26503438045271c85df3775715614951652dc6f8da52a3b9d692d6e2138a760fc51d1e7f0f8bb0bd467265496 WHIRLPOOL 7be5cfb389bfcf5f451b5619c0818afeaa7b88199375b2f5d85bdcc21b1259008a3653f1cd26e33689a9f18130bc53269dceb20fca5b64aaa8f619e06f2d413e

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -10,7 +10,7 @@ HOMEPAGE="http://fcitx-im.org/"
SRC_URI="https://fcitx.googlecode.com/files/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
SLOT="4"
KEYWORDS="amd64 ppc ~ppc64 x86"
IUSE=""

@ -1,21 +1,48 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit kde4-base
EAPI="5"
inherit cmake-utils xdg
if [[ "${PV}" =~ (^|\.)9999$ ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/kcm-fcitx"
EGIT_BRANCH="kde4"
fi
DESCRIPTION="KDE configuration module for Fcitx"
HOMEPAGE="http://fcitx-im.org/"
SRC_URI="http://download.fcitx-im.org/${PN}/${P}.tar.xz"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/kcm-fcitx"
if [[ "${PV}" =~ (^|\.)9999$ ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}.tar.xz"
fi
LICENSE="GPL-3"
SLOT="0"
LICENSE="GPL-2+"
SLOT="4"
KEYWORDS="amd64 ~ppc ppc64 ~x86"
IUSE=""
IUSE="minimal"
RDEPEND=">=app-i18n/fcitx-4.2.8[qt4]
RDEPEND=">=app-i18n/fcitx-4.2.8[dbus,qt4]
dev-qt/qtcore:4
dev-qt/qtdbus:4
dev-qt/qtgui:4
kde-base/kdelibs:4
virtual/libintl
x11-libs/libX11
x11-libs/libxkbfile"
DEPEND="${RDEPEND}
dev-util/automoc
sys-devel/gettext
virtual/pkgconfig"
src_prepare() {
if use minimal; then
cmake_comment_add_subdirectory po
fi
cmake-utils_src_prepare
}

@ -0,0 +1,48 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit cmake-utils xdg
if [[ "${PV}" =~ (^|\.)9999$ ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/kcm-fcitx"
EGIT_BRANCH="kde4"
fi
DESCRIPTION="KDE configuration module for Fcitx"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/kcm-fcitx"
if [[ "${PV}" =~ (^|\.)9999$ ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}.tar.xz"
fi
LICENSE="GPL-2+"
SLOT="4"
KEYWORDS=""
IUSE="minimal"
RDEPEND=">=app-i18n/fcitx-4.2.8[dbus,qt4]
dev-qt/qtcore:4
dev-qt/qtdbus:4
dev-qt/qtgui:4
kde-base/kdelibs:4
virtual/libintl
x11-libs/libX11
x11-libs/libxkbfile"
DEPEND="${RDEPEND}
dev-util/automoc
sys-devel/gettext
virtual/pkgconfig"
src_prepare() {
if use minimal; then
cmake_comment_add_subdirectory po
fi
cmake-utils_src_prepare
}

@ -0,0 +1,61 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit cmake-utils
if [[ "${PV}" =~ (^|\.)9999$ ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/kcm-fcitx"
fi
DESCRIPTION="KDE configuration module for Fcitx"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/kcm-fcitx"
if [[ "${PV}" =~ (^|\.)9999$ ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}.tar.xz"
fi
LICENSE="GPL-2+"
SLOT="5"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND=">=app-i18n/fcitx-4.2.8[dbus]
app-i18n/fcitx-qt5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
kde-frameworks/kcmutils:5
kde-frameworks/kcoreaddons:5
kde-frameworks/ki18n:5
kde-frameworks/kio:5
kde-frameworks/kitemviews:5
kde-frameworks/knewstuff:5
kde-frameworks/kwidgetsaddons:5
virtual/libintl
!${CATEGORY}/${PN}:4[-minimal(-)]"
DEPEND="${RDEPEND}
kde-frameworks/extra-cmake-modules:5
sys-devel/gettext
virtual/pkgconfig"
src_prepare() {
# x11-libs/libxkbfile only used by kbd-layout-viewer not ported to Qt 5 / KDE 5.
sed -e "/find_package(XkbFile REQUIRED)/d" -i CMakeLists.txt
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DKDE_INSTALL_USE_QT_SYS_PATHS=yes
)
cmake-utils_src_configure
}

@ -0,0 +1,61 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit cmake-utils
if [[ "${PV}" =~ (^|\.)9999$ ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fcitx/kcm-fcitx"
fi
DESCRIPTION="KDE configuration module for Fcitx"
HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/kcm-fcitx"
if [[ "${PV}" =~ (^|\.)9999$ ]]; then
SRC_URI=""
else
SRC_URI="https://download.fcitx-im.org/${PN}/${P}.tar.xz"
fi
LICENSE="GPL-2+"
SLOT="5"
KEYWORDS=""
IUSE=""
RDEPEND=">=app-i18n/fcitx-4.2.8[dbus]
app-i18n/fcitx-qt5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
kde-frameworks/kcmutils:5
kde-frameworks/kcoreaddons:5
kde-frameworks/ki18n:5
kde-frameworks/kio:5
kde-frameworks/kitemviews:5
kde-frameworks/knewstuff:5
kde-frameworks/kwidgetsaddons:5
virtual/libintl
!${CATEGORY}/${PN}:4[-minimal(-)]"
DEPEND="${RDEPEND}
kde-frameworks/extra-cmake-modules:5
sys-devel/gettext
virtual/pkgconfig"
src_prepare() {
# x11-libs/libxkbfile only used by kbd-layout-viewer not ported to Qt 5 / KDE 5.
sed -e "/find_package(XkbFile REQUIRED)/d" -i CMakeLists.txt
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DKDE_INSTALL_USE_QT_SYS_PATHS=yes
)
cmake-utils_src_configure
}

@ -0,0 +1,81 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 pypy )
inherit readme.gentoo-r1 python-single-r1
DESCRIPTION="AsciiDoc is a plain text human readable/writable document format"
HOMEPAGE="http://asciidoc.org/"
SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
LICENSE="GPL-2"
SLOT="0"
IUSE="examples graphviz highlight test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND=">=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
graphviz? ( media-gfx/graphviz )
app-text/docbook-xml-dtd:4.5
highlight? ( || ( dev-util/source-highlight \
dev-python/pygments[${PYTHON_USEDEP}] \
app-text/highlight )
)
${PYTHON_DEPS}
"
DEPEND="test? ( dev-util/source-highlight
media-sound/lilypond
media-gfx/imagemagick
dev-texlive/texlive-latex
app-text/dvipng
media-gfx/graphviz
${PYTHON_DEPS} )
"
DOC_CONTENTS="
If you are going to use a2x, please also look at a2x(1) under
REQUISITES for a list of runtime dependencies.
"
src_prepare() {
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
"${S}/asciidoc.py" || die
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_install() {
emake DESTDIR="${D}" install
python_fix_shebang "${ED}"/usr/bin/*.py
readme.gentoo_create_doc
dodoc BUGS CHANGELOG README docbook-xsl/asciidoc-docbook-xsl.txt \
dblatex/dblatex-readme.txt filters/code/code-filter-readme.txt
# Below results in some files being installed twice in different locations, but they are in the right place,
# uncompressed, and there won't be any broken links. See bug #483336.
if use examples; then
cp -rL examples/website "${D}"/usr/share/doc/${PF}/examples || die
docompress -x /usr/share/doc/${PF}/examples
fi
}
src_test() {
cd tests || die
local -x ASCIIDOC_PY=../asciidoc.py
"${PYTHON}" test${PN}.py update || die
"${PYTHON}" test${PN}.py run || die
}
pkg_postinst() {
readme.gentoo_print_elog
}

@ -10,7 +10,7 @@ SRC_URI="mirror://debian/pool/main/c/console-setup/console-setup_${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
KEYWORDS="~alpha amd64 arm ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
IUSE=""
DEPEND=""

@ -13,7 +13,7 @@ HOMEPAGE="http://www.atp.ruhr-uni-bochum.de/VCLab/software/HotEqn/HotEqn.html"
SRC_URI="mirror://gentoo/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT=0
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE=""
RDEPEND="

@ -1,33 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
inherit java-pkg-2
DESCRIPTION="Java applet to view and display LaTeX mathematical equations"
HOMEPAGE="http://www.atp.ruhr-uni-bochum.de/VCLab/software/HotEqn/HotEqn.html"
SRC_URI="mirror://gentoo/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT=0
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE=""
RDEPEND=">=virtual/jre-1.4"
DEPEND=">=virtual/jdk-1.4"
src_unpack() {
unpack "${A}"
rm -v "${S}"/mHotEqn.java || die
}
src_compile() {
ejavac -nowarn -d classes $(find . -name "*.java") || die "failed to build"
jar cf ${PN}.jar -C classes . || die "failed to create jar"
}
src_install() {
java-pkg_dojar ${PN}.jar
}
pkg_postinst() {
elog "We don't currently build the browser applet part. File a bug if you need it."
}

@ -1,2 +1 @@
DIST jsr67-1.3.jar 327033 SHA256 fe2b95887477f7f39c8d3a33211c0d96cf73872364a0b0478bdaf24500be6225 SHA512 c4145e5870af677542a09a17b7b57d9e5501f6354b26743b9eb9946dbd263114eb705c023af996ddcb256961df28a7ac2420a54fcdd69f73c8595901ee21760a WHIRLPOOL 25dcffa1eb5166867158211ae209e2b24f648d6806e392b80527b8c34f4ebdec181125f80443c1b6956856b1b9c14e83a9df9a72781d14c4fb366bd3a7ae9479
DIST saaj-api.jar 18817 SHA256 d36278c49c50f1fe41c264414a1f572a6578d544b8ca89053597ecb9ca87f63e SHA512 b130ff18fcc3ab04c095ad454c82d83b2c383d4f8eb950291796d41f0f0ee7a15434de282864e778c3692cc3bdf4ab5213050a43ae10a6e308d613f9d477a813 WHIRLPOOL c5596415d9dec81e20b8c5d515388c049820e24467f40f7c0259e9d4169149f36367b1501c227adc738aebcd01ab0875925073c2467a7a6c8bc0d87a44470216

@ -17,7 +17,7 @@ SRC_URI="https://repo1.maven.org/maven2/com/sun/xml/messaging/${MY_PN%%-*}/${MY_
LICENSE="sun-jsr67"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE=""
RDEPEND="

@ -1,30 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
JAVA_PKG_IUSE=""
inherit java-pkg-2
DESCRIPTION="SAAJ 1.3 (AKA JSR-67 MR3) API"
HOMEPAGE="https://saaj.dev.java.net/spec-1.3/"
SRC_URI="https://saaj.dev.java.net/spec-${PV}/saaj-api.jar"
LICENSE="sun-jsr67"
SLOT="0"
KEYWORDS="amd64 x86 ~x86-fbsd"
IUSE=""
RDEPEND=">=virtual/jre-1.4"
DEPEND=""
S="${WORKDIR}"
src_unpack() {
:
}
src_install() {
java-pkg_newjar "${DISTDIR}/saaj-api.jar"
}

@ -4,3 +4,4 @@ DIST ekopath-2016-01-24-installer.run 57266129 SHA256 3ea7471dc29ccfd89b7a7cee78
DIST ekopath-2016-03-03-installer.run 57856781 SHA256 0db16cf44f38e170e80230e08cccd2596187c869a3cd9ec74a6c368f9f1cb617 SHA512 c7ddb516f420a2efd278472f2694cad87b6e8e956f56b48473f432cc9b3565e568713915137b980cd03e89003e80a098a29cb7f3fea93f02c590577ef521f0ba WHIRLPOOL a270e5eb8731fc5a8c536d2328b5c5d1012397df895d01009dc2d3751c0f344697069e998d51fcbc183cec719652cbfee0032b3b7ae408f5d9104376f22ddbaa
DIST ekopath-2016-03-11-installer.run 57858541 SHA256 ff4dc9eca6c877a5a28e4249b783b742f2038d9e01fd1ad795bcbd5ad0059fa2 SHA512 339dd9cd2048629c4f1ef95e062b7029094b563cba9d078bebbd2b0d584da4840e3d824203767ee820da5dbd64b31dc1297529fe59ecdd028b1bad2dd602b3ed WHIRLPOOL ea7492fac3fffd611633d8b975fe73e2dcc3869d575de2fc5f9fc0e1694400e393f04728a63f372d2fd3f18a80ccb8d23ef518627e7d9474f4859b7d181af5ea
DIST ekopath-2016-03-16-installer.run 57139166 SHA256 051f93cbb809471abc611cabc670b2d91ab2944a8f09e19ba2a64a1c99b76074 SHA512 356ffc628078e5e524ac5962b3c23c22f8d81fc5c7916ab5707755b853a27a89b7e6677b832a8cc6568499b2852c5c7916b57bad70ee3c027a595eacb4074c96 WHIRLPOOL c7d85d9c5b99b9527b6ed2aa434dac8aa90c8aaff73fa8300d67ba573b1fd0570d7ff33494a89ea20a9075557c6a1f7030efaa2b3ed86f0b70b919000177cfa1
DIST ekopath-2016-03-24-installer.run 57140247 SHA256 4a1139432cd0eba1490bab6b18cb3d227e6b6ad9eb354be22a55b6914e436220 SHA512 314fb763972d53b9e0b95e02ff542deb663743185643a20845cca3d7098a264d857c6738e59c63490d1bbe7653d7fdd3e8463087c7755c8d0ae6bd73b53c308f WHIRLPOOL 83013389230b8cf1d5254822074e0bbdcf0de48e309900153fa5f58e2ab35d1f0577e1003d3f12ae34cbfe96ad77fa1d0b0d95f94c9d16b07381a49abb7ff6ac

@ -0,0 +1,63 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit pax-utils versionator
MY_PV=$(get_version_component_range 1-3)
MY_P=${PN}-${MY_PV}
DATE=$(get_version_component_range 4)
DATE=${DATE#p}
DATE=${DATE:0:4}-${DATE:4:2}-${DATE:6}
INSTALLER=${PN}-${DATE}-installer.run
DESCRIPTION="PathScale EKOPath Compiler Suite"
HOMEPAGE="http://www.pathscale.com/ekopath-compiler-suite"
SRC_URI="http://c591116.r16.cf2.rackcdn.com/${PN}/nightly/Linux/${INSTALLER}"
LICENSE="all-rights-reserved"
SLOT="${MY_PV}"
KEYWORDS="~amd64"
IUSE=""
DEPEND="!!app-arch/rpm"
RDEPEND="!dev-lang/ekopath:0/${MY_PV}"
RESTRICT="bindist mirror"
QA_PREBUILT="opt/${MY_P}/*"
S="${WORKDIR}"
src_unpack() {
cp "${DISTDIR}/${INSTALLER}" "${S}/" || die
chmod +x "${S}/${INSTALLER}" || die
}
src_install() {
# EI_PAX marking is obsolete and PT_PAX breaks the binary.
# We must use XT_PAX to run the installer.
if [[ ${PAX_MARKINGS} == "XT" ]]; then
pax-mark m "${INSTALLER}"
fi
./"${INSTALLER}" \
--prefix "${ED%/}/opt/${MY_P}" \
--mode unattended || die
if [[ ! -d ${ED%/}/opt/${MY_P}/lib/${MY_PV} ]]; then
local guess
cd "${ED%/}/opt/${MY_P}/lib" && guess=( * )
if [[ ${guess[@]} ]]; then
die "Incorrect release version in PV, guessing it should be: ${guess[*]}"
else
die "No libdir installed"
fi
fi
[[ -x ${ED%}/opt/${MY_P}/bin/pathcc ]] || die "No pathcc executable was installed, your hardware is unsupported most likely"
rm -r "${ED}/opt/${MY_P}"/uninstall* || die
}

@ -0,0 +1,74 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit pax-utils versionator
MY_PV=$(get_version_component_range 1-3)
MY_P=${PN}-${MY_PV}
DATE=$(get_version_component_range 4)
DATE=${DATE#p}
DATE=${DATE:0:4}-${DATE:4:2}-${DATE:6}
INSTALLER=${PN}-${DATE}-installer.run
DESCRIPTION="PathScale EKOPath Compiler Suite"
HOMEPAGE="http://www.pathscale.com/ekopath-compiler-suite"
SRC_URI="http://c591116.r16.cf2.rackcdn.com/${PN}/nightly/Linux/${INSTALLER}"
LICENSE="all-rights-reserved"
SLOT="0/${MY_PV}"
KEYWORDS="~amd64"
IUSE=""
DEPEND="!!app-arch/rpm"
RDEPEND="!dev-lang/ekopath:${MY_PV}"
RESTRICT="bindist mirror"
QA_PREBUILT="opt/${MY_P}/*"
S="${WORKDIR}"
src_unpack() {
cp "${DISTDIR}/${INSTALLER}" "${S}/" || die
chmod +x "${S}/${INSTALLER}" || die
}
src_configure() {
cat > 99${PN} <<-EOF || die
PATH=${EROOT%/}/opt/${PN}/bin
ROOTPATH=${EROOT%/}/opt/${PN}/bin
LDPATH=${EROOT%/}/opt/${PN}/lib:${EROOT%/}/opt/${PN}/lib/${MY_PV}/x8664/64
MANPATH=${EROOT%/}/opt/${PN}/docs/man
EOF
}
src_install() {
# EI_PAX marking is obsolete and PT_PAX breaks the binary.
# We must use XT_PAX to run the installer.
if [[ ${PAX_MARKINGS} == "XT" ]]; then
pax-mark m "${INSTALLER}"
fi
./"${INSTALLER}" \
--prefix "${ED%/}/opt/${MY_P}" \
--mode unattended || die
if [[ ! -d ${ED%/}/opt/${MY_P}/lib/${MY_PV} ]]; then
local guess
cd "${ED%/}/opt/${MY_P}/lib" && guess=( * )
if [[ ${guess[@]} ]]; then
die "Incorrect release version in PV, guessing it should be: ${guess[*]}"
else
die "No libdir installed"
fi
fi
[[ -x ${ED%}/opt/${MY_P}/bin/pathcc ]] || die "No pathcc executable was installed, your hardware is unsupported most likely"
rm -r "${ED}/opt/${MY_P}"/uninstall* || die
dosym ${MY_P} /opt/${PN}
doenvd 99${PN}
}

@ -1,2 +1,3 @@
DIST MoarVM-2016.01.tar.gz 3314742 SHA256 d409b684c7c92b144b31cf7f0408f30ccbb033ce646f57d7fbaeb9683773e37b SHA512 019433a985c8245c231d533b8310fceda185a694681aaecb922602ad98897c636c40fbe1a36ba656af4c242b28315611f656454eb41f25e0f891b652210eb435 WHIRLPOOL f603e1f60667771e0200e731b37ff854346d00a0de484a9b3072f83e0ee624bc2b7d7e862c872d9062a4397adb5bfab31d835754966a7fe44490312c82a37e8e
DIST MoarVM-2016.02.tar.gz 3313448 SHA256 3bdacebba98e6b2d3d10f12af0ab514dec27fb24b15ed00aef479b7d190ce40a SHA512 fdeb107e071bcd7a893f15f105e722543010a87710cbd2ac4ce322000c96c9dae5c5e661dd8d60e712c4fe22d860650a003485d75f95a5b19fcde266f8fe483d WHIRLPOOL 9ccb54d147d558b4fa52bfe9b098384b3d61dffba598db803828bb0cbbc8bae9fd6a527d093c07a421cd97a59952e11ffaf9c6cef93ce9b48778009558e96732
DIST MoarVM-2016.03.tar.gz 3318299 SHA256 dfc3914e609f30ff06f14267bcbb4fcc6da3d85782d35c1838701a5ea41d8f2f SHA512 358c48f6b1803e39841e9f287f2fe3cdde743962d9d9c34e629c18b1b7290fd8a713917f24233dd092ed68adf9a6d0aadb25bda22b3e353d40bd57ae58d70216 WHIRLPOOL e68dfbc40bda23a49c28089fe8396e5a182afc0ac2550f9ab5d9f1564943af163fcc68b466feaf0778a2df57cd472c87f0853d47882b9b625434c7740ec5aec4

@ -0,0 +1,31 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils multilib
MY_PN="MoarVM"
DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
HOMEPAGE="http://moarvm.org"
SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
LICENSE="Artistic-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc"
RDEPEND="dev-libs/libuv"
DEPEND="${RDEPEND}
dev-lang/perl"
S="${WORKDIR}/MoarVM-${PV}"
src_configure() {
perl Configure.pl --prefix="/usr"|| die
}
src_install() {
emake DESTDIR="${D}" install
}

@ -1,2 +1,3 @@
DIST nqp-2016.01.tar.gz 5117110 SHA256 87875120af7167093643f2a35869d66a61f735220a9348627ba89cf294387c8b SHA512 e79668f7f5f3679fe3b93f63e1151da1eab109ef4acc6f8ae3da3d9e5c3da814440dd43279978b1a13f30647d7c52bda5575b02f366bd928965b06b47c6d6d91 WHIRLPOOL d2369417707332d8bc045f6f93da81e1301ec2599f197664d80e6edeefc1bc7a2147ad3b7e893eef0fb6b96adf2f68f5ab44b948801e266e68d99552253abeda
DIST nqp-2016.02.tar.gz 5121833 SHA256 051ddd4bab8f73a688836d896340320ff7043a6ecbd5c53be099249e75e33b8d SHA512 9a3233e351ebdf73ed27d3eade2052936d1a49ea95d32a8176e426e7126c720e4a3f69dedc4067925272293329b08ab397f6a7523b9e4129952847fbd86fcf0d WHIRLPOOL 1bad2dc420d59f07c3d9b8d9dcc78d51a772ed2672419fc53e427c68e24fce5645a0dcfd4a4e138e6333f9e909297b49fafe190e6dc763cca8e52dce20309ec5
DIST nqp-2016.03.tar.gz 5126687 SHA256 50731983cfc0800015bf73a2174000f5631ad09b551ff190153fba00a448067f SHA512 707701e22752cb43b0694c8c57ec834cfee3d2a50c2b6ae3ee36af5881728c94ae1d03d07c624367edb6cf58bba18abd26dcc18656b0483f4f979db5dd26a07e WHIRLPOOL 364abefc3d7b005b89fd3a3180e66971dbc56851377b93e38d2a8b2ed546121ec730628e0f93947f77e8f12346d64e60b4af8ffa720dc0a05810fae846b262a4

@ -0,0 +1,64 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# still not working
RESTRICT="test"
inherit eutils multilib versionator
GITCRAP=d1e443f
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
HOMEPAGE="http://rakudo.org/"
SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
LICENSE="Artistic-2"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="doc java +moar"
REQUIRED_USE="|| ( java moar )"
RDEPEND="
java? ( >=virtual/jre-1.7 )
moar? ( ~dev-lang/moarvm-${PV} )
dev-libs/libffi"
DEPEND="${RDEPEND}
java? ( >=virtual/jdk-1.7 )
dev-lang/perl"
S=${WORKDIR}/perl6-nqp-${GITCRAP}
src_configure() {
use java && myconf+="jvm,"
use moar && myconf+="moar,"
perl Configure.pl --backend=${myconf} --prefix=/usr || die
# dirty hack to make dyncall not fail
sed -i -e 's/-Werror=missing-prototypes//' Makefile || die
sed -i -e 's/-Werror=missing-declarations//' Makefile || die
sed -i -e 's/-Werror=strict-prototypes//' Makefile || die
# more dirty hack to allow building with newer gcc
sed -i -e 's/-Werror=implicit-function-declaration//' Makefile || die
sed -i -e 's/-Werror=nested-externs//' Makefile || die
}
src_compile() {
emake -j1 || die
}
src_test() {
emake -j1 test || die
}
src_install() {
emake DESTDIR="${ED}" install || die
dodoc CREDITS README.pod || die
if use doc; then
dodoc -r docs/* || die
fi
}

@ -1,9 +1,5 @@
DIST php-5.4.45.tar.bz2 12703324 SHA256 4e0d28b1554c95cfaea6fa2b64aac85433f158ce72bb571bcd5574f98f4c6582 SHA512 ba22207da70e5e8ddf9a1f41bbeb54ef4917630006c3412db8f858782baaa3ff49d7e5ca59bed76c37fc11dc518c475b81f33f0f32c533c8f00be338e0b0d9c5 WHIRLPOOL b34e465dd193e9c1f5dedd7c6f279bb10471e31120f2a84246927f160adb1e54ea56563c719e59ed0654e2fd0805cebcc00198d6f6153791edef52fd0f2288a7
DIST php-5.5.31.tar.bz2 13659002 SHA256 fb4a382b9a9dceb749b7ef047d8251320bc8d371c843714e5b4f4b70d61ba277 SHA512 b5b44092636bf26898441cfda4007480dcd0d58b72cd5c53d74ad2926fe54bf7e5db995c8ff598f72f1783ecd02aafad6be7d3bbd35dc83300621c7c37d37eca WHIRLPOOL 4d6a4cce634d30454280b08c30e25fdc6c2d2f37a823123372a4b1bc2b0cc5cdb4e10ccdc73e78cfbf243f83184861c8f79fae023fcf291ee102151a28236052
DIST php-5.5.32.tar.bz2 13685561 SHA256 b0f2c108db8e05db9f6366aaba9a754fd0ee31f3f86ee889561b608dfd6e92ee SHA512 1603864e7a98378bb5a7c1592d81029fd7dfe5d2fa88152a9e29484c3c98cd6126a79741657eea3e3295ed1bdeed47527d33981c9ea0df891f137ee8126cce2b WHIRLPOOL b7b86eec6b03720238bbe698289c6b1aecf920645f166d617fd26166aba8e19a474ff15d482f8f84fd48befc6b6be6c388797bb3f269f5609e71e10be9844759
DIST php-5.5.33.tar.bz2 13686486 SHA256 c490b1ed4df596b48eb68f630d89ca512945e2650840e7dace1119cc7e600aa9 SHA512 a0ac57adcc4b0caec153265a8d1ded8d4d0f71b44f08158feb0add9c8fdd36826767882e85dd03399cf146800eddcb6b6cc1b21051d4fc4371e3f61b1169132b WHIRLPOOL 373c61677adb89506cc4621d1c7a0732f6454a8679a797807631f2286188bb990dfcaf34b4108edf7b1819424100fa0d7060f0f792a65dc5f1c130cfa00e6b45
DIST php-5.6.17.tar.bz2 14072840 SHA256 77b45f56a1e63e75bb22b42cfb8b438ec4083c59ce774b4d7c1685544b7add3b SHA512 706fd31324c98717d44b4db4440a5eaffe24ad34b346ba95418b33ee072b3ddde5d7429d318f69554b4bfcd7dcc0e9e4b07142b539196e9f0ab7707485ad9dbb WHIRLPOOL 02b7ea265b41e9db94a0087bd5baefdd45f3954df12298f1c50340bee5de1f5ea21ec5e1e039741db5cdd19ffd51518775bc17eff5ad8ad138c71fcaacf80af1
DIST php-5.6.18.tar.bz2 14094993 SHA256 c3cd4a29a9562309d36e2b128407d6eaa5c7dde590d2b1a464457383e517f4ed SHA512 1f0820d829923404ceae287129afa9c7d7d9c83d6fbf148a65a6ac49224f4cb84e743443c4fadb69d959229123ab7e99816aab40f694d808e64b05bb7238f89e WHIRLPOOL f4863256dfe3497276ca07b6f01eb5ec046f377e462b5d7d1d11b1e92e99f087b4c55719dace4d5aca1b30794ddd37c9d81b30deb6a913b7c0eeff67ebd74c13
DIST php-5.6.19.tar.bz2 14100438 SHA256 2a24a3f84971680ac0a4c71050067de4f76ee235aa4a041fae21bfa69975c168 SHA512 c8c2b3bdfc1a8abe834612c33123b4f103e841c230b53934fb7bafe11af7f1175f02ca54c92f33e8e603485e6283897bebb51acc55d1213b7433024684215c14 WHIRLPOOL f026e8779c531f887b1e292e5f1d6eafd0e3ae46f83ae8efb830ad8e0f91d86e5b002dda9e6a02987db6230557ff773d8c52dd2db423d792aed1aca292e5b92b
DIST php-7.0.4.tar.bz2 14027088 SHA256 a246c503709c189ba8e1e22ed2cb22abc27da43a997ff1b3318e181baf529dcc SHA512 9d1dc761cdd9103a91299e01117c1790550e3b94e7694dcc2555d83e5abe3d2170acd6226e8501c5f2a77b5c374b1c9f5ea009999d476818c2682a54def86b96 WHIRLPOOL 08b6b023854af693d85a6e48b3ec83f10ede0c07ac6d18b1b3b2a4d8208dcc7ba55900985be812c3325703bc291d8a842d7754c1b7754e2c52c72e7488d6d8df
DIST php-patchset-5.4-r2.tar.bz2 5824 SHA256 4a47f4d31f50a244f85349486cdb3474cf315562e097ed4c116c2b9b5730ecef SHA512 3c2523458a627373da7acb93fb2cd621f50b19fe2ba1d30beb62eeaaa39045262b917cfd0b631046fec9c8027cfa99bd0426a079ab45eb172b21d25d6e085dde WHIRLPOOL fe4f015e2f0dc66cc23ef16fb5bb33117952593ae0770d4bcd37ecc1c431cbcc7874189d265696305c60b4e395e7ce902667e38203db46867304868271affdea

@ -1,784 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
function php_get_uri ()
{
case "${1}" in
"php-pre")
echo "http://downloads.php.net/dsp/${2}"
;;
"php")
echo "http://www.php.net/distributions/${2}"
;;
"olemarkus")
echo "https://dev.gentoo.org/~olemarkus/php/${2}"
;;
"gentoo")
echo "mirror://gentoo/${2}"
;;
*)
die "unhandled case in php_get_uri"
;;
esac
}
PHP_MV="$(get_major_version)"
SLOT="$(get_version_component_range 1-2)"
# alias, so we can handle different types of releases (finals, rcs, alphas,
# betas, ...) w/o changing the whole ebuild
PHP_PV="${PV/_rc/RC}"
PHP_PV="${PHP_PV/_alpha/alpha}"
PHP_PV="${PHP_PV/_beta/beta}"
PHP_RELEASE="php"
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
PHP_P="${PN}-${PHP_PV}"
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
PHP_FPM_CONF_VER="1"
SRC_URI="${PHP_SRC_URI}"
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
S="${WORKDIR}/${PHP_P}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl debug
enchant exif frontbase +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
mssql mysql libmysqlclient mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
DEPEND="
>=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )
berkdb? ( =sys-libs/db-4* )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( >=dev-libs/gmp-4.1.2 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
libmysqlclient? (
mysql? ( virtual/mysql )
mysqli? ( >=virtual/mysql-4.1 )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( >=dev-libs/openssl-0.9.7 )
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma )
vpx? ( media-libs/libvpx )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
virtual/mta
"
php="=${CATEGORY}/${PF}"
REQUIRED_USE="
truetype? ( gd )
vpx? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
libmysqlclient? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysql !mysqli )
sharedmem? ( !threads )
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
RDEPEND="${DEPEND}"
RDEPEND="${RDEPEND}
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
DEPEND="${DEPEND}
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Allow users to install production version if they want to
case "${PHP_INI_VERSION}" in
production|development)
;;
*)
PHP_INI_VERSION="development"
;;
esac
PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
PHP_INI_FILE="php.ini"
want_apache
pkg_setup() {
depend.apache_pkg_setup
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}"
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}"
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}"
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}"
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use_if_iuse opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
[[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0
einfo "Installing FPM CGI config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf
# Remove bogus /etc/php-fpm.conf.default (bug 359906)
[[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default"
fi
# Install PHP ini files into /usr/share/php
dodoc php.ini-development
dodoc php.ini-production
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
# USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
# ([empty session.save_path]/session_mm_[sapi][gid].sem)
# there is no easy way to circumvent that, all php calls during
# install use -n, so no php.ini file will be used.
# As such, this is the easiest way to get around
addpredict /session_mm_cli250.sem
addpredict /session_mm_cli0.sem
# Change PHP branding
# Get the alpha/beta/rc version
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
#Add user patches #357637
epatch_user
#force rebuilding aclocal.m4
rm aclocal.m4
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# http://bugs.php.net/bug.php?id=48795, bug #343481
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
fi
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# This is a global variable and should be in caps. It isn't because the
# phpconfutils eclass relies on exactly this name...
# for --with-libdir see bug #327025
my_conf="
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}"/man
--infodir="${PHP_DESTDIR}"/info
--libdir="${PHP_DESTDIR}"/lib
--with-libdir=$(get_libdir)
--without-pear
$(use_enable threads maintainer-zts)"
# extension USE flag shared
my_conf+="
$(use_enable bcmath bcmath )
$(use_with bzip2 bz2 "${EPREFIX}"/usr)
$(use_enable calendar calendar )
$(use_enable ctype ctype )
$(use_with curl curl "${EPREFIX}"/usr)
$(use_enable xml dom )
$(use_with enchant enchant "${EPREFIX}"/usr)
$(use_enable exif exif )
$(use_enable fileinfo fileinfo )
$(use_enable filter filter )
$(use_enable ftp ftp )
$(use_with nls gettext "${EPREFIX}"/usr)
$(use_with gmp gmp "${EPREFIX}"/usr)
$(use_enable hash hash )
$(use_with mhash mhash "${EPREFIX}"/usr)
$(use_with iconv iconv $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}"/usr))
$(use_enable intl intl )
$(use_enable ipv6 ipv6 )
$(use_enable json json )
$(use_with kerberos kerberos "${EPREFIX}"/usr)
$(use_enable xml libxml )
$(use_with xml libxml-dir "${EPREFIX}"/usr)
$(use_enable unicode mbstring )
$(use_with crypt mcrypt "${EPREFIX}"/usr)
$(use_with mssql mssql "${EPREFIX}"/usr)
$(use_with unicode onig "${EPREFIX}"/usr)
$(use_with ssl openssl "${EPREFIX}"/usr)
$(use_with ssl openssl-dir "${EPREFIX}"/usr)
$(use_enable pcntl pcntl )
$(use_enable phar phar )
$(use_enable pdo pdo )
$(use_enable opcache opcache )
$(use_with postgres pgsql "${EPREFIX}"/usr)
$(use_enable posix posix )
$(use_with spell pspell "${EPREFIX}"/usr)
$(use_with recode recode "${EPREFIX}"/usr)
$(use_enable simplexml simplexml )
$(use_enable sharedmem shmop )
$(use_with snmp snmp "${EPREFIX}"/usr)
$(use_enable soap soap )
$(use_enable sockets sockets )
$(use_with sqlite sqlite3 "${EPREFIX}"/usr)
$(use_with sybase-ct sybase-ct "${EPREFIX}"/usr)
$(use_enable sysvipc sysvmsg )
$(use_enable sysvipc sysvsem )
$(use_enable sysvipc sysvshm )
$(use_with systemd fpm-systemd)
$(use_with tidy tidy "${EPREFIX}"/usr)
$(use_enable tokenizer tokenizer )
$(use_enable wddx wddx )
$(use_enable xml xml )
$(use_enable xmlreader xmlreader )
$(use_enable xmlwriter xmlwriter )
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}"/usr)
$(use_enable zip zip )
$(use_with zlib zlib "${EPREFIX}"/usr)
$(use_enable debug debug )"
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
my_conf="${my_conf} --enable-dba${shared}"
fi
# DBA drivers support
my_conf+="
$(use_with cdb cdb)
$(use_with berkdb db4 ${EPREFIX}/usr)
$(use_enable flatfile flatfile )
$(use_with gdbm gdbm ${EPREFIX}/usr)
$(use_enable inifile inifile )
$(use_with qdbm qdbm ${EPREFIX}/usr)"
# Support for the GD graphics library
my_conf+="
$(use_with truetype freetype-dir ${EPREFIX}/usr)
$(use_with truetype t1lib ${EPREFIX}/usr)
$(use_enable cjk gd-jis-conv )
$(use_with gd jpeg-dir ${EPREFIX}/usr)
$(use_with gd png-dir ${EPREFIX}/usr)
$(use_with xpm xpm-dir ${EPREFIX}/usr)
$(use_with vpx vpx-dir ${EPREFIX}/usr)"
# enable gd last, so configure can pick up the previous settings
my_conf+="
$(use_with gd gd)"
# IMAP support
if use imap ; then
my_conf+="
$(use_with imap imap ${EPREFIX}/usr)
$(use_with ssl imap-ssl ${EPREFIX}/usr)"
fi
# Interbase/firebird support
if use firebird ; then
my_conf+="
$(use_with firebird interbase ${EPREFIX}/usr)"
fi
# LDAP support
if use ldap ; then
my_conf+="
$(use_with ldap ldap ${EPREFIX}/usr)
$(use_with ldap-sasl ldap-sasl ${EPREFIX}/usr)"
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
use libmysqlclient && mysqllib="${EPREFIX}/usr"
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
my_conf+=" $(use_with mysql mysql $mysqllib)"
my_conf+=" $(use_with mysqli mysqli $mysqlilib)"
local mysqlsock=" $(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)"
if use mysql ; then
my_conf+="${mysqlsock}"
elif use mysqli ; then
my_conf+="${mysqlsock}"
fi
# ODBC support
if use odbc ; then
my_conf+="
$(use_with odbc unixODBC ${EPREFIX}/usr)"
fi
if use iodbc ; then
my_conf+="
$(use_with iodbc iodbc ${EPREFIX}/usr)"
fi
# Oracle support
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client oci8)"
fi
# PDO support
if use pdo ; then
my_conf+="
$(use_with mssql pdo-dblib )
$(use_with mysql pdo-mysql ${mysqllib})
$(use_with postgres pdo-pgsql )
$(use_with sqlite pdo-sqlite ${EPREFIX}/usr)
$(use_with odbc pdo-odbc unixODBC,${EPREFIX}/usr)"
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client pdo-oci)"
fi
fi
# readline/libedit support
my_conf+="
$(use_with readline readline ${EPREFIX}/usr)
$(use_with libedit libedit ${EPREFIX}/usr)"
# Session support
if use session ; then
my_conf+="
$(use_with sharedmem mm ${EPREFIX}/usr)"
else
my_conf+="
$(use_enable session session )"
fi
# Use pic for shared modules such as apache2's mod_php
my_conf="${my_conf} --with-pic"
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
my_conf="${my_conf} --with-pcre-regex=${EPREFIX}/usr --with-pcre-dir=${EPREFIX}/usr"
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Support user-passed configuration parameters
my_conf="${my_conf} ${EXTRA_ECONF:-}"
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build"
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}"
cd "${WORKDIR}/sapis-build/${one_sapi}"
sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR}
--with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}"
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --enable-${sapi}"
else
sapi_conf="${sapi_conf} --disable-${sapi}"
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --with-apxs2=${EPREFIX}/usr/sbin/apxs"
else
sapi_conf="${sapi_conf} --without-apxs2"
fi
;;
esac
done
econf ${sapi_conf}
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake || die "emake failed"
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi"
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs \
|| die "emake install failed"
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir /usr/share/php${PHP_MV}
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}"
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}" || die "Unable to install ${sapi} sapi"
else
dobin "${source}" || die "Unable to install ${sapi} sapi"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use_if_iuse opcache ; then
dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" \
"20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
sed -e "s|php5|php${SLOT}|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config"
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" "php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP"
APACHE2_MOD_CONF="70_mod_php" # provided by app-eselect/eselect-php
apache-module_pkg_postinst
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT}
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes php${SLOT/./-} in order"
elog "to compile extensions for the ${SLOT} ABI"
elog
if ! use readline && use cli ; then
ewarn "Note that in order to use php interactivly, you need to enable"
ewarn "the readline USE flag or php -a will hang"
fi
elog
elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version."
elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
elog "'production' or 'development' in ${EPREFIX}/etc/make.conf"
elog "Both versions of php.ini can be found in ${EPREFIX}/usr/share/doc/${PF}"
elog
elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
elog "https://www.gentoo.org/proj/en/php/php-upgrading.xml"
elog
}
pkg_prerm() {
eselect php cleanup
}

@ -1,784 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd
KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
function php_get_uri ()
{
case "${1}" in
"php-pre")
echo "http://downloads.php.net/dsp/${2}"
;;
"php")
echo "http://www.php.net/distributions/${2}"
;;
"olemarkus")
echo "https://dev.gentoo.org/~olemarkus/php/${2}"
;;
"gentoo")
echo "mirror://gentoo/${2}"
;;
*)
die "unhandled case in php_get_uri"
;;
esac
}
PHP_MV="$(get_major_version)"
SLOT="$(get_version_component_range 1-2)"
# alias, so we can handle different types of releases (finals, rcs, alphas,
# betas, ...) w/o changing the whole ebuild
PHP_PV="${PV/_rc/RC}"
PHP_PV="${PHP_PV/_alpha/alpha}"
PHP_PV="${PHP_PV/_beta/beta}"
PHP_RELEASE="php"
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
PHP_P="${PN}-${PHP_PV}"
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
PHP_FPM_CONF_VER="1"
SRC_URI="${PHP_SRC_URI}"
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
S="${WORKDIR}/${PHP_P}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl debug
enchant exif frontbase +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
mssql mysql libmysqlclient mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
DEPEND="
>=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )
berkdb? ( =sys-libs/db-4* )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( >=dev-libs/gmp-4.1.2 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
libmysqlclient? (
mysql? ( virtual/mysql )
mysqli? ( >=virtual/mysql-4.1 )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( >=dev-libs/openssl-0.9.7 )
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma )
vpx? ( media-libs/libvpx )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
virtual/mta
"
php="=${CATEGORY}/${PF}"
REQUIRED_USE="
truetype? ( gd )
vpx? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
libmysqlclient? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysql !mysqli )
sharedmem? ( !threads )
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
RDEPEND="${DEPEND}"
RDEPEND="${RDEPEND}
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
DEPEND="${DEPEND}
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Allow users to install production version if they want to
case "${PHP_INI_VERSION}" in
production|development)
;;
*)
PHP_INI_VERSION="development"
;;
esac
PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
PHP_INI_FILE="php.ini"
want_apache
pkg_setup() {
depend.apache_pkg_setup
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}"
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}"
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}"
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}"
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use_if_iuse opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
[[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0
einfo "Installing FPM CGI config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf
# Remove bogus /etc/php-fpm.conf.default (bug 359906)
[[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default"
fi
# Install PHP ini files into /usr/share/php
dodoc php.ini-development
dodoc php.ini-production
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
# USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
# ([empty session.save_path]/session_mm_[sapi][gid].sem)
# there is no easy way to circumvent that, all php calls during
# install use -n, so no php.ini file will be used.
# As such, this is the easiest way to get around
addpredict /session_mm_cli250.sem
addpredict /session_mm_cli0.sem
# Change PHP branding
# Get the alpha/beta/rc version
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
#Add user patches #357637
epatch_user
#force rebuilding aclocal.m4
rm aclocal.m4
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# http://bugs.php.net/bug.php?id=48795, bug #343481
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
fi
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# This is a global variable and should be in caps. It isn't because the
# phpconfutils eclass relies on exactly this name...
# for --with-libdir see bug #327025
my_conf="
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}"/man
--infodir="${PHP_DESTDIR}"/info
--libdir="${PHP_DESTDIR}"/lib
--with-libdir=$(get_libdir)
--without-pear
$(use_enable threads maintainer-zts)"
# extension USE flag shared
my_conf+="
$(use_enable bcmath bcmath )
$(use_with bzip2 bz2 "${EPREFIX}"/usr)
$(use_enable calendar calendar )
$(use_enable ctype ctype )
$(use_with curl curl "${EPREFIX}"/usr)
$(use_enable xml dom )
$(use_with enchant enchant "${EPREFIX}"/usr)
$(use_enable exif exif )
$(use_enable fileinfo fileinfo )
$(use_enable filter filter )
$(use_enable ftp ftp )
$(use_with nls gettext "${EPREFIX}"/usr)
$(use_with gmp gmp "${EPREFIX}"/usr)
$(use_enable hash hash )
$(use_with mhash mhash "${EPREFIX}"/usr)
$(use_with iconv iconv $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}"/usr))
$(use_enable intl intl )
$(use_enable ipv6 ipv6 )
$(use_enable json json )
$(use_with kerberos kerberos "${EPREFIX}"/usr)
$(use_enable xml libxml )
$(use_with xml libxml-dir "${EPREFIX}"/usr)
$(use_enable unicode mbstring )
$(use_with crypt mcrypt "${EPREFIX}"/usr)
$(use_with mssql mssql "${EPREFIX}"/usr)
$(use_with unicode onig "${EPREFIX}"/usr)
$(use_with ssl openssl "${EPREFIX}"/usr)
$(use_with ssl openssl-dir "${EPREFIX}"/usr)
$(use_enable pcntl pcntl )
$(use_enable phar phar )
$(use_enable pdo pdo )
$(use_enable opcache opcache )
$(use_with postgres pgsql "${EPREFIX}"/usr)
$(use_enable posix posix )
$(use_with spell pspell "${EPREFIX}"/usr)
$(use_with recode recode "${EPREFIX}"/usr)
$(use_enable simplexml simplexml )
$(use_enable sharedmem shmop )
$(use_with snmp snmp "${EPREFIX}"/usr)
$(use_enable soap soap )
$(use_enable sockets sockets )
$(use_with sqlite sqlite3 "${EPREFIX}"/usr)
$(use_with sybase-ct sybase-ct "${EPREFIX}"/usr)
$(use_enable sysvipc sysvmsg )
$(use_enable sysvipc sysvsem )
$(use_enable sysvipc sysvshm )
$(use_with systemd fpm-systemd)
$(use_with tidy tidy "${EPREFIX}"/usr)
$(use_enable tokenizer tokenizer )
$(use_enable wddx wddx )
$(use_enable xml xml )
$(use_enable xmlreader xmlreader )
$(use_enable xmlwriter xmlwriter )
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}"/usr)
$(use_enable zip zip )
$(use_with zlib zlib "${EPREFIX}"/usr)
$(use_enable debug debug )"
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
my_conf="${my_conf} --enable-dba${shared}"
fi
# DBA drivers support
my_conf+="
$(use_with cdb cdb)
$(use_with berkdb db4 ${EPREFIX}/usr)
$(use_enable flatfile flatfile )
$(use_with gdbm gdbm ${EPREFIX}/usr)
$(use_enable inifile inifile )
$(use_with qdbm qdbm ${EPREFIX}/usr)"
# Support for the GD graphics library
my_conf+="
$(use_with truetype freetype-dir ${EPREFIX}/usr)
$(use_with truetype t1lib ${EPREFIX}/usr)
$(use_enable cjk gd-jis-conv )
$(use_with gd jpeg-dir ${EPREFIX}/usr)
$(use_with gd png-dir ${EPREFIX}/usr)
$(use_with xpm xpm-dir ${EPREFIX}/usr)
$(use_with vpx vpx-dir ${EPREFIX}/usr)"
# enable gd last, so configure can pick up the previous settings
my_conf+="
$(use_with gd gd)"
# IMAP support
if use imap ; then
my_conf+="
$(use_with imap imap ${EPREFIX}/usr)
$(use_with ssl imap-ssl ${EPREFIX}/usr)"
fi
# Interbase/firebird support
if use firebird ; then
my_conf+="
$(use_with firebird interbase ${EPREFIX}/usr)"
fi
# LDAP support
if use ldap ; then
my_conf+="
$(use_with ldap ldap ${EPREFIX}/usr)
$(use_with ldap-sasl ldap-sasl ${EPREFIX}/usr)"
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
use libmysqlclient && mysqllib="${EPREFIX}/usr"
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
my_conf+=" $(use_with mysql mysql $mysqllib)"
my_conf+=" $(use_with mysqli mysqli $mysqlilib)"
local mysqlsock=" $(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)"
if use mysql ; then
my_conf+="${mysqlsock}"
elif use mysqli ; then
my_conf+="${mysqlsock}"
fi
# ODBC support
if use odbc ; then
my_conf+="
$(use_with odbc unixODBC ${EPREFIX}/usr)"
fi
if use iodbc ; then
my_conf+="
$(use_with iodbc iodbc ${EPREFIX}/usr)"
fi
# Oracle support
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client oci8)"
fi
# PDO support
if use pdo ; then
my_conf+="
$(use_with mssql pdo-dblib )
$(use_with mysql pdo-mysql ${mysqllib})
$(use_with postgres pdo-pgsql )
$(use_with sqlite pdo-sqlite ${EPREFIX}/usr)
$(use_with odbc pdo-odbc unixODBC,${EPREFIX}/usr)"
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client pdo-oci)"
fi
fi
# readline/libedit support
my_conf+="
$(use_with readline readline ${EPREFIX}/usr)
$(use_with libedit libedit ${EPREFIX}/usr)"
# Session support
if use session ; then
my_conf+="
$(use_with sharedmem mm ${EPREFIX}/usr)"
else
my_conf+="
$(use_enable session session )"
fi
# Use pic for shared modules such as apache2's mod_php
my_conf="${my_conf} --with-pic"
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
my_conf="${my_conf} --with-pcre-regex=${EPREFIX}/usr --with-pcre-dir=${EPREFIX}/usr"
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Support user-passed configuration parameters
my_conf="${my_conf} ${EXTRA_ECONF:-}"
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build"
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}"
cd "${WORKDIR}/sapis-build/${one_sapi}"
sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR}
--with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}"
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --enable-${sapi}"
else
sapi_conf="${sapi_conf} --disable-${sapi}"
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --with-apxs2=${EPREFIX}/usr/sbin/apxs"
else
sapi_conf="${sapi_conf} --without-apxs2"
fi
;;
esac
done
econf ${sapi_conf}
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake || die "emake failed"
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi"
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs \
|| die "emake install failed"
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir /usr/share/php${PHP_MV}
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}"
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}" || die "Unable to install ${sapi} sapi"
else
dobin "${source}" || die "Unable to install ${sapi} sapi"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use_if_iuse opcache ; then
dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" \
"20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
sed -e "s|php5|php${SLOT}|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config"
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" "php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP"
APACHE2_MOD_CONF="70_mod_php" # provided by app-eselect/eselect-php
apache-module_pkg_postinst
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT}
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes php${SLOT/./-} in order"
elog "to compile extensions for the ${SLOT} ABI"
elog
if ! use readline && use cli ; then
ewarn "Note that in order to use php interactivly, you need to enable"
ewarn "the readline USE flag or php -a will hang"
fi
elog
elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version."
elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
elog "'production' or 'development' in ${EPREFIX}/etc/make.conf"
elog "Both versions of php.ini can be found in ${EPREFIX}/usr/share/doc/${PF}"
elog
elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
elog "https://www.gentoo.org/proj/en/php/php-upgrading.xml"
elog
}
pkg_prerm() {
eselect php cleanup
}

@ -1,787 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils autotools flag-o-matic versionator depend.apache apache-module libtool systemd
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
function php_get_uri ()
{
case "${1}" in
"php-pre")
echo "http://downloads.php.net/dsp/${2}"
;;
"php")
echo "http://www.php.net/distributions/${2}"
;;
"olemarkus")
echo "https://dev.gentoo.org/~olemarkus/php/${2}"
;;
"gentoo")
echo "mirror://gentoo/${2}"
;;
*)
die "unhandled case in php_get_uri"
;;
esac
}
PHP_MV="$(get_major_version)"
SLOT="$(get_version_component_range 1-2)"
# alias, so we can handle different types of releases (finals, rcs, alphas,
# betas, ...) w/o changing the whole ebuild
PHP_PV="${PV/_rc/RC}"
PHP_PV="${PHP_PV/_alpha/alpha}"
PHP_PV="${PHP_PV/_beta/beta}"
PHP_RELEASE="php"
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
PHP_P="${PN}-${PHP_PV}"
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
PHP_FPM_CONF_VER="1"
SRC_URI="${PHP_SRC_URI}"
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
S="${WORKDIR}/${PHP_P}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl debug
enchant exif frontbase +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
mssql mysql libmysqlclient mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
DEPEND="
>=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
DEPEND="${DEPEND}
berkdb? ( || ( sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( dev-libs/gmp:0 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
libmysqlclient? (
mysql? ( virtual/mysql )
mysqli? ( >=virtual/mysql-4.1 )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0 )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( dev-libs/openssl:0 )
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma )
vpx? ( media-libs/libvpx )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
virtual/mta
"
php="=${CATEGORY}/${PF}"
REQUIRED_USE="
truetype? ( gd )
vpx? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
libmysqlclient? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysql !mysqli )
sharedmem? ( !threads )
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
RDEPEND="${DEPEND}"
RDEPEND="${RDEPEND}
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
DEPEND="${DEPEND}
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Allow users to install production version if they want to
case "${PHP_INI_VERSION}" in
production|development)
;;
*)
PHP_INI_VERSION="development"
;;
esac
PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
PHP_INI_FILE="php.ini"
want_apache
pkg_setup() {
depend.apache_pkg_setup
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use_if_iuse opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
fi
dodoc php.ini-development
dodoc php.ini-production
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
# Change PHP branding
# Get the alpha/beta/rc version
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
|| die
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
# Add user patches #357637
epatch_user
# Force rebuilding aclocal.m4
rm -f aclocal.m4 || die
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# http://bugs.php.net/bug.php?id=48795, bug #343481
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
fi
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_enable bcmath bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar calendar)
$(use_enable ctype ctype)
$(use_with curl curl "${EPREFIX}/usr")
$(use_enable xml dom)
$(use_with enchant enchant "${EPREFIX}/usr")
$(use_enable exif exif)
$(use_enable fileinfo fileinfo)
$(use_enable filter filter)
$(use_enable ftp ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_enable hash hash)
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
$(use_with kerberos kerberos "${EPREFIX}/usr")
$(use_enable xml libxml)
$(use_with xml libxml-dir "${EPREFIX}/usr")
$(use_enable unicode mbstring)
$(use_with crypt mcrypt "${EPREFIX}/usr")
$(use_with mssql mssql "${EPREFIX}/usr")
$(use_with unicode onig "${EPREFIX}/usr")
$(use_with ssl openssl "${EPREFIX}/usr")
$(use_with ssl openssl-dir "${EPREFIX}/usr")
$(use_enable pcntl pcntl)
$(use_enable phar phar)
$(use_enable pdo pdo)
$(use_enable opcache opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_with recode recode "${EPREFIX}/usr")
$(use_enable simplexml simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap soap)
$(use_enable sockets sockets)
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with systemd fpm-systemd)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer tokenizer)
$(use_enable wddx wddx)
$(use_enable xml xml)
$(use_enable xmlreader xmlreader)
$(use_enable xmlwriter xmlwriter)
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}/usr")
$(use_enable zip zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
our_conf+=( "--enable-dba${shared}" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype-dir "${EPREFIX}/usr")
$(use_with truetype t1lib "${EPREFIX}/usr")
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg-dir "${EPREFIX}/usr")
$(use_with gd png-dir "${EPREFIX}/usr")
$(use_with xpm xpm-dir "${EPREFIX}/usr")
$(use_with vpx vpx-dir "${EPREFIX}/usr")
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_with gd gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# Interbase/firebird support
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
use libmysqlclient && mysqllib="${EPREFIX}/usr"
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
our_conf+=( $(use_with mysql mysql "${mysqllib}") )
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
$(use_with iodbc iodbc "${EPREFIX}/usr")
)
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib)
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit libedit "${EPREFIX}/usr")
)
# Session support
if use session ; then
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
our_conf+=(
--with-pcre-regex="${EPREFIX}/usr"
--with-pcre-dir="${EPREFIX}/usr"
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -r "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/sbin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp5$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use_if_iuse opcache ; then
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP"
APACHE2_MOD_CONF="70_mod_php" # Provided by app-eselect/eselect-php
apache-module_pkg_postinst
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes"
elog "php${SLOT/./-} in order to compile extensions for the ${SLOT} ABI."
elog
if ! use readline && use cli ; then
ewarn "Note that in order to use php interactivly, you need to"
ewarn "enable the readline USE flag or php -a will hang."
elog
fi
elog "This ebuild installed a version of php.ini based on"
elog "php.ini-${PHP_INI_VERSION}. You can choose which version of"
elog "php.ini to install by default by setting PHP_INI_VERSION"
elog "to either 'production' or 'development' in your make.conf."
elog "Both versions of php.ini can be found with the PHP docs in"
elog "${EPREFIX}/usr/share/doc/${PF}"
elog
elog "For more details on how minor version slotting works,"
elog "please see the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_prerm() {
# This returns "1" on success so we can't "|| die" here.
eselect php cleanup
}

@ -1,804 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils autotools flag-o-matic versionator depend.apache apache-module libtool systemd
KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
function php_get_uri ()
{
case "${1}" in
"php-pre")
echo "http://downloads.php.net/dsp/${2}"
;;
"php")
echo "http://www.php.net/distributions/${2}"
;;
"olemarkus")
echo "https://dev.gentoo.org/~olemarkus/php/${2}"
;;
"gentoo")
echo "mirror://gentoo/${2}"
;;
*)
die "unhandled case in php_get_uri"
;;
esac
}
PHP_MV="$(get_major_version)"
SLOT="$(get_version_component_range 1-2)"
# alias, so we can handle different types of releases (finals, rcs, alphas,
# betas, ...) w/o changing the whole ebuild
PHP_PV="${PV/_rc/RC}"
PHP_PV="${PHP_PV/_alpha/alpha}"
PHP_PV="${PHP_PV/_beta/beta}"
PHP_RELEASE="php"
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
PHP_P="${PN}-${PHP_PV}"
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
PHP_FPM_CONF_VER="1"
SRC_URI="${PHP_SRC_URI}"
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
S="${WORKDIR}/${PHP_P}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl debug
enchant exif frontbase +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
mssql mysql libmysqlclient mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
DEPEND="${DEPEND}
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( dev-libs/gmp:0 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
libmysqlclient? (
mysql? ( virtual/mysql )
mysqli? ( >=virtual/mysql-4.1 )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0 )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( dev-libs/openssl:0 )
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma )
vpx? ( media-libs/libvpx )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
virtual/mta
"
php="=${CATEGORY}/${PF}"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
cli? ( ^^ ( readline libedit ) )
truetype? ( gd )
vpx? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
libmysqlclient? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysql !mysqli )
sharedmem? ( !threads )
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
RDEPEND="${DEPEND}"
RDEPEND="${RDEPEND}
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
DEPEND="${DEPEND}
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Allow users to install production version if they want to
case "${PHP_INI_VERSION}" in
production|development)
;;
*)
PHP_INI_VERSION="development"
;;
esac
PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
PHP_INI_FILE="php.ini"
want_apache
pkg_setup() {
depend.apache_pkg_setup
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use_if_iuse opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
fi
dodoc php.ini-development
dodoc php.ini-production
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
# Change PHP branding
# Get the alpha/beta/rc version
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
|| die
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
# Add user patches #357637
epatch_user
# Force rebuilding aclocal.m4
rm -f aclocal.m4 || die
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# http://bugs.php.net/bug.php?id=48795, bug #343481
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
fi
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_enable bcmath bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar calendar)
$(use_enable ctype ctype)
$(use_with curl curl "${EPREFIX}/usr")
$(use_enable xml dom)
$(use_with enchant enchant "${EPREFIX}/usr")
$(use_enable exif exif)
$(use_enable fileinfo fileinfo)
$(use_enable filter filter)
$(use_enable ftp ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_enable hash hash)
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
$(use_with kerberos kerberos "${EPREFIX}/usr")
$(use_enable xml libxml)
$(use_with xml libxml-dir "${EPREFIX}/usr")
$(use_enable unicode mbstring)
$(use_with crypt mcrypt "${EPREFIX}/usr")
$(use_with mssql mssql "${EPREFIX}/usr")
$(use_with unicode onig "${EPREFIX}/usr")
$(use_with ssl openssl "${EPREFIX}/usr")
$(use_with ssl openssl-dir "${EPREFIX}/usr")
$(use_enable pcntl pcntl)
$(use_enable phar phar)
$(use_enable pdo pdo)
$(use_enable opcache opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_with recode recode "${EPREFIX}/usr")
$(use_enable simplexml simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap soap)
$(use_enable sockets sockets)
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with systemd fpm-systemd)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer tokenizer)
$(use_enable wddx wddx)
$(use_enable xml xml)
$(use_enable xmlreader xmlreader)
$(use_enable xmlwriter xmlwriter)
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}/usr")
$(use_enable zip zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
our_conf+=( "--enable-dba${shared}" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype-dir "${EPREFIX}/usr")
$(use_with truetype t1lib "${EPREFIX}/usr")
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg-dir "${EPREFIX}/usr")
$(use_with gd png-dir "${EPREFIX}/usr")
$(use_with xpm xpm-dir "${EPREFIX}/usr")
$(use_with vpx vpx-dir "${EPREFIX}/usr")
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_with gd gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# Interbase/firebird support
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
use libmysqlclient && mysqllib="${EPREFIX}/usr"
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
our_conf+=( $(use_with mysql mysql "${mysqllib}") )
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
$(use_with iodbc iodbc "${EPREFIX}/usr")
)
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib)
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit libedit "${EPREFIX}/usr")
)
# Session support
if use session ; then
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
our_conf+=(
--with-pcre-regex="${EPREFIX}/usr"
--with-pcre-dir="${EPREFIX}/usr"
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -r "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/sbin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp5$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use_if_iuse opcache ; then
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP"
APACHE2_MOD_CONF="70_mod_php" # Provided by app-eselect/eselect-php
apache-module_pkg_postinst
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes"
elog "php${SLOT/./-} in order to compile extensions for the ${SLOT} ABI."
elog
elog "This ebuild installed a version of php.ini based on"
elog "php.ini-${PHP_INI_VERSION}. You can choose which version of"
elog "php.ini to install by default by setting PHP_INI_VERSION"
elog "to either 'production' or 'development' in your make.conf."
elog "Both versions of php.ini can be found with the PHP docs in"
elog "${EPREFIX}/usr/share/doc/${PF}"
elog
elog "For more details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -1,2 +1,3 @@
DIST rakudo-2016.01.1.tar.gz 2687265 SHA256 897d01bcb27c209bd51918bb5be6adc6e6ea9dbc2c6b65414f9ac081aa8c5d7b SHA512 31228d49577f5d25b306a987650af0ae11bb2fa80fcaeee421dbe88dc9812edd5a399999f8727dee11d74177b7b9bca0290e26c4240c7baed35fabb4c912f85f WHIRLPOOL 52b2d7d1a0461883b1d07bbb492994f7eb8930a8726565d9a4788883e16510fc052dc066bf8443e09042548d76a3f3ca1cb17be8baa23b16f5742eb52f33c39b
DIST rakudo-2016.02.tar.gz 2691766 SHA256 8ccfbf24f49bf4f5aa0304ffa69abbd90b97dc59f2c65e2384c6b609e3d3f00a SHA512 9fa891a84e882626050772231dee15ad20f1c2d84b5b9ff985964efbff45f18e0a1940dad2cc1fbb8b91f69d9f7f2a3034998819e8ddbf0c380684b326d299ca WHIRLPOOL 2a55ec29df905ec79fee842f84394ac8733d1b116fc90c29a06e8953a77b15bfc193d974a804f99d41ee0b9fce87d4b07ff6e367f03243d08d03f20340fe766e
DIST rakudo-2016.03.tar.gz 2702229 SHA256 d77b58acb09f34c99af94f32db92698df88cda7015c7630ddb1392adbf703471 SHA512 53619288655edf72f986cb5fe7b72cd70ed88a6b18421d46d5d70a8932ca22eb1067be5ddf98264e576f7d81a84d9bbaca2ac5ac3241e582d2f4672589ba7ab1 WHIRLPOOL 43696dda25214aa9e30be7c1c3323dee8ea0f1c50a5754ca2a08d421b4c59cac5001fa4a63d8086ce0cb97801eb098d4e854ca4b801eaf7d277099bf6d86b655

@ -0,0 +1,36 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
DESCRIPTION="A compiler for the Perl 6 programming language"
HOMEPAGE="http://rakudo.org"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
inherit git-r3
else
SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz"
fi
LICENSE="Artistic-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# TODO: add USE="javascript" once that's usable in nqp
IUSE="test"
RDEPEND="=dev-lang/nqp-${PV}:=[moar]"
DEPEND="${RDEPEND}
>=dev-lang/perl-5.10"
#PATCHES=(${FILESDIR}/${PV})
src_configure() {
perl Configure.pl --prefix=/usr --sysroot=/usr --backends=moar
}
src_test() {
export RAKUDO_PRECOMP_PREFIX=$(mktemp -d)
default
}

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>jauhien@gentoo.org</email>
<name>Jauhien Piatlicki</name>
<maintainer type="project">
<email>rust@gentoo.org</email>
<name>Rust Project</name>
</maintainer>
</pkgmetadata>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<maintainer type="project">
<email>rust@gentoo.org</email>
<name>Rust Project</name>
</maintainer>

@ -2,4 +2,5 @@ DIST glib-1.2.10-r1-as-needed.patch.bz2 9099 SHA256 3bb8c45706f97b526da851061c89
DIST glib-1.2.10.tar.gz 421480 SHA256 6e1ce7eedae713b11db82f11434d455d8a1379f783a79812cd2e05fc024a8d9f SHA512 4452b741382194d4ca425f084fa60e1a9e30040ac2e839c9136047d0461cf4b1ebcc16aac4e65998d1b9329ead8f617966b3d09317a83634f14d556a7e14b7a8 WHIRLPOOL 478957ce8e49228d022bae50b042cdfc6d522d0d4880a0328b5695471295450c81c5e186e1760e56e317a4c4c95aabc5f2010d7a9b912fc451d04e14610e7dca
DIST glib-2.44.1.tar.xz 7132940 SHA256 8811deacaf8a503d0a9b701777ea079ca6a4277be10e3d730d2112735d5eca07 SHA512 c24d307408e061b2657f7e7d1b8245c55605ebda26ee2dcc3497ee9d90bfc137d8e5f42f0cd5acf4b49ea28c424fa901e81f75ecf81833f6d0fe51d5e36e5888 WHIRLPOOL 6a1eef94b3ffed4d5cb551f4def6859ddff8ea0aac50048e706863f2bd4957c40b7034946852fa4604a109eb121c55b94ec51b3708a325ace5692f61fd1babb7
DIST glib-2.46.2.tar.xz 7344636 SHA256 5031722e37036719c1a09163cc6cf7c326e4c4f1f1e074b433c156862bd733db SHA512 8b5298712710d77b4a47367071f782d2bb3042b149ec8fde8c065f80bf3c5375c94318d19665c0092572e4895e590231a47324d25f371310f02b43feb3009588 WHIRLPOOL 700b69360110351544780ace4dcb14f29505f63d8840882532a4b7c017860b6da86e09cbabca691b7b24cb08b8722e772555de044b8b21e4b0952c8a8e4e6ecb
DIST glib-2.48.0.tar.xz 7487800 SHA256 744be6931ca914c68af98dc38ff6b0cf8381d65e335060faddfbf04c17147c34 SHA512 684544bc594d9f6c905495d895daed40b074bcf5fa835aefb9a1034afc9564b2bd464e68d4c378c210e96918ef5d5202350da53a7104794420e990049ddbebf5 WHIRLPOOL 39ddd7fd17ecc2100f2156165210d2cf68ae13724b252e42705bc89d0c4145cddca3a30f9e3bf9b6a2971cbffe0e108d2acae1200c8fe6d9db91b4b3953c4950
DIST pkg-config-0.28.tar.gz 1931203 SHA256 6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845 SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320 WHIRLPOOL db4ddb4ce61724e629931c5ffccb4d7a551b4dc0f4efed5a966822307e4b5a786adee5705dd80ec0a9aa32cb1af9ad9615e307360e131fc34688207216161486

@ -0,0 +1,292 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# Until bug #537330 glib is a reverse dependency of pkgconfig and, then
# adding new dependencies end up making stage3 to grow. Every addition needs
# then to be think very closely.
EAPI="5"
PYTHON_COMPAT=( python2_7 )
# Building with --disable-debug highly unrecommended. It will build glib in
# an unusable form as it disables some commonly used API. Please do not
# convert this to the use_enable form, as it results in a broken build.
GCONF_DEBUG="yes"
# Completely useless with or without USE static-libs, people need to use
# pkg-config
GNOME2_LA_PUNT="yes"
inherit autotools bash-completion-r1 gnome2 libtool eutils flag-o-matic multilib \
pax-utils python-r1 toolchain-funcs versionator virtualx linux-info multilib-minimal
DESCRIPTION="The GLib library of C routines"
HOMEPAGE="http://www.gtk.org/"
SRC_URI="${SRC_URI}
http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
LICENSE="LGPL-2+"
SLOT="2"
IUSE="dbus fam kernel_linux +mime selinux static-libs systemtap test utils xattr"
REQUIRED_USE="
utils? ( ${PYTHON_REQUIRED_USE} )
test? ( ${PYTHON_REQUIRED_USE} )
"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
RDEPEND="
!<dev-util/gdbus-codegen-${PV}
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
>=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
utils? (
${PYTHON_DEPS}
>=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}]
|| (
>=dev-libs/elfutils-0.142
>=dev-libs/libelf-0.8.12
>=sys-freebsd/freebsd-lib-9.2_rc1
)
)
"
DEPEND="${RDEPEND}
app-text/docbook-xml-dtd:4.1.2
>=dev-libs/libxslt-1.0
>=sys-devel/gettext-0.11
>=dev-util/gtk-doc-am-1.20
systemtap? ( >=dev-util/systemtap-1.3 )
test? (
sys-devel/gdb
${PYTHON_DEPS}
>=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}]
>=sys-apps/dbus-1.2.14 )
!<dev-util/gtk-doc-1.15-r2
"
# gobject-introspection blocker to ensure people don't mix
# different g-i and glib major versions
PDEPEND="!<gnome-base/gvfs-1.6.4-r990
dbus? ( gnome-base/dconf )
mime? ( x11-misc/shared-mime-info )
"
# shared-mime-info needed for gio/xdgmime, bug #409481
# dconf is needed to be able to save settings, bug #498436
# Earlier versions of gvfs do not work with glib
MULTILIB_CHOST_TOOLS=(
/usr/bin/gio-querymodules
)
pkg_setup() {
if use kernel_linux ; then
CONFIG_CHECK="~INOTIFY_USER"
if use test ; then
CONFIG_CHECK="~IPV6"
WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
fi
linux-info_pkg_setup
fi
}
src_prepare() {
# Prevent build failure in stage3 where pkgconfig is not available, bug #481056
mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
if use test; then
# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
if ! has_version dev-util/desktop-file-utils ; then
ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
ewarn "think on installing it to get these tests run."
sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
fi
# gdesktopappinfo requires existing terminal (gnome-terminal or any
# other), falling back to xterm if one doesn't exist
if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
ewarn "Some tests will be skipped due to missing terminal program"
sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
fi
# https://bugzilla.gnome.org/show_bug.cgi?id=722604
sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
ewarn "Tests for search-utils have been skipped"
sed -i -e "/search-utils/d" glib/tests/Makefile.am || die
else
# Don't build tests, also prevents extra deps, bug #512022
sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
fi
# gdbus-codegen is a separate package
epatch "${FILESDIR}"/${PN}-2.40.0-external-gdbus-codegen.patch
# leave python shebang alone
# sed -e '/${PYTHON}/d' \
# -i glib/Makefile.{am,in} || die
epatch_user
# Also needed to prevent cross-compile failures, see bug #267603
eautoreconf
gnome2_src_prepare
epunt_cxx
}
multilib_src_configure() {
# Avoid circular depend with dev-util/pkgconfig and
# native builds (cross-compiles won't need pkg-config
# in the target ROOT to work here)
if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
if has_version sys-apps/dbus; then
export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
export DBUS1_LIBS="-ldbus-1"
fi
export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
export LIBFFI_LIBS="-lffi"
fi
# These configure tests don't work when cross-compiling.
if tc-is-cross-compiler ; then
# https://bugzilla.gnome.org/show_bug.cgi?id=756473
case ${CHOST} in
hppa*|metag*) export glib_cv_stack_grows=yes ;;
*) export glib_cv_stack_grows=no ;;
esac
# https://bugzilla.gnome.org/show_bug.cgi?id=756474
export glib_cv_uscore=no
# https://bugzilla.gnome.org/show_bug.cgi?id=756475
export ac_cv_func_posix_get{pwuid,grgid}_r=yes
fi
local myconf
case "${CHOST}" in
*-mingw*) myconf="${myconf} --with-threads=win32" ;;
*) myconf="${myconf} --with-threads=posix" ;;
esac
# FIXME: Always use internal libpcre, bug #254659
# (maybe consider going back to system lib)
# libelf used only by the gresource bin
ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
$(use_enable xattr) \
$(use_enable fam) \
$(use_enable selinux) \
$(use_enable static-libs static) \
$(use_enable systemtap dtrace) \
$(use_enable systemtap systemtap) \
$(multilib_native_use_enable utils libelf) \
--disable-compile-warnings \
--enable-man \
--with-pcre=internal \
--with-xml-catalog="${EPREFIX}/etc/xml/catalog"
if multilib_is_native_abi; then
local d
for d in glib gio gobject; do
ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
done
fi
}
multilib_src_test() {
export XDG_CONFIG_DIRS=/etc/xdg
export XDG_DATA_DIRS=/usr/local/share:/usr/share
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
export LC_TIME=C # bug #411967
python_setup
# Related test is a bit nitpicking
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
# Hardened: gdb needs this, bug #338891
if host-is-pax ; then
pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
|| die "Hardened adjustment failed"
fi
# Need X for dbus-launch session X11 initialization
Xemake check
}
multilib_src_install() {
gnome2_src_install completiondir="$(get_bashcompdir)"
keepdir /usr/$(get_libdir)/gio/modules
}
multilib_src_install_all() {
DOCS="AUTHORS ChangeLog* NEWS* README"
einstalldocs
if use utils ; then
python_replicate_script "${ED}"/usr/bin/gtester-report
else
rm "${ED}usr/bin/gtester-report"
rm "${ED}usr/share/man/man1/gtester-report.1"
fi
# Do not install charset.alias even if generated, leave it to libiconv
rm -f "${ED}/usr/lib/charset.alias"
# Don't install gdb python macros, bug 291328
rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
}
pkg_preinst() {
gnome2_pkg_preinst
# Make gschemas.compiled belong to glib alone
local cache="usr/share/glib-2.0/schemas/gschemas.compiled"
if [[ -e ${EROOT}${cache} ]]; then
cp "${EROOT}"${cache} "${ED}"/${cache} || die
else
touch "${ED}"/${cache} || die
fi
multilib_pkg_preinst() {
# Make giomodule.cache belong to glib alone
local cache="usr/$(get_libdir)/gio/giomodule.cache"
if [[ -e ${EROOT}${cache} ]]; then
cp "${EROOT}"${cache} "${ED}"/${cache} || die
else
touch "${ED}"/${cache} || die
fi
}
multilib_foreach_abi multilib_pkg_preinst
}
pkg_postinst() {
# force (re)generation of gschemas.compiled
GNOME2_ECLASS_GLIB_SCHEMAS="force"
gnome2_pkg_postinst
multilib_pkg_postinst() {
gnome2_giomodule_cache_update \
|| die "Update GIO modules cache failed (for ${ABI})"
}
multilib_foreach_abi multilib_pkg_postinst
}
pkg_postrm() {
gnome2_pkg_postrm
if [[ -z ${REPLACED_BY_VERSION} ]]; then
multilib_pkg_postrm() {
rm -f "${EROOT}"usr/$(get_libdir)/gio/giomodule.cache
}
multilib_foreach_abi multilib_pkg_postrm
rm -f "${EROOT}"usr/share/glib-2.0/schemas/gschemas.compiled
fi
}

@ -1,2 +1 @@
DIST libbsd-0.7.0.tar.xz 322908 SHA256 0f3b0e17e5c34c038126e0a04351b11e23c6101a7d0ce3beeab29bb6415c10bb SHA512 2c4c8fb2ae7fb5e5aab90f7a59a679220922dfeeaf0d54f80976914fcd507171bb9359f0837c32499e63a0f3e9342c9dcd387a466b359d20e3790ddc8ca17cea WHIRLPOOL 06083651f5678362d3422f96e59d30d8010493f9d1c8c43a94f7ab310daead491c70bce7838cc8302cb448e4a8fa99c7456f0ba9a3b411b292829ba949712b59
DIST libbsd-0.8.2.tar.xz 344292 SHA256 b2f644cae94a6e2fe109449c20ad79a0f6ee4faec2205b07eefa0020565e250a SHA512 2230d51a30a0c3a8518c7e325036d2b578c8c2b47525c2d0d5f530d28d82227ad48b50341e44521db21f99208fe7c0df7313254c90e3c92da1c8664a8cbb87c5 WHIRLPOOL 4f9b09aaa7c0775cd46bf0aaaba9e9a7f07040262739002bf3966aace3bb4d782f96b176e2c489e7d7cbc0840eecc463a414dee1b5c92414c9a821796d739290

@ -1,40 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils multilib
DESCRIPTION="An library to provide useful functions commonly found on BSD systems"
HOMEPAGE="http://libbsd.freedesktop.org/wiki/"
SRC_URI="http://${PN}.freedesktop.org/releases/${P}.tar.xz"
LICENSE="BSD BSD-2 BSD-4 ISC"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ppc ppc64 sparc x86"
IUSE="static-libs"
DOCS="ChangeLog README TODO"
pkg_setup() {
local f="${ROOT}/usr/$(get_libdir)/${PN}.a"
local m="You need to remove ${f} by hand or re-emerge sys-libs/glibc first."
if ! has_version ${CATEGORY}/${PN}; then
if [[ -e ${f} ]]; then
eerror "${m}"
die "${m}"
fi
fi
}
src_configure() {
# The build system will install libbsd-ctor.a despite of USE="-static-libs"
# which is correct, see:
# http://cgit.freedesktop.org/libbsd/commit/?id=c5b959028734ca2281250c85773d9b5e1d259bc8
econf $(use_enable static-libs static)
}
src_install() {
default
prune_libtool_files
}

@ -1,2 +1,2 @@
DIST libgaminggear-0.10.1.tar.bz2 101415 SHA256 1e2626a81b41b74f26ac422c19cdafe858aeb2a572e53c0b2212064e69f14254 SHA512 60f30e1b05c31fb6072f5bd74d7edcd2039fe632c18183e122625bf5f16563e77599e22fc4926e7e6c43d985b3d8840ba9e5cc16b6cb8fb0986c9d49244b3e7c WHIRLPOOL 75e4759d0a2895f7bec0c17a490fbd2c2880fb575e8cdea116d229bab51e747db158c3a90bfb111bebf74bf650438b4c97463ea890592b3984eb77b934dc511e
DIST libgaminggear-0.11.1.tar.bz2 103314 SHA256 c3202b76cceb8fe9bdfc9ba284ef88241b1f8e5d5b2d2a001514b974bbf73215 SHA512 9d29d85cf79e12d318ce73b9900d61f5da90b34d3c74ba587b4fdfd9788e723ebba181a8af510bad0763f2239288101a9379efe3d964800cc6885904f13426a0 WHIRLPOOL 938e3fb2e1953e4582f2da8d840facfe4cea97517747dccbe042e7976f484913ba88142121ed1505d9da7fdf24135630661b754ceb8fb321fde38e4b4174c252
DIST libgaminggear-0.11.2.tar.bz2 103443 SHA256 99abcb627242aa96b597ed831fd1e6df1e8a3958fbaf6cc8e8fdf04d62570d0e SHA512 bd7d4d8c513cb4542ccde12a72ebc816124e09cbb0122e3df70cbbe8ff536b79f4ef5925a1b9e495401b586663afe79d70fd27bb962ba29a7c95a2242143f150 WHIRLPOOL 36052baeef5ca0fd1a0e8c2e424e0acfbdabde166fd23ffa21ffbac417d8c78e68e2e05b1348e9822da3e19c02d27f7cab4937691f722036b9a2714a45550442

@ -13,7 +13,7 @@ SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
LICENSE="LGPL-2.1 MIT"
SLOT="0/11" # subslot = soname major version
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~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 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs"
RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]

@ -2,6 +2,7 @@ DIST asdf-3.0.3.tar.gz 427575 SHA256 05f11d83d33f1080f683701ad0e139011051f9c3190
DIST asdf-3.1.4.tar.gz 831537 SHA256 bc8bfaf36335e5f01fd08159c1ded5a96088fbea002b466bdf95c129c413cc43 SHA512 c48eb0928d3b98154d63e8ce797baeb4ad51ab685594b80f2ec4db9747b41c619ec17856d2483590ca8bd0b8c9db160837e7e49e72396c3a16db338ea985282c WHIRLPOOL 71babc996c326b6fb0118752a0f60601f9cefb28d254fd48c838abae14e7bc02f8831a5e96e9521b95f52b9bc1bb632fb5d93abed11dea480ba9f007e7cfdbf1
DIST asdf-3.1.5.tar.gz 400359 SHA256 3005aa50470feefc3f786e4e300f275bef3d3662ed1904fd25a22552e4cc59ad SHA512 937d45eabea0853cd1b2e78e84cf33e7b55065857ffcf49fd87ccd60e21ae09c6dc7ab3649d48b37aeb1beaeeaf6c816e5ce035f0283707105296fb976044516 WHIRLPOOL 730e55f875367d190a893b52663bcf35ed5880715ef696d519d35947b82f8a304c94a46294f48c4403c1583895f41a03955510c92848a7290d1d681ab3214e24
DIST asdf-3.1.6.tar.gz 396066 SHA256 1c15f8db038ace781fa5e6f0cf045b06f6315c715c55d8bcc185238182bb6514 SHA512 3203bef1ce4c2d28306ca1ee214d3d5fd04b3d2caa61f606d0334f100358bfbd9b03d69c95e83734175639a91e76aeac509e949768fc694817631078671a9bc1 WHIRLPOOL 52a4a62f17d54c638a3f3ed4c42804c64e34a86c8df5bf0e118ff478c38c1558adb8751a987b97093ec5adc0f7a6c951f9c563ef7549fc7591fdffd9a7aa1212
DIST asdf-3.1.7.tgz 402257 SHA256 06b7b081a887183d31d1fc710d4f63a2e30ff6f70ee9792f130017abd62037be SHA512 ebe2ddf702f6200bf98408fb262e9929565c9d29bcd874dd2657a6f84e123b0153a78e457fb425d48a05c427f7c090ab5fd0e6201223eb4b296b3b4cd5b57c26 WHIRLPOOL 6fff0e34909bc3094c6ea5acddd5c35b08a1ae173f3343f3fd4e11f4ba4320d377f014bca4f74218de794d2dd4d461641ba96ba55172427e8fa4c846aa2e20fb
DIST cl-asdf_1.86-1.diff.gz 4888 SHA256 ac7c526a4471353cff3fc2ae750693cf5a9a35c6dca1e52d04e9fd17d76082c8 SHA512 9aa905a14e814a9c7e8077d09aca238d735511ae67f0197fffc84100f5500950081bc00f5be7c6838e3a58d9e4c2f5b6fce9e41d84c7e39fb4fb2e04a1482abf WHIRLPOOL 86a88af4124e9e822c899f23400d054fd915365a825017fdf1ad0b6a26e121cbfe80639f65b018dbc7012173a40c88a31b287c96919184e050feb809ba86bd12
DIST cl-asdf_1.86.orig.tar.gz 53686 SHA256 cfee04493fe4b8a70a42e3ed79d927c3551878c8685ba7c8cf557341453421ce SHA512 a62ff032b41d60b3afbd1f1ef85ea52d669a6fdd87371b19364dec98e99a01e134242bd0b0d6e8731c8d89feab78b809b740a533a46ff21a3969ef0f7dd1e65c WHIRLPOOL c1943361d8e396d9ec602428b91622a023f7743553c4a8d8316ac6b472e11ef1bc3ad3e65644e2d492932c8eb7d02bf596f465e48b6e6714ee4af957459754d2
DIST cl-asdf_1.89-1.diff.gz 395 SHA256 1ad2de4d9bb494f58e69f327d02cd86100967371c93727393b99b3b6fd20d567 SHA512 0d5ac51e69914b58497815971f1736712bd65988944fff5966f854c2dd22d1969d9237c996bfd44a6195d2765db9af07c3055c9bf126ba25059eccdbf8da20b4 WHIRLPOOL 20bc02a86d3645bedf1952ef70193f3b52250dcab5720e21940f0721e2c8be330f8452d4f77c82cc7bb105afb935c3b255e435b5d99ac40965c49621082c0f4b

@ -0,0 +1,50 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils prefix
DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp"
HOMEPAGE="http://common-lisp.net/project/asdf/"
SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tgz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
IUSE="doc"
SLOT="0/${PVR}"
DEPEND="!dev-lisp/cl-${PN}
!dev-lisp/asdf-binary-locations
!dev-lisp/gentoo-init
!<dev-lisp/asdf-2.33-r3
doc? ( virtual/texi2dvi )"
RDEPEND=""
PDEPEND="~dev-lisp/uiop-${PV}"
S="${WORKDIR}"
src_compile() {
make
use doc && make doc
}
src_install() {
insinto /usr/share/common-lisp/source/${PN}
doins -r build version.lisp-expr
dodoc README.md TODO
dohtml doc/*.{html,css,ico,png}
if use doc; then
dohtml -r doc/index.html
insinto /usr/share/doc/${PF}
#doins doc/${PN}.pdf
fi
insinto /etc/common-lisp
cd "${T}"
cp "${FILESDIR}"/gentoo-init.lisp "${FILESDIR}"/source-registry.conf .
eprefixify gentoo-init.lisp source-registry.conf
doins gentoo-init.lisp source-registry.conf
}

@ -2,3 +2,4 @@ DIST asdf-3.0.3.tar.gz 427575 SHA256 05f11d83d33f1080f683701ad0e139011051f9c3190
DIST asdf-3.1.4.tar.gz 831537 SHA256 bc8bfaf36335e5f01fd08159c1ded5a96088fbea002b466bdf95c129c413cc43 SHA512 c48eb0928d3b98154d63e8ce797baeb4ad51ab685594b80f2ec4db9747b41c619ec17856d2483590ca8bd0b8c9db160837e7e49e72396c3a16db338ea985282c WHIRLPOOL 71babc996c326b6fb0118752a0f60601f9cefb28d254fd48c838abae14e7bc02f8831a5e96e9521b95f52b9bc1bb632fb5d93abed11dea480ba9f007e7cfdbf1
DIST asdf-3.1.5.tar.gz 400359 SHA256 3005aa50470feefc3f786e4e300f275bef3d3662ed1904fd25a22552e4cc59ad SHA512 937d45eabea0853cd1b2e78e84cf33e7b55065857ffcf49fd87ccd60e21ae09c6dc7ab3649d48b37aeb1beaeeaf6c816e5ce035f0283707105296fb976044516 WHIRLPOOL 730e55f875367d190a893b52663bcf35ed5880715ef696d519d35947b82f8a304c94a46294f48c4403c1583895f41a03955510c92848a7290d1d681ab3214e24
DIST asdf-3.1.6.tar.gz 396066 SHA256 1c15f8db038ace781fa5e6f0cf045b06f6315c715c55d8bcc185238182bb6514 SHA512 3203bef1ce4c2d28306ca1ee214d3d5fd04b3d2caa61f606d0334f100358bfbd9b03d69c95e83734175639a91e76aeac509e949768fc694817631078671a9bc1 WHIRLPOOL 52a4a62f17d54c638a3f3ed4c42804c64e34a86c8df5bf0e118ff478c38c1558adb8751a987b97093ec5adc0f7a6c951f9c563ef7549fc7591fdffd9a7aa1212
DIST asdf-3.1.7.tgz 402257 SHA256 06b7b081a887183d31d1fc710d4f63a2e30ff6f70ee9792f130017abd62037be SHA512 ebe2ddf702f6200bf98408fb262e9929565c9d29bcd874dd2657a6f84e123b0153a78e457fb425d48a05c427f7c090ab5fd0e6201223eb4b296b3b4cd5b57c26 WHIRLPOOL 6fff0e34909bc3094c6ea5acddd5c35b08a1ae173f3343f3fd4e11f4ba4320d377f014bca4f74218de794d2dd4d461641ba96ba55172427e8fa4c846aa2e20fb

@ -0,0 +1,28 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils
DESCRIPTION="UIOP is a portability layer spun off ASDF3"
HOMEPAGE="http://common-lisp.net/project/asdf/"
SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tgz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
IUSE=""
RDEPEND="~dev-lisp/asdf-${PV}"
S="${WORKDIR}/${PN}"
src_install() {
insinto /usr/share/common-lisp/source/${PN}
doins -r contrib *.lisp ../version.lisp-expr uiop.asd asdf-driver.asd
dodir /usr/share/common-lisp/systems
dosym /usr/share/common-lisp/source/${PN}/uiop.asd /usr/share/common-lisp/systems/uiop.asd
dosym /usr/share/common-lisp/source/${PN}/asdf-driver.asd /usr/share/common-lisp/systems/asdf-driver.asd
}

@ -3,7 +3,7 @@
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_4 python3_5)
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5)
inherit distutils-r1
@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test doc"
# requires.txt cites 'SQLAlchemy>=0.7.3' which is really both old and silly

@ -3,7 +3,7 @@
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy )
inherit distutils-r1
@ -13,7 +13,7 @@ SRC_URI="https://py-amqplib.googlecode.com/files/${P}.tgz"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
KEYWORDS="amd64 ~arm64 x86"
IUSE="examples extras test"
PATCHES=(

@ -4,7 +4,7 @@
EAPI=5
PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy )
inherit distutils-r1

@ -4,7 +4,7 @@
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1

@ -4,7 +4,7 @@
EAPI=5
PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy )
inherit distutils-r1

@ -1,2 +1,3 @@
DIST debtcollector-0.10.0.tar.gz 20669 SHA256 8cc22cf2223af7789692ef0b1cb5c0c3a00da7d6e34cbfce125a956cb4d2f21e SHA512 a521a4dd5229384a500e973fa504be75c9019abd00cd4012118a566a1b4d95ecc10d616de29e0c16953a69fe7cdd219b44afb9463c59a6220c49d4a3dd12f896 WHIRLPOOL 2ffac565e27d411321a4c8c662e78bd0774158d9be0f77f8f7baa049fd62e52cd1b8a3a552f0f993e7e4c0b9325b0be3446580e602e4524e95f7d1e58361f388
DIST debtcollector-0.7.0.tar.gz 17151 SHA256 03ef06604e666a9f4a1506ffcfa887068bdb9f16e33657f9211a7b4e8bc753ea SHA512 684bea62b17843717c6aa19f36e538bd62bfe101693394eb66d6d6f408f32a0c9e458dee8c81324f4503fab952b73654f2eca24c51ef67594c51657fcdca9dad WHIRLPOOL 32cb704719ae3ea00f3d5e4e1df225604e226c5c4882afcf136fdfe035c367b334f1409c35b079214f8ab8b04608ef8a1f648a38632fc9fef9a8f312ce76d3c0
DIST debtcollector-1.3.0.tar.gz 21853 SHA256 9a65cf09239eab75b961ef609b3176ed2487bedcfa0a465331661824e1c8db8f SHA512 b53ef131599fb04abb9f11e8abe3dc8447a595695bab505be642c03925e0da625e6a10944ec10863526645080ed3ce43b9a5138a1f7ba91511ade6daf42d018a WHIRLPOOL 04c6ee34a48955a86535c3161005417f5c5dfca9152e092c3856d61a4707f6249245398006d0da0c31ffa7103ab69a566bf84d7321b70362d59f359b5225622f

@ -0,0 +1,70 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_{3,4,5}} )
inherit distutils-r1
DESCRIPTION="Python deprecation patterns and strategies that collect technical debt"
HOMEPAGE="http://www.openstack.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="doc test"
CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
${CDEPEND}
test? (
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
>=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
>dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
>=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
!~dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
>=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
dev-python/doc8[${PYTHON_USEDEP}]
)
doc? (
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
)
"
RDEPEND="
${CDEPEND}
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
virtual/python-funcsigs[${PYTHON_USEDEP}]
"
python_prepare_all() {
sed -i '/^hacking/d' test-requirements.txt || di
}
python_compile_all() {
use doc && esetup.py build_sphinx
}
python_test() {
distutils_install_for_testing
rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
testr init || die "testr init failed under ${EPYTHON}"
testr run || die "testr run failed under ${EPYTHON}"
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
distutils-r1_python_install_all
}

@ -3,7 +3,7 @@
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_4 )
PYTHON_COMPAT=( python{2_7,3_{3,4,5}} )
inherit distutils-r1

@ -1,3 +1,4 @@
DIST dogpile.cache-0.5.1.tar.gz 169450 SHA256 1f3165222bc23418cb9d3f1a2c9d554a091f412e5bc871ea0c48a19b576d06c0 SHA512 e9b9b8b7caf269cfecc8d333bd04714d908860e1e54720ce3329fae7be14995f8de6f1225e0cf6a782d5ef53ddd3482acc36a3440eb772e03f3d5029faeecc5c WHIRLPOOL ba14fc61604c78af038b6520079bbca1a46a889abebf69305f5722142cd47a45da966d8db64ec24cc7148363a22b109d89e4200087cc235a0721aea94f5c6a2c
DIST dogpile.cache-0.5.2.tar.gz 173765 SHA256 acdcb69e7eb8421678172fe8709d6d92bf7249022a70e4d7c84316d4e2d1d1b5 SHA512 dcce0e06de4d053e16020ca32f210c79a7eab21b7d09a8041e655940f03e32c91919a26d75114fffa087bc8a33052d5b1b04aeaea92d663ba4237f2990de2f05 WHIRLPOOL 8cec6f397487dbd2d61e1ed0f9b96f08d0f560af2f13b92b819d5fb402616d59a8c1a50aab518c07413af40b9405214ff4b66448912e33839a7a8b9920541b76
DIST dogpile.cache-0.5.4.tar.gz 185676 SHA256 9eab7a5dc05ad1b6573144c4a2717226b5c38811f9ec29b514e774535a91ea24 SHA512 ae73b8c82745cbde7b46f532e127c044a01e7b85d2e91b5f0a16da51fb9d70d48e2de55278db68f892a9b604e4f32e19a4a73c11393e04b599c8892280f9b5fe WHIRLPOOL 97b6dd6374940f081d60a7eba43844f17f39dbfa6df14ef18e9e8241b844f467126f4ffca3dd284408855d46c7f2299bb24bc9f2715271e2303e440a3b912f95
DIST dogpile.cache-0.5.7.tar.gz 288083 SHA256 dcf99b09ddf3d8216b1b4378100eb0235619612fb0e6300ba5d74f10962d0956 SHA512 52acc9027577bd254e3c9b88f1e178534ba3b74675b83ad5dcc37443f77e674018123499d0da42d856790c949d7cf0c2070d29110b083ee7e99c4040263cb06c WHIRLPOOL 74f94e870cb8b64ada6b032947804835d10ac952badf8cc10ad9ad066bd3d751aefd7352392da96a076502df46ade5dc5a50da50e45d89ce2221fec3d47a8b46

@ -0,0 +1,37 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )
inherit distutils-r1
DESCRIPTION="API built on a lock allowing access to expiring values while a single thread generates a new value."
HOMEPAGE="https://bitbucket.org/zzzeek/dogpile.cache"
SRC_URI="mirror://pypi/${PN:0:1}/dogpile.cache/dogpile.cache-${PV}.tar.gz"
S="${WORKDIR}/dogpile.cache-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RDEPEND=">=dev-python/dogpile-core-0.4.1[${PYTHON_USEDEP}]"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
test? ( dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-cov[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
dev-python/mako[${PYTHON_USEDEP}]
>=dev-python/dogpile-core-0.4.1[${PYTHON_USEDEP}] )"
# This time half the doc files are missing; Do you want them? toss a coin
python_test() {
# crikey. testsuite written for py3, 5 tests fail under py2.7
if [[ "${EPYTHON}" != "python2.7" ]]; then
nosetests || die "test failed under ${EPYTHON}"
else
einfo "testsuite restricted for python2.7"
fi
}

@ -3,7 +3,7 @@
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1

@ -1,10 +1,10 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1
@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/e/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="doc examples test"
RDEPEND=">=dev-python/greenlet-0.3[${PYTHON_USEDEP}]"

@ -4,7 +4,7 @@
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1

@ -1 +1,2 @@
DIST futurist-0.13.0.tar.gz 30739 SHA256 2d51e23607f42bcd84fcf666b91d9a41c131943d85f7a252e599cdea6518ab1c SHA512 a193721ac4920577cf42a39868a76ab772154430ff59b7ca90584d63d65097e842057a0767d357ead9b057638fc8b736d4245cae9945dabac8782d5821e134b0 WHIRLPOOL bf5353773ca8482361567461e0aaee72c03b2535005533364da54b34a88fc19e7d260e0de8831b1f4c88ab2ffed70481a22892d186c5a0e5727fb4dc3649381a
DIST futurist-0.4.0.tar.gz 27870 SHA256 a0c97c7dc7bd8fa1abe0012c129a303ba652074709bfed6c71730bbfce6f18bf SHA512 0ff6be28a5ce45458e9af4957ce17f55fbe2eb5971d365fe23b3e58486b702167fb9f0d2709d86c4eb3cbc92693e6a4de9ca7b858c5be083180c5bb34e331e6a WHIRLPOOL 6b1694bd839c1c43602de50f3a2557f5ed3b16c9cc0c7b0a40a8a09b247e8df3ac486ff67e62ccf0de80ef1934e6925d38c34f6c7b0c46050d94f25b2078e6a5

@ -0,0 +1,28 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1
DESCRIPTION="Useful additions to futures, from the future"
HOMEPAGE="https://pypi.python.org/pypi/futurist http://docs.openstack.org/developer/futurist"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
DEPEND="dev-python/setuptools
${CDEPEND}"
RDEPEND="
${CDEPEND}
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/monotonic-0.6[${PYTHON_USEDEP}]
virtual/python-futures[${PYTHON_USEDEP}]
>=dev-python/contextlib2-0.4.0[${PYTHON_USEDEP}]"

@ -3,7 +3,7 @@
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_4 )
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1
@ -11,7 +11,7 @@ DESCRIPTION="HTTP client mock for Python"
HOMEPAGE="https://github.com/gabrielfalcao/httpretty"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
LICENSE="MIT"
SLOT="0"

@ -0,0 +1 @@
DIST keystoneauth1-2.3.0.tar.gz 149266 SHA256 27262621a8e74fe296f3c23a4b43dc9c1422670e89568626eb511163cb1c567c SHA512 e41a84e46247abf54073d8aa978d5e0db8341bff6507d9cb7079230381e10ccd7f72f5478849c37d8e914b520392762270bf0495d0945e7a7b3e5cd72fdced34 WHIRLPOOL 41fe83b35055975ad4ff99a387e30aa512ea071856034ace7804b3ea6f7c9378f4b2268b9df023e92ccea92807b47bdfafffef9e964336acca36599c288654d2

@ -0,0 +1,28 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1
DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud."
HOMEPAGE="https://github.com/openstack/keystoneauth"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}1/${PN}1-${PV}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
${CDEPEND}"
RDEPEND="${CDEPEND}
>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
>=dev-python/positional-1.0.1[${PYTHON_USEDEP}]
>=dev-python/requests-2.8.1[${PYTHON_USEDEP}]
!~dev-python/requests-2.9.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]"

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
<longdescription lang="en">
This package contains tools for authenticating to an OpenStack-based cloud.
</longdescription>
</pkgmetadata>

@ -4,3 +4,4 @@ DIST keystonemiddleware-2.2.0.tar.gz 179743 SHA256 e3fca3fdc093d7fd3817bbd767fac
DIST keystonemiddleware-2.3.1.tar.gz 181764 SHA256 9970f8187cb0a91cb2d78ef9a088147b2c9457653e95caa7b8bcd11bd450bec1 SHA512 976aece1d308607eec6f406bb94f1e6dddc27edebc8d99bd7bc00dfbc1f21479da2c76404a99eb677e6647afd42f68b82d6f519659d7483db6fa9d68f839cf5f WHIRLPOOL e6a568e7c96886907eaeba9bc843833ffece8f441bfbe760b77c597c38a5a2720b702a527830d61f07bf0e3adbe4a90d6198b97b487ca08c3e4829058f7e0ef4
DIST keystonemiddleware-2.3.2.tar.gz 180429 SHA256 ba4a3bc6224d8ba85319741034d3c6f0c569096e38c6f75a5f044b1c742feeb3 SHA512 ef3a36cd8daa2456b960b9677f06d3753ed3eb7bad83b5d32a1fb2e69239237a495649b5c8138b92b1ab2b6b8e7a8db9e1d02dd7c595962f82681c478e5dfb78 WHIRLPOOL 846b4efdb61a0680d6a71cfe7605c88c3e908c0391b974ba6517c0122a2720bbc5b8990c41907a306ace5d0d25f9362260acc44dfd8e7c9e8dcf6b19213fcda8
DIST keystonemiddleware-2.3.3.tar.gz 185140 SHA256 3a71fdd81d835dbf95086df29bed4f72a05f6588a193ee207877cdb954b9d155 SHA512 cc5a9d5d7411e59471993deff33e71198fe0124252f668e01dc32f84dd2cec56a3256c3a1f05c5f9ed15c25598472fce79a26809ed34123ad10fb90aa8bfde7a WHIRLPOOL 88cf95922b4f32e673b0c77ee95a4effc2f0a65aa3118d5e49c0f25ba83e356bd1af4aa05efe71dc69c1bc3453fea132eab3c53d24815edf1aebcebe01beeaa2
DIST keystonemiddleware-4.3.0.tar.gz 195199 SHA256 c78def2359359a35d349cf38c53f2d2fdd109fc6debe14ee4c31837e64210b02 SHA512 1adf923ebf8896de21c86d9ddbbec26567f873f3819b4cd5d145cb89b3db963457b1529083f96423967c9b504f12e532ec125cf2009634746cfb1b94772ecb47 WHIRLPOOL f006000815af7329fa1288cae47a1a450fdaf361ff5cecf6ccb6388c040f027011048ccea608b7dca8d5f8450f3c5a4f29194ecd1c9310997a1a830e864e0935

@ -0,0 +1,86 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1
DESCRIPTION="A middleware for the OpenStack Keystone API"
HOMEPAGE="https://github.com/openstack/keystonemiddleware"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples test"
CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
${CDEPEND}
test? (
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
>=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
>=dev-python/mock-1.2[${PYTHON_USEDEP}]
>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
!~dev-python/oslo-sphinx-3.4.0[${PYTHON_USEDEP}]
>=dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
>=dev-python/oslo-messaging-4.0.0[${PYTHON_USEDEP}]
>=dev-python/reno-0.1.1[${PYTHON_USEDEP}]
>=dev-python/requests-mock-0.7.0[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]
>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
>=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
>=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
>=dev-python/python-memcached-1.56[${PYTHON_USEDEP}]
>=dev-python/bandit-0.17.3[${PYTHON_USEDEP}]
)"
RDEPEND="
${CDEPEND}
>=dev-python/keystoneauth-2.1.0[${PYTHON_USEDEP}]
>=dev-python/oslo-config-3.4.0[${PYTHON_USEDEP}]
>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
>=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-3.4.0[${PYTHON_USEDEP}]
>=dev-python/positional-1.0.1[${PYTHON_USEDEP}]
>=dev-python/pycadf-1.1.0[${PYTHON_USEDEP}]
!~dev-python/pycadf-2.0.0[${PYTHON_USEDEP}]
>=dev-python/python-keystoneclient-1.6.0[${PYTHON_USEDEP}]
!~dev-python/python-keystoneclient-1.8.0[${PYTHON_USEDEP}]
!~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}]
>=dev-python/requests-2.8.1[${PYTHON_USEDEP}]
!~dev-python/requests-2.9.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]"
PATCHES=(
)
python_prepare_all() {
sed -i '/^hacking/d' test-requirements.txt || die
distutils-r1_python_prepare_all
}
python_compile_all() {
use doc && emake -C doc html
}
python_test() {
testr init
testr run || die "testsuite failed under python2.7"
flake8 ${PN/python-/}/tests || die "run over tests folder by flake8 drew error"
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
use examples && local EXAMPLES=( examples/.)
distutils-r1_python_install_all
}

@ -4,7 +4,7 @@
EAPI=5
PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy )
inherit distutils-r1
@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="amqplib doc examples msgpack sqs test"
# couchdb backend support possible via dev-python/couchdb-python

@ -2,3 +2,4 @@ DIST monotonic-0.2.tar.gz 6652 SHA256 c5e81e875a43e218135ea2aa4c367523894e1a2d76
DIST monotonic-0.3.tar.gz 6707 SHA256 2825ba5ded67b1a70d44529634d3f4ddfad67a5ed7fdcf026022a3ce175be07b SHA512 772154934ffdd1a12aacc331761ce219980caac1bce243fd0740320a25152cf800142c5787c9423270bf02d18e88973dcd981781e2279b28ce364063102f1099 WHIRLPOOL 83d34eac5ee577ba8c42c6276d1c3a46fc30a63919ffd6f86260c09aaf6720ab171db89dfdaa28fd6d42ebb309725ff2e4e0e6c8306c21f9f12dce3d71436e71
DIST monotonic-0.4.tar.gz 6702 SHA256 852f656adbf623ee859def6ca2f5498f4cae3256f8320d5c50570ee8a0592ab6 SHA512 604f7d9f2b36e03413a0f9c341b45698440f3b004cd7120d3905e4712ac85daeadc0580ebd471ad9ad699aa2ec625908f13b604b10f656c803f6e885553d7e6c WHIRLPOOL f13cd567de00c24800da8b40ae1018f54b95e98c2ccda194ea2e8cf080c1ee47d0670db59ddaf72df373906d46107ec10a62581544076c7e70379119f3443dfd
DIST monotonic-0.5.tar.gz 6493 SHA256 8c1f882aa66c41daffa701cbf7121d8d264d0cb7722bbb78a6eccd2d8b12c880 SHA512 55630c99559acb54d97cbaf033ed773e711059282538a16d9169d1efc08e5d5a77ec5a39c8402605b27865e963ab361d79ff2033ac58fb86272f279881ad7481 WHIRLPOOL fdc8896d25b604e0627e2533353b06abda8644b993c310346b530bcdab86038bee9d844f3d440c402488e06eb512cf0a2a53b6204bedff58f4b90d36fd13b828
DIST monotonic-1.0.tar.gz 7082 SHA256 47d7d045b3f2a08bffe683d761ef7f9131a2598db1cec7532a06720656cf719d SHA512 af2127ba56f346f0ccba324d7398b2c69b8ca3357dbd647eff4ecd8b843c28db935a1e16bf468e0c5e66b54a3bc63ebd24d4a8ea544c45ac22c01eb034322cc8 WHIRLPOOL 1d875e7aade716d670fda4fae34012200a258c234916719d843dd1a94d7ae89523ca8972c439d6aa3d7dfea73803c9df7145123f3b4a511f40ba2a5be300c89f

@ -0,0 +1,21 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_{3,4,5}} )
inherit distutils-r1
DESCRIPTION="An implementation of time.monotonic() for Python 2 & < 3.3"
HOMEPAGE="https://github.com/atdt/monotonic"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""

@ -0,0 +1 @@
DIST oslo-cache-1.5.0.tar.gz 36204 SHA256 a8810cac4b53535e26d9c12c75c49e08387c54577f2973379a8ff4bba45f418d SHA512 aeb9ec97c9b964b1a897b929426082a6a3900dca9b6e86a203338603fc94b57d3327e79a1b6ee2bb9364041b014e8a5b9e3ea330937d79f32ff111115fb3af0b WHIRLPOOL c0c1fa549f656b7eddafc08b1611690adb46b2ac0f4be1f44efc265dced9c06ec9744e0e923f2c857d00b4526fbcbc7fb13711734ac4a33a17116a376ce4830b

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
<longdescription lang="en">
Wraps the dogpile.cache library
</longdescription>
</pkgmetadata>

@ -0,0 +1,40 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_{3,4,5}} )
inherit distutils-r1 vcs-snapshot
MY_PN=${PN/-/.}
DESCRIPTION="Oslo Caching around dogpile.cache"
HOMEPAGE="https://launchpad.net/oslo"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
${CDEPEND}
"
RDEPEND="
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
>=dev-python/dogpile-cache-0.5.7[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/oslo-config-3.7.0[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
>=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-3.5.0[${PYTHON_USEDEP}]
"
python_prepare_all() {
sed -i '/^hacking/d' test-requirements.txt || die
sed -i '/^argparse/d' requirements.txt || die
distutils-r1_python_prepare_all
}

@ -2,3 +2,4 @@ DIST oslo.concurrency-1.8.0.tar.gz 52531 SHA256 2070e04106d9d3bdffdd9729a1f0b62a
DIST oslo.concurrency-1.8.1.tar.gz 53044 SHA256 12c5339c9263c994feb5c59290f7fb0eab12d6b729284efd01dd324c95bdecbb SHA512 227c16dd6916bd48ec937520650196b80bbbdf3988e7d6095eecd1ded601e207f24f63598881276591403e3b7c6e85f9adcce5a8ca210f82cffc75eff2351422 WHIRLPOOL 48bf1ffd9b04d0c5f199a8a6ff2deec6e25557a5af680450d30441b715edf0fea986c6620fb9a0ab722b13ca5f4664d39450db5e23cc96a331ed65532abf7a5a
DIST oslo.concurrency-1.8.2.tar.gz 53278 SHA256 149f4c972916f14c14c97d7be7b92ba59497c1bbd09c114ee3681bef0773daca SHA512 b73b52cef9dca932b8d0b737bd544f0a6d138de701aa9d2309d6e7698af337e4aea5cbb47c78c2ebda14abc164b8cc2b40fee6c8e92a30ee674318f436cf3b94 WHIRLPOOL 1ad6cc6dc0d339b2bec4959539fdadfb0914b1677005e250b4e74da3be97310474d20514003b0c0f50a4c6dff021ac8efa25e1f9b4502f419ab9763117caa16e
DIST oslo.concurrency-2.5.0.tar.gz 35903 SHA256 279c7cca885f69cfb7b3b50d686cd3d7c8d50dfb8eb13aada01bf733ef5ccc45 SHA512 866c3b7ea938c2b1fed7a004a34398b99fd6b084ca3c709a8448464f4845445a16fc1a016ea30b391190625ac53bf6756509dfbee28c89000f689743622246e0 WHIRLPOOL 0067b6d3089d94c41491e5e208392bad7cd7eebb9d7ba9c5300b985cfbad924273c30ec575674ba2177fe4ba3b17fe2dcd709c778753b013989bfb285070aa2b
DIST oslo.concurrency-3.6.0.tar.gz 39546 SHA256 21726ea22125ec3e6076cc13b64ef25b60b31b6eca646c57f0d152f295695353 SHA512 561f3e99f8e2a013b381b95f035a3bd7da5cc3989ba93019fd2abffcdec71cc4cef17b71c1eaf34922a90f0241d9551e5214f71f6fb1c17b83b3033d0e63dfe1 WHIRLPOOL 2cfc1adffb83e8fcd910bcab075a1c5c8a4f0ed4ecebb9cf74428b86ca688b031bac0cf3fabf2951deeda68228f4b4c46e6c9ff0a45cafa52669b5c98985b879

@ -0,0 +1,59 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5 )
inherit distutils-r1
DESCRIPTION="library for running multi-thread, multi-process applications"
HOMEPAGE="https://pypi.python.org/pypi/oslo.concurrency"
SRC_URI="mirror://pypi/${PN:0:1}/oslo.concurrency/oslo.concurrency-${PV}.tar.gz"
S="${WORKDIR}/oslo.concurrency-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
CDPEND="
>=dev-python/pbr-1.6[${PYTHON_USEDEP}]
<dev-python/pbr-2.0[${PYTHON_USEDEP}]"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
${CDEPEND}
test? (
>=dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
virtual/python-futures[${PYTHON_USEDEP}]
>=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
!~dev-python/oslo-sphinx-3.4.0[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
<dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
>=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
)"
RDEPEND="
${CDEPEND}
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
virtual/python-enum34[${PYTHON_USEDEP}]
>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
>=dev-python/oslo-config-3.4.0[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-3.5.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/fasteners-0.7[${PYTHON_USEDEP}]
>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
"
python_prepare_all() {
sed -i '/^futures/d' test-requirements.txt || die
sed -i '/^hacking/d' test-requirements.txt || die
distutils-r1_python_prepare_all
}
python_test() {
nosetests tests/ || die "test failed under ${EPYTHON}"
}

@ -1,3 +1,4 @@
DIST oslo-config-2.3.0.tar.gz 77781 SHA256 780258c0910995a0f092b64144c160e6fe649b3fe7a058b3457f6111718a3088 SHA512 91e9c4d5c4b6c43c4e2614285714186b202a392d2e7b917aa4ce4f9c8d0c42780eb9b6ac42d3ca5d7944a79f90966edf4c6ed3b709cc6743f2bee437d513957c WHIRLPOOL e0260e8e91774104c29f46474c70167bc2567a442872bf723f7f8ad1caa52fe0b4ec9a792a8d695b114ec98db25d5ca85ec66fa840baff3a37b9f802f376b3f2
DIST oslo-config-2.4.0.tar.gz 78301 SHA256 6116c973f53f33659285f844fa4f5bdaded8850bed0a7686b2d081e5243a278f SHA512 c63a2f361cc197c9bbf47c647abab45cb094808eeb4bc7647e80fb19ff6d6b32f59c570f63c3d0a4b18f0c5ef9dd73a37ce307b8d616398ba60d8b0784764897 WHIRLPOOL 0339b794e008b72724e9b2104f13117eda339b103715fcda1e1c5f4e001f413f324f48043dc735a9e018734c2363a9741841eb50b346cd94e6e9469bbb692b51
DIST oslo-config-3.9.0.tar.gz 99255 SHA256 ec7bdf4a3d85f90cf07d2fa03a20783558ad0f490d71bd8faf50bf4ee2923df1 SHA512 c52d1ed16149a57748e81d4eed192636fc726a4f373cb5c5d7a1bcdbe43a0339f733f94a3d922aa85c6248749b69da06d6c671a152d301510603f50913176b1c WHIRLPOOL af288fc5b5c5fef3f6c5e128585355bf0624b9fc11519c679bb2d3399a67e5935510c677ef6d714c562197260081e9fbc7e8fc7b6cebcd7aa757eedf8b17eb2e
DIST oslo.config-1.9.3.tar.gz 94155 SHA256 ab54e67776d9bbee86ba8cce9393ba3186e6e63de926e9797598dc35fe790140 SHA512 e4daa78bb82593806221c143b374ffcbba49bad5f6a7994703febf24918fe728fdf0e4f9c8e7eeebfd78acd3fe2b4e483d56e1249f0c81970d0f760a9e71f179 WHIRLPOOL a921908faa3a0f2a38fd5565cc7252f7dbd5c5074b48bfaee349984ccd81c20625940a9ea616f71bf3fe111c8ddb5e15fa398ba677521ba21173a6a52a70ab33

@ -0,0 +1,74 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_{3,4,5}} )
inherit distutils-r1 vcs-snapshot
MY_PN=${PN/-/.}
DESCRIPTION="Oslo Configuration API"
HOMEPAGE="https://launchpad.net/oslo"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc test"
CDEPEND=">=dev-python/pbr-1.3[${PYTHON_USEDEP}]"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
${CDEPEND}
test? (
>=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
>=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
>=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
>=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
>=dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
>=dev-python/reno-0.1.1[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
>=dev-python/mock-1.2[${PYTHON_USEDEP}]
>=dev-python/bandit-0.17.3[${PYTHON_USEDEP}]
)
doc? (
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
!~dev-python/oslo-sphinx-3.4.0[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
)
"
RDEPEND="
${CDEPEND}
>=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
>=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
!~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]
"
python_prepare_all() {
sed -i '/^hacking/d' test-requirements.txt || die
sed -i '/^argparse/d' requirements.txt || die
use doc && esetup.py build_sphinx
distutils-r1_python_prepare_all
}
python_test() {
rm -rf .testrepository || die "could not remove '.testrepository' under ${EPTYHON}"
testr init || die "testr init failed under ${EPYTHON}"
testr run || die "testr run failed under ${EPYTHON}"
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
distutils-r1_python_install_all
}

@ -5,3 +5,4 @@ DIST oslo.db-1.7.2.tar.gz 134542 SHA256 e10b1bc9b128aaeae652809e1659ec2d2f64e2d1
DIST oslo.db-1.8.0.tar.gz 143208 SHA256 0688ced3c34c975e2a68139e0f91601ef43c79fb73308d75674fdc40d30a2d4c SHA512 c97fd671572dc1fdc2bff642e5680f1b8910c737d295ff8d79bed6e4886de46216361de47c1e7f0ac88315988b7d1cd448d6cffff58d906524d8f9ec86d2e582 WHIRLPOOL 70d72ac5f0baf1c01eea040908a2b35336f793b3c7968f218e83a2c1699fd7381ca84cabef9a612069020a1292c3e195047a5795ca6fd9c62b961c68393b3f38
DIST oslo.db-1.9.0.tar.gz 143040 SHA256 028ed6a38c1ed6d39d04f3dc2d7b7e2e0aca3cf53e72e145c3c07a5a0fb80eb8 SHA512 2131b2641502007b9b42aecbcb7e83a0cc90527edda2df91d52507dc58f0418b0111c9fb22e9d8bcf40ed53588adc9f02bec1b3df5788d99c775c328c1b3118b WHIRLPOOL f6205bb8e06efaf549d433c236069a5f0432cf49d1c64aadab0617f7badf4b6ea1a7277e42da1f62428c81d33f802adbb8895daf3cbbf9bd0e3e95f475a6bc80
DIST oslo.db-2.6.0.tar.gz 133772 SHA256 07fbfc19ce8f84de47819a66dcd86c2ce95c7203a4de68924165ffc367ef22ee SHA512 1371e56ed65923e3e624d6551e18c9623b8b3f6adbfcfa08591a6e3771432d4d9e88bd0bcd57ea76ffeb7bb49a476ed1a4b8a01969a2c0d3d317865f26a5ab45 WHIRLPOOL 50975dc63c339dcc0344fd897f4e5e2f655f9bfc7db642fd4a4871be760abecddc6bcb5ff4bf4c06500697069ed5a090e52e90107e90cbcd8ffbb07a7cfcf08a
DIST oslo.db-4.6.0.tar.gz 140297 SHA256 77cb1940b319820da5b3aec76f7d142c80f74c898152cbac1ba17661b044d8f3 SHA512 8ea7b92923d2b1de549f7b7e7b915335a8f935e2535eac61909c62df1c8f6ac228d021f52a06141339371a044badbe8af3157dc527258724911b47fac3626afd WHIRLPOOL 685e4d1206bedded4b9c3e43dd8af8cb0f39a10bfffbfbfd4eccb87e28333e1fea7f970d73fd568014042070a490a1f644fd7a46889f657425a64584d1916ff1

@ -0,0 +1,56 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 python3_3 python3_4 python3_5)
inherit distutils-r1
DESCRIPTION="OpenStack Common DB Code"
HOMEPAGE="https://launchpad.net/oslo"
SRC_URI="mirror://pypi/${PN:0:1}/oslo.db/oslo.db-${PV}.tar.gz"
S="${WORKDIR}/oslo.db-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="+sqlite mysql postgres"
REQUIRED_USE="|| ( mysql postgres sqlite )"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/pbr-1.6.0[${PYTHON_USEDEP}]
<dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
"
RDEPEND="
>=dev-python/alembic-0.8.0[${PYTHON_USEDEP}]
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
>=dev-python/oslo-config-3.4.0[${PYTHON_USEDEP}]
>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-3.5.0[${PYTHON_USEDEP}]
sqlite? (
|| (
>=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
<dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
)
)
mysql? (
dev-python/mysql-python
|| (
>=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
)
)
postgres? (
dev-python/psycopg:2
|| (
>=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
)
)
>=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
"

@ -1,4 +1,5 @@
DIST oslo-i18n-2.7.0.tar.gz 36899 SHA256 9f510fd251510ca670ef876783a1727f67fe7a27595d772057273d33e4664f86 SHA512 c0733c63aa64046cf693676d43bece82a75f962e260d1e46f76120ada0139459184016c81a9a760d71493e414c0eb06311c9b89cc713d11c022a7faca4d46ab6 WHIRLPOOL dfb922bbf520d2a1e1691d865a0c133d0633572ede58c0ba28e51df08e5f9ad70ff40e31722b1612778ad0f96ec231978579f493b2db7b433ebbcee1d234f68c
DIST oslo-i18n-3.4.0.tar.gz 36201 SHA256 8de65e4cc94c220f67895e4230df243e7555d92088b7d44724c8407d37fd277b SHA512 53913d0a955143e7236cfc7be537e666b0704f92718e88b393332636fdad7ebe78f9e193bd40338cbeb305b6417e10abe17b0343f12363a11392bc341a6b6e12 WHIRLPOOL 08ec0910c8b3808131a6217435459ebf4a4c5df545fdf59a7a73102b27a172a9e6cce674fc5d17832a1354d0d20030a4f60ec2f07a6d60b3ae61182c409e8f29
DIST oslo.i18n-1.3.1.tar.gz 35050 SHA256 8e1b9b3f87cea9e43a2414bb02d8c79b0a688c916afa1f1453f6a0a65ffd85f6 SHA512 987beef5e59b213988001fb53f1b2e41b122b830bd476c64a4481f7650db45d31d66c94d79da26e1fc346035393c00a63febb1254d3ab881ce3d2b00398c5ac8 WHIRLPOOL 7b590d93c478d855edfdfba8a31dac491913426100c8e216cfd4b82ff47b60f98b34a56ff69e2af49d0c16d3e2ac1813731527ab21bb4f9fe2f33dc5847d0835
DIST oslo.i18n-1.4.0.tar.gz 36140 SHA256 a3d64e8d2b4235a457da2c6269d8c97e867a90ba7d938fe0ed3cfc792c8c87bb SHA512 df1491bb4d98b9295c08f4b7dc18cfff2758834ff5edb9aa3bdc064e587ab475e7e060dc5212c5db1e7e2f34cc4177e5c713a4ac6908a9750f50dc6316105682 WHIRLPOOL 8e77849c0a8f3c5a7e5b314f756673f31a3464f2a65c35e8ad506fd0ce10430b2fea0fae97eaccfef258b74a24db2f86b0843575d25f3d3a84a3b19ae0c5ff12
DIST oslo.i18n-1.5.0.tar.gz 36068 SHA256 cd09da0780e45737b784bdc026ea705ad006e3c003aa5dfeab83f269b4ea0e70 SHA512 20a640950b7e0eef69371eece396fc6b284c87e195b98a98ec689f207f9ab4f8a41c70cac1c64b0f68621742b6e9da8001d422f67242a3e03e6b4cf09d8add96 WHIRLPOOL ce22737d5285abe18a7e62d01894da59f7d1068a0d16dd055ba62d40888bba7d1408f3d739bfa6a5da7f7149fc84f3794067db4562538f7cee99fca3871924ac

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

Loading…
Cancel
Save