parent
4adf197c29
commit
b8b15346ef
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 28808 BLAKE2B defcc4ce52cc88a158ea6c141670ef5ed6f5023f37bbdc41628421758d8ce0475e1ddcc3c5b31dc398deb4eb7e363202e9ee9eababd5e2a7749a48cc86535c50 SHA512 eb6cfec0122af08758ded5f66b9720890d61223b9a8837b922b83d84d9854127cc711b052cb15070a421c75bbb870fb63552c2d30e3d946616d3c69e83f8e872
|
||||
TIMESTAMP 2019-02-11T12:08:49Z
|
||||
MANIFEST Manifest.files.gz 28767 BLAKE2B 9fb353f103257e0b64e36edca28ef00da80a6a51ad520d5f4048bcde2bb28a13f938b5aea96e8bff607c79a426be0cdb709d47144eff6eb92f98145af4bc588b SHA512 8a3f6f9905e15ff8ee3407407794cb566d4f8b1ec9c4583eeb4105538080957a75f37b87f57be783e5e2a8e169f850c4984fbf2eec5fd359123359e01eed42fe
|
||||
TIMESTAMP 2019-02-12T05:08:48Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAlxhZdFfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAlxiVOBfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klBYbA/+JO9BDHzc3BwSJ9JSZqreZdhNCSTcLHwGqs/wEd01j5bp9JKRz+LnuSuw
|
||||
CGwW8yn0z9n0cYQl8AR3YrtElL3XQbO8OtqLqvfUcP0J5KtvXS2jAx+t2gpGNhTl
|
||||
ULFwW2ZjsRFSQoQ1FnlOggTok/Aq5ROgq/1A8Q5JpiqX+wcJDzRy7i5+Wg08BSrU
|
||||
2A/Ay0jCdXiY+SEY1ch8W1TQKmg1MuZV3dpt7xKszAkIszlTjTRXIGewkPnvBh/4
|
||||
LRjbfC334ob7/AgSsa4jtkYBVR5sAHlW/kmih7WSvZXBU+acAnuycKTp1hG4Rizm
|
||||
93/LkSa9lQ62Ku8TCu4uJDujrNMw1zcQ0w5K+RJ+DwGeUgNrQnotAiR9qv8CZb/8
|
||||
S9Rg9ZINJUHOpgRauFbezTqhlCfI24mpZkaIT66EKt54TTKS37+3DFcAlE8LXrmp
|
||||
SWxufhxJ2U4HMpQYXO/NsMrULVhm6TtCs9ZWzcl9RWYFyef8h0/cpvQt0ACz9hz4
|
||||
CcDnU7XjJ4jviaujnfNrcIHJiJOrrPIb46TPygopAlBMzFY+95vwVr9mMLbsFFjN
|
||||
2fP91fJkDwfXVKA+WyCr+uQJXeKA/nza327UtKgfRXeOu/kpdlFzOJRoKQFXn6NX
|
||||
8AcpcfY8KDAxGtpR7YnlUt72WAg7wHmOmVoPgbIrqmZEyJR2DwI=
|
||||
=qaMc
|
||||
klDzohAAjDBq31PrScQX1Hkg4FPBxlbPwKsHPv0H7xYCAGaecfNHTX7GVUKnU5ED
|
||||
AE5fjCDEYYJWE6UT7aCb8L4CLRRpTC3/j0m/xhdjC6+LyjQW9bR+EDx5Oghl04+q
|
||||
9IpV4KT5qO9x8ysdJMp8uE0G2O9tbI8wpUHTrBEbksoh1XWuD1o4aaKOILM9P8Gm
|
||||
DwbmwLpnad+2eDXREsvBCu8LyAiuH9SY5dm9CqJyx8r2VxzdEeejcLtG0OhdHbc5
|
||||
SMlazWITwSYeMPvZw7d78uDw2MrVqtQuwW8h97mFMk3Kb1JOxeG10BQ8cmcKeOEX
|
||||
t6sNSIgEmCQhppGBiIqo4PcsKChS2eogxRO+5vjDqV8COYW8MjgjmXL2VvKNiiat
|
||||
AR0uaHx4vr2VYfkue1xZIYJythIMRY8LlC4MKnZyQI2V3V4bYx+0ojLXnBtQobeP
|
||||
zRQSa8sRDAkdOexwVnky9cKwKtqESkYRTL+DOJy4pCmbgaT2F1U5YHzq+jutIsrZ
|
||||
8DVmoeMWpUcwDEJ9Uy5ohTofWV8BkxalneWvlTDk8DoEkAW1SWCYyphgliOtIKrT
|
||||
MZfpeJTxwmEQXUH5LGb+qs1kAYNN6TpStLYLIA3cbRkhZ69MwSAtyb+mkJvZV17m
|
||||
FQOpZqbeW2+lR/SCJ0XEtP28bzch25o1IlovhVS1MSWCUxMq5PM=
|
||||
=+Mp2
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,8 +1,10 @@
|
||||
DIST borgbackup-1.1.6.tar.gz 3441523 BLAKE2B 13b1892774e857432a77d1f67d981046a0670b4ba2f3665502f7b729a211fc47e10a87feca308d5089c984cfe4665e7e70ca68bb9aa6e188893a0d088e84df93 SHA512 5741c48bdb70a26d40bd583f207460e35bb7dd560424889d37eb4d90ee96947457faf09bae0fa2b26b42ec71ef6eeaec1b770ba3257223a2637fcb55266e4a17
|
||||
DIST borgbackup-1.1.7.tar.gz 3446832 BLAKE2B c4e2ce7c08f0df479d3333e5766ea070d0c1e18abc88fc8787e4212eff27e8e4505759f80f3bdda80d2b9a737241b907a41749edca9a6138eae2a5620913908d SHA512 586420b9cad7e731f2f1b8b05f3cd3dc606691c5a5ec307e887035d941ac5ac6d4c988783660969960a1221e4d9f2b865ee5558d4007ea7524632d0a50a8a402
|
||||
DIST borgbackup-1.1.8.tar.gz 3456058 BLAKE2B cad55216f92025418e1a427f4b578d6b7eafa03f6b3e9c4fccb148dd3856c4f6649928fb4227249c534add125f9b3a2a0b6ed808ae12c5e60a28f9df4fb0031a SHA512 1455e68bcedab8f35f9426dc73958c6a6565ad1f1cc274ce59d34a12e3a7bfa1d12fa2b8e8dd3e71824e1cd0927babf79f4e99d4e516454ed12dbd3970d0e921
|
||||
DIST borgbackup-1.1.9.tar.gz 3468259 BLAKE2B 91c89304cf22328a0bd74583c22370343915209a204f52c65290dbec0cb688392c2e80b946a55317f8c58ef23099e710c16a34c6bfbbfb547a3e4b38c3c81c37 SHA512 466288258700fb0b3dae936c79fd423d26bea2d721dd70112b3cfd0f8e2bb335144a00de76743c31d336f6c19793775260d154326ec70d6d6d0a4e5ad6a59e59
|
||||
EBUILD borgbackup-1.1.6.ebuild 1088 BLAKE2B b89c1c7d27543d4b83d8c00b29e45b0602a6c6c27c5d04ed8309d0701bc37470b09befcaa33304124235ca37d83e84809f077027eb9eca333f78ade8e1bd63e6 SHA512 5a679f0db9dd1fb59f7c6c97c180e55289b3e175c3920e81956b34870a95349023d65165f1c7f3156df1dc8fc40801184a57380684d6fba18df42e018e063c71
|
||||
EBUILD borgbackup-1.1.7.ebuild 1090 BLAKE2B 54321c9dadf7b6bf077a286375c3ebc84b5f8e545e6d103d0af24253fed071f67a547b6a33af03b00bf72b765122125c16041fe6668d42f99d4809a74f87047e SHA512 c135ae63d7fa35c806fd9ffb0bcf4be28fb935a539843253054c4169d38affaefa1dce2d9388def85022bcbe4b232f4e0e762abe5715b5e87d18fb70d7cb64a9
|
||||
EBUILD borgbackup-1.1.8.ebuild 1087 BLAKE2B 90935501258bb349c0c96960d29906d35b4188fa153c64a610ec9a699fe6a1fcb24d24c43a84cc0076e4bfacce23b2db37fa52c91bdbc8ee51b148e821126dec SHA512 20ad7b217f80a05ae404b9e27af123db10be43b55edba61ac8a9025832058b56bf23ec6a4651fcb1a817c5447562f677fdfdce9ef161eb6e42b26dcad58629e6
|
||||
EBUILD borgbackup-9999.ebuild 1090 BLAKE2B 54321c9dadf7b6bf077a286375c3ebc84b5f8e545e6d103d0af24253fed071f67a547b6a33af03b00bf72b765122125c16041fe6668d42f99d4809a74f87047e SHA512 c135ae63d7fa35c806fd9ffb0bcf4be28fb935a539843253054c4169d38affaefa1dce2d9388def85022bcbe4b232f4e0e762abe5715b5e87d18fb70d7cb64a9
|
||||
EBUILD borgbackup-1.1.8.ebuild 1085 BLAKE2B 71861e61098db19d43f9379b6fd7aa8c8d1789aaa8f3fe63dbe93e8bef4e291b024a4c1ceec8260b64597390cf4a988956ac366227cee8963159c8879cb88381 SHA512 1b4c1daac8cab5ded37a7072f0c6a418473b83db2448507552afaa943de7bc1635bc71f0d5b881d925d24c1fbf8588a725ac2f670a1db5872245716ebacda3c8
|
||||
EBUILD borgbackup-1.1.9.ebuild 1087 BLAKE2B a484346fe460f31022644ced7f0bfe170e36c47fd07b2f291b9bc11f19425bd4fa8e3235a41571fba10cd960815b59bc5a06faa17db283027d65e5b9506d6266 SHA512 1a2bdb735a24416e800be535cd527fd1132ba07f3344d6c48f87386634c9c2158475b6b2a075369d2a5eb2a59efc1614d6152696b53326f7e3b412a05d32644b
|
||||
EBUILD borgbackup-9999.ebuild 1087 BLAKE2B a484346fe460f31022644ced7f0bfe170e36c47fd07b2f291b9bc11f19425bd4fa8e3235a41571fba10cd960815b59bc5a06faa17db283027d65e5b9506d6266 SHA512 1a2bdb735a24416e800be535cd527fd1132ba07f3344d6c48f87386634c9c2158475b6b2a075369d2a5eb2a59efc1614d6152696b53326f7e3b412a05d32644b
|
||||
MISC metadata.xml 380 BLAKE2B 2ac9cd2f49c605955fb4133ff30d52e578bb45b0717348e6909cf7cd172ce9a7436d30394466ece7d889d02802f500f86297072a755b24905c17342cd7aee5e4 SHA512 4160c5674dbb51e9e3fa3c0d29fca6b7ab4073f2e2be1a2eca88ff049b4b5f066d04c747130c45d31a9c63ee2fe3bcb5f521017a581e7f6b69eb07fb94b83661
|
||||
|
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{4,5,6} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/${PN}/borg.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Deduplicating backup program with compression and authenticated encryption"
|
||||
HOMEPAGE="https://borgbackup.readthedocs.io/"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="libressl"
|
||||
|
||||
# Unfortunately we have a file conflict with app-office/borg, bug #580402
|
||||
RDEPEND="
|
||||
!!app-office/borg
|
||||
app-arch/lz4
|
||||
dev-python/llfuse[${PYTHON_USEDEP}]
|
||||
dev-python/msgpack[${PYTHON_USEDEP}]
|
||||
dev-python/pyzmq[${PYTHON_USEDEP}]
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
dev-python/setuptools_scm[${PYTHON_USEDEP}]
|
||||
dev-python/cython[${PYTHON_USEDEP}]
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
# allow use of new (renamed) msgpack
|
||||
sed -i "s|'msgpack-python.*',||g" setup.py || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
Binary file not shown.
@ -1,11 +1,11 @@
|
||||
AUX bsc1073877-docker-apparmor-add-signal-r2.patch 2931 BLAKE2B 92737eb582f5c2b3bc548952e20f8b9512ea3abab785280a351202878a77fc5e7c00267498ac38cd13dfb5b21a891f5be827f8f4ed234ca34bb90523cd2ebacf SHA512 f1c57585146d89be987b19ebd99a0da69d75309885e3b2a098c1b5f339aafa360c3726fe5e99a2580c98c3f036d83eabd3d2d72461d97e8a0cbb4dbc27f895d4
|
||||
AUX bsc1073877-docker-apparmor-add-signal.patch 715 BLAKE2B cb97ebb2e7104e04264318fec93df80a5f7f9b4cfc84b9f31ea1185d7752e431d714dd901b168c490562688c124aac8d48fef9c1266d7a8fa07aa06de7e40d08 SHA512 936d3948fd3ccadd4a3810bb8fc32e31e7e24b810e87658e5e53560b515454db6b72b0cda3ace78b9267e197e55181c04fbea92a1656f6a282e29f37d2994adc
|
||||
DIST docker-18.03.1.tar.gz 12758590 BLAKE2B 98213af07b945fda536e321ef5cc9e272848aab97dcadb7a6b1433b9310fa78015794b5ee4f255448251366a7811e97248b9cc90b0225c528249188768f344ab SHA512 48c4916421cd500ada1bfc2207123a29870939a15a1c7c4a0c082f61c1e3e063381e2345ee9df645dbaca49e002dbfaba70cf6fe233b39a4e1f44fb015807e10
|
||||
DIST docker-18.06.1.tar.gz 13672693 BLAKE2B 7aed2f409914471b3e0eec4f3d024bf59e6505060c1da9c4bb68f0d6efdb5286a8e9e5ee0de19b3f0165c965db27d409f72fceb3f792fc91b9b8dddc8a2b01f0 SHA512 7375452669bf6576e1f8d193cd7f421cf39a26d575351f2b4e433c7fc89384f441547417dbe8c12a12a0937c9fea3800b5c541f0ba8b58ceffe7445183ceeef1
|
||||
DIST docker-18.09.1.tar.gz 15247155 BLAKE2B 5c9a6c0d6e383da2b99341812b0cc1d1498e46decc3b3aaa418607d5f4d725a6842a4462c06357685a32312b90978b0349aaceb69907324761589e68cfae7bca SHA512 9813d3bd41eff63a089495a976226b93d5d43544530aea0ebce78b96e6b4b38389fe3ad1117f1ca95c38727047a24211ad2c2b44217935c26ffb5496cf90407e
|
||||
DIST docker-18.06.2.tar.gz 13675733 BLAKE2B 1b0852851a9c0412d7098b114f8ff62a7fc624f1bd77ba72629009c5b2afbbbacd79f93cdb4287bdb5a58c9b09ff76c9fb5b9ea40933686b62c78ebdc61d1a1b SHA512 78ab030555501071eee47964894798847d7a60ac826479215a2d0a74c75bac88ad212b7f5ab0f29444407456a3914c263c04a1398dc895586026440f203b50a4
|
||||
DIST docker-18.09.2.tar.gz 15252871 BLAKE2B f87d3a7e6ccb4750eae231b88c686ad9c0be08aa8e0657343c89593d75374dfaeb063f842b8f5cef58e4b64982d3296a6808f076837243e61d75b93ad495fb44 SHA512 eacbeb754cdf2c111a2b72473b437e64cf176a5e93e1a9a0e5ed092d38db5846777d23c4ad51112d8a21317d471e5f1e93f85ae5c0ad1d5d50aea95e226dfa01
|
||||
EBUILD docker-18.03.1-r1.ebuild 8338 BLAKE2B e9984640c084a99c1ba99173905b9d58f14559b0b122bb6759b16689bf40fc313d0b9a3fac45ceaf509fe28b7006c87b555c3db49c32f04360e700cca4cbb839 SHA512 1d11e2d4f67d8e16714901e56ce251d590ea2be3a786869895600a3bee4becc0f66dc88b6253df1c277455e595851ac34e608b70f46bbe88e0a33f3e17eaf4ac
|
||||
EBUILD docker-18.03.1.ebuild 8337 BLAKE2B f0b13adc75d2a334eaf91938b2774a5216fa4ef7905032f59e313d87367c7de07a6868e443f65db881bbeaabc8aeaf008aec8836827513b546ddd3bfeab599d7 SHA512 09645b50f569e37e94c7f8e36503ce949fe709ff22d579b9e2e2183a573196ae3bdf0a991c71af56a37e2e8fa7e3341289154dee4e1a336ea1b212cd63079bc9
|
||||
EBUILD docker-18.06.1-r1.ebuild 8444 BLAKE2B efd1564a829daf4811783d163be2f72ecfa3731b9594dfa4f6c2a44c227a2e1033ff32023d118b722fefdae949257faec41ea39145a8e84ca1e87c1ef6546ae5 SHA512 82bb833841c33e009c2b0f33ffc92509dca4ee9192419c92189b37a7a1dc1942931f036d8c8cc254bbad5a3c2fb7f962707c5a3ff1ab5c1fac757c742e990b17
|
||||
EBUILD docker-18.09.1.ebuild 8296 BLAKE2B b528aaa7d43867856e503d875e5f03d71291abe46fc706860126819cb2683a9ff8d8e2772b51e266ca17a839e29ddbc6aa0cf3eb9058de7a570a19a7dc7f5e6d SHA512 9def7412189f6d783b6284aa58461837bb2d9b94e9835047aaa4ea7b20407d56c99df46c435602c72da6c8761e2e163127a55e51d030356af36e4c33f4ea4782
|
||||
EBUILD docker-18.06.2.ebuild 8489 BLAKE2B cd1ce26e248cf86bbb31f5b2c023fd73df41010f0f0953bf677df2c0c823d6ab0520ac9dc6309ad5a66de879901e6968376f3956f7d79e7c28f3b2e6b2d2eed9 SHA512 a1a2be3fc79751bd93090d128ae1f3c29a3b6cc7f887e40738c566235faa741a777a7bd0778d29e40b9fb32a78899e2f19a008ef75f0a9df5f9a89bd8bda20c2
|
||||
EBUILD docker-18.09.2.ebuild 8340 BLAKE2B ca1afc4c89897f9cab93182cea146b419e0c56fb02149241d000335264c66373ca98f9891da66439cb2774e5889d6d96f4fa6312f8b5420f61b6fd3b00fca590 SHA512 23206009cf2b4b50aa83e1832c7eb6c0bc2c34f17e8b567c27356e747627cdb9108ab86ffec4e7075fcc6e554375c50e1f3a6312f05562533549d9c5bc9f1f2f
|
||||
EBUILD docker-9999.ebuild 8168 BLAKE2B d1111f0132aa330f95f8f9dcd5c49aee0c8a0eaa5ee3cbd567be89f0d2f4b8c230c80d817fe14272d7c2765f1877ad070ebe98107575ec0f43d10e2f6f6b089b SHA512 e629feee1e546a0ea4570692446697899199248334fc00337963eda8857fadde618fc42ad23288f4239cb7f6f71ad52a61a2d275e54a7694fd79fa1fc1610df3
|
||||
MISC metadata.xml 1637 BLAKE2B 14c56a84e41ebd76827cf37c27fe21259ca06e00d8c7fe318bd5eca609a77a9e23fc5ea13caba1616e47d17978402f715e6a8bc40643ce0cfb3ee87494ee6858 SHA512 bdaea32036a7f65f7015634d45bdf4f13322f3266cda389b49d2c57ad86e9811731194af5786e312d5ea40dab8b8eb78fc7b79a2ffee186b8eaabae9cc3c7a1b
|
||||
|
@ -1,10 +1,9 @@
|
||||
AUX runc-fix-cve.patch 8949 BLAKE2B b968b811c139a15d39daf78bbffac35aad583f1ca1cfe4c24ecf150588269d757329cc64643084a869593faae8c1a8e56b998985be7b94c7a4a98679292aab03 SHA512 51c87fc5d3584c86d6a9f92ffd2c9f66c2d9b9f0373370e910069e778f9acd10bfb4ae450b0ec1722f80d601810057402884992d9f8b7608f13e3bf9c007a28a
|
||||
DIST runc-1.0.0_rc5.tar.gz 1183902 BLAKE2B 46d0ffd9aa79a6f74b3194fa9e1932390115a43c903ae553acb7749d6be41220874a1ff9bae9706b5fecb9495dd6686c38ee1e9baf6118a14990f142baf6f64d SHA512 714230887ff9706c29b0656c5cdb253698bde6252a23e7f48aa690747fb57abd7884c2da1c4d0e314f9f301c5962417351557d15d986e45fcc336e98069aeac6
|
||||
DIST runc-1.0.0_rc5_p20180509.tar.gz 1185576 BLAKE2B b56f9c185c061f51a1fd81c19d378b06c71d06c6eddcbc1c946b234814eb469ea4af37bf42ef3889e4d37bc430e69d0a563281b13055f855f1bc15935531fe28 SHA512 9a55bdb8e39830f46cceff48970b7688139927552e3d268b9ef4a6e640ffc3d95164b99c5b05d07d295bedc2ea22daf6062fd520df1548d78b1d481fd928f1e3
|
||||
DIST runc-1.0.0_rc6.tar.gz 1202212 BLAKE2B 2795b6e88a9587fac61a50bfea52a9df8524eb87aae66129d7ea83e8c3ca586efc60a46d24af857f7ba50f8e4d7021cbd2845d322a8c0ad08be3e0f19d80ba3b SHA512 2f7ed5e835f000d9810a116a27300336f424ac2c370dd1c7d158e26a4997d1e8398612387be27cc22cc25fdd52cc4cff7963ef88ce9c41d337321b75d9be2334
|
||||
DIST runc-1.0.0_rc6_p20181203.tar.gz 1202869 BLAKE2B 5b5808fc65f3725e5cc22794c5ff6c5eba6016110358b0f60dd3378df2e5b64afb5631e5652f45e9721838dd02745b8c5a88abfcd244de202196ac16bfccd5a7 SHA512 ec3d3fec773f2f9df714b0813efb110e21e328634e0b4ae77f323a892d0327aea5d4b6f9ae2a549aa06fda5b27431f4514fd663c7033dc170ca1a03627931f9d
|
||||
EBUILD runc-1.0.0_rc5-r1.ebuild 1296 BLAKE2B 837b2acae2f5b76fea1e49c4a49b8149e9f6fe5ac06555f1ec23720ab947d5586f00d333165a2fc200a22caa7a3616976f856bf45db6769db4b991c7d27ec0f5 SHA512 746a2751e39deebac58542a5a4687fd53523046e2b12f5f543a7ef7d891adc145bd4deaaf2e42535651eb608d2b58e5ee2f9c7db64c8c32bd5805934cc8c4c39
|
||||
EBUILD runc-1.0.0_rc5_p20180509.ebuild 1293 BLAKE2B fb959be90dcd20df0504a031ee478235cc3b7da2b2638441af00fd25036472ac9724682d54e6b1e7c66adf92dd40ea341c586cebc00a81860cf5be19b001c3f4 SHA512 f779767205e310998bd58f456c6a31670b6ac36fa859fda489c11f9053995890dca5473a27dbf229ad9c21776cde75a749cb9d787d8476e7207a33b2e601fcf8
|
||||
EBUILD runc-1.0.0_rc6.ebuild 1468 BLAKE2B 555c76381e17abcdb4c24d95602817a54bd5cdacb867de12b100842da272e1c076d85db961b2394c9781d05528d59863544a69a000598c928bc0871b0b94096e SHA512 867a0495da8d9c5ec78d9480b9ee053d26d5edd15eb57cf2777812040aa86fd41b3c471e2cd6acf61c1f5fd1c97ae2227995549121773a3b0d7c2ee319a0a410
|
||||
EBUILD runc-1.0.0_rc6_p20181203.ebuild 1468 BLAKE2B 28e60cfb54e02204e13eb28af02e7bce670bd6213c7d9a45b90980639391fbbe2b1b96de74ff806d4a19e464641e02317b1cec0330b3775b4251dd56cd2ea6d5 SHA512 2c58e0a87a84de3a524b0abf863f3398f1193fcbbf1da7ea2f6d85f26776055cb39deebbb9b21a7a54ca358b12d5d50f98d4f5cad8b75729079045c1fef33b04
|
||||
EBUILD runc-1.0.0_rc5_p20180509-r1.ebuild 1408 BLAKE2B c5dde23793e7966a4d89a58d14b086e2d4a93825ac4385638b58739b583cceacd557cffb053f87de4029c55adf8ae982b1a761f7f1688fe3b49a16e94446bf34 SHA512 0cbe830942bee1b4e8dd229c29ace4a5f41244a6b1c1be1ca9e12d69bbecfb9179d7119f52fb0ec9cfbf74940f58bee57a5ae4ee0cf795fa969f5c925694a869
|
||||
EBUILD runc-1.0.0_rc6_p20181203-r1.ebuild 1534 BLAKE2B d907412e7df715865af6a5208f78b83134e2130fc00a29397b5881a74622cc9f4a0a396f7b132245840e2dccb0ffc41ceaa597070a2a8f6b66168fc4e41c2c3b SHA512 bb21bdbb24cf9ccc62c99a378efd6fe15f71587abdc487ee556e155fa33d041e3ea8e3cabca7a8c3af6154884bbc2508d9cf978c1c786bb87661bb266d93cd82
|
||||
EBUILD runc-9999.ebuild 1080 BLAKE2B 09034744e5842eb2a340b3095ee3098c58b0853d81ee899b2b8e84c15ffe59638bfc6fb89d158edd4271f1e630c97dafdb4cbe7fb9286049dfe2bbf5eef213ed SHA512 b026b5cbfd44e110a2c2cd72125c757c6b957137fe9491b85e1f25014b564226a3e76c23ea463fd4d7ad742228b2b7bc533aa6b2539b43ca5c37aa2dd07218e3
|
||||
MISC metadata.xml 870 BLAKE2B e7fdbbe8bd178b4781f9a1345cb3473b9b2371db7f824ec3351a117d8c07c4dfa208eb1d1ef946576a6aa972bb055eba03c934f2388538998bee0e742e31151f SHA512 090b4cdf0cf933ad782e9b68df78aec48265222083a17c5f8e387943b9b535fe3d3ba751629f5c3978987572a2f1e821514e54a7f5327164f0ee8f5ce48efcdd
|
||||
|
@ -0,0 +1,334 @@
|
||||
From 0a8e4117e7f715d5fbeef398405813ce8e88558b Mon Sep 17 00:00:00 2001
|
||||
From: Aleksa Sarai <asarai@suse.de>
|
||||
Date: Wed, 9 Jan 2019 13:40:01 +1100
|
||||
Subject: [PATCH] nsenter: clone /proc/self/exe to avoid exposing host binary
|
||||
to container
|
||||
|
||||
There are quite a few circumstances where /proc/self/exe pointing to a
|
||||
pretty important container binary is a _bad_ thing, so to avoid this we
|
||||
have to make a copy (preferably doing self-clean-up and not being
|
||||
writeable).
|
||||
|
||||
We require memfd_create(2) -- though there is an O_TMPFILE fallback --
|
||||
but we can always extend this to use a scratch MNT_DETACH overlayfs or
|
||||
tmpfs. The main downside to this approach is no page-cache sharing for
|
||||
the runc binary (which overlayfs would give us) but this is far less
|
||||
complicated.
|
||||
|
||||
This is only done during nsenter so that it happens transparently to the
|
||||
Go code, and any libcontainer users benefit from it. This also makes
|
||||
ExtraFiles and --preserve-fds handling trivial (because we don't need to
|
||||
worry about it).
|
||||
|
||||
Fixes: CVE-2019-5736
|
||||
Co-developed-by: Christian Brauner <christian.brauner@ubuntu.com>
|
||||
Signed-off-by: Aleksa Sarai <asarai@suse.de>
|
||||
---
|
||||
libcontainer/nsenter/cloned_binary.c | 268 +++++++++++++++++++++++++++
|
||||
libcontainer/nsenter/nsexec.c | 11 ++
|
||||
2 files changed, 279 insertions(+)
|
||||
create mode 100644 libcontainer/nsenter/cloned_binary.c
|
||||
|
||||
diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c
|
||||
new file mode 100644
|
||||
index 000000000..c8a42c23f
|
||||
--- /dev/null
|
||||
+++ b/libcontainer/nsenter/cloned_binary.c
|
||||
@@ -0,0 +1,268 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Aleksa Sarai <cyphar@cyphar.com>
|
||||
+ * Copyright (C) 2019 SUSE LLC
|
||||
+ *
|
||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ * you may not use this file except in compliance with the License.
|
||||
+ * You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing, software
|
||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ * See the License for the specific language governing permissions and
|
||||
+ * limitations under the License.
|
||||
+ */
|
||||
+
|
||||
+#define _GNU_SOURCE
|
||||
+#include <unistd.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdbool.h>
|
||||
+#include <string.h>
|
||||
+#include <limits.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <sys/vfs.h>
|
||||
+#include <sys/mman.h>
|
||||
+#include <sys/sendfile.h>
|
||||
+#include <sys/syscall.h>
|
||||
+
|
||||
+/* Use our own wrapper for memfd_create. */
|
||||
+#if !defined(SYS_memfd_create) && defined(__NR_memfd_create)
|
||||
+# define SYS_memfd_create __NR_memfd_create
|
||||
+#endif
|
||||
+#ifdef SYS_memfd_create
|
||||
+# define HAVE_MEMFD_CREATE
|
||||
+/* memfd_create(2) flags -- copied from <linux/memfd.h>. */
|
||||
+# ifndef MFD_CLOEXEC
|
||||
+# define MFD_CLOEXEC 0x0001U
|
||||
+# define MFD_ALLOW_SEALING 0x0002U
|
||||
+# endif
|
||||
+int memfd_create(const char *name, unsigned int flags)
|
||||
+{
|
||||
+ return syscall(SYS_memfd_create, name, flags);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+/* This comes directly from <linux/fcntl.h>. */
|
||||
+#ifndef F_LINUX_SPECIFIC_BASE
|
||||
+# define F_LINUX_SPECIFIC_BASE 1024
|
||||
+#endif
|
||||
+#ifndef F_ADD_SEALS
|
||||
+# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
|
||||
+# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SEAL
|
||||
+# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */
|
||||
+# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
|
||||
+# define F_SEAL_GROW 0x0004 /* prevent file from growing */
|
||||
+# define F_SEAL_WRITE 0x0008 /* prevent writes */
|
||||
+#endif
|
||||
+
|
||||
+#define RUNC_SENDFILE_MAX 0x7FFFF000 /* sendfile(2) is limited to 2GB. */
|
||||
+#ifdef HAVE_MEMFD_CREATE
|
||||
+# define RUNC_MEMFD_COMMENT "runc_cloned:/proc/self/exe"
|
||||
+# define RUNC_MEMFD_SEALS \
|
||||
+ (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE)
|
||||
+#endif
|
||||
+
|
||||
+static void *must_realloc(void *ptr, size_t size)
|
||||
+{
|
||||
+ void *old = ptr;
|
||||
+ do {
|
||||
+ ptr = realloc(old, size);
|
||||
+ } while(!ptr);
|
||||
+ return ptr;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Verify whether we are currently in a self-cloned program (namely, is
|
||||
+ * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather
|
||||
+ * for shmem files), and we want to be sure it's actually sealed.
|
||||
+ */
|
||||
+static int is_self_cloned(void)
|
||||
+{
|
||||
+ int fd, ret, is_cloned = 0;
|
||||
+
|
||||
+ fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ return -ENOTRECOVERABLE;
|
||||
+
|
||||
+#ifdef HAVE_MEMFD_CREATE
|
||||
+ ret = fcntl(fd, F_GET_SEALS);
|
||||
+ is_cloned = (ret == RUNC_MEMFD_SEALS);
|
||||
+#else
|
||||
+ struct stat statbuf = {0};
|
||||
+ ret = fstat(fd, &statbuf);
|
||||
+ if (ret >= 0)
|
||||
+ is_cloned = (statbuf.st_nlink == 0);
|
||||
+#endif
|
||||
+ close(fd);
|
||||
+ return is_cloned;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Basic wrapper around mmap(2) that gives you the file length so you can
|
||||
+ * safely treat it as an ordinary buffer. Only gives you read access.
|
||||
+ */
|
||||
+static char *read_file(char *path, size_t *length)
|
||||
+{
|
||||
+ int fd;
|
||||
+ char buf[4096], *copy = NULL;
|
||||
+
|
||||
+ if (!length)
|
||||
+ return NULL;
|
||||
+
|
||||
+ fd = open(path, O_RDONLY | O_CLOEXEC);
|
||||
+ if (fd < 0)
|
||||
+ return NULL;
|
||||
+
|
||||
+ *length = 0;
|
||||
+ for (;;) {
|
||||
+ int n;
|
||||
+
|
||||
+ n = read(fd, buf, sizeof(buf));
|
||||
+ if (n < 0)
|
||||
+ goto error;
|
||||
+ if (!n)
|
||||
+ break;
|
||||
+
|
||||
+ copy = must_realloc(copy, (*length + n) * sizeof(*copy));
|
||||
+ memcpy(copy + *length, buf, n);
|
||||
+ *length += n;
|
||||
+ }
|
||||
+ close(fd);
|
||||
+ return copy;
|
||||
+
|
||||
+error:
|
||||
+ close(fd);
|
||||
+ free(copy);
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * A poor-man's version of "xargs -0". Basically parses a given block of
|
||||
+ * NUL-delimited data, within the given length and adds a pointer to each entry
|
||||
+ * to the array of pointers.
|
||||
+ */
|
||||
+static int parse_xargs(char *data, int data_length, char ***output)
|
||||
+{
|
||||
+ int num = 0;
|
||||
+ char *cur = data;
|
||||
+
|
||||
+ if (!data || *output != NULL)
|
||||
+ return -1;
|
||||
+
|
||||
+ while (cur < data + data_length) {
|
||||
+ num++;
|
||||
+ *output = must_realloc(*output, (num + 1) * sizeof(**output));
|
||||
+ (*output)[num - 1] = cur;
|
||||
+ cur += strlen(cur) + 1;
|
||||
+ }
|
||||
+ (*output)[num] = NULL;
|
||||
+ return num;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ.
|
||||
+ * This is necessary because we are running in a context where we don't have a
|
||||
+ * main() that we can just get the arguments from.
|
||||
+ */
|
||||
+static int fetchve(char ***argv, char ***envp)
|
||||
+{
|
||||
+ char *cmdline = NULL, *environ = NULL;
|
||||
+ size_t cmdline_size, environ_size;
|
||||
+
|
||||
+ cmdline = read_file("/proc/self/cmdline", &cmdline_size);
|
||||
+ if (!cmdline)
|
||||
+ goto error;
|
||||
+ environ = read_file("/proc/self/environ", &environ_size);
|
||||
+ if (!environ)
|
||||
+ goto error;
|
||||
+
|
||||
+ if (parse_xargs(cmdline, cmdline_size, argv) <= 0)
|
||||
+ goto error;
|
||||
+ if (parse_xargs(environ, environ_size, envp) <= 0)
|
||||
+ goto error;
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+error:
|
||||
+ free(environ);
|
||||
+ free(cmdline);
|
||||
+ return -EINVAL;
|
||||
+}
|
||||
+
|
||||
+static int clone_binary(void)
|
||||
+{
|
||||
+ int binfd, memfd;
|
||||
+ ssize_t sent = 0;
|
||||
+
|
||||
+#ifdef HAVE_MEMFD_CREATE
|
||||
+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING);
|
||||
+#else
|
||||
+ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711);
|
||||
+#endif
|
||||
+ if (memfd < 0)
|
||||
+ return -ENOTRECOVERABLE;
|
||||
+
|
||||
+ binfd = open("/proc/self/exe", O_RDONLY | O_CLOEXEC);
|
||||
+ if (binfd < 0)
|
||||
+ goto error;
|
||||
+
|
||||
+ sent = sendfile(memfd, binfd, NULL, RUNC_SENDFILE_MAX);
|
||||
+ close(binfd);
|
||||
+ if (sent < 0)
|
||||
+ goto error;
|
||||
+
|
||||
+#ifdef HAVE_MEMFD_CREATE
|
||||
+ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS);
|
||||
+ if (err < 0)
|
||||
+ goto error;
|
||||
+#else
|
||||
+ /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */
|
||||
+ int newfd;
|
||||
+ char *fdpath = NULL;
|
||||
+
|
||||
+ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0)
|
||||
+ goto error;
|
||||
+ newfd = open(fdpath, O_RDONLY | O_CLOEXEC);
|
||||
+ free(fdpath);
|
||||
+ if (newfd < 0)
|
||||
+ goto error;
|
||||
+
|
||||
+ close(memfd);
|
||||
+ memfd = newfd;
|
||||
+#endif
|
||||
+ return memfd;
|
||||
+
|
||||
+error:
|
||||
+ close(memfd);
|
||||
+ return -EIO;
|
||||
+}
|
||||
+
|
||||
+int ensure_cloned_binary(void)
|
||||
+{
|
||||
+ int execfd;
|
||||
+ char **argv = NULL, **envp = NULL;
|
||||
+
|
||||
+ /* Check that we're not self-cloned, and if we are then bail. */
|
||||
+ int cloned = is_self_cloned();
|
||||
+ if (cloned > 0 || cloned == -ENOTRECOVERABLE)
|
||||
+ return cloned;
|
||||
+
|
||||
+ if (fetchve(&argv, &envp) < 0)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ execfd = clone_binary();
|
||||
+ if (execfd < 0)
|
||||
+ return -EIO;
|
||||
+
|
||||
+ fexecve(execfd, argv, envp);
|
||||
+ return -ENOEXEC;
|
||||
+}
|
||||
diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c
|
||||
index 28269dfc0..7750af35e 100644
|
||||
--- a/libcontainer/nsenter/nsexec.c
|
||||
+++ b/libcontainer/nsenter/nsexec.c
|
||||
@@ -534,6 +534,9 @@ void join_namespaces(char *nslist)
|
||||
free(namespaces);
|
||||
}
|
||||
|
||||
+/* Defined in cloned_binary.c. */
|
||||
+extern int ensure_cloned_binary(void);
|
||||
+
|
||||
void nsexec(void)
|
||||
{
|
||||
int pipenum;
|
||||
@@ -549,6 +552,14 @@ void nsexec(void)
|
||||
if (pipenum == -1)
|
||||
return;
|
||||
|
||||
+ /*
|
||||
+ * We need to re-exec if we are not in a cloned binary. This is necessary
|
||||
+ * to ensure that containers won't be able to access the host binary
|
||||
+ * through /proc/self/exe. See CVE-2019-5736.
|
||||
+ */
|
||||
+ if (ensure_cloned_binary() < 0)
|
||||
+ bail("could not ensure we are a cloned binary");
|
||||
+
|
||||
/* Parse all of the netlink configuration. */
|
||||
nl_parse(pipenum, &config);
|
||||
|
@ -1,61 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EGO_PN="github.com/opencontainers/${PN}"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit golang-build golang-vcs
|
||||
else
|
||||
MY_PV="${PV/_/-}"
|
||||
RUNC_COMMIT="ccb5efd37fb7c86364786e9137e22948751de7ed" # Change this when you update the ebuild
|
||||
SRC_URI="https://${EGO_PN}/archive/${RUNC_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
|
||||
inherit golang-build golang-vcs-snapshot
|
||||
fi
|
||||
|
||||
DESCRIPTION="runc container cli tools"
|
||||
HOMEPAGE="http://runc.io"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="+ambient apparmor hardened +kmem +seccomp"
|
||||
|
||||
RDEPEND="
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
!app-emulation/docker-runc
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e "/^GIT_BRANCH/d"\
|
||||
-e "/^GIT_BRANCH_CLEAN/d"\
|
||||
-e "/^COMMIT_NO/d"\
|
||||
-e "s/COMMIT :=.*/COMMIT := ${RUNC_COMMIT}/"\
|
||||
src/${EGO_PN}/Makefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Taken from app-emulation/docker-1.7.0-r1
|
||||
export CGO_CFLAGS="-I${ROOT}/usr/include"
|
||||
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
|
||||
-L${ROOT}/usr/$(get_libdir)"
|
||||
|
||||
# build up optional flags
|
||||
local options=(
|
||||
$(usex ambient 'ambient' '')
|
||||
$(usex apparmor 'apparmor' '')
|
||||
$(usex seccomp 'seccomp' '')
|
||||
$(usex kmem '' 'nokmem')
|
||||
)
|
||||
|
||||
GOPATH="${S}" emake BUILDTAGS="${options[*]}" -C src/${EGO_PN}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
pushd src/${EGO_PN} || die
|
||||
dobin runc
|
||||
dodoc README.md PRINCIPLES.md
|
||||
popd || die
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="VirtIO drivers for Windows virtual machines running on KVM"
|
||||
HOMEPAGE="https://fedoraproject.org/wiki/Windows_Virtio_Drivers"
|
||||
SRC_URI="https://fedorapeople.org/groups/virt/${PN}/direct-downloads/archive-virtio/${PN}-${PV}-1/${PN}-${PV}.iso"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
S=${WORKDIR}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/drivers/windows
|
||||
doins "${DISTDIR}/${PN}-${PV}.iso"
|
||||
}
|
Binary file not shown.
@ -1,5 +1,7 @@
|
||||
DIST ibus-rime-1.2.tar.gz 33396 BLAKE2B 39930ea31d40e622cd69d6f5a218729f460161dd9681e49bc35a1eb9b3875b6f5acbdaf36f7cf8200440bc27ed84a2f23ec1578b19a1fe6abbbc54c7078be11c SHA512 e1851781a6d069a79d04890b5b0aa2a706e611c08df3fcb99f883eeedd4dc4eefcac207f35b5cf1d856a41f0153ec3fbb040b4e6f610727384baa19b52a64155
|
||||
DIST ibus-rime-1.3.0.tar.gz 33930 BLAKE2B 14e086382d89c990ca9f07401b68dbe26d58da061a3e8154232809ff29d766b630dcd06723bb0a8e18ebd089a640b7ab6787f8c70a6405dfa82472c1abfe5d4e SHA512 f0991184805bfe19931e297779179661f98bdfea952e310b2d8618550002cfa5bb08df05d1c5e31b535ad9959a919fdc98fa771a90d4d82b9c50e2f592cb7dfd
|
||||
DIST ibus-rime-1.4.0.tar.gz 34176 BLAKE2B 69d0392adc78b2b8935f2239c4567d001d3636d0e8ff59aca0b04b3189751a3edd0350eea9e2262b3ae3e639dbd9715c157e44727cc48ba9521801161a1508f4 SHA512 3fc24f4ce390e27d37e41775e4c075c7465cd3e90a9ab61d13ec47c2ca1c2afaafb322f327e18be573aa254a43b8cf6426415500a5d817b835bf4e0615ab9145
|
||||
EBUILD ibus-rime-1.2.ebuild 759 BLAKE2B 270180498169d6f2a503dcebc3cf01b78bbdfae03a45dc8fa8cbdecbb999fb40b1d8c675c002a51e625fbeb277e9abcaffcb23ba6a8a5d0c05af46c54a21d37d SHA512 2a28941562893dd9827bd9621abc7d89ae51e50132671f8fd3fa5533df340b523a1964eeb1d71df6492c074f286a4337a2ab93863d9d303b82af62768ebcefb4
|
||||
EBUILD ibus-rime-1.3.0.ebuild 759 BLAKE2B 44bd36ab9b90c93c4a7338f3921ca100c06506acd2ee65c434d26802882b41b66168910cf7ae4cdf8045bbf54222b7200314e488251156c4e8fbdd2b07e3a9fd SHA512 ee0fbc41180122bcb9aa0cb793cb248d0100f813b3bf63b4737e24fc760029299e9d701e08ed2d68cc27ecfb0286a4c76c93cbb42c9d84d21be7b7c9a3d6fffb
|
||||
EBUILD ibus-rime-1.4.0.ebuild 754 BLAKE2B f44276123c3dc529d62f5ff648dff08fd2fa83ea76b1409f8a52871b38671842db74ead442374aea46ff0ca92168b04e295123861bcbbda16d828e8f3305204f SHA512 e9d7bc424b02a0e481b2bc72b6c4309281ee08b7056daa5ed4d46f0d2d9bd675790e49b531bc9a8b3a7f624ef99e5f6950b13b9a208df86cad41dca31121bdb4
|
||||
MISC metadata.xml 534 BLAKE2B 0d1888080b3fcf1b2bd5ef07456c8ed3f91dad7e11bb1c34882a43ad2396bc6b5bb62f49bf8af4936d3d5df84b6af30dd4dfcf48ef343865ac36e50da26d061b SHA512 78e2d7631f65652305b451e5b4ab95886dd8a1c2436fb95c0f344daae87feab1eb57486a0815348363858faf91f9b931f32166a9b22b7613bd3b1407ac19e317
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Chinese Rime Input Method Engine for IBus"
|
||||
HOMEPAGE="https://rime.im/ https://github.com/rime/ibus-rime"
|
||||
SRC_URI="https://github.com/rime/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND="app-i18n/ibus
|
||||
app-i18n/librime
|
||||
x11-libs/libnotify"
|
||||
RDEPEND="${CDEPEND}
|
||||
app-i18n/rime-data"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-util/cmake
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_prepare() {
|
||||
sed -i \
|
||||
-e "/^libexecdir/s:/lib:/libexec:" \
|
||||
-e "/^[[:space:]]*PREFIX/s:/usr:${EPREFIX}/usr:" \
|
||||
-e "s/ make/ \$(MAKE)/" \
|
||||
Makefile
|
||||
sed -i "/exec>/s:/usr/lib:${EPREFIX}/usr/libexec:" rime.xml
|
||||
|
||||
default
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
DIST librime-1.2.9.tar.gz 5516609 BLAKE2B 7b05fedb093f7595c7bf7f4893624b35b0cdde1816c9c99f9ed5d408c8fd21d34a361d16b94c43b3e5e23b10945f075711762f08ca30abee35849a332ecfee2d SHA512 2266ef96ad21ec5981b4ca5371d4e16eefed545ffbde07093ae0d0be070a64f9869baa09b6bdcee2522438e08c72a842a7e0b225a6ca1b661708a80cf3aba83a
|
||||
DIST librime-1.3.1.tar.gz 8598357 BLAKE2B cd6bc6b63a89f7f11e78ceaf92007c099be34ce38f26d611b67a3d8f868a27a0e4de7b94da44d8483618f37a0c2bcfd3a1bc1c1ecb4f81829f8e12fdd777e283 SHA512 b35d3635fd776ed9be32c0998e4aac441433bc9e624765a57582690108cccf5c3beaedad4f8f1682d99533384cd10996ee8c18fd5adcea70878d6a410124922e
|
||||
DIST librime-1.4.0.tar.gz 8609316 BLAKE2B cce58c398057ac82f076e3b9e9a25cd6410e738460bd58277a9e3ed6cd11e80922bbb30e8b42828cdd5dd83f6058794b4b32fedb359315186b018ca88161794d SHA512 da68983638c6f25d994060a607f2ccab8917a71dbf10b9c6f1140c87c9ef4124e29a1d0ef16bbd0edc9a3a22bd5845aa894888d678607db372750f300638f562
|
||||
EBUILD librime-1.2.9.ebuild 841 BLAKE2B f1c16e633f8eb39e718c71819cc3155732a526c08002934ec9f5d47aea8ab54124df9790b3dd6d062d33168f7f0f07e64f31c204dcd0180011af85439f8be7f5 SHA512 3ce4210a19e62528729b5eaefffdec2963473c39fc716720af329da11abfbea262a84b75b6ae7fa3bada2f67566252c1e4294973b2b4cbef958428d02adbb1c5
|
||||
EBUILD librime-1.3.1.ebuild 872 BLAKE2B 4204e207ccb82c672e87a6b43edc477c01c9f2f12d26829f3b1d6fc28e378f313da40bb890c7b450f0b95808fd914d5fba91b031c19ff3aabbdc7f415aef2727 SHA512 072986a077862696db15f071945a79d24111490f3eac30c2bd779be2be110d5cbd107a65253251392252ebba985e92efb78aecd00f5ebbbe1646ea5d599434ee
|
||||
EBUILD librime-1.4.0.ebuild 867 BLAKE2B 53a28797ed1a6fd5428e9e3d2922e034ec77496ef5e826d2fc4c621e0085c60d14b7f8bc93c67388170484aa415bf1b2f1ee1ba316656c96f7311f51c93bad44 SHA512 28dae58c414290ff3b3d90fbad8b4e92b7fa78734ca1e39b987f2f77fe0b285cb645238c690cc2010e5ec6080fe77585891b8cf22468685e8ffbf6d7f3f298ce
|
||||
MISC metadata.xml 532 BLAKE2B 200096c7c818b877dd156ab1456309ae4e42a8bf78075d8aeee30a79f09bbf57c6053a41369102becf87aaf3ea4481a0bf6edf1dee258f650661b61c65a9aaee SHA512 83904c4885a57569f4e74483bd5efed886ca1fd6708c1e7146ce4893bcbdd66efa82dfd4e563c7b888603e23566de21e928772a597dd2e6fc75d00793c788800
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils vcs-snapshot
|
||||
|
||||
DESCRIPTION="Rime Input Method Engine, the core library"
|
||||
HOMEPAGE="https://rime.im/ https://github.com/rime/librime"
|
||||
SRC_URI="https://github.com/rime/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0/1"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="static-libs test"
|
||||
|
||||
RDEPEND="app-i18n/opencc:=
|
||||
dev-cpp/glog:=
|
||||
dev-cpp/yaml-cpp:=
|
||||
dev-libs/boost:=[threads]
|
||||
dev-libs/leveldb:=
|
||||
dev-libs/marisa:="
|
||||
DEPEND="${RDEPEND}
|
||||
x11-base/xorg-proto
|
||||
test? ( dev-cpp/gtest )"
|
||||
|
||||
DOCS=( {CHANGELOG,README}.md )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_STATIC=$(usex static-libs)
|
||||
-DBUILD_TEST=$(usex test)
|
||||
-DBOOST_USE_CXX11=ON
|
||||
-DLIB_INSTALL_DIR="${EPREFIX}"/usr/$(get_libdir)
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
DIST pilot-link-0.12.5-gentoo-patchset.tar.bz2 8182 BLAKE2B db6e053bebc2876308d5bf5c29b86b9f22aecd0e75ed6d16e9214d63d73cb5e2dc7080bcd03a9d4dc21d4f2ef84d9632bac6cd36673d93915db9fd095ae12dfd SHA512 141900ef42d8a6716d7e0a219e1b75609f392c393376fb60f645561cfe1cf67ad9cec03321a31dcf1e8a70c75591df6eac4f727c957487496ab46ae6aa2dc90d
|
||||
DIST pilot-link-0.12.5.tar.bz2 1578735 BLAKE2B acc8748448d90928ac393e3d716f9d12c7962e18564a738b5f01e19bb225d610e179bb0694aded57979c7240df2652cac72845e5b8cdcddf6a4a800bbac4424b SHA512 a12972fb7a43f2dfccb82a046ca372c9fce5333f632a77880439c4f4705af6a7f16b76f04c9f3ed0d6a12aad55a3a55f8781a4e92931bc6907cd1ec4f1209868
|
||||
EBUILD pilot-link-0.12.5-r1.ebuild 2915 BLAKE2B c2f046807b4e573861361f522d59c318e800114095addac35d7f08355e7152ca35f5d4ba3450ed23ab42df1e3aeb671a6cc667567a8111a3053e42ef344c5dc8 SHA512 9376978300128ba5b930a36a497c4f8ce36640ad6cac9b0ca1412fd285f9202cfba1254f95d2157068cf42f66f44a16b73fc5bd0d59896a3b9bc88fef12acf57
|
||||
EBUILD pilot-link-0.12.5-r2.ebuild 3087 BLAKE2B 2c78f6a37b51cdd8e6477d7192b0ffa48747f4f6ad236a506563cf5740663bb7246286245ed6dca08db69e23b3dba870b764aad0779daf5a79c8019b7b3dd62e SHA512 77c87a313af7e703b550466cc6cc27dc641c3ac44442ff404eab8a93c2e7a35bc702ed0291b90a1c99c0bc5456c8c2a5289d333812b38a48cdaea89db55efbb9
|
||||
EBUILD pilot-link-0.12.5-r2.ebuild 3086 BLAKE2B 1a0f0dff2979fbada1c7a3fdd9a143001bbee8bb3a9f4582f87422edc96d426364070fc428e5502da7fdce6b461cbd4cbade57265fb8aaad2e8f96afcf75b2a1 SHA512 2842da7d070de7de791cca1e9628275a2fa95a2cf906d8375eb3662012867ad03ac561944ecc63d6c3be1ed490ca1d6064a12aab42656acc6a9bb49c136150eb
|
||||
MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84
|
||||
|
Binary file not shown.
@ -0,0 +1,75 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-utils readme.gentoo-r1
|
||||
|
||||
DESCRIPTION="Friendly Interactive SHell"
|
||||
HOMEPAGE="http://fishshell.com/"
|
||||
|
||||
MY_PV="${PV/_beta/b}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="doc nls test"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libpcre2-10.21[pcre32]
|
||||
sys-devel/bc
|
||||
sys-libs/ncurses:0=[unicode]
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( app-doc/doxygen )
|
||||
nls? ( sys-devel/gettext )
|
||||
test? ( dev-tcltk/expect )
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}/fix-histfile-test-on-ppc.patch" )
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
# workaround for https://github.com/fish-shell/fish-shell/issues/4883
|
||||
sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
|
||||
cmake/Tests.cmake || die
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_INSTALL_BINDIR="${EPREFIX}/bin"
|
||||
-DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
|
||||
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
|
||||
-DCURSES_NEED_NCURSES=ON
|
||||
-DINTERNAL_WCWIDTH=OFF
|
||||
-DBUILD_DOCS="$(usex doc)"
|
||||
-DWITH_GETTEXT="$(usex nls)"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cmake-utils_src_make -j1 test
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
readme.gentoo_print_elog
|
||||
}
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
DIST blogc-0.14.1.tar.xz 330540 BLAKE2B e8b2f793a1c7f95fde59d7929245cdace95d31f484d62252d00c4fa535c9d4b9d83c6d1828e9197f0fab74473e5a549802ca26aefe2dd441bad03b4f3466c1b4 SHA512 2d393684e8ddb38d720f029c7fe7884a577dc844f8e774a21afedd7519b9aa32a84d2b0e40c7bc565feba5a8e13f83c61692f0d04f20fea44e96f3f66d613a5a
|
||||
EBUILD blogc-0.14.1.ebuild 1117 BLAKE2B 3a7d101207b6828738eb3c7e9896af1c8820bc3db4352b45dacd01d19ba8d0bd6d6b316617e92e5e6cdf1b35577406877c978796cbd60f344bafd250be0b19ea SHA512 4e439eb3dfaac7ce6eb5bc8c6d832f829e4049b95ce9fd35f442876f91e27732a24ee5b53be5ef8a993bfe38272e205739810ad0df2e444eb8121a48fb66d689
|
||||
DIST blogc-0.15.0.tar.xz 335996 BLAKE2B c7fff528180c2124ea5c26ddd413f252d00570bcfe35645b8cdc8c7b3e289b52b38bd895e2ae5c2cab88d2a8143fa637118d75c719d69f685cef4c182bd9d6e3 SHA512 57a685938ef644b22b9271a0462260acb8ab8f9e9ff842415069011bb480923b8a4871742640eecc0babc7c65eefec3cab9051170dc6c3e69899e77d366a01c6
|
||||
EBUILD blogc-0.15.0.ebuild 1117 BLAKE2B 3a7d101207b6828738eb3c7e9896af1c8820bc3db4352b45dacd01d19ba8d0bd6d6b316617e92e5e6cdf1b35577406877c978796cbd60f344bafd250be0b19ea SHA512 4e439eb3dfaac7ce6eb5bc8c6d832f829e4049b95ce9fd35f442876f91e27732a24ee5b53be5ef8a993bfe38272e205739810ad0df2e444eb8121a48fb66d689
|
||||
EBUILD blogc-9999.ebuild 1120 BLAKE2B 234392dc7c1e42c3bcd2c3ac4b1a648ee9e4fa6fc486cfcc60ef0af1c0cfb97ea68bc2b2ce3da820bdd88f05ef5993b7dc6589e52137d8d1e7cbce19d9c0a064 SHA512 ed4c808f2cfa1435972a53ae17f76a9e3423943713759cb7ad7378e6417a3912dbb16e0964d963dac8a476be37c90a42d8f875128101ee806f12a8ab11a519d9
|
||||
MISC metadata.xml 785 BLAKE2B 90817e117dbf1f0e60d655206ad0cc3f3cecf2b97a16ba43fdf84ae0f621ee6296af2ab6a17bb205d82b1d107be3f62b75d9c740aeab0267b02947a4bcc50aea SHA512 31230bdb8113bb73662328e0e657e710cd33e65f126d638f0cefdacbe97525643604f48ce3da27f80b8163d129092c7df7eee265cd6d6194cd0181b138230206
|
||||
|
Binary file not shown.
@ -1,65 +0,0 @@
|
||||
--- a/ext/openssl/openssl.c 2018-04-04 14:26:34.583000000 +0000
|
||||
+++ b/ext/openssl/openssl.c 2018-04-04 14:20:16.907000000 +0000
|
||||
@@ -73,7 +73,7 @@
|
||||
#ifdef HAVE_OPENSSL_MD2_H
|
||||
#define OPENSSL_ALGO_MD2 4
|
||||
#endif
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
||||
#define OPENSSL_ALGO_DSS1 5
|
||||
#endif
|
||||
#define OPENSSL_ALGO_SHA224 6
|
||||
@@ -560,7 +560,7 @@
|
||||
#endif
|
||||
|
||||
/* {{{ OpenSSL compatibility functions and macros */
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
||||
#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa
|
||||
#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh
|
||||
#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa
|
||||
@@ -677,7 +677,7 @@
|
||||
return M_ASN1_STRING_data(asn1);
|
||||
}
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10002000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
||||
|
||||
static int X509_get_signature_nid(const X509 *x)
|
||||
{
|
||||
@@ -1324,7 +1324,7 @@
|
||||
mdtype = (EVP_MD *) EVP_md2();
|
||||
break;
|
||||
#endif
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
||||
case OPENSSL_ALGO_DSS1:
|
||||
mdtype = (EVP_MD *) EVP_dss1();
|
||||
break;
|
||||
@@ -1450,7 +1450,7 @@
|
||||
#ifdef HAVE_OPENSSL_MD2_H
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT);
|
||||
#endif
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT);
|
||||
#endif
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT);
|
||||
@@ -3620,7 +3620,7 @@
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !(defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
||||
/* Due to changes in OpenSSL 1.1 related to locking when decoding CSR,
|
||||
* the pub key is not changed after assigning. It means if we pass
|
||||
* a private key, it will be returned including the private part.
|
||||
@@ -3631,7 +3631,7 @@
|
||||
/* Retrieve the public key from the CSR */
|
||||
tpubkey = X509_REQ_get_pubkey(csr);
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !(defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
||||
/* We need to free the CSR as it was duplicated */
|
||||
X509_REQ_free(csr);
|
||||
#endif
|
@ -1,30 +0,0 @@
|
||||
From 4072b2787074ee8e247a6639585b49e10c5a55fe Mon Sep 17 00:00:00 2001
|
||||
From: "Christoph M. Becker" <cmbecker69@gmx.de>
|
||||
Date: Tue, 20 Mar 2018 16:35:39 +0100
|
||||
Subject: [PATCH] Fix #76113: mbstring does not build with Oniguruma 6.8.1
|
||||
|
||||
As of Oniguruma 6.8.1, the regex structure has been moved from the
|
||||
public `oniguruma.h` to the private `regint.h`. Thus, it is no longer
|
||||
possible to directly access the struct's members, and actually, there
|
||||
is no need to, since there are respective accessor functions available
|
||||
at least of 2.3.1.
|
||||
---
|
||||
ext/mbstring/php_mbregex.c | 2 +-
|
||||
1 file changed, 1 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c
|
||||
index a5a6cd0..7a70c63 100644
|
||||
--- a/ext/mbstring/php_mbregex.c
|
||||
+++ b/ext/mbstring/php_mbregex.c
|
||||
@@ -452,7 +452,7 @@ static php_mb_regex_t *php_mbregex_compile_pattern(const char *pattern, int patl
|
||||
OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN];
|
||||
|
||||
rc = zend_hash_str_find_ptr(&MBREX(ht_rc), (char *)pattern, patlen);
|
||||
- if (!rc || rc->options != options || rc->enc != enc || rc->syntax != syntax) {
|
||||
+ if (!rc || onig_get_options(rc) != options || onig_get_encoding(rc) != enc || onig_get_syntax(rc) != syntax) {
|
||||
if ((err_code = onig_new(&retval, (OnigUChar *)pattern, (OnigUChar *)(pattern + patlen), options, enc, syntax, &err_info)) != ONIG_NORMAL) {
|
||||
onig_error_code_to_str(err_str, err_code, &err_info);
|
||||
php_error_docref(NULL, E_WARNING, "mbregex compile err: %s", err_str);
|
||||
--
|
||||
2.1.4
|
||||
|
@ -1,159 +0,0 @@
|
||||
Based on the following upstream commits:
|
||||
|
||||
https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52
|
||||
https://github.com/php/php-src/pull/3701
|
||||
https://github.com/php/php-src/commit/2bd299f7318492fd7e5cafffa562d76ba60e69d4
|
||||
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -2205,49 +2205,16 @@ dnl
|
||||
dnl Common setup macro for ICU
|
||||
dnl
|
||||
AC_DEFUN([PHP_SETUP_ICU],[
|
||||
- PHP_ARG_WITH(icu-dir,,
|
||||
- [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no)
|
||||
+ PKG_CHECK_MODULES([ICU], [icu-io >= 50.1])
|
||||
|
||||
- if test "$PHP_ICU_DIR" = "no"; then
|
||||
- PHP_ICU_DIR=DEFAULT
|
||||
- fi
|
||||
-
|
||||
- if test "$PHP_ICU_DIR" = "DEFAULT"; then
|
||||
- dnl Try to find icu-config
|
||||
- AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin])
|
||||
- else
|
||||
- ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config"
|
||||
- fi
|
||||
-
|
||||
- AC_MSG_CHECKING([for location of ICU headers and libraries])
|
||||
-
|
||||
- dnl Trust icu-config to know better what the install prefix is..
|
||||
- icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null`
|
||||
- if test "$?" != "0" || test -z "$icu_install_prefix"; then
|
||||
- AC_MSG_RESULT([not found])
|
||||
- AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.])
|
||||
- else
|
||||
- AC_MSG_RESULT([$icu_install_prefix])
|
||||
-
|
||||
- dnl Check ICU version
|
||||
- AC_MSG_CHECKING([for ICU 4.0 or greater])
|
||||
- icu_version_full=`$ICU_CONFIG --version`
|
||||
- ac_IFS=$IFS
|
||||
- IFS="."
|
||||
- set $icu_version_full
|
||||
- IFS=$ac_IFS
|
||||
- icu_version=`expr [$]1 \* 1000 + [$]2`
|
||||
- AC_MSG_RESULT([found $icu_version_full])
|
||||
+ PHP_EVAL_INCLINE($ICU_CFLAGS)
|
||||
+ PHP_EVAL_LIBLINE($ICU_LIBS, $1)
|
||||
|
||||
- if test "$icu_version" -lt "4000"; then
|
||||
- AC_MSG_ERROR([ICU version 4.0 or later is required])
|
||||
- fi
|
||||
+ ICU_CFLAGS="$ICU_CFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
|
||||
+ ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit"
|
||||
|
||||
- ICU_VERSION=$icu_version
|
||||
- ICU_INCS=`$ICU_CONFIG --cppflags-searchpath`
|
||||
- ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio`
|
||||
- PHP_EVAL_INCLINE($ICU_INCS)
|
||||
- PHP_EVAL_LIBLINE($ICU_LIBS, $1)
|
||||
+ if test "$PKG_CONFIG icu-io --atleast-version=60"; then
|
||||
+ ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
|
||||
fi
|
||||
])
|
||||
|
||||
--- a/ext/intl/config.m4
|
||||
+++ b/ext/intl/config.m4
|
||||
@@ -9,18 +9,10 @@ if test "$PHP_INTL" != "no"; then
|
||||
PHP_SETUP_ICU(INTL_SHARED_LIBADD)
|
||||
PHP_SUBST(INTL_SHARED_LIBADD)
|
||||
PHP_REQUIRE_CXX()
|
||||
- if test "$icu_version" -ge "4002"; then
|
||||
- icu_spoof_src=" spoofchecker/spoofchecker_class.c \
|
||||
- spoofchecker/spoofchecker.c\
|
||||
- spoofchecker/spoofchecker_create.c\
|
||||
- spoofchecker/spoofchecker_main.c"
|
||||
- else
|
||||
- icu_spoof_src=""
|
||||
- fi
|
||||
+ INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
|
||||
PHP_NEW_EXTENSION(intl, php_intl.c \
|
||||
intl_error.c \
|
||||
intl_convert.c \
|
||||
- intl_convertcpp.cpp \
|
||||
collator/collator.c \
|
||||
collator/collator_class.c \
|
||||
collator/collator_sort.c \
|
||||
@@ -32,8 +24,6 @@ if test "$PHP_INTL" != "no"; then
|
||||
collator/collator_is_numeric.c \
|
||||
collator/collator_error.c \
|
||||
common/common_error.c \
|
||||
- common/common_enum.cpp \
|
||||
- common/common_date.cpp \
|
||||
converter/converter.c \
|
||||
formatter/formatter.c \
|
||||
formatter/formatter_main.c \
|
||||
@@ -53,17 +43,12 @@ if test "$PHP_INTL" != "no"; then
|
||||
dateformat/dateformat_attr.c \
|
||||
dateformat/dateformat_data.c \
|
||||
dateformat/dateformat_format.c \
|
||||
- dateformat/dateformat_format_object.cpp \
|
||||
dateformat/dateformat_parse.c \
|
||||
- dateformat/dateformat_create.cpp \
|
||||
- dateformat/dateformat_attrcpp.cpp \
|
||||
- dateformat/dateformat_helpers.cpp \
|
||||
msgformat/msgformat.c \
|
||||
msgformat/msgformat_attr.c \
|
||||
msgformat/msgformat_class.c \
|
||||
msgformat/msgformat_data.c \
|
||||
msgformat/msgformat_format.c \
|
||||
- msgformat/msgformat_helpers.cpp \
|
||||
msgformat/msgformat_parse.c \
|
||||
grapheme/grapheme_string.c \
|
||||
grapheme/grapheme_util.c \
|
||||
@@ -73,6 +58,21 @@ if test "$PHP_INTL" != "no"; then
|
||||
transliterator/transliterator.c \
|
||||
transliterator/transliterator_class.c \
|
||||
transliterator/transliterator_methods.c \
|
||||
+ uchar/uchar.c \
|
||||
+ idn/idn.c \
|
||||
+ spoofchecker/spoofchecker_class.c \
|
||||
+ spoofchecker/spoofchecker.c\
|
||||
+ spoofchecker/spoofchecker_create.c\
|
||||
+ spoofchecker/spoofchecker_main.c, $ext_shared,,$INTL_COMMON_FLAGS,cxx)
|
||||
+
|
||||
+ PHP_INTL_CPP_SOURCES="intl_convertcpp.cpp \
|
||||
+ common/common_enum.cpp \
|
||||
+ common/common_date.cpp \
|
||||
+ dateformat/dateformat_format_object.cpp \
|
||||
+ dateformat/dateformat_create.cpp \
|
||||
+ dateformat/dateformat_attrcpp.cpp \
|
||||
+ dateformat/dateformat_helpers.cpp \
|
||||
+ msgformat/msgformat_helpers.cpp \
|
||||
timezone/timezone_class.cpp \
|
||||
timezone/timezone_methods.cpp \
|
||||
calendar/calendar_class.cpp \
|
||||
@@ -83,10 +83,15 @@ if test "$PHP_INTL" != "no"; then
|
||||
breakiterator/breakiterator_methods.cpp \
|
||||
breakiterator/rulebasedbreakiterator_methods.cpp \
|
||||
breakiterator/codepointiterator_internal.cpp \
|
||||
- breakiterator/codepointiterator_methods.cpp \
|
||||
- uchar/uchar.c \
|
||||
- idn/idn.c \
|
||||
- $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,cxx)
|
||||
+ breakiterator/codepointiterator_methods.cpp"
|
||||
+
|
||||
+ PHP_INTL_CPP_FLAGS="$ICU_CXXFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
|
||||
+ if test "$ext_shared" = "no"; then
|
||||
+ PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS)
|
||||
+ else
|
||||
+ PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS, shared_objects_intl, yes)
|
||||
+ fi
|
||||
+
|
||||
PHP_ADD_BUILD_DIR($ext_builddir/collator)
|
||||
PHP_ADD_BUILD_DIR($ext_builddir/converter)
|
||||
PHP_ADD_BUILD_DIR($ext_builddir/common)
|
||||
--
|
||||
2.19.2
|
||||
|
@ -1,91 +0,0 @@
|
||||
Based on the following upstream commits:
|
||||
|
||||
https://github.com/php/php-src/commit/45a05f38410d4a67c8c83c09906e2cfb42fc6e4c
|
||||
https://github.com/php/php-src/commit/534684d1042978f3c21caf9b665a7aca27f3f325
|
||||
|
||||
--- a/ext/intl/msgformat/msgformat_helpers.cpp
|
||||
+++ b/ext/intl/msgformat/msgformat_helpers.cpp
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <unicode/timezone.h>
|
||||
#include <unicode/datefmt.h>
|
||||
#include <unicode/calendar.h>
|
||||
+#include <unicode/strenum.h>
|
||||
|
||||
#include <vector>
|
||||
|
||||
@@ -45,6 +46,7 @@ extern "C" {
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
||||
#define HAS_MESSAGE_PATTERN 1
|
||||
+#define HAS_MISALLOCATE_MEMORY_BUG 1
|
||||
#endif
|
||||
|
||||
U_NAMESPACE_BEGIN
|
||||
@@ -345,6 +347,26 @@ static void umsg_set_timezone(MessageFormatter_object *mfo,
|
||||
return; /* already done */
|
||||
}
|
||||
|
||||
+#ifdef HAS_MISALLOCATE_MEMORY_BUG
|
||||
+ /* There is a bug in ICU which prevents MessageFormatter::getFormats()
|
||||
+ to handle more than 10 formats correctly. The enumerator could be
|
||||
+ used to walk through the present formatters using getFormat(), which
|
||||
+ however seems to provide just a readonly access. This workaround
|
||||
+ prevents crash when there are > 10 formats but doesn't set any error.
|
||||
+ As a result, only DateFormatters with > 10 subformats are affected.
|
||||
+ This workaround should be ifdef'd out, when the bug has been fixed
|
||||
+ in ICU. */
|
||||
+ icu::StringEnumeration* fnames = mf->getFormatNames(err.code);
|
||||
+ if (!fnames || U_FAILURE(err.code)) {
|
||||
+ return;
|
||||
+ }
|
||||
+ count = fnames->count(err.code);
|
||||
+ delete fnames;
|
||||
+ if (count > 10) {
|
||||
+ return;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
formats = mf->getFormats(count);
|
||||
|
||||
if (formats == NULL) {
|
||||
--- /dev/null
|
||||
+++ b/ext/intl/tests/bug74484_MessageFormatter.phpt
|
||||
@@ -0,0 +1,35 @@
|
||||
+--TEST--
|
||||
+Bug #74484 MessageFormatter::formatMessage memory corruption with 11+ named placeholder
|
||||
+--SKIPIF--
|
||||
+<?php
|
||||
+if (!extension_loaded('intl'))
|
||||
+ die('skip intl extension not enabled');
|
||||
+if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
+ die('skip for ICU 4.8+');
|
||||
+?>
|
||||
+--FILE--
|
||||
+<?php
|
||||
+$text = "{a} {b} {c} {d} {e} {f} {g} {h} {i} {j} {k} {l}";
|
||||
+
|
||||
+$vars = array(
|
||||
+ 'a' => 1,
|
||||
+ 'b' => 2,
|
||||
+ 'c' => 3,
|
||||
+ 'd' => 4,
|
||||
+ 'e' => 5,
|
||||
+ 'f' => 6,
|
||||
+ 'g' => 7,
|
||||
+ 'h' => 8,
|
||||
+ 'i' => 9,
|
||||
+ 'j' => 10,
|
||||
+ 'k' => 11,
|
||||
+ 'l' => 12
|
||||
+);
|
||||
+
|
||||
+var_dump(MessageFormatter::formatMessage('en_US', $text, $vars));
|
||||
+
|
||||
+?>
|
||||
+==DONE==
|
||||
+--EXPECT--
|
||||
+string(26) "1 2 3 4 5 6 7 8 9 10 11 12"
|
||||
+==DONE==
|
||||
--
|
||||
2.19.2
|
||||
|
@ -1,369 +0,0 @@
|
||||
Based on the following upstream commits:
|
||||
|
||||
https://github.com/php/php-src/commit/8d35a423838eb462cd39ee535c5d003073cc5f22
|
||||
https://github.com/php/php-src/commit/d8200e48857aeaf09f7127751efc5632ef7660a7
|
||||
https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52
|
||||
|
||||
--- a/ext/intl/breakiterator/breakiterator_class.cpp
|
||||
+++ b/ext/intl/breakiterator/breakiterator_class.cpp
|
||||
@@ -38,6 +38,7 @@ extern "C" {
|
||||
}
|
||||
|
||||
using PHP::CodePointBreakIterator;
|
||||
+using icu::RuleBasedBreakIterator;
|
||||
|
||||
/* {{{ Global variables */
|
||||
zend_class_entry *BreakIterator_ce_ptr;
|
||||
--- a/ext/intl/breakiterator/breakiterator_class.h
|
||||
+++ b/ext/intl/breakiterator/breakiterator_class.h
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
#ifndef USE_BREAKITERATOR_POINTER
|
||||
typedef void BreakIterator;
|
||||
+#else
|
||||
+using icu::BreakIterator;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
--- a/ext/intl/breakiterator/breakiterator_methods.cpp
|
||||
+++ b/ext/intl/breakiterator/breakiterator_methods.cpp
|
||||
@@ -32,6 +32,8 @@ extern "C" {
|
||||
}
|
||||
|
||||
using PHP::CodePointBreakIterator;
|
||||
+using icu::BreakIterator;
|
||||
+using icu::Locale;
|
||||
|
||||
U_CFUNC PHP_METHOD(BreakIterator, __construct)
|
||||
{
|
||||
--- a/ext/intl/breakiterator/codepointiterator_internal.cpp
|
||||
+++ b/ext/intl/breakiterator/codepointiterator_internal.cpp
|
||||
@@ -33,6 +33,8 @@ typedef union {
|
||||
|
||||
using namespace PHP;
|
||||
|
||||
+using icu::UCharCharacterIterator;
|
||||
+
|
||||
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CodePointBreakIterator);
|
||||
|
||||
CodePointBreakIterator::CodePointBreakIterator()
|
||||
--- a/ext/intl/breakiterator/codepointiterator_internal.h
|
||||
+++ b/ext/intl/breakiterator/codepointiterator_internal.h
|
||||
@@ -18,8 +18,11 @@
|
||||
#define CODEPOINTITERATOR_INTERNAL_H
|
||||
|
||||
#include <unicode/brkiter.h>
|
||||
+#include <unicode/unistr.h>
|
||||
|
||||
-using U_ICU_NAMESPACE::BreakIterator;
|
||||
+using icu::BreakIterator;
|
||||
+using icu::CharacterIterator;
|
||||
+using icu::UnicodeString;
|
||||
|
||||
namespace PHP {
|
||||
|
||||
--- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp
|
||||
+++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp
|
||||
@@ -26,6 +26,9 @@ extern "C" {
|
||||
#include "../intl_convertcpp.h"
|
||||
#include "../intl_common.h"
|
||||
|
||||
+using icu::RuleBasedBreakIterator;
|
||||
+using icu::Locale;
|
||||
+
|
||||
static inline RuleBasedBreakIterator *fetch_rbbi(BreakIterator_object *bio) {
|
||||
return (RuleBasedBreakIterator*)bio->biter;
|
||||
}
|
||||
--- a/ext/intl/calendar/calendar_class.cpp
|
||||
+++ b/ext/intl/calendar/calendar_class.cpp
|
||||
@@ -34,6 +34,9 @@ extern "C" {
|
||||
#include <assert.h>
|
||||
}
|
||||
|
||||
+using icu::GregorianCalendar;
|
||||
+using icu::Locale;
|
||||
+
|
||||
/* {{{ Global variables */
|
||||
zend_class_entry *Calendar_ce_ptr;
|
||||
zend_class_entry *GregorianCalendar_ce_ptr;
|
||||
--- a/ext/intl/calendar/calendar_class.h
|
||||
+++ b/ext/intl/calendar/calendar_class.h
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
#ifndef USE_CALENDAR_POINTER
|
||||
typedef void Calendar;
|
||||
+#else
|
||||
+using icu::Calendar;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
--- a/ext/intl/calendar/calendar_methods.cpp
|
||||
+++ b/ext/intl/calendar/calendar_methods.cpp
|
||||
@@ -40,6 +40,8 @@ extern "C" {
|
||||
}
|
||||
#include "../common/common_enum.h"
|
||||
|
||||
+using icu::Locale;
|
||||
+
|
||||
U_CFUNC PHP_METHOD(IntlCalendar, __construct)
|
||||
{
|
||||
zend_throw_exception( NULL,
|
||||
--- a/ext/intl/calendar/gregoriancalendar_methods.cpp
|
||||
+++ b/ext/intl/calendar/gregoriancalendar_methods.cpp
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <unicode/locid.h>
|
||||
#include <unicode/calendar.h>
|
||||
#include <unicode/gregocal.h>
|
||||
+#include <unicode/ustring.h>
|
||||
+
|
||||
extern "C" {
|
||||
#include "../php_intl.h"
|
||||
#include "../intl_common.h"
|
||||
@@ -34,6 +36,11 @@ extern "C" {
|
||||
#include "zend_exceptions.h"
|
||||
}
|
||||
|
||||
+using icu::GregorianCalendar;
|
||||
+using icu::Locale;
|
||||
+using icu::UnicodeString;
|
||||
+using icu::StringPiece;
|
||||
+
|
||||
static inline GregorianCalendar *fetch_greg(Calendar_object *co) {
|
||||
return (GregorianCalendar*)co->ucal;
|
||||
}
|
||||
--- a/ext/intl/common/common_date.cpp
|
||||
+++ b/ext/intl/common/common_date.cpp
|
||||
@@ -25,6 +25,9 @@ extern "C" {
|
||||
#include <ext/date/php_date.h>
|
||||
}
|
||||
|
||||
+using icu::TimeZone;
|
||||
+using icu::UnicodeString;
|
||||
+
|
||||
#ifndef INFINITY
|
||||
#define INFINITY (DBL_MAX+DBL_MAX)
|
||||
#endif
|
||||
--- a/ext/intl/common/common_date.h
|
||||
+++ b/ext/intl/common/common_date.h
|
||||
@@ -28,6 +28,8 @@ U_CDECL_END
|
||||
|
||||
#include <unicode/timezone.h>
|
||||
|
||||
+using icu::TimeZone;
|
||||
+
|
||||
U_CFUNC TimeZone *timezone_convert_datetimezone(int type, void *object, int is_datetime, intl_error *outside_error, const char *func);
|
||||
U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz,
|
||||
intl_error *err, const char *func);
|
||||
--- a/ext/intl/common/common_enum.h
|
||||
+++ b/ext/intl/common/common_enum.h
|
||||
@@ -75,6 +75,7 @@ U_CFUNC zval *zoi_with_current_get_current_data(zend_object_iterator *iter);
|
||||
U_CFUNC void zoi_with_current_invalidate_current(zend_object_iterator *iter);
|
||||
|
||||
#ifdef __cplusplus
|
||||
+using icu::StringEnumeration;
|
||||
U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object);
|
||||
#endif
|
||||
|
||||
--- a/ext/intl/converter/converter.c
|
||||
+++ b/ext/intl/converter/converter.c
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "zend_exceptions.h"
|
||||
|
||||
#include <unicode/utypes.h>
|
||||
+#include <unicode/utf8.h>
|
||||
+#include <unicode/utf16.h>
|
||||
#include <unicode/ucnv.h>
|
||||
#include <unicode/ustring.h>
|
||||
|
||||
--- a/ext/intl/dateformat/dateformat_format_object.cpp
|
||||
+++ b/ext/intl/dateformat/dateformat_format_object.cpp
|
||||
@@ -33,6 +33,12 @@ extern "C" {
|
||||
#include "../common/common_date.h"
|
||||
}
|
||||
|
||||
+using icu::Locale;
|
||||
+using icu::DateFormat;
|
||||
+using icu::GregorianCalendar;
|
||||
+using icu::StringPiece;
|
||||
+using icu::SimpleDateFormat;
|
||||
+
|
||||
static const DateFormat::EStyle valid_styles[] = {
|
||||
DateFormat::kNone,
|
||||
DateFormat::kFull,
|
||||
--- a/ext/intl/dateformat/dateformat_helpers.cpp
|
||||
+++ b/ext/intl/dateformat/dateformat_helpers.cpp
|
||||
@@ -28,6 +28,8 @@ extern "C" {
|
||||
#include "../calendar/calendar_class.h"
|
||||
}
|
||||
|
||||
+using icu::GregorianCalendar;
|
||||
+
|
||||
int datefmt_process_calendar_arg(zval* calendar_zv,
|
||||
Locale const& locale,
|
||||
const char *func_name,
|
||||
--- a/ext/intl/dateformat/dateformat_helpers.h
|
||||
+++ b/ext/intl/dateformat/dateformat_helpers.h
|
||||
@@ -22,11 +22,16 @@
|
||||
#endif
|
||||
|
||||
#include <unicode/calendar.h>
|
||||
+#include <unicode/datefmt.h>
|
||||
|
||||
extern "C" {
|
||||
#include "../php_intl.h"
|
||||
}
|
||||
|
||||
+using icu::Locale;
|
||||
+using icu::Calendar;
|
||||
+using icu::DateFormat;
|
||||
+
|
||||
int datefmt_process_calendar_arg(zval* calendar_zv,
|
||||
Locale const& locale,
|
||||
const char *func_name,
|
||||
--- a/ext/intl/grapheme/grapheme_string.c
|
||||
+++ b/ext/intl/grapheme/grapheme_string.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "grapheme_util.h"
|
||||
|
||||
#include <unicode/utypes.h>
|
||||
+#include <unicode/utf8.h>
|
||||
#include <unicode/ucol.h>
|
||||
#include <unicode/ustring.h>
|
||||
#include <unicode/ubrk.h>
|
||||
@@ -831,10 +832,10 @@ PHP_FUNCTION(grapheme_extract)
|
||||
pstr = str + start;
|
||||
|
||||
/* just in case pstr points in the middle of a character, move forward to the start of the next char */
|
||||
- if ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
|
||||
- char *str_end = str + str_len;
|
||||
+ if ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
|
||||
+ unsigned char *str_end = str + str_len;
|
||||
|
||||
- while ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
|
||||
+ while ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
|
||||
pstr++;
|
||||
if ( pstr >= str_end ) {
|
||||
intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR,
|
||||
--- a/ext/intl/intl_convertcpp.h
|
||||
+++ b/ext/intl/intl_convertcpp.h
|
||||
@@ -26,6 +26,8 @@
|
||||
#include <unicode/unistr.h>
|
||||
#include <zend_types.h>
|
||||
|
||||
+using icu::UnicodeString;
|
||||
+
|
||||
int intl_stringFromChar(UnicodeString &ret, char *str, size_t str_len, UErrorCode *status);
|
||||
|
||||
zend_string* intl_charFromString(const UnicodeString &from, UErrorCode *status);
|
||||
--- a/ext/intl/msgformat/msgformat_helpers.cpp
|
||||
+++ b/ext/intl/msgformat/msgformat_helpers.cpp
|
||||
@@ -76,6 +76,16 @@ MessageFormatAdapter::getMessagePattern(MessageFormat* m) {
|
||||
#endif
|
||||
U_NAMESPACE_END
|
||||
|
||||
+using icu::Formattable;
|
||||
+using icu::Format;
|
||||
+using icu::DateFormat;
|
||||
+using icu::MessageFormat;
|
||||
+#ifdef HAS_MESSAGE_PATTERN
|
||||
+using icu::MessagePattern;
|
||||
+#endif
|
||||
+using icu::MessageFormatAdapter;
|
||||
+using icu::FieldPosition;
|
||||
+
|
||||
U_CFUNC int32_t umsg_format_arg_count(UMessageFormat *fmt)
|
||||
{
|
||||
int32_t fmt_count = 0;
|
||||
@@ -227,15 +237,16 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||
UnicodeString typeString = mp.getSubstring(type_part);
|
||||
/* This is all based on the rules in the docs for MessageFormat
|
||||
* @see http://icu-project.org/apiref/icu4c/classMessageFormat.html */
|
||||
- if (typeString == "number") {
|
||||
+#define ASCII_LITERAL(s) UNICODE_STRING(s, sizeof(s)-1)
|
||||
+ if (typeString == ASCII_LITERAL("number")) {
|
||||
MessagePattern::Part style_part = mp.getPart(i + 1); /* Not advancing i */
|
||||
if (style_part.getType() == UMSGPAT_PART_TYPE_ARG_STYLE) {
|
||||
UnicodeString styleString = mp.getSubstring(style_part);
|
||||
- if (styleString == "integer") {
|
||||
+ if (styleString == ASCII_LITERAL("integer")) {
|
||||
type = Formattable::kInt64;
|
||||
- } else if (styleString == "currency") {
|
||||
+ } else if (styleString == ASCII_LITERAL("currency")) {
|
||||
type = Formattable::kDouble;
|
||||
- } else if (styleString == "percent") {
|
||||
+ } else if (styleString == ASCII_LITERAL("percent")) {
|
||||
type = Formattable::kDouble;
|
||||
} else { /* some style invalid/unknown to us */
|
||||
type = Formattable::kDouble;
|
||||
@@ -243,12 +254,13 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||
} else { // if missing style, part, make it a double
|
||||
type = Formattable::kDouble;
|
||||
}
|
||||
- } else if ((typeString == "date") || (typeString == "time")) {
|
||||
+ } else if ((typeString == ASCII_LITERAL("date")) || (typeString == ASCII_LITERAL("time"))) {
|
||||
type = Formattable::kDate;
|
||||
- } else if ((typeString == "spellout") || (typeString == "ordinal")
|
||||
- || (typeString == "duration")) {
|
||||
+ } else if ((typeString == ASCII_LITERAL("spellout")) || (typeString == ASCII_LITERAL("ordinal"))
|
||||
+ || (typeString == ASCII_LITERAL("duration"))) {
|
||||
type = Formattable::kDouble;
|
||||
}
|
||||
+#undef ASCII_LITERAL
|
||||
} else {
|
||||
/* If there's no UMSGPAT_PART_TYPE_ARG_TYPE right after a
|
||||
* UMSGPAT_ARG_TYPE_SIMPLE argument, then the pattern
|
||||
--- a/ext/intl/normalizer/normalizer_normalize.c
|
||||
+++ b/ext/intl/normalizer/normalizer_normalize.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "normalizer_class.h"
|
||||
#include "normalizer_normalize.h"
|
||||
#include "intl_convert.h"
|
||||
+#include <unicode/utf8.h>
|
||||
|
||||
/* {{{ proto string Normalizer::normalize( string $input [, string $form = FORM_C] )
|
||||
* Normalize a string. }}} */
|
||||
--- a/ext/intl/timezone/timezone_class.cpp
|
||||
+++ b/ext/intl/timezone/timezone_class.cpp
|
||||
@@ -37,6 +37,8 @@ extern "C" {
|
||||
#include <ext/date/php_date.h>
|
||||
}
|
||||
|
||||
+using icu::Calendar;
|
||||
+
|
||||
/* {{{ Global variables */
|
||||
U_CDECL_BEGIN
|
||||
zend_class_entry *TimeZone_ce_ptr = NULL;
|
||||
--- a/ext/intl/timezone/timezone_class.h
|
||||
+++ b/ext/intl/timezone/timezone_class.h
|
||||
@@ -29,6 +29,8 @@
|
||||
|
||||
#ifndef USE_TIMEZONE_POINTER
|
||||
typedef void TimeZone;
|
||||
+#else
|
||||
+using icu::TimeZone;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
--- a/ext/intl/timezone/timezone_methods.cpp
|
||||
+++ b/ext/intl/timezone/timezone_methods.cpp
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <unicode/locid.h>
|
||||
#include <unicode/timezone.h>
|
||||
#include <unicode/ustring.h>
|
||||
+#include <unicode/calendar.h>
|
||||
#include "intl_convertcpp.h"
|
||||
|
||||
#include "../common/common_date.h"
|
||||
@@ -37,6 +38,9 @@ extern "C" {
|
||||
}
|
||||
#include "common/common_enum.h"
|
||||
|
||||
+using icu::Locale;
|
||||
+using icu::Calendar;
|
||||
+
|
||||
U_CFUNC PHP_METHOD(IntlTimeZone, __construct)
|
||||
{
|
||||
zend_throw_exception( NULL,
|
||||
--
|
||||
2.19.2
|
||||
|
@ -1,751 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic eapi7-ver systemd
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://secure.php.net/"
|
||||
SRC_URI="https://secure.php.net/distributions/${P}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(ver_cut 1-2)"
|
||||
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage crypt +ctype curl debug
|
||||
enchant exif +fileinfo +filter firebird
|
||||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
|
||||
mhash mssql mysql 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
|
||||
sysvipc systemd tidy +tokenizer truetype unicode wddx webp
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre-8.32[unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[threads=] ) )
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
cjk? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib:0=
|
||||
) )
|
||||
coverage? ( dev-util/lcov )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
exif? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib:0=
|
||||
) )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
|
||||
intl? ( <dev-libs/icu-61.1:= )
|
||||
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] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
sharedmem? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
tidy? ( app-text/htmltidy )
|
||||
truetype? (
|
||||
=media-libs/freetype-2*
|
||||
!gd? (
|
||||
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
|
||||
)
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
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:0=
|
||||
)
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( sys-libs/zlib:0= )
|
||||
zlib? ( sys-libs/zlib:0= )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1
|
||||
sys-devel/flex
|
||||
>=sys-devel/m4-1.4.3
|
||||
>=sys-devel/libtool-1.5.18"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd zlib )
|
||||
webp? ( gd zlib )
|
||||
cjk? ( gd zlib )
|
||||
exif? ( gd zlib )
|
||||
xpm? ( gd zlib )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
sharedmem? ( !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/mbstring-oniguruma-6.8.patch"
|
||||
# hopefully upstream will include the same version check fixes in upcoming releases
|
||||
# patch added 20180429
|
||||
"${FILESDIR}/libressl-compatibility.patch"
|
||||
"${FILESDIR}/php-freetype-2.9.1.patch"
|
||||
)
|
||||
|
||||
PHP_MV="$(ver_cut 1)"
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
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 coverage gcov)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || 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 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_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(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_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")
|
||||
)
|
||||
if use webp; then
|
||||
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
|
||||
fi
|
||||
# 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"
|
||||
|
||||
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 "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
if [[ "fpm" == "${sapi}" ]] ; then
|
||||
sapi_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with systemd fpm-systemd)
|
||||
)
|
||||
fi
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
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 #nowarn
|
||||
|
||||
# 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/libphp${PHP_MV}$(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)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
@ -1,754 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit flag-o-matic systemd
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://secure.php.net/"
|
||||
SRC_URI="https://php.net/distributions/${P}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(ver_cut 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage crypt +ctype curl debug
|
||||
enchant exif +fileinfo +filter firebird
|
||||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
|
||||
mhash mssql mysql 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
|
||||
sysvipc systemd tidy +tokenizer truetype unicode wddx webp
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre-8.32[unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[threads=] ) )
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
cjk? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib:0=
|
||||
) )
|
||||
coverage? ( dev-util/lcov )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
exif? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib:0=
|
||||
) )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
|
||||
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
sharedmem? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
tidy? ( app-text/htmltidy )
|
||||
truetype? (
|
||||
=media-libs/freetype-2*
|
||||
!gd? (
|
||||
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
|
||||
)
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
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:0=
|
||||
)
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( sys-libs/zlib:0= )
|
||||
zlib? ( sys-libs/zlib:0= )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1
|
||||
sys-devel/flex
|
||||
>=sys-devel/m4-1.4.3
|
||||
>=sys-devel/libtool-1.5.18"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd zlib )
|
||||
webp? ( gd zlib )
|
||||
cjk? ( gd zlib )
|
||||
exif? ( gd zlib )
|
||||
xpm? ( gd zlib )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
sharedmem? ( !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/mbstring-oniguruma-6.8.patch"
|
||||
# hopefully upstream will include the same version check fixes in upcoming releases
|
||||
# patch added 20180429
|
||||
"${FILESDIR}/libressl-compatibility.patch"
|
||||
"${FILESDIR}/php-freetype-2.9.1.patch"
|
||||
"${FILESDIR}/php-7.0.33-intl-detect-icu-via-pkg-config.patch"
|
||||
"${FILESDIR}/php-7.0.33-intl-use-icu-namespace.patch"
|
||||
"${FILESDIR}/php-7.0.33-intl-icu-memory-corruption.patch"
|
||||
)
|
||||
|
||||
PHP_MV="$(ver_cut 1)"
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
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 coverage gcov)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || 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 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_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(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_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")
|
||||
)
|
||||
if use webp; then
|
||||
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
|
||||
fi
|
||||
# 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"
|
||||
|
||||
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 "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
if [[ "fpm" == "${sapi}" ]] ; then
|
||||
sapi_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with systemd fpm-systemd)
|
||||
)
|
||||
fi
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
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 #nowarn
|
||||
|
||||
# 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/libphp${PHP_MV}$(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)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
@ -1,9 +1,15 @@
|
||||
AUX 0.40-Allow-disabling-the-build-of-valadoc.patch 4585 BLAKE2B 4f0ee3cb4a47f4479ba29b3acfa173fcf045bedafa677544147969d63b05734de31fe6ce135bfa529f28583318cf8a8e76cd32f372d3513a859ebcbb560ebae1 SHA512 de1c71ac885ca88c7276c2e0b8e92ab63587b662f927cae423775908cec4bfd4bbfdf14f069c541a599e001e7e66712f04b9f45bc88882cc7ee5b0f582bd8229
|
||||
AUX 0.40-valadoc-doclets-data-parallel-installable.patch 6105 BLAKE2B 24f3a2c44125da3dfc93c6c7426d85de59ef79baa3e96b898b0c01f8e46b8939e6f5ec1ab3ef1f84052ccef6a3bb61d3c86329aba228f3356b879ee6d867f045 SHA512 87d810c135844ebdbc011bccb66ac58ad77b773ed0513d96cd465b3a34103e308c9fc134c9701ec0df56d49644ecfe73ceafd2fde02699347253bbaabffbbb0f
|
||||
DIST vala-0.32.1.tar.xz 2759528 BLAKE2B cce23844ee5769216ef5cccb20476f4bdd2cb809a226236dd8a6bd533bb8ceb5b87add1d4d1c9eec60e0a94e64cafafcd1f46b2b2ae12fc951515fe8571e2195 SHA512 d59db1bd9132f93f187c30ccabff9d21fe8685293a6494e5b009d883de4f844cc4b8dc5d3b6eb4e026a93490f2e4ff7ba83ff22a093c6f8f85e68d83f5fe1bb0
|
||||
DIST vala-0.34.16.tar.xz 2795676 BLAKE2B 64428099c209e13a6aad09233af650f412efa191ff4873fae1dbfb9bcc252e13d4e152733c9f199cd23323872fd912807a685980f651c1f784bfaffae7bf4162 SHA512 6411d55524a6c717c2eaf5cc1231ac931400e3f66d151a8b8856910258eb5bd7affe3a90946de34feb51aabfafce721b8d57f61e0475095b275d20b73cc4bbec
|
||||
DIST vala-0.36.15.tar.xz 2880300 BLAKE2B ea83bde6396f3be1c96038d63ae30b18fa070a6f7a06b75569bfed9d7792c898201a1f24d000f5b6415bb890cf975758341a97f22db74da02fcbeb3f283e546f SHA512 1c8f888832b2dd4248737a5a27f00f42d8bab2fe0a0790a7df5c426f4e3e1d0919ed0f6f6fd905be758ed477ba840e18f608e67811389c811ba65710094abe61
|
||||
DIST vala-0.36.17.tar.xz 2898524 BLAKE2B 4a5a373bacd4e4a392350c7819e0498054e38f50dce89658412d7aeb5642892ef9f32a7689ebd45f53c41f064e0b6d2f52fb441be67a1dd48e67311a1e764637 SHA512 93d4fa600cd0ef62b71ed056b837f2c0a42c3aba25b021b2bbd2045428550307727827b250dae546926ea3fe2e33a5ac80c9b24b5100f02550ec584dd5da5e92
|
||||
DIST vala-0.40.13.tar.xz 3394588 BLAKE2B cb3055b859b220f999bc5b4533251a069e9c10690963bc92b087b0ab351f0d78eb8f5992b747cc345d9d2a3dba69c68d130bca20604036c2c62e380442675e8b SHA512 0590224ec5128f6939b66109b6bcf7f764af3ece28f9bce9a5d715f53defbc8746d5d20599039b067848da2f38fdae7a057427be1ea9ef0fe09e0ce45db091d0
|
||||
DIST vala-0.42.5.tar.xz 3350460 BLAKE2B 790c9f9e9e656ce96226f1ac6a0d090033ecf1943d024da0c9ee174bf65f76a14721819c6c2263c5b094f16cf112cc964000000ee42c9a7fdc0f2ad6fc01feb7 SHA512 1862307eab505e500326f84e267648f084926629f6b45b9abb6a90a20a7aa6dd2fc305962b9028c5ca7becb574573cca43fbecd9294b782d9942e71639a32aa9
|
||||
EBUILD vala-0.32.1.ebuild 775 BLAKE2B 3c4618a9f9782e21964dec7a7e000cf091e1a4a16861d6515087d11c4ae95a86c5445c8db3dda6be2fed99a8f6ca631b275fafd50db4845135df68bcb351f01b SHA512 1f92dfcaf5aff8fe99694ccaf7f52609169f7ef45c18988a2a9d9ef00bd93ebf5f10b7d6e1a3064c1461b70f0f3629cc610bd39293830704d9a2b3d4f0a0ce60
|
||||
EBUILD vala-0.34.16.ebuild 775 BLAKE2B 2b84a4a85841d2df0379b735c85c82a1f3f06e382e53b9fa3f6b19e4d704eccea18103adc4ed2fd0c0024be23179e9b97495ed00e1016bba871d6a4761bb8b6b SHA512 5b77b9cfc896ebbaf17d1d0be8e6b87ce33e4624bba65126b6fc771402339909fd8b2a3632a8769f426135ffc4b38e44a62868f85056365aa952d93c56d03c94
|
||||
EBUILD vala-0.36.15.ebuild 858 BLAKE2B b057fe90ac84327be175ec67539d16e3f0774acbd4b00833763fecd744b181d73481454edc519e277136f7eabf03d9ce3b8074fd55ace808e7cecdf31c23eb59 SHA512 f14500cdf5c6c37102a4be3a7f1fbc6381ad20406a7bd049876bedfa9e813f2c618905a09fcb1e7421049243ebce5e3bece55c87fb4eddddb0c5c07b19299dc7
|
||||
EBUILD vala-0.36.17.ebuild 868 BLAKE2B f493cf3fd23bf54572722d02abe0759b51a141d4137c58b40a0ab8d92f78e4c4bb5a3353305a8502d661ba219dcc7cc668c7e95c2bc15048c3100b3c95f75871 SHA512 0a86d5003edc0ba773919f6d7b93ecfa6deb42e8a5a489922132df3627f357711c630ad268335bf55f4b5b5525e64e13b8eba0a45901e0e2672b35ff403d9ff8
|
||||
MISC metadata.xml 255 BLAKE2B 51dc9e0030d68ac68f075bb4a7b4c5f42122c16f354e10463d7338e652b272b26fa1eb12a144ed4a00d29a020af4df19029d909b4591162347184b1684402c94 SHA512 1970039db79f50391650a9fea933485c6102d1165946ab8efe9395403a02f49d4b17c2942795282469ac7c0306e7353002dcbaa797fb1060982b31ea3540b98b
|
||||
EBUILD vala-0.40.13.ebuild 1275 BLAKE2B 9f6a160de849bd18f400e1fbf98c4dd899f4b88c28b39e07f55c37ef45263ba3da977e14072f813bc19f0e422b33d4d780a30300fe27f48fd114b1bb7aebc842 SHA512 d0fbf3b7bc834f3cb1efbfb3c3a58b05b78b9053e89e7a26fbfd40faacc0d6f493e7a82fc42e8024172fae05c4daac371f2163786abbf6e8849fb20805e8ff40
|
||||
EBUILD vala-0.42.5.ebuild 1275 BLAKE2B 4c0205f782b470ba8aee5e9f72dcd611a1884d4dea03ddebe6835f5cebd5b91bd4627302e83c55f75bdf94c32d666a3147c518c8a7038683f7f9756ac96667c0 SHA512 37a74165e1736d14f800ef5b8ea1a7de12e7cb058486c677378c6c5f83e8ef2b740d8a5aa76801edff48c697b27128afe3737dce489defbb5093d027b332cb17
|
||||
MISC metadata.xml 345 BLAKE2B de3110ae281a87f8cb8f6c10d93705f56f0cfed972cd893a063e66c2629150d491498a29b35b4efe19fa5b6baa740f1d989bad440924befc60ef56423096f108 SHA512 163aa55430a075974d504a5bbb71ad9a249cb215de12a82b3141de18bb05f1e0c2078c02c617cf7d98a97c7f8dd407077183754d8c82c77e80dd0d7b2ec38283
|
||||
|
@ -0,0 +1,184 @@
|
||||
From 1dae711f17473e12c822a657ffca02abee27b3a2 Mon Sep 17 00:00:00 2001
|
||||
From: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Date: Sun, 27 Aug 2017 16:03:03 +0200
|
||||
Subject: [PATCH] build: Allow disabling the build of valadoc
|
||||
|
||||
Allow disabling build of valadoc with configure option --disable-valadoc
|
||||
|
||||
Fixes https://gitlab.gnome.org/GNOME/vala/issues/596
|
||||
---
|
||||
Makefile.am | 10 +++++++++
|
||||
configure.ac | 59 ++++++++++++++++++++++++++-----------------------
|
||||
doc/Makefile.am | 17 +++++++++++++-
|
||||
3 files changed, 57 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 88bef90ed..e4d46741f 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -13,9 +13,19 @@ SUBDIRS = \
|
||||
doc \
|
||||
gobject-introspection \
|
||||
vapigen \
|
||||
+ $(NULL)
|
||||
+
|
||||
+if ENABLE_VALADOC
|
||||
+SUBDIRS += \
|
||||
libvaladoc \
|
||||
valadoc \
|
||||
$(NULL)
|
||||
+endif
|
||||
+
|
||||
+DISTCHECK_CONFIGURE_FLAGS = \
|
||||
+ --enable-valadoc \
|
||||
+ --enable-unversioned \
|
||||
+ $(NULL)
|
||||
|
||||
if ENABLE_UNVERSIONED
|
||||
aclocaldir = $(datadir)/aclocal
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 88ca0f94b..9d1c97417 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -119,35 +119,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
|
||||
AC_SUBST(GMODULE_CFLAGS)
|
||||
AC_SUBST(GMODULE_LIBS)
|
||||
|
||||
-PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
|
||||
-AC_MSG_CHECKING([for CGRAPH])
|
||||
-cgraph_tmp_LIBADD="$LIBADD"
|
||||
-cgraph_tmp_CFLAGS="$CFLAGS"
|
||||
-LIBADD="$LIBADD $LIBGVC_LIBS"
|
||||
-CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
|
||||
-AC_RUN_IFELSE(
|
||||
- [AC_LANG_SOURCE([
|
||||
- #include <gvc.h>
|
||||
-
|
||||
- int main(void) {
|
||||
- #ifdef WITH_CGRAPH
|
||||
- return 0;
|
||||
- #else
|
||||
- return -1;
|
||||
- #endif
|
||||
- }
|
||||
- ])], [
|
||||
- AC_MSG_RESULT([yes])
|
||||
- VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
|
||||
- have_cgraph=yes
|
||||
- ], [
|
||||
- AC_MSG_RESULT([no])
|
||||
- have_cgraph=no
|
||||
- ]
|
||||
-)
|
||||
-LIBADD="$cgraph_tmp_LIBADD"
|
||||
-CFLAGS="$cgraph_tmp_CFLAGS"
|
||||
+AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes)
|
||||
+if test x$enable_valadoc = xyes; then
|
||||
+ PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
|
||||
+ AC_MSG_CHECKING([for CGRAPH])
|
||||
+ cgraph_tmp_LIBADD="$LIBADD"
|
||||
+ cgraph_tmp_CFLAGS="$CFLAGS"
|
||||
+ LIBADD="$LIBADD $LIBGVC_LIBS"
|
||||
+ CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
|
||||
+ AC_RUN_IFELSE(
|
||||
+ [AC_LANG_SOURCE([
|
||||
+ #include <gvc.h>
|
||||
+ int main(void) {
|
||||
+ #ifdef WITH_CGRAPH
|
||||
+ return 0;
|
||||
+ #else
|
||||
+ return -1;
|
||||
+ #endif
|
||||
+ }
|
||||
+ ])], [
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+ VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
|
||||
+ have_cgraph=yes
|
||||
+ ], [
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ have_cgraph=no
|
||||
+ ]
|
||||
+ )
|
||||
+ LIBADD="$cgraph_tmp_LIBADD"
|
||||
+ CFLAGS="$cgraph_tmp_CFLAGS"
|
||||
+fi
|
||||
AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
|
||||
+AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes)
|
||||
|
||||
AC_PATH_PROG([XSLTPROC], [xsltproc], :)
|
||||
AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != :)
|
||||
diff --git a/doc/Makefile.am b/doc/Makefile.am
|
||||
index 758ad733a..b79f229c4 100644
|
||||
--- a/doc/Makefile.am
|
||||
+++ b/doc/Makefile.am
|
||||
@@ -6,11 +6,16 @@ SUBDIRS = \
|
||||
|
||||
dist_man_MANS = \
|
||||
valac.1 \
|
||||
- valadoc.1 \
|
||||
vala-gen-introspect.1 \
|
||||
vapigen.1 \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_VALADOC
|
||||
+dist_man_MANS += \
|
||||
+ valadoc.1 \
|
||||
+ $(NULL)
|
||||
+endif
|
||||
+
|
||||
EXTRA_DIST = \
|
||||
valac.h2m \
|
||||
valadoc.h2m \
|
||||
@@ -19,7 +24,11 @@ EXTRA_DIST = \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_HELP2MAN
|
||||
+if ENABLE_VALADOC
|
||||
manpages: valac.1 valadoc.1 vala-gen-introspect.1 vapigen.1
|
||||
+else
|
||||
+manpages: valac.1 vala-gen-introspect.1 vapigen.1
|
||||
+endif
|
||||
@rm $^
|
||||
$(MAKE) $(AM_MAKEFLAGS) $^
|
||||
|
||||
@@ -28,11 +37,13 @@ valac.1:
|
||||
--include $(srcdir)/valac.h2m \
|
||||
--libtool --no-info \
|
||||
--output=$@
|
||||
+if ENABLE_VALADOC
|
||||
valadoc.1:
|
||||
$(HELP2MAN) $(top_builddir)/valadoc/valadoc \
|
||||
--include $(srcdir)/valadoc.h2m \
|
||||
--libtool --no-info \
|
||||
--output=$@
|
||||
+endif
|
||||
vala-gen-introspect.1:
|
||||
$(HELP2MAN) $(top_builddir)/gobject-introspection/gen-introspect \
|
||||
--include $(srcdir)/vala-gen-introspect.h2m \
|
||||
@@ -49,12 +60,15 @@ endif
|
||||
if ENABLE_UNVERSIONED
|
||||
install-data-hook:
|
||||
cd $(DESTDIR)$(man1dir) && $(LN_S) -f valac@PACKAGE_SUFFIX@.1 valac.1
|
||||
+if ENABLE_VALADOC
|
||||
cd $(DESTDIR)$(man1dir) && $(LN_S) -f valadoc@PACKAGE_SUFFIX@.1 valadoc.1
|
||||
+endif
|
||||
cd $(DESTDIR)$(man1dir) && $(LN_S) -f vala-gen-introspect@PACKAGE_SUFFIX@.1 vala-gen-introspect.1
|
||||
cd $(DESTDIR)$(man1dir) && $(LN_S) -f vapigen@PACKAGE_SUFFIX@.1 vapigen.1
|
||||
endif
|
||||
|
||||
|
||||
+if ENABLE_VALADOC
|
||||
COMMON_VALADOCFLAGS = \
|
||||
--force \
|
||||
--verbose \
|
||||
@@ -130,6 +144,7 @@ internal-apis/valadoc: $(valadoc_VALASOURCES) internal-apis/codegen
|
||||
@touch $@
|
||||
|
||||
internal-api-docs: internal-apis/gee internal-apis/vala internal-apis/ccode internal-apis/codegen internal-apis/valadoc
|
||||
+endif
|
||||
|
||||
clean-local:
|
||||
rm -rf $(builddir)/internal-apis
|
||||
--
|
||||
2.20.1
|
||||
|
@ -0,0 +1,212 @@
|
||||
From 3dc5768c045c400ff522b8a510b789001aa93df4 Mon Sep 17 00:00:00 2001
|
||||
From: Gilles Dartiguelongue <eva@gentoo.org>
|
||||
Date: Fri, 4 Jan 2019 11:31:14 +0100
|
||||
Subject: [PATCH 2/2] Make valadoc doclets & data parallel installable
|
||||
|
||||
---
|
||||
libvaladoc/Makefile.am | 12 ++++++++++--
|
||||
valadoc/Makefile.am | 7 ++++++-
|
||||
valadoc/doclets/devhelp/Makefile.am | 11 ++++++++---
|
||||
valadoc/doclets/gtkdoc/Makefile.am | 11 ++++++++---
|
||||
valadoc/doclets/html/Makefile.am | 11 ++++++++---
|
||||
valadoc/icons/Makefile.am | 4 ++++
|
||||
valadoc/tests/Makefile.am | 7 ++++++-
|
||||
7 files changed, 50 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
|
||||
index f3f790e76..86875631b 100644
|
||||
--- a/libvaladoc/Makefile.am
|
||||
+++ b/libvaladoc/Makefile.am
|
||||
@@ -3,8 +3,6 @@ include $(top_srcdir)/Makefile.common
|
||||
NULL =
|
||||
|
||||
AM_CFLAGS = \
|
||||
- -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \
|
||||
- -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" \
|
||||
-DPACKAGE_VERSION=\"$(VERSION)\" \
|
||||
$(COVERAGE_CFLAGS) \
|
||||
$(LIBGVC_CFLAGS) \
|
||||
@@ -16,6 +14,16 @@ AM_CFLAGS = \
|
||||
-I$(top_srcdir)/codegen \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_UNVERSIONED
|
||||
+AM_CFLAGS += \
|
||||
+ -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \
|
||||
+ -DPACKAGE_DATADIR=\"$(libdir)/valadoc\"
|
||||
+else
|
||||
+AM_CFLAGS += \
|
||||
+ -DPACKAGE_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\" \
|
||||
+ -DPACKAGE_DATADIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\"
|
||||
+endif
|
||||
+
|
||||
AM_VALAFLAGS = \
|
||||
$(NULL)
|
||||
|
||||
diff --git a/valadoc/Makefile.am b/valadoc/Makefile.am
|
||||
index 33f3a9375..2f3dec848 100644
|
||||
--- a/valadoc/Makefile.am
|
||||
+++ b/valadoc/Makefile.am
|
||||
@@ -9,7 +9,6 @@ SUBDIRS = \
|
||||
$(NULL)
|
||||
|
||||
AM_CFLAGS = \
|
||||
- -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" \
|
||||
-DPACKAGE_VERSION=\"$(VERSION)\" \
|
||||
-I$(top_srcdir)/libvaladoc/ \
|
||||
-I$(top_srcdir)/gee \
|
||||
@@ -22,6 +21,12 @@ AM_CFLAGS = \
|
||||
$(LIBGVC_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_UNVERSIONED
|
||||
+AM_CFLAGS += -DPACKAGE_DATADIR=\"$(libdir)/valadoc\"
|
||||
+else
|
||||
+AM_CFLAGS += -DPACKAGE_DATADIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\"
|
||||
+endif
|
||||
+
|
||||
BUILT_SOURCES = valadoc.vala.stamp
|
||||
|
||||
bin_PROGRAMS = valadoc
|
||||
diff --git a/valadoc/doclets/devhelp/Makefile.am b/valadoc/doclets/devhelp/Makefile.am
|
||||
index 5783c0b5a..afbb8f7f9 100644
|
||||
--- a/valadoc/doclets/devhelp/Makefile.am
|
||||
+++ b/valadoc/doclets/devhelp/Makefile.am
|
||||
@@ -3,7 +3,6 @@ include $(top_srcdir)/Makefile.common
|
||||
NULL =
|
||||
|
||||
AM_CFLAGS = \
|
||||
- -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \
|
||||
-I$(top_srcdir)/gee/ \
|
||||
-I$(top_srcdir)/vala/ \
|
||||
-I$(top_srcdir)/libvaladoc/ \
|
||||
@@ -12,12 +11,18 @@ AM_CFLAGS = \
|
||||
$(LIBGVC_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_UNVERSIONED
|
||||
+AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\"
|
||||
+docletdir = $(libdir)/valadoc/doclets/devhelp
|
||||
+else
|
||||
+AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\"
|
||||
+docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/devhelp
|
||||
+endif
|
||||
+
|
||||
BUILT_SOURCES = libdoclet.vala.stamp
|
||||
|
||||
doclet_LTLIBRARIES = libdoclet.la
|
||||
|
||||
-docletdir = $(libdir)/valadoc/doclets/devhelp
|
||||
-
|
||||
libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined
|
||||
|
||||
libdoclet_la_VALASOURCES = \
|
||||
diff --git a/valadoc/doclets/gtkdoc/Makefile.am b/valadoc/doclets/gtkdoc/Makefile.am
|
||||
index 763e46932..f689018ce 100644
|
||||
--- a/valadoc/doclets/gtkdoc/Makefile.am
|
||||
+++ b/valadoc/doclets/gtkdoc/Makefile.am
|
||||
@@ -3,7 +3,6 @@ include $(top_srcdir)/Makefile.common
|
||||
NULL =
|
||||
|
||||
AM_CFLAGS = \
|
||||
- -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \
|
||||
-I$(top_srcdir)/gee/ \
|
||||
-I$(top_srcdir)/vala/ \
|
||||
-I$(top_srcdir)/libvaladoc/ \
|
||||
@@ -12,12 +11,18 @@ AM_CFLAGS = \
|
||||
$(LIBGVC_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_UNVERSIONED
|
||||
+AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\"
|
||||
+docletdir = $(libdir)/valadoc/doclets/gtkdoc
|
||||
+else
|
||||
+AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\"
|
||||
+docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/gtkdoc
|
||||
+endif
|
||||
+
|
||||
BUILT_SOURCES = libdoclet.vala.stamp
|
||||
|
||||
doclet_LTLIBRARIES = libdoclet.la
|
||||
|
||||
-docletdir = $(libdir)/valadoc/doclets/gtkdoc
|
||||
-
|
||||
libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined
|
||||
|
||||
libdoclet_la_VALASOURCES = \
|
||||
diff --git a/valadoc/doclets/html/Makefile.am b/valadoc/doclets/html/Makefile.am
|
||||
index 885fbfbab..855184020 100644
|
||||
--- a/valadoc/doclets/html/Makefile.am
|
||||
+++ b/valadoc/doclets/html/Makefile.am
|
||||
@@ -3,7 +3,6 @@ include $(top_srcdir)/Makefile.common
|
||||
NULL =
|
||||
|
||||
AM_CFLAGS = \
|
||||
- -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \
|
||||
-I$(top_srcdir)/gee/ \
|
||||
-I$(top_srcdir)/vala/ \
|
||||
-I$(top_srcdir)/libvaladoc/ \
|
||||
@@ -12,12 +11,18 @@ AM_CFLAGS = \
|
||||
$(LIBGVC_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_UNVERSIONED
|
||||
+AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\"
|
||||
+docletdir = $(libdir)/valadoc/doclets/html
|
||||
+else
|
||||
+AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\"
|
||||
+docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/html
|
||||
+endif
|
||||
+
|
||||
BUILT_SOURCES = libdoclet.vala.stamp
|
||||
|
||||
doclet_LTLIBRARIES = libdoclet.la
|
||||
|
||||
-docletdir = $(libdir)/valadoc/doclets/html
|
||||
-
|
||||
libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined
|
||||
|
||||
libdoclet_la_VALASOURCES = \
|
||||
diff --git a/valadoc/icons/Makefile.am b/valadoc/icons/Makefile.am
|
||||
index 454bdba7c..668956f3b 100644
|
||||
--- a/valadoc/icons/Makefile.am
|
||||
+++ b/valadoc/icons/Makefile.am
|
||||
@@ -1,6 +1,10 @@
|
||||
NULL =
|
||||
|
||||
+if ENABLE_UNVERSIONED
|
||||
iconsdir = $(datadir)/valadoc/icons
|
||||
+else
|
||||
+iconsdir = $(datadir)/valadoc@PACKAGE_SUFFIX@/icons
|
||||
+endif
|
||||
|
||||
dist_icons_DATA = \
|
||||
abstractclass.png \
|
||||
diff --git a/valadoc/tests/Makefile.am b/valadoc/tests/Makefile.am
|
||||
index e40cc1ca3..2bca58128 100644
|
||||
--- a/valadoc/tests/Makefile.am
|
||||
+++ b/valadoc/tests/Makefile.am
|
||||
@@ -22,7 +22,6 @@ check-TESTS: $(TESTS)
|
||||
G_DEBUG=fatal_warnings $(builddir)/driver
|
||||
|
||||
AM_CFLAGS = \
|
||||
- -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" \
|
||||
-DPACKAGE_VERSION=\"$(VERSION)\" \
|
||||
-DTOP_SRC_DIR=\"$(abs_top_srcdir)\" \
|
||||
-I$(top_srcdir)/libvaladoc/ \
|
||||
@@ -36,6 +35,12 @@ AM_CFLAGS = \
|
||||
$(LIBGVC_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_UNVERSIONED
|
||||
+AM_CFLAGS += -DPACKAGE_DATADIR=\"$(libdir)/valadoc\"
|
||||
+else
|
||||
+AM_CFLAGS += -DPACKAGE_DATADIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\"
|
||||
+endif
|
||||
+
|
||||
BUILT_SOURCES = driver.vala.stamp
|
||||
|
||||
check_PROGRAMS = driver
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,8 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="valadoc">Installs valadoc documentation generation tool</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME2_EAUTORECONF="yes"
|
||||
|
||||
inherit gnome2
|
||||
|
||||
DESCRIPTION="Compiler for the GObject type system"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0.40"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
|
||||
IUSE="test valadoc"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.40.0:2
|
||||
>=dev-libs/vala-common-${PV}
|
||||
valadoc? ( >=media-gfx/graphviz-2.16 )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
!${CATEGORY}/${PN}:0
|
||||
dev-libs/libxslt
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
test? (
|
||||
dev-libs/dbus-glib
|
||||
>=dev-libs/glib-2.26:2
|
||||
dev-libs/gobject-introspection )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# From master
|
||||
"${FILESDIR}"/0.40-Allow-disabling-the-build-of-valadoc.patch
|
||||
# Add missing bits to make valadoc parallel installable
|
||||
"${FILESDIR}"/0.40-valadoc-doclets-data-parallel-installable.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# https://bugs.gentoo.org/483134
|
||||
export GIT_CEILING_DIRECTORIES="${WORKDIR}"
|
||||
|
||||
# weasyprint enables generation of PDF from HTML
|
||||
gnome2_src_configure \
|
||||
--disable-unversioned \
|
||||
$(use_enable valadoc) \
|
||||
VALAC=: \
|
||||
WEASYPRINT=:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${D}" -name "*.la" -delete || die
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME2_EAUTORECONF="yes"
|
||||
|
||||
inherit gnome2
|
||||
|
||||
DESCRIPTION="Compiler for the GObject type system"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0.42"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
|
||||
IUSE="test valadoc"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.40.0:2
|
||||
>=dev-libs/vala-common-${PV}
|
||||
valadoc? ( >=media-gfx/graphviz-2.16 )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
!${CATEGORY}/${PN}:0
|
||||
dev-libs/libxslt
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
test? (
|
||||
dev-libs/dbus-glib
|
||||
>=dev-libs/glib-2.26:2
|
||||
dev-libs/gobject-introspection )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# From master
|
||||
"${FILESDIR}"/0.40-Allow-disabling-the-build-of-valadoc.patch
|
||||
# Add missing bits to make valadoc parallel installable
|
||||
"${FILESDIR}"/0.40-valadoc-doclets-data-parallel-installable.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# https://bugs.gentoo.org/483134
|
||||
export GIT_CEILING_DIRECTORIES="${WORKDIR}"
|
||||
|
||||
# weasyprint enables generation of PDF from HTML
|
||||
gnome2_src_configure \
|
||||
--disable-unversioned \
|
||||
$(use_enable valadoc) \
|
||||
VALAC=: \
|
||||
WEASYPRINT=:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${D}" -name "*.la" -delete || die
|
||||
}
|
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST json-c-0.12.tar.gz 501419 BLAKE2B 24f035792ff1ba5c39e55bca6ee4ba2509ab71d0374c70b520791f38e1ec4ff2245a282f234fde9f4a02cd9eaaaaa998ce307563a20702c04ee972fdf51f2539 SHA512 c959804362386f6b77e9d04b5fedf6d6aff1fcd0ab50250edb25f759b510b402e7ad4b33d1cbadc3337b63a3145d19f310812a9ee351748348304b384dc2dc35
|
||||
DIST json-c-0.13.1.tar.gz 639425 BLAKE2B 1da310309f9ce03306a9fd4a161670e460cf0b2222348df7c006902390f74a4cf100aab1ce6ac8a361a278dd917c114a278de5b3445817f3a40ae287478add46 SHA512 e984db2a42b9c95b52c798b2e8dd1b79951a8dcba27370af30c43b9549fbb00008dbcf052a535c528209aaee38e6d1f760168b706905ae72f3e704ed20f8a1a1
|
||||
EBUILD json-c-0.12.ebuild 930 BLAKE2B dbe72e808826e7cdb24f298d9f258d5cee1dcb03716a8fb5a086fd13b53858961550f4310e4fddc626ed52825d9f7cf7d24751cffe54dadb52bacf0f232913e2 SHA512 1d1c65c6e297a9035b143969006f4c4d67cef6ec1d8c80edcd0a344c259da33ad24464c7a7485a30f182a7d41a14533f27936b50c37efd1b9802e8a5a143d72d
|
||||
EBUILD json-c-0.13.1-r1.ebuild 986 BLAKE2B dde8b0fd57d178fa8e8e1a63662f09d30461117eb51ad79b9c49b8f748c5de7c62ee39584926fe94f4f576712e58fef0425c9974a7f2da174e48af4b7a894cca SHA512 96940b744570dbc17cd4fc11ba2d37b8abafc7b74dccba8273740ce27113dd1f8e229fe2a5b1ebe7cd62589d4ddd99e14ebb3ea83d5a403cdddb1f94bd24f8a1
|
||||
MISC metadata.xml 605 BLAKE2B 2290e9eb5ca3ad7c82de9d23062cd6b4a5cf3bc3f3b56900e72be88a96b04f7f6ca4b904b8eec476da9ce450f335312b9774f022b8c16fb88a710ad1de57f031 SHA512 485dcf4f7c9e63ee399862f09448965d675ae6580eb74c13c430547a8eab78c3c9890f3a06daf76d028e2bb194daa407f6abb9911648e4827eaf92fd3714154c
|
||||
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
AUTOTOOLS_AUTORECONF=true
|
||||
|
||||
inherit autotools-multilib
|
||||
|
||||
DESCRIPTION="A JSON implementation in C"
|
||||
HOMEPAGE="https://github.com/json-c/json-c/wiki"
|
||||
SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/2"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="doc static-libs"
|
||||
|
||||
RDEPEND=""
|
||||
|
||||
# tests break otherwise
|
||||
AUTOTOOLS_IN_SOURCE_BUILD=1
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s:-Werror::" Makefile.am.inc || die
|
||||
autotools-multilib_src_prepare
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export USE_VALGRIND=0 VERBOSE=1
|
||||
autotools-multilib_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use doc && HTML_DOCS=( "${S}"/doc/html )
|
||||
autotools-multilib_src_install
|
||||
|
||||
# add symlink for projects not using pkgconfig
|
||||
dosym ../json-c /usr/include/json-c/json
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST redland-1.0.17.tar.gz 1621566 BLAKE2B ec94cd456a771b97ab16fab63cf6beffe1ce3371c06213faa49162fe452b31a21dffe6c2cc631c10b137f44dc71c2c40c1d7fac0552bbe0169728427b1f47a36 SHA512 363323ffc9e75d4f0e3a3b40952f6241fd0d8b9f46bfd4dd86cf0a5162de35257a8b70ce408a6083c03ba7c388982231a3774e5e9024b262ebb02968f778b850
|
||||
EBUILD redland-1.0.17-r1.ebuild 2464 BLAKE2B bed3fcba31401116c045a440fb1aab2196c25ad3070eaf0a11683087fea07d0e6998c612c034c6bfefeff5adbc12b87c69ef207585fbff9f2880aaf775ddf249 SHA512 f2975cf0c971b53381f5a7fbd54292812a2bdc8e96982069ede430de93b174c27f2404b26209aa45ebf6c15d1ee545cf78fa03f241f34a3e8b01b49fd25e9258
|
||||
EBUILD redland-1.0.17-r2.ebuild 2508 BLAKE2B 0a9f5459c00966eb6f5bba76c181076b0f99fb0d75c3848c8361cdd093577e4424f5285ac0ef176c1919302c6b0a844779c2b7819bbe15e2397d97866d059625 SHA512 b055d44068344f1d37cab1bc16a736d315556c124ce87d87b5bbe494780fbf4f0764ec9a234d160d178b88b673a12f2bde9c4653df41aa3138f2d933969725d6
|
||||
MISC metadata.xml 249 BLAKE2B f7f8f071ecba933f3d39b0b60983281d59299b92de9375a60ab4109d7202800cb790bce0c426227f04b3e2624b1adb20876145741355abc6a4938b8b9698d144 SHA512 9a100fb26586365eda99724330a03a512f4d0be18d39c3a195ba02c2fc841edeee99d22512acf5a058a3b978d3a74f4d963a5aff9aa343b6cb4086cdfefe6343
|
||||
|
@ -0,0 +1,88 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit db-use libtool
|
||||
|
||||
DESCRIPTION="High-level interface for the Resource Description Framework"
|
||||
HOMEPAGE="http://librdf.org/"
|
||||
SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="berkdb iodbc mysql odbc postgres sqlite static-libs"
|
||||
|
||||
RDEPEND="dev-libs/libltdl:0
|
||||
mysql? ( dev-db/mysql-connector-c:0= )
|
||||
sqlite? ( =dev-db/sqlite-3* )
|
||||
berkdb? ( sys-libs/db )
|
||||
>=media-libs/raptor-2.0.14
|
||||
>=dev-libs/rasqal-0.9.32
|
||||
postgres? ( dev-db/postgresql )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
odbc? ( dev-db/unixODBC )"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
MAKEOPTS="${MAKEOPTS} -j1" #500574, required for both src_compile() and src_install()
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
elibtoolize # NOTE: this is for fbsd .so version
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=( --without-virtuoso )
|
||||
if use iodbc; then
|
||||
myconf=( --with-virtuoso --with-iodbc --without-unixodbc )
|
||||
elif use odbc; then
|
||||
myconf=( --with-virtuoso --with-unixodbc --without-iodbc )
|
||||
fi
|
||||
|
||||
if use berkdb; then
|
||||
myconf+=(
|
||||
--with-bdb-include="$(db_includedir)"
|
||||
--with-bdb-lib="${EPREFIX}"/usr/$(get_libdir)
|
||||
--with-bdb-dbname="$(db_libname)"
|
||||
)
|
||||
fi
|
||||
|
||||
# FIXME: upstream doesn't test with --with-threads and testsuite fails
|
||||
econf \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_with berkdb bdb) \
|
||||
$(use_with mysql) \
|
||||
$(use_with sqlite) \
|
||||
$(use_with postgres postgresql) \
|
||||
--without-threads \
|
||||
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if ! use berkdb; then
|
||||
export REDLAND_TEST_CLONING_STORAGE_TYPE=hashes
|
||||
export REDLAND_TEST_CLONING_STORAGE_NAME=test
|
||||
export REDLAND_TEST_CLONING_STORAGE_OPTIONS="hash-type='memory',dir='.',write='yes',new='yes',contexts='yes'"
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
docinto html
|
||||
dodoc {FAQS,NEWS,README,RELEASE,TODO}.html
|
||||
find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
|
||||
|
||||
# !!! REMOVE THIS ON VERSION BUMP, see bug 468298 for proper fix !!!
|
||||
if [[ -n ${LDFLAGS} ]]; then
|
||||
sed -i \
|
||||
-e "s:${LDFLAGS} ::g" \
|
||||
"${ED}"/usr/$(get_libdir)/pkgconfig/${PN}.pc || die
|
||||
fi
|
||||
|
||||
# https://bugs.gentoo.org/467768
|
||||
local _rdocdir=/usr/share/doc/${PF}/html/${PN}
|
||||
[[ -d ${ED}/${_rdocdir} ]] && dosym ${_rdocdir} /usr/share/gtk-doc/html/${PN}
|
||||
}
|
@ -1,5 +1,9 @@
|
||||
DIST vala-0.36.15.tar.xz 2880300 BLAKE2B ea83bde6396f3be1c96038d63ae30b18fa070a6f7a06b75569bfed9d7792c898201a1f24d000f5b6415bb890cf975758341a97f22db74da02fcbeb3f283e546f SHA512 1c8f888832b2dd4248737a5a27f00f42d8bab2fe0a0790a7df5c426f4e3e1d0919ed0f6f6fd905be758ed477ba840e18f608e67811389c811ba65710094abe61
|
||||
DIST vala-0.36.17.tar.xz 2898524 BLAKE2B 4a5a373bacd4e4a392350c7819e0498054e38f50dce89658412d7aeb5642892ef9f32a7689ebd45f53c41f064e0b6d2f52fb441be67a1dd48e67311a1e764637 SHA512 93d4fa600cd0ef62b71ed056b837f2c0a42c3aba25b021b2bbd2045428550307727827b250dae546926ea3fe2e33a5ac80c9b24b5100f02550ec584dd5da5e92
|
||||
DIST vala-0.40.13.tar.xz 3394588 BLAKE2B cb3055b859b220f999bc5b4533251a069e9c10690963bc92b087b0ab351f0d78eb8f5992b747cc345d9d2a3dba69c68d130bca20604036c2c62e380442675e8b SHA512 0590224ec5128f6939b66109b6bcf7f764af3ece28f9bce9a5d715f53defbc8746d5d20599039b067848da2f38fdae7a057427be1ea9ef0fe09e0ce45db091d0
|
||||
DIST vala-0.42.5.tar.xz 3350460 BLAKE2B 790c9f9e9e656ce96226f1ac6a0d090033ecf1943d024da0c9ee174bf65f76a14721819c6c2263c5b094f16cf112cc964000000ee42c9a7fdc0f2ad6fc01feb7 SHA512 1862307eab505e500326f84e267648f084926629f6b45b9abb6a90a20a7aa6dd2fc305962b9028c5ca7becb574573cca43fbecd9294b782d9942e71639a32aa9
|
||||
EBUILD vala-common-0.36.15.ebuild 2517 BLAKE2B c39aa1eaadca30724db5ffc17c26a2df6f932b3aec82273c0cf8dff0ea7407ba6673d403f33040d4c8b361385a71be0e2c39c02b119b67b3f93801b2f8be890a SHA512 5acbad84f92b78270ce6dca6474bfdaa5b9df36f23eac4f16f715ceb75933b45783178d9b4a63a546255e0e899090954f6b9fed7d3b31ee33c42584c7658faca
|
||||
EBUILD vala-common-0.36.17.ebuild 2528 BLAKE2B 22a27070320c74579be8eacdbc325a6e58be193d787521c73aee40028c4e02e3f3ce4d8d987b889e1d253fec1109fb7031358f3c6317a11616e788c2f8763d8e SHA512 ebdc12ff8170abfade55b3f5013c1813a23d545a5c0d1d828a5257c7f5cdf7687ce27e4d085a84c977ac171ae32daf383214ab353a2c44befb5d6e1f148a5c20
|
||||
EBUILD vala-common-0.40.13.ebuild 2528 BLAKE2B 8395b76376fc6b562a52b7df938e23363d328746225b800f46872a591e6049f00d0a8909d0eac0405b17c18b50266631523b1b28494721e3adfb834824114d52 SHA512 3720a01307c23ac617508450c627064f22685542cf4fc28979ab3784a2069c832f4f34b1e9c58557a0c1fd160c42141e8007c4d116f98f45c7208e892a8013e4
|
||||
EBUILD vala-common-0.42.5.ebuild 2528 BLAKE2B 8395b76376fc6b562a52b7df938e23363d328746225b800f46872a591e6049f00d0a8909d0eac0405b17c18b50266631523b1b28494721e3adfb834824114d52 SHA512 3720a01307c23ac617508450c627064f22685542cf4fc28979ab3784a2069c832f4f34b1e9c58557a0c1fd160c42141e8007c4d116f98f45c7208e892a8013e4
|
||||
MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
|
||||
|
@ -0,0 +1,76 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME_ORG_MODULE="vala"
|
||||
|
||||
inherit gnome.org
|
||||
|
||||
DESCRIPTION="Build infrastructure for packages that use Vala"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
IUSE=""
|
||||
|
||||
# Previously ${PN} was part of dev-lang/vala
|
||||
RDEPEND="
|
||||
!<dev-lang/vala-0.10.4-r2
|
||||
!<dev-lang/vala-0.12.1-r1:0.12
|
||||
!<dev-lang/vala-0.14.2-r2:0.14
|
||||
!<dev-lang/vala-0.16.1-r2:0.16
|
||||
!<dev-lang/vala-0.17.5:0.18
|
||||
"
|
||||
DEPEND=""
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/aclocal
|
||||
doins vala.m4 vapigen/vapigen.m4
|
||||
insinto /usr/share/vala
|
||||
doins vapigen/Makefile.vapigen
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Hack to prevent alternatives_auto_makesym in previously installed
|
||||
# dev-lang/vala's pkg_postrm from overwriting vala-common's files
|
||||
if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then
|
||||
ebegin "Removing old vala-0.10 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then
|
||||
ebegin "Removing old vala-0.12 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then
|
||||
ebegin "Removing old vala-0.14 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then
|
||||
ebegin "Removing old vala-0.16 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
|
||||
eend $?
|
||||
if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then
|
||||
ebegin "Removing old vala-0.16 makefile template"
|
||||
rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then
|
||||
ebegin "Removing old vala-0.18 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
|
||||
eend $?
|
||||
if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then
|
||||
ebegin "Removing old vala-0.18 makefile template"
|
||||
rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
fi
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME_ORG_MODULE="vala"
|
||||
|
||||
inherit gnome.org
|
||||
|
||||
DESCRIPTION="Build infrastructure for packages that use Vala"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
IUSE=""
|
||||
|
||||
# Previously ${PN} was part of dev-lang/vala
|
||||
RDEPEND="
|
||||
!<dev-lang/vala-0.10.4-r2
|
||||
!<dev-lang/vala-0.12.1-r1:0.12
|
||||
!<dev-lang/vala-0.14.2-r2:0.14
|
||||
!<dev-lang/vala-0.16.1-r2:0.16
|
||||
!<dev-lang/vala-0.17.5:0.18
|
||||
"
|
||||
DEPEND=""
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/aclocal
|
||||
doins vala.m4 vapigen/vapigen.m4
|
||||
insinto /usr/share/vala
|
||||
doins vapigen/Makefile.vapigen
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Hack to prevent alternatives_auto_makesym in previously installed
|
||||
# dev-lang/vala's pkg_postrm from overwriting vala-common's files
|
||||
if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then
|
||||
ebegin "Removing old vala-0.10 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then
|
||||
ebegin "Removing old vala-0.12 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then
|
||||
ebegin "Removing old vala-0.14 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then
|
||||
ebegin "Removing old vala-0.16 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
|
||||
eend $?
|
||||
if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then
|
||||
ebegin "Removing old vala-0.16 makefile template"
|
||||
rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then
|
||||
ebegin "Removing old vala-0.18 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
|
||||
eend $?
|
||||
if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then
|
||||
ebegin "Removing old vala-0.18 makefile template"
|
||||
rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
DIST ocaml-mysql-1.2.1.tar.gz 99250 BLAKE2B 576eb7cc7ccf9e747f207faa100adb7f10a17be2083dbd4f1fb352f8a023425eb7917d7bd4756ddafd663657375324207596e97d959f69c704fb1f5126b7d63d SHA512 bf9b4a1bfcc1a8d356a2d74ea9d8de8dd201973b9dc89c06349e814c2368871f5f6ccc2eca25b33fa5fabf4b6d19a5b4b436a1e055b90468f16f575257121e64
|
||||
DIST ocaml-mysql-1.2.2.tar.gz 99136 BLAKE2B dcc18b51514d7a9bd7bfdf97c3f410aa959cf1b2285bd6d347cd1ebdd51952f687222b16c250d8553f7b2235bff7201978bc8debe22996566412925373c3d9d7 SHA512 2af13de017b73a31c23e0536fd10679eaf5c0692741d19729b08ab58f4d2585f8f7faf0cfac1e3ccc3d3ceffcbd1740f62621ba678c50f545fc3a3a36a17742f
|
||||
EBUILD ocaml-mysql-1.2.1-r1.ebuild 663 BLAKE2B 55d8cee043dee7e5f290abfec1ee1f75f524949f55409190da240e224a1262ba1b4c112d54749c89826e9d880a3239d2edf27032e332cc5ff27f90eec85cd463 SHA512 9c58f3ff92bf81428ee3351675c913e0fc4f4369c622558502664ad16f05fe73d9ae77210ae5ca638558c3bafae67a9254a3be665bd1cfc8f9243e71a456e3cf
|
||||
EBUILD ocaml-mysql-1.2.1.ebuild 670 BLAKE2B 29f9378548b7e97f2f3195458dc2d6513c55b98e5d5f4c000ef4cabcb6d332a3673abed39cd550a9bfe0b5f449fad891b64413ebcc694ed8e9ad59830f976d00 SHA512 fdb0a2a4e5aba6379382541a7bcbbec6266945720b64f2b698eb62e566ba8461de2cc4d8a247629dd7256e7f97a6f1ce2846c8607923aaebed3fecbb1d41692e
|
||||
EBUILD ocaml-mysql-1.2.2.ebuild 676 BLAKE2B e45d2790293307cdce31965748534d0b820dd4e4a48828137ac92eb762082afbe54aaa2ddc7689f34433bad60501f4bdb2b1ca892407bdda0f327a149179d9b7 SHA512 51bd1d5048c591f4040ca00355b4af0c0c4382ff03254f03da0b47fe25bfd8ea189838038af65b124c7e552bbe6ed741f2cb117b8ca0348c58e15d2d33f71e10
|
||||
EBUILD ocaml-mysql-1.2.2-r1.ebuild 667 BLAKE2B 4ab7269e8cc87c13f1a3b5e40f4306c69e0ad4d883d383dc563786fbe7f3da699aa2c1e54704ce31dcf70e5ca4833835b27f9b767233b6f8ab2e26256dee50da SHA512 d6065ddf86f669fe20a856ff22d2fc5eea9b70a61d53f4181ca3e4332fafb992524f16c1dc44ca17e1b2ddf2b984d476e0a1489338db8361b5ca1d43e947ff5a
|
||||
MISC metadata.xml 253 BLAKE2B c787c1044c3f674eb5d2d7a0e830965ad53c7a2c8cdfcd95bece6b0557e35237f62afe28464ebe4c88468cd1fd543627349fd41a0aa760fceed1a7d52386eda2 SHA512 9285e04d22e8e41631e6de00e0ba02842cf0e772cd17a1d7ba3864e50eeea50abb06077ea4f9ac920eab3d520bfe28d389b3d04d5c3529af23a68ca68b6857d4
|
||||
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit findlib
|
||||
|
||||
IUSE="+ocamlopt"
|
||||
|
||||
DESCRIPTION="A package for ocaml that provides access to mysql databases"
|
||||
SRC_URI="http://ygrek.org.ua/p/release/ocaml-mysql/${P}.tar.gz"
|
||||
HOMEPAGE="http://ocaml-mysql.forge.ocamlcore.org/"
|
||||
|
||||
DEPEND=">=dev-lang/ocaml-3.10.2:=[ocamlopt?]
|
||||
sys-libs/zlib
|
||||
dev-db/mysql-connector-c:0="
|
||||
|
||||
RDEPEND="$DEPEND"
|
||||
|
||||
SLOT="0/${PV}"
|
||||
LICENSE="LGPL-2"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
|
||||
src_compile()
|
||||
{
|
||||
emake all
|
||||
if use ocamlopt; then
|
||||
emake opt
|
||||
fi
|
||||
}
|
||||
|
||||
src_install()
|
||||
{
|
||||
findlib_src_preinst
|
||||
emake install
|
||||
|
||||
dodoc CHANGES README VERSION
|
||||
}
|
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
DIST sip-4.19.14.dev1812231555.tar.gz 1020224 BLAKE2B e3df5a8b7829278987c5b368b8b6c28c04fc0b3bb3847451e48411ef9ba5cda932007613ad31f34381446ea02d62281b27ae4951babca5ec8b75f065aa296365 SHA512 decf2f7baacede27c42d359eb875a895c9a92b36a8e8a29f4666b3f98f570d821e80dbb32fd946ce230f726fafc4000af9b167df8cfd188bcd7f85fbc71bd4b1
|
||||
EBUILD PyQt5-sip-4.19.14_pre1812231555.ebuild 2071 BLAKE2B 0d47c6c9403e8514aa96cebcf929a3118a0f14bca0b698ef9ccf8351d0b42009576c3bb75803bda159b14c512a8f4636665958dd11760b6def2961a6d257558b SHA512 100ad00ea6a43dac271400488baa3d8e8735e9ab4ea9789c0aa6efaa5ac2f00ea4498563285faa33ca67485c0e4e93e8a86640cf3248dff7bcb8b0ebaf7a87c4
|
||||
MISC metadata.xml 593 BLAKE2B 3c4b5ccd30162027c913070a54eb9b836a7add04532e1c5b03dd83f0e4e58da0d2e19aee90f1fa4a97db0008a06575a5b0fe33986e1b0c9d473e4adff056afdd SHA512 91f8918bffb715bfb1def9aa6717a8c4149b36e6a1f79e7e3d4c56e0edc51a6585dad3a93698e956f1ff0e659c1f975c3f23be5a498479fc5052369840ac83d5
|
||||
DIST sip-4.19.14.tar.gz 1049688 BLAKE2B 8e68910f533d0f58bef1f20ec58579ce0166efaee2caef1c64d4e9878b0887040d9284a9fa5ee48d7a4f0949866d0b988b0d962303f0ace03a4ad48bd08eec5d SHA512 afde261331f38eac863d8cea0e343649f460f0b9a603d7fe91f14583904ea4b488bbd88d20fad5c985c43c6c1683fffee38676d94831ac8f2de40d9ed4d0423e
|
||||
EBUILD PyQt5-sip-4.19.14.ebuild 2099 BLAKE2B a578672bafe7a45d1650a64e3e0bc39faf237b0fd8fbac8122c4fd5caf117825199ba5c477ad727bfaff0d394e064b34d42d0d8b4474c21b99016ec7361f8f23 SHA512 c94768f4cdd1e2a07810f3e8a221c8d8b224b736f95813f4ec9c1630446d5bf7001ae16812e5469bb32e6420f054c50e948d7d27bd435218f1096cf73502c32a
|
||||
MISC metadata.xml 654 BLAKE2B f52693b58abff10e80d2fe004ccca0b97aa157e07c27005c72fe79bc9ba3894c33042c9be2d10f8fc15aa8f0451041b60255eaad96ec78dedc422e7ca2f58564 SHA512 4ad600dc1af2a9f6494350a028909e51deea7b18bf6a50a6f1860163310bc0534cd530ac5d6dea043e7b7e532fd2219069e12b33271cedc00c7a9dda9161711f
|
||||
|
@ -1,3 +1,5 @@
|
||||
DIST bashate-0.3.1.tar.gz 16016 BLAKE2B 72bcb6ef2c8dda48b40351f37971473b9c2137f3a727a355f1742f20355aee8a3898d4aaf61e0e6538b22adbe3ebd34bb30d67d0fb6b5f3535c9b46c1544ce5d SHA512 dfa3e8f98879169cef445cc9a788b4ed051630330e2270c721e472f080899d6742cd3deb571049ba6b943ada0fc77a70f5a7e4742a54d1ca6d5f075a92a00ffb
|
||||
DIST bashate-0.6.0.tar.gz 30980 BLAKE2B 5b210edaa44a0652a03f30a641a072dba1482e1ca3b42c6b7140a52349ddb271f0137373a4d2f364032c22c176d6caf14be2635038df8a4e86585773d17a1f97 SHA512 bb64d8de0143bf2662497b1571ce654f4ceeb7d1dea3f625705b609ab70ed3b4bca6266c4eba7c2e7d99a1520fb9566a4a4daefa34c9c16538537b446c1da255
|
||||
EBUILD bashate-0.3.1.ebuild 696 BLAKE2B 8526f14e3d10b51de9c2951567af7ffcf5c34dce7275597285058f10fef7be965c79178c1e25becd3ce85f91beab3420093c5c5fdf5d22c2e98827092f7c5c00 SHA512 c7273658b675a68e334b2b1de30afc7947d334c1fecf31cf90f1f0be7aeeb5705158d4aa114d2541e89ee03f7359738be5960316f73099cf69e42711064dd29a
|
||||
EBUILD bashate-0.6.0.ebuild 707 BLAKE2B 885eed09cadde21a7400e5c81b490db66d3e094c3eff90b4a6b40549ec1bac8773e84b58260e396086d5d5aff111234ba47ef225fd365abf2935671571fc8a03 SHA512 def0e0dd2aa1df16a439c355e7d82aba1949b6325b91de4b22d5a71d25ecb92eb1291bb03ee58db09ee2254c18643596c56188d3193bb6d3dbfbe45aa75a9c3c
|
||||
MISC metadata.xml 517 BLAKE2B 74c61fabea9ee345173582be1486426377f97187d976b992380d6670fb024c00ccfa818e6bac19e1e637c371280ca8d5535c8e84bff52ae874eeae939728a400 SHA512 eca862a58ed6a1571e626ddc24e73fb8d295f0a6e5fa36246d261688d9de81ff7780018df8defd159094ed8badf8449982dcf07c2415067080f38ba516da481f
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
|
||||
DISTUTILS_IN_SOURCE_BUILD=TRUE
|
||||
|
||||
# time
|
||||
RESTRICT="test"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A pep8 equivalent for bash scripts"
|
||||
HOMEPAGE="https://pypi.org/project/bashate/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
DEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
>=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
|
||||
!~dev-python/pbr-2.1.0
|
||||
"
|
||||
RDEPEND="
|
||||
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
|
||||
!~dev-pythn/Babel-2.4.0
|
||||
"
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Fork of MySQL-python"
|
||||
HOMEPAGE="https://pypi.org/project/mysqlclient/ https://github.com/PyMySQL/mysqlclient-python"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="GPL-2"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc"
|
||||
|
||||
RDEPEND="
|
||||
!dev-python/mysql-python
|
||||
dev-db/mysql-connector-c:0="
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
|
||||
|
||||
DOCS=( README.md doc/{FAQ,MySQLdb}.rst )
|
||||
|
||||
python_compile_all() {
|
||||
use doc && sphinx-build -b html doc doc/_build/
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && local HTML_DOCS=( doc/_build/. )
|
||||
distutils-r1_python_install_all
|
||||
}
|
@ -1,9 +1,8 @@
|
||||
DIST pysnmp-4.4.4.tar.gz 436318 BLAKE2B 6e6616a79fc15d457b8da2e2260c65d9d8ef29888c033d80f2f47c8de035d0cff73dc4be1eeced8ef36dac1301b7da0d845837b780815792f545b6ad18d5496e SHA512 960ac73b7356bb236d3853432c094d3aa86a343f5e211065689e6c784293748ec6f2c1c17bf9d96b4cbe2d9d476ebbacbaff4bed7d86370e5ef61e6f03ba8c0e
|
||||
DIST pysnmp-4.4.5.tar.gz 438424 BLAKE2B db989eb9faa0d548c7e58a5e9b7127824f2798c116d27b8885b4920f5e0acf9068ea5ad88e13e8e913e24c0d21d414026f6d733cf680b41e59370c960d856197 SHA512 3164e93a8623512d903c86eebdb6f9fa5ffee29309747df4a836e257e87dc5480cf706ab527e1a8966e80c0626961f6f1b68b60cf07df2ddece305706f5445f2
|
||||
DIST pysnmp-4.4.6.tar.gz 434508 BLAKE2B 0613cd115d9b52b12a9e4ca45c0dc6b51a6e8506f5fe4d93641dd53ce61e88f4ed89783692c4220008c345179808bb4a79d4aaf1d828e072d822a0d131204fa1 SHA512 0b53fcb7d266a861b3f8dca228371a7430b5513506b4b7083e112916730cc25311cdef549373271c2da62441a603d3f33e6a1e9417dec3aac074db25fb2be7c8
|
||||
DIST pysnmp-4.4.8.tar.gz 435494 BLAKE2B 801d52660af23f9db9fd6e4fbd7b93f06db65d1c4987d44239da0927a116559ba502f295a5ba345529f15a41971a0f407b60266ef0cbcb328476e7e58e3646e0 SHA512 a4b0954a65818e49ce76455ef48c7c363bbc69031b699b303e8e301e7aa5db10ac5042557cc1727e885b200672ba35aef995baadb989cd95aa90e528c7e97e04
|
||||
DIST pysnmp-4.4.9.tar.gz 436017 BLAKE2B 4fa4d1cab4e783542164d8bc5313e2b900cad9fec42e3bd6bc37239514d279d849ee857b3c9c01021750773e02ce951da600f5fbf8676efe31c3bdf580b99f12 SHA512 0832abb4134b77d43f6c750ce6c797c976b5fb99ef02602e7aa6034e4524e229eb33ac5d5b086acfb5740893120eb5b17df648dda48decc5d038476270e5fe1e
|
||||
EBUILD pysnmp-4.4.4.ebuild 1247 BLAKE2B 4335ac075030075f0651ad238ed7561ff1048e37d43605fb891fcc7e3252a3dba9fff254299e1c86063539fa84c6dcdafc46ea4c3cec59ed4e8bfc03617c42f9 SHA512 4f7b1edb9039b4d3c25fdb590e92658b58bfb3d13147208897fb621bd80f0f2d185aa0d5b126da637fa8046a3a480f3232dec5da6b79addfbcf39d9d55b35114
|
||||
EBUILD pysnmp-4.4.5.ebuild 1250 BLAKE2B d29142f5288f773e13b5df43f9442799eebe134d1160ba1e90ef614bbcf9d30af8b3c384bf20fc49b1a0de6493fb56eeff9be9c9bdc55fe1fa8934cd213bff29 SHA512 29af54adf7e4769075772dd06ee3919519aff1afe28ec3c5e8102f01508afc2b3dbe28d78981d867fa1c3256a1e3b9fd1af5ed09bf8edca382cfd394183501b3
|
||||
EBUILD pysnmp-4.4.6.ebuild 1250 BLAKE2B d29142f5288f773e13b5df43f9442799eebe134d1160ba1e90ef614bbcf9d30af8b3c384bf20fc49b1a0de6493fb56eeff9be9c9bdc55fe1fa8934cd213bff29 SHA512 29af54adf7e4769075772dd06ee3919519aff1afe28ec3c5e8102f01508afc2b3dbe28d78981d867fa1c3256a1e3b9fd1af5ed09bf8edca382cfd394183501b3
|
||||
EBUILD pysnmp-4.4.8.ebuild 1247 BLAKE2B b5428d3ca11e85c91ac206c27430fb5e905e928b69a70479468dcb88f1832b5f5b2c204d4e6b6fcf2f0e5ae48f8dabc230bf3ca124ce34a7f579003d0c0fcbbf SHA512 55864eaa1ca2a56d4443c6f3e3aa62eb79f29b92336a5acf5211dd82affde2f76ff96e2f73601852dbb0b886ee00cd4ef50e7f547cca5fb2d54c8ecdac4490d4
|
||||
EBUILD pysnmp-4.4.9.ebuild 1247 BLAKE2B b5428d3ca11e85c91ac206c27430fb5e905e928b69a70479468dcb88f1832b5f5b2c204d4e6b6fcf2f0e5ae48f8dabc230bf3ca124ce34a7f579003d0c0fcbbf SHA512 55864eaa1ca2a56d4443c6f3e3aa62eb79f29b92336a5acf5211dd82affde2f76ff96e2f73601852dbb0b886ee00cd4ef50e7f547cca5fb2d54c8ecdac4490d4
|
||||
EBUILD pysnmp-999999.ebuild 1252 BLAKE2B ba19483a048226e1d1600b53f176bae5540d363188755a755b73b1f9cd2a569588a4510a7e738f457b29cad77a7763b62fc3c9b3b5d006c25626261030252d47 SHA512 6b0eaef6b4d41fac681f1aad57558e3f4eb043d1f5bfd276983f49494760431d710aa7fb8b86b16a56d78c9bcf5b9de889213f568912dd4aefd480aadf67506f
|
||||
MISC metadata.xml 1567 BLAKE2B bb80fc30033d338354e1b5539aa5afbb23df2ef574a55709f62ef399a67fa7d659fbbad4d3a10120d0a7cf2247e6637127c115deb3741421a73f3222b769d632 SHA512 3ec28aa833cf162493be384e095a4aa440dc9fb19941b5c503d81d1bff83428d5aa8af80dfa24c88055c573c09529c12e3fd4962dba3d171ea8d2e87a7bb7822
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
|
||||
inherit distutils-r1
|
||||
|
@ -1,17 +1,17 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
|
||||
inherit distutils-r1
|
||||
inherit distutils-r1 git-r3
|
||||
|
||||
DESCRIPTION="Python SNMP library"
|
||||
HOMEPAGE="http://snmplabs.com/pysnmp/ https://pypi.org/project/pysnmp/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
HOMEPAGE="http://snmplabs.com/pysnmp/ https://pypi.org/project/pysnmp/ https://github.com/etingof/pysnmp"
|
||||
EGIT_REPO_URI="https://github.com/etingof/pysnmp"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
|
||||
KEYWORDS=""
|
||||
IUSE="doc examples"
|
||||
|
||||
DEPEND="
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue