Sync with portage [Tue Nov 2 15:35:11 MSK 2021].

master
root 3 years ago
parent ae8d7ee8fc
commit 709bf2a3fa

@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
MANIFEST Manifest.files.gz 29309 BLAKE2B b544570f9957244aa630ac88a5c854c055812a781093a8f0e4fd07454942c53026a20409c4ea9c753f4fbdb4ef8c2436e09e9b265039bd1f1bb9a763ee3e35d2 SHA512 94d746a887c0dcd4a1c3b5aebdae73197794e7f6d72b8827119652ef0276aa171ba0f9134de4de762e8586cd72ebd31fc58f43c98de2ba78183189a630042dbf
TIMESTAMP 2021-11-01T14:09:19Z
MANIFEST Manifest.files.gz 29316 BLAKE2B 8c3f8f4a7021f1c572be8462793ac4c5e2e6fbb159c9f3f83aecd4604f6cb4b319950342a62b57ed795456542f5a3d6a774db6e713c37705a64ae259fade2b2a SHA512 013a0f0101f96e2f0b0412f621a1c79140244d73965f5d1fdbb471554ed471e57e4a67e1feaf2f9fe868c118e45848e062577de2f96e3e22208f3f7530cac26c
TIMESTAMP 2021-11-02T12:09:18Z
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmF/9Q9fFIAAAAAALgAo
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmGBKm5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
klC9qw/9F/io0/W5atmPRSS27p6U7iPtuZfQ50sak5zDW6gQakmCvFk0u5iynT6K
McPuwqbEXrKQbnql9cYAiJgUO8jkaziIkIqaT8ks50FfWll9PlCiGRPAiJafTODi
wuEHGe6kjn+63wpCU624Q8Yx1kyOqLdLyYNcdY4Ok7OJOMYFtSfm/z/r8YQDLw16
Czn4c33PfTf87eU2/Mf9OjQgwQTETT3G1ppQNVvrQozCodzUOpYXIXSmmkT3EW9g
KykuSBLSTAMvcXTrqv7aZJTMwH66vNOT6AU8Xiuv6GDi7OrY8DUiiGuScGBhIjlq
96VWntfobeXk500szi6HoWUY0e/7pdqwPs+20NGwyDu7HOj4+4MleXEqn6YHInuW
JZ/Lgmll52OSCLLpVwhLmxFpwjAyBq4r2bPKaAckQa+JGsEYthC2DhC5j/Dy9PQN
EHzRCSKET8rzGsNY4jwkZEn4BylySaRfT+wQKS41F4uQ/G4+9zjXYy86So1af1CZ
zGJ8lpmLvGmAg+m2cml0jtZ+uocpwiPP25X1xYGQMereQZ2OF4ezeCaP4ShZIXO1
skxrBNy5h+3JRXLuYgHjLW9r8KMWkr305Z2AbRjqKrUrHyvdJiVLzN2sMc6HQMYo
JxeAR2QPoJma7zB8X3lVCmdk7Au5zIKav80Vf7CF3IU4B2QLr6s=
=FWCf
klBoUBAAlQASDzYlir2ETc9L8QH4cSinB635jkB5aqDKLVlWoQxMB2fhhWIW/JeU
Lf6lbCRevq60XSTIEcqgUyh2qTQfsdBjtn/+norZYUQsS2/M6GkQE5jZ3LiANGAU
fsk9IUjrB0OUvE6pmElxShz8BhA7bPOy1F72GpCTbMv64c0zq08oYRsaqF9mJic0
TgmbEjE2gmeFFHnIq7VxR+c7lm/jjiQSi+G0eakIA1QTto53Xqwziz0YiwA4LsN6
Uz5YqDCR0jNq9iY69OQ//TEpgo+MTnqX46m4bx1wpRCy14Ds5OJ+R5M3a05OzInq
nbeUXqq5Gdf/z2Y/X3mNsCI7lO7q2XYfJpB1nXenj4HAoUVewO5gvTUuZhQAmnDM
NrA7Xwvw68kAqnPUvCiVLKuC38+cTwgFl/ZVQ9m30n1423l4EJ1azP4O/Z9egI1t
UTO9l1/EcfGSTQpAfE85enLfJ5BEB3M6ittuirvylIDs0/a3rkc0UCaBQEWz8dXA
yOi3aLCT7FDGxQBuOeYoItJ0ZKrA8cMWXQv7pqTwPXzSk6+ARSvFkH9y/7n4PTwY
1411PgDSK3j8C65Hn9M9ztKK9rB/CrwvU5eDv6THXCbfW/+g3I30bSScw3GYqlnJ
RKq2wOfqYwQqArDB3Gl4hX7dZ7Mr3IHN2CIidekknJcDUJIpdyU=
=To1u
-----END PGP SIGNATURE-----

Binary file not shown.

Binary file not shown.

@ -4,10 +4,12 @@ DIST awscli-1.20.65.tar.gz 2091702 BLAKE2B e8295cf4e859c1e642077f4014fdea333292e
DIST awscli-1.21.5.tar.gz 2095418 BLAKE2B 152d0ac70e9e0120fb9b10451904af52035bce84168c055695e7dc93e56648bd7689f20ac0ecdbdfc54ccb846d51b33027d2e9ee09c5e5d1e915c0ec05b0fbfe SHA512 e3063252a50fc6033669a0ff80f82d73764a6728d623d75a27f0652e779cbeb452454d887bf5bd70199a7394df40f9758b14619778c6428a164d590e6c8aaa89
DIST awscli-1.21.6.tar.gz 2095961 BLAKE2B 7c765168604cf98f2c1be1aebf1cacb425124dff51a0a1ba1792634187feab6361d740aa743eda7d41a671300d4196e852640e04f56aa399752ce3305ac1ce86 SHA512 912d81f96cef3ae1c2a0969050e1bce304d1019a98d6bf16e45de50c66f85f6f69a10ceffeae773aafa002227e657861a9f41d123368c1b4a93b5d49747137d3
DIST awscli-1.21.7.tar.gz 2095914 BLAKE2B 6cb53fab223941a41eceeb8430d7158bc14da670a42609707ee5aea02a7e9d43f32fd7118ef7ab4ede54dd5312a4907eac7aa0e040d775ca7f606049dfc1a090 SHA512 8bf7dd4aaab890e4269a02fdd8735dd918a31783128dab46bc5077310ca385717fe4da913c2fb3c36e1132eaaea40cb7c4f434d6060fe27cd4bfc704581cd1e0
DIST awscli-1.21.8.tar.gz 2096389 BLAKE2B 5af0d744e243f9251a4d70914db58d2e154959505960fc93de6804951c4f41851072f7431f13e91b0d8ac96e349bdfc67517e2166e33e4224a68f91d9d7749c4 SHA512 3ca4913070ed468ea95376b5e571244af8bc562972c1894b4144b7e5e1c6937f298267d9e4db65549fcd61f6b6b552354070091c5b387b6e10f67f8a36e3611c
EBUILD awscli-1.20.53.ebuild 1306 BLAKE2B 1b1be64ca6072a28230aa36c66bea67684784f2d44e040ecdb6694ce5f023168e170a36d3a3e133a9a8559d15dd0aced5e7a78af349f3691a883bc19f7f60318 SHA512 6b9579b86a827d2a4d46568d17899f3a45b047621abec213da57f70603021ab2ac57dbe1e127ee12aa41edc93aafd503db911e13ab744fcaf5ea6d8b5d60ad6c
EBUILD awscli-1.20.60.ebuild 1308 BLAKE2B 954123736f61e3243edaf3df49a217a2d71bd060adb3f01193256df0c2a67c439666c38dd4687346ed9380c4b18f92b796f1ea7b4511c5a45bee0bad9fb3498f SHA512 acfa378c3478f288c30250ee9b914aefe6a2987c0d6ed312cc0147f38a22965a9a47046bd1c47812b1e129492140e07af40acb89ab70135b9d720f58db2611d5
EBUILD awscli-1.20.65.ebuild 1308 BLAKE2B 954123736f61e3243edaf3df49a217a2d71bd060adb3f01193256df0c2a67c439666c38dd4687346ed9380c4b18f92b796f1ea7b4511c5a45bee0bad9fb3498f SHA512 acfa378c3478f288c30250ee9b914aefe6a2987c0d6ed312cc0147f38a22965a9a47046bd1c47812b1e129492140e07af40acb89ab70135b9d720f58db2611d5
EBUILD awscli-1.21.5.ebuild 1308 BLAKE2B 954123736f61e3243edaf3df49a217a2d71bd060adb3f01193256df0c2a67c439666c38dd4687346ed9380c4b18f92b796f1ea7b4511c5a45bee0bad9fb3498f SHA512 acfa378c3478f288c30250ee9b914aefe6a2987c0d6ed312cc0147f38a22965a9a47046bd1c47812b1e129492140e07af40acb89ab70135b9d720f58db2611d5
EBUILD awscli-1.21.6.ebuild 1308 BLAKE2B 954123736f61e3243edaf3df49a217a2d71bd060adb3f01193256df0c2a67c439666c38dd4687346ed9380c4b18f92b796f1ea7b4511c5a45bee0bad9fb3498f SHA512 acfa378c3478f288c30250ee9b914aefe6a2987c0d6ed312cc0147f38a22965a9a47046bd1c47812b1e129492140e07af40acb89ab70135b9d720f58db2611d5
EBUILD awscli-1.21.7.ebuild 1308 BLAKE2B 954123736f61e3243edaf3df49a217a2d71bd060adb3f01193256df0c2a67c439666c38dd4687346ed9380c4b18f92b796f1ea7b4511c5a45bee0bad9fb3498f SHA512 acfa378c3478f288c30250ee9b914aefe6a2987c0d6ed312cc0147f38a22965a9a47046bd1c47812b1e129492140e07af40acb89ab70135b9d720f58db2611d5
EBUILD awscli-1.21.8.ebuild 1308 BLAKE2B 954123736f61e3243edaf3df49a217a2d71bd060adb3f01193256df0c2a67c439666c38dd4687346ed9380c4b18f92b796f1ea7b4511c5a45bee0bad9fb3498f SHA512 acfa378c3478f288c30250ee9b914aefe6a2987c0d6ed312cc0147f38a22965a9a47046bd1c47812b1e129492140e07af40acb89ab70135b9d720f58db2611d5
MISC metadata.xml 334 BLAKE2B 84c9f50e6c0d015aad36a7f625cddf90cf1137a8c2d445cc641cd4890d64261187c10fde59ee1a6c19b98cfdb6ff534c66ae7a7a48a00ec62d6984c9a1891750 SHA512 a845de531df2cd75abf23cdbfa613e586855b95ac4e96566ef193708d7ecf2ec7f7db72fd31b8af0ac4ccd57e51da9c6d129d426bfdc6c4feb57d7df8647f160

@ -0,0 +1,47 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit bash-completion-r1 distutils-r1
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="https://pypi.org/project/awscli/"
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/aws-cli-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
# botocore is x.(y+1).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(ver_cut 3-)"
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/rsa[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.4.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
"
distutils_enable_tests --install pytest
python_test() {
distutils_install_for_testing
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit}
}
python_install_all() {
newbashcomp bin/aws_bash_completer aws
insinto /usr/share/zsh/site-functions
newins bin/aws_zsh_completer.sh _aws
distutils-r1_python_install_all
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
}

Binary file not shown.

@ -1,5 +1,5 @@
DIST stress-1.0.4-r1.tar.gz 191800 BLAKE2B 560065d963823e734bb706840908998a58c07c82b21ab579f7a0fd5163e7a8591ca0f6abe430bba058bafd9a2dac1fcf33f011663cd6c3d2fdefb221a49e5e8f SHA512 623a7d9585828bed4b7673e19fb0cfdda904552cd56353d74106047b64249299d5f8da892ec135f1781ec3984c7d5835dcc6c0d8e659e06c8a1e4fb2af9fd9c4
DIST stress_1.0.5.orig.tar.gz 105766 BLAKE2B 7bc4a1d7739828ccd4b58c814e8ded42cddbd0b226bb29e916fe220835bcfa9dcdb86191bb321247aa98bd0e58791556713770bdeda5dad399aa61f2703a766c SHA512 8ae2b74213e2a6e7d17948b8277bdd6143c135a6cee64fb43d183b10134eaea761981e1d76af86ea4700b2d41598d5ca53b17755e61982ab50802297b139b805
EBUILD stress-1.0.4-r2.ebuild 508 BLAKE2B 135bd5cade1e0c0207b165fe8b3ec8d25ea6e5543ff11abfd9412abbae3c8854c6c5a8c46630465ff37f1e3960550cf2eb5181723fab049930daa7d7317c1b63 SHA512 df7987d9b8bf1cfdf45ae9f4d0deb24c161c0d58737d697024618b224ab709d9d8bcc417f38a3001890bcfc83163937de8b246d44d16787faa504e90aa8a379a
EBUILD stress-1.0.5.ebuild 573 BLAKE2B 0bb970d92efc3ee9a4b83cf0d05006ad00ca9bd741cb694f8fa52f4d30785b2ad6e0254452e9c137877907249c369b207b20c7ad90619a09ed30b4ec262abdbe SHA512 00e40a500df5db3d54108eb75ed0b0a719c7e7765c1687929a7ce64253cc0cb4093c066517c4ea5d97648104dd5a678be18f64ab3b35d25f99d1ae41701f14b1
EBUILD stress-1.0.5.ebuild 567 BLAKE2B 92b8b7a969a824607111560bad89e7db68ab702e7ddcb209b42536c082acc9428f4fa85069a14b55c678c5633beb50ac004a3d53ef89bf56ebc5feefe0bda5ee SHA512 c4c660930fad99bf1b079d1ead872805ef8b549883255b44859a767ab2968f84ee68ecc8ace37b0aef8006d7165369a1cc8719b9a47699a83387dc4392693972
MISC metadata.xml 449 BLAKE2B 3017469519500c11712693bec0d179d89a31b9765ca4ab21939c4d5730afb664db66f746b8825d0b71410d704dfef9ad9e6e53233254e01fcb12f1f117a3995b SHA512 eaa43980bce8b1a58010b80b31396313fa50966f9b7229fa201af689308b83f8acd0acdc4b2669793cb5652871865c895ca3708097b96a048c5b10087cea8b0b

@ -11,7 +11,7 @@ SRC_URI="mirror://debian/pool/main/s/${PN}/${PN}_${PV}.orig.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
IUSE="static"
src_prepare() {

Binary file not shown.

@ -203,5 +203,5 @@ DIST xcb-0.9.0.crate 129744 BLAKE2B 5854662e87fc75e07ea707263808c8a5c6fd53a65e4f
DIST xml-rs-0.8.4.crate 52690 BLAKE2B 140d4e725ae0e82c949838c1f6d82e1fbb00e2df4d51b74486597302d4a434ccb46bbd6f5e97636b4947c0092793928c29837a3290bb525344e8a27c0951a42b SHA512 b21b0db9ee7cdfddae7c110e4fec714d719e75ba139744c290692d660caa425aa8b1ece644deb5f1879f21c0561b9b412b9ba8931f7f5b4e220ef08f8a7fc5e6
DIST yaml-rust-0.4.5.crate 47783 BLAKE2B 3e888c5cc7afb43eaf3aaab2b6f47b86df164a66eb54d4e166b965cc84b1e06cd17bd992a0d6ee175d9a73a76e2b44a13167246383ed054afcf3cc1710b309cb SHA512 7621dc8dfd5e7d4a7a8805b2a7e8319b63b852367655f2359d4e3e8fec6c4fad52d75c46ce1161e4c674eac0780b757ce9d34e664e304d8d2beec7afa0363ea0
EBUILD broot-1.6.6.ebuild 4641 BLAKE2B 76d3feda454feaa5702d32df04941d7d3f763f7c13ae04689f277b53b3be4588fc9164f9fbf9b557ddb096fad391e49fe5e734aab8e2a3e1151f48661c19d6c5 SHA512 15df95cf92947c5c4a728bf3d52136d25dc3703e45753e258ee2a96eb830c23c4cb050963ab7d242f31af7518aa24bff184ad4d600a98b4476fe5fb6955c5778
EBUILD broot-1.7.0.ebuild 4507 BLAKE2B 9330cea524e5a0929450f42d2d65f86de68b5b0040538becf404b8121b3d5ca01ec7e77140714dc29599d3b849676fe0ac86f599af8244e36a8d8a52c57a2bfd SHA512 d69ae525c1b48f6fe550dbd0acb246c32e0f047b5106d9faaec2771d00af5de6ba1cbb8fea916a99f5b0b6ab07c0636a88c8953e5ad87604d5807f6025610e67
EBUILD broot-1.7.0.ebuild 4537 BLAKE2B 59e50c764df8fc3f74dd310556828a9d7ae343449d3805fda5c4503c828e843cdd2d2c5c44ab8e1e287e4b2787442489f4ed162bf5513bd925f39f040c04c69d SHA512 2485cb46d40fcc7d9252744ed7dbbc256d1f9c7bcd1f8d01c602f2cd6c1306d3bac08e188b9bc7c7fcb8f1e0aeeb6bab4bdd85efc6d94650661faf64b3cb402b
MISC metadata.xml 564 BLAKE2B 0c694d4996ceefd6b05c3ff74f313d775c820d3eb0ae327cc2c130a608fd8595c64aa1217599d61952c6ade05415eaac53056c3fad30ccb5347df134715bb573 SHA512 5533ba0526ff6cbb801696c8ddba2dc393b158bdc2cf5dedc3b245362d924172e4bd321412cd6976735bcabe01d5e7e191e11b2718412b5e389e9251ca5ea695

@ -221,6 +221,7 @@ RDEPEND="
X? ( x11-libs/libxcb:= )
"
DEPEND="${RDEPEND}"
BDEPEND=">=virtual/rust-1.56"
QA_FLAGS_IGNORED="usr/bin/broot"

Binary file not shown.

@ -1,3 +1,5 @@
DIST inform-6.33.1-b2.tar.gz 1822648 BLAKE2B e2ea59aa310b2f0122d1b834d98b0b827b945a8031a3e61c70bf502f7a746f43b81035cc22805ab351abf6f9df9ba898ea6ea83da863ef9aa313840ed974d725 SHA512 12cc10b7dae4118600a4d19d0aa44c3a7c93dfc8aa17bd56df7b9237f21df0ae99db6840eefaa5b11ff346369c6f6f2f128167b3479c8f540c29e3e36666c368
EBUILD inform-6.33.1_p2.ebuild 716 BLAKE2B 8dacc53e6cc8aca22ee5d4aae28d1870163acdc4267d22e6bfe6041a4885fdfda39e083a16dcf662da24a335a9a876a9c5c68cdc5d7eeb77d40dc97cd8a648c3 SHA512 1da71e2e8498c3e89c7764c4f5c7d6ac11ff4220f907bf51ffb89ed839b530889c90f97dede5871afb63b03a491df534f0e35eddaad7a4fd4e6dcea9dbb31640
MISC metadata.xml 2555 BLAKE2B be44edd87ba20e7b4ed8c20f6844f15b327e4f11d36794562501df85bf98b24298d336ae42fc8e7314d19cde4825f59acc8c233e3b582fb6043d53e4c47e1bea SHA512 726f266399f5a374970a22cb6ad34173304e6c20ba60880b5bd083145e0cff58c64107f1bcf71ac0faf2e0d8ad849ff450f44eb6318fd4ea8d061fabae320492
DIST inform-6.35-r4.tar.gz 2307089 BLAKE2B 9864324fe29fe920e226a239f92f327678ed796e5f5a27b3814f62b1158673b2c14d6771abd7af6f9743bb0949c4c6de75a6b591337b0e99196f8ab4d9f0c9f7 SHA512 c30c7067786845e0c77783f7a03a151ae1238978f648f6036fe9535a33662c76abc11db21bab00fe60c4742cd4da46e4674081711b9b3852520bfb14c1b068a6
EBUILD inform-6.33.1_p2.ebuild 738 BLAKE2B 57cd9f597bd7c18bd38ec46186f30fcda437c77bd79f450c4cf76d6e62008ac2a0036e84e3eead371cd13f162a1f8924be6de884b59c4a57813c408907e1acc0 SHA512 54f5d0e522bdaa0cb2269e87842e1eb0bf72f8d4e8c20d5fd250aeac62d35567cd604009dad8593c416c5c0389774f0939b53b9cc70cd75ae74d2b94a5192be0
EBUILD inform-6.35_p4.ebuild 1230 BLAKE2B 20a7adedbbdac392607fb623304a9a7b438cbf4d3608e73f62b949c7924b167be7705a2f784540dbf226ec62548c5fc68dcf6cc2f7412d1de3f7bbe6ac099298 SHA512 b9abe2a03a75b1546a422208b659a5d630414edd864a8748de81f58e41c7f2eb31dfec4ba9bce1edc1376275721e72a6c96f84fa0d6fb3f81d4294d2c98fb5c1
MISC metadata.xml 435 BLAKE2B 2f4a52609bb35b017249a38e5ef83642a9e6e70eb7fdb2cfdf329f3761c1c580d165d328012293f0fa4480b3004bd44a35209e39ad669fe024c6386eed2ab5e1 SHA512 cd8065b1a6a8206f19fd3f3ce6f99c4900eae4201a3f18c4bdf17d45a167704a4f005553d084cb4e6d310f5999c48f05ebcc86e019f835a2068c8000fe56c11f

@ -1,25 +1,31 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MY_P=${P/_p/-b}
DESCRIPTION="design system for interactive fiction"
HOMEPAGE="http://www.inform-fiction.org/"
SRC_URI="http://mirror.ifarchive.org/if-archive/infocom/compilers/inform6/source/${MY_P}.tar.gz"
EAPI=8
MY_P="${P/_p/-b}"
DESCRIPTION="Design system for interactive fiction"
HOMEPAGE="https://www.inform-fiction.org/"
SRC_URI="mirror://gentoo/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="Artistic-2 Inform"
SLOT="0"
KEYWORDS="amd64 ~ppc ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="emacs"
PDEPEND="emacs? ( app-emacs/inform-mode )"
S=${WORKDIR}/${MY_P}
PDEPEND="emacs? ( app-emacs/inform-mode )"
src_install() {
default
dodoc VERSION
docinto tutorial
dodoc tutor/README tutor/*.inf
mv "${ED}"/usr/share/${PN}/manual "${ED}"/usr/share/doc/${PF}/html
rmdir "${ED}"/usr/share/inform/{include,module}
mv "${ED}"/usr/share/{${PN}/manual,doc/${PF}/html} || die
rmdir "${ED}"/usr/share/inform/{include,module} || die
rm "${ED}"/usr/share/inform/6.33b2/include/SmartCantGo.h || die #723062
}

@ -0,0 +1,51 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs
MY_P="${P/_p/-r}"
DESCRIPTION="Design system for interactive fiction"
HOMEPAGE="https://www.inform-fiction.org/"
SRC_URI="https://ifarchive.org/if-archive/infocom/compilers/inform6/source/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="Artistic-2 Inform"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="emacs tools"
# non-interactive tests use ruby, seem broken, and return true even on failure
RESTRICT="test"
RDEPEND="
tools? (
dev-lang/perl
dev-perl/DateTime
)"
PDEPEND="emacs? ( app-emacs/inform-mode )"
src_compile() {
tc-export CC
emake PREFIX="${EPREFIX}"/usr OPTS="${CFLAGS} ${CPPFLAGS}"
}
src_install() {
local emakeargs=(
PREFIX="${ED}"/usr
REAL_PREFIX="${EPREFIX}"/usr
MANDIR="${ED}"/usr/share/man/man1
PUNYDOCS="${ED}"/usr/share/doc/${PF}/punyinform
PUNYTESTS="${T}" # don't install tests
)
emake -j1 "${emakeargs[@]}" install
dodoc AUTHORS NEWS README.md VERSION docs/README*
use tools || rm "${ED}"/usr/bin/*blorb* || die
find "${ED}"/usr/share/doc \( -name Makefile -o -name 'custom.*' \) -delete || die
}

@ -1,44 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<longdescription>
A Design System for Interactive Fiction
Just as film might be called a form of literature which needs technology to be
read (a cinema projector or a television set) and to be written (a camera),
interactive fiction is read with the aid of a computer. On this analogy, Inform
is a piece of software enabling any modern computer to be used as the camera, or
the film studio, to create works of interactive fiction. To read the resulting
works, you and your audience need only a simpler piece of software called an
interpreter.
In this genre of fiction, the computer describes a world and the player types
instructions like touch the mirror for the protagonist character to follow; the
computer responds by describing the result, and so on until a story is told.
Interactive fiction emerged from the old-style "adventure game" (c.1975) and
tends to be a playful genre, which must sometimes be teased out as though it were
a cryptic crossword puzzle. But this doesn't prevent it from being an artistic
medium, which has attracted (for instance) the former U.S. Poet Laureate, Robert
Pinsky, and the novelists Thomas M. Disch and Michael Crichton. An interactive
fiction is not a child's puzzle-book, with a maze on one page and a rebus on the
next, but nor is it a novel. Neither pure interaction nor pure fiction, it lies
in a strange and still largely unexplored land in between.
Since its invention (by Graham Nelson in 1993), Inform has been used to design
some hundreds of works of interactive fiction, in eight languages, reviewed in
periodicals ranging in specialisation from XYZZYnews to The New York Times. It
accounts for around ten thousand postings per year to Internet newsgroups.
Commercially, Inform has been used as a multimedia games prototyping tool.
Academically, it has turned up in syllabuses and seminars from computer science
to theoretical architecture, and appears in books such as Cybertext: Perspectives
on Ergodic Literature (E. J. Aarseth, Johns Hopkins Press, 1997). Having started
as a revival of the then-disused Infocom adventure game format, the Z-Machine,
Inform came full circle when it produced Infocom's only text game of the 1990s:
Zork: The Undiscovered Underground, by Mike Berlyn and Marc Blank.
</longdescription>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<use>
<flag name="tools">Install blorbtools for manipulating Blorb files</flag>
</use>
<upstream>
<remote-id type="gitlab">DavidGriffith/inform6unix</remote-id>
</upstream>
</pkgmetadata>

@ -158,9 +158,42 @@ DIST rust-1.56.0-x86_64-unknown-linux-gnu.tar.xz 147894784 BLAKE2B 6cbdb8a82aba4
DIST rust-1.56.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e0ed39db46b40631f69fa379a04ec37ba314587a4f081aa1f3251e01b7221ee8732b668cfcc4c24c1a3950f3f8dcfd542a1a73c603cea545b812d5d3a9527055 SHA512 3e9d0b159684a496e29c9e40af11f16f5ef5cadd8bc4852018a953310e77a4e29db6c14ffcc86198908aa4998550c83cfd3f2cc42e007122d56167d664776c44
DIST rust-1.56.0-x86_64-unknown-linux-musl.tar.xz 255010720 BLAKE2B 286e91cbf001de6f888bd82139e6711b32f03d45c599f26b01f60222d98c3521a1933b3b9b7f8c46fa79d481780dc8dc47e5e24985b721a6998d620b446c38b4 SHA512 fb5a914a25ef3cb39393207a75c40f1313740167062feb4cda4084e738f4e93a51624a8a9591acc18553cfd6e2e232984c8c84acc3dfd77fbe38b17085850881
DIST rust-1.56.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B bb7cfc775c1c44569276e687028e9a7ffac31577310052d9c354179a541ee13b0ca00a025e994e03ab17086d0abe6dda6845ed1cb10879425439c7651bdc9269 SHA512 cb23d98cfb1b59fcccaec575145b6f38846f3f49b16a3be199b06d6198b1db13720157ca65a01f6ef76abf742507bba39776d130f0fd03aa228acf5917457f7d
DIST rust-1.56.1-aarch64-unknown-linux-gnu.tar.xz 223440940 BLAKE2B 9b4256943c4f5c8be83a81bbeb5f61d80b97c9925a2a2a47d8952530253f0e3e85363357a3cef9c425217a8b9572d4f55df3839640a24bf5b1e3c1dc8323f2b0 SHA512 1e612617206f0cb49ddc24352b8c8d344ac4613a71c59532e8df78189fd2ff13d71e4b1fa433e06e4af9b50292558b00f2118ffb8efff31359c28ac2fd5f5044
DIST rust-1.56.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 008a4eebe92b3403f863ab7bbb023292d267c6084513104ed1d6f401a806abbe3c97a4346d2b01c2c78ea0efd44292fe563f5a7cde959e23b309f492d388d04f SHA512 09180d201ed196105651d7fbe009df96a333ef2326309428db0b10b2c7e0a8fd3e013a63b287e27e7a04441f70cd5ff8abb8a32ac109495d9c4aa4f80ba777f3
DIST rust-1.56.1-aarch64-unknown-linux-musl.tar.xz 220094692 BLAKE2B b70936cfe4af636cee40bac700f043b1839bdd6f547eb3e9c781b51fb6ab426dded80ecd0c347a9c13d6930041a674f6b53a335a1be538d801eeebee0d98b3fd SHA512 ad9e0725bf570e04f5f439b231480b26a1cbd75eb770397ce2872895ff5705a5025eca06bfe6a60247b7071b0bc810bebe30f2ff99a68a252452e058c72d535e
DIST rust-1.56.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 8cf6a20edb6f4f53f6169f63031b259d02491a494c3110aecc791d80bc90aa9a7d90987e789946680b7ecac1bcf7f0a29c6208af5e29ac971c55a017252d99e2 SHA512 d4d4b04ea3c0f2c435186098b7889da008fbcf6205aff8e10d3b1c64e72aaa49520a9d781e9fc01c064d5bea471bb67af3a64e510ba4406151a52fdaa3640e77
DIST rust-1.56.1-arm-unknown-linux-gnueabi.tar.xz 202697992 BLAKE2B e4f4e68792699aa5a52e53414529309aef309533c3955a38a1de6a32ba13e8f4742693c7ca9ad0c1609a8e827200a8abc23c706d8dab302e9ce67ba493b81fa5 SHA512 afef90ce4e438e1383025642541bc2cdb383f1716b51484ad8a0ec7df4ce0dd635362b892bd009bb389b537d4d56ff876fbc1544af52c8d26d7e39842ab8b99b
DIST rust-1.56.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 19808e687f5c24f7a4d63441fecfb80a2eed5c7cac448a34b2e049a6bf8656b9a145656066cb381ba0ba163a191c1a6fe99389fa0bb9e6937ef31f1514b8f0ae SHA512 7dc83b332ffe654ea811b4e0a8280cae7cac997592b8011a014ce8c13e33696e4a08fe062dad1e95b6577d41680281394b0d7757376a9fe7c91b6648b27673a5
DIST rust-1.56.1-arm-unknown-linux-gnueabihf.tar.xz 199832312 BLAKE2B 547f24f17e99b365855d52fc4eeec60d268b1fd039a551266328d553b8a5f4159c7fa466b2eadd340a4e66bd184fecbef5422a9168bbbf51f256c84273f9b6cc SHA512 2c498d84fd6ac68f11e7751c6bf4ed694b53ba1605b7c77a9d25f0d443443268bdbc9f1cb68bf19af0b22c928c4f3e261baa2c7ed360561820cb4926a5e9d88b
DIST rust-1.56.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B ecd6e8641f899f3f3a05d7a9b8cdab820d0cc7f7a03cb37df9302d6f40cd4f1cafa4b78b0341289bfe798c8cb4778c471337563a5248e2e369dfb5cf82d1a57c SHA512 1848a554df193a2ac799fe021fef0f5ccd7288576b7370bb11202595c1706cfad30debccea90bc8678e83ab5050671e99de7b6bae2581935f669718f2dfebb60
DIST rust-1.56.1-armv7-unknown-linux-gnueabihf.tar.xz 205164704 BLAKE2B fb2b1c21561e35898a70a590dcf917f38eb0771c2902fa8e58d6e2a5c634ade52c893027ea22f00be350c249ab5336135ac462bd3495c9722b17576f0e39b7f9 SHA512 fd890ad58a346896a282b78b5138523c0ac06d177f9ec7c6df5262f24e9226be0e0f7a5d67d93d989e73c9380c0292fb7b3c977627cb5b57f48c8621a9b1444a
DIST rust-1.56.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 810674d02b026ac9a768ed1bae893c62d25311c3316eae6a97e9b885b55a896acc286c1f039af040ebad8de80795eb3c8a2e476fc71e11485340240361b74800 SHA512 e1a0f9b8e22725634e96c42fe8e6f950836baf077ea578f099120c9eb77b8e075f6317df730849f3577d320253ce90b15a4a5803c47b33c340b104533f66aa76
DIST rust-1.56.1-i686-unknown-linux-gnu.tar.xz 215749044 BLAKE2B 5aa6b03f77ba632ac43d972d70e40c4f81e40607ad691f789829ca307acb167e164978a11aade4e89a7b2a4ebaf76833c9f59de9c2b7f7387a3a726fd62da638 SHA512 56e9fa266c0cb668695c202c80b768aba9443b8e594530a3fbdef9ddaff6a37251eca5de584423b51fbee9f0b7712e5de59f6cd0892da4ed036fef5b9e74f27c
DIST rust-1.56.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4b16a978a6b8a10fd23a280351f37bee1bba23f437e613d2059a3c735ee472700a82fab973c2570f36eab730d000c27c0356ffd68a1784cc3dacf3366b211916 SHA512 b702a4f8953867b205f872ca8c886ad6e45a0794a955c878f18fe087d6d3d181221fa44e87e6f9913a683139707ade2f084558ade7475438f3c2a25be009a715
DIST rust-1.56.1-mips-unknown-linux-gnu.tar.xz 160905644 BLAKE2B 28fe08b7b80666d36c9f31f885778b3710a443ba2ca2b42d26ccb8172c6035e75badb49e0947f728648d68f1b10620088178568c5b9c847eb57e60233f3a91a8 SHA512 d805115ca963035bbefa619b20c756159983653746d1e7b6f239a9ea694fcc5fef39dda362c138a2951c739be8e3dc1c982a5317d646c332be9203408f80b43c
DIST rust-1.56.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d9a6aa5a05dd6266007c779a16bdae01c23f34433e3e53e5937f67e0905bd59f67ee9d986a53f22d88e8f1a3eb5cf627314b5f1e504d55163f2bf18f206d8455 SHA512 3e32d3b95fbc95b41eee9bb95946f94336ad6edde58c2eba1a89674beaa544c00fb1de3ccfd7336109bae2b20ae590691062eeba198ed5ff0272db4a073aed55
DIST rust-1.56.1-mips64-unknown-linux-gnuabi64.tar.xz 165745828 BLAKE2B c79f54e19d2cf8fe06ee796787880ef1946f737174a18e9b0ddd1b5b8770421c6d0339bc18970abc1c0cb18055c3ef78ff2fda51083175d875f38664a2a467c2 SHA512 be7c3d341f0217015ccb4c0221feec6612e10bac826e3b0d35c1a6cb09499ef1fe7ee1b44e131e91ae569a4b6ac02f533b7ee4f3b0a4c048c2a02f95d1f68797
DIST rust-1.56.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 97ea8d84db8d68d821d2bfec3bac1fff1e30554447bf5e9e5e1e27efce095b26ea5df8dc41087edccfbd2a57a58aa225423a597ee04c15c49fa8f74d59faf022 SHA512 91acab66759833b31d46f757d6d482dff3fc85b305a682aa8bcaecfbd0072df3cb4b0544b32c52ef79a6ed1096997172ecf35bc07e1ae6ff207b60f8ff6933d4
DIST rust-1.56.1-mipsel-unknown-linux-gnu.tar.xz 165019404 BLAKE2B f452b04048250ad9e4bdd5797b4c0d0c45cc2e8be72b25b1e5b8421d8b6e240ed05e5573569dd0aea450ccc2fae6cb463814e7795af50477cdda86db807a19b1 SHA512 6b4ea1b864ce57d7796c1c268fff23184cf669de47f5b54775bff3062d7862f4a7d98f5ff84387b76b10088c36eda15a4073847687305b5e290c18ed47d2e11f
DIST rust-1.56.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 07c3a01b9daadc6ea952ec3a7110ee1a3c4dfddd69cd9e5339165f76c91902d634908ec0beb0dc0fb5bdfe42406901d0039f28861f6662a18555e289e8aab05d SHA512 b09a18fc1e4e2fe181895e41e62896bfcffc2ce46a03204455f9b7beb19771af4e79000d16ef07f7fa4a06eb018dbaf3d8b8b1385a4dfaa147ad2b693efe1334
DIST rust-1.56.1-powerpc-unknown-linux-gnu.tar.xz 174988436 BLAKE2B b1adae448adff47283b0761c9923d78dd6cf2aa608e9f53f9e156f41cdf5c29358236222c65e3d6202f98a08c2199e9f3ea7cd5838c259f8ff07b0ea276aa408 SHA512 680e0a4e5b3cda2ea89c4ab35a2fcf6210f2b829f284090ba5c793d9e76cb58f7cf6f60dcfcf1e26eba836690fa48be40b902a4f3599446be7be98b57d8ea20b
DIST rust-1.56.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 10f35bc23dd39a1e3f924e472ad0a0dfff4b30060c5b41868688541a80da7d47c5ea3a16684fe980fb83e8c72b6b6ca7d6f7c349d9c869f8300f042be2cc8e4a SHA512 765f0f9ef47568b8bba751b788ff9baa837c7d5e25da52e18b99ae6cb613ce19a725b7fdd6d6adaada18c24fdb308f73b18ad13b6abeaf34be91748fe78173b6
DIST rust-1.56.1-powerpc64-unknown-linux-gnu.tar.xz 186458276 BLAKE2B 3510ca7e2356f2101dc8e6a22de2d68fe48d4c1892e26b23eab18d7f0f1218499e41d325be267fb0284369567243c7e2fae9bb1ba62035fea1ad1c8ee1d57cba SHA512 34db35c1543239a4641eba4ee7d5435ac5383863fce843163ce1fa22c7aeb48199a696ccac199719d308eacd9c626922cf50a918869ae88cc2ae63dd0de9f5b5
DIST rust-1.56.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5755d15be9df74576abf0ec4db1ead6a7bf3069d8ce2edcb834da971ad0dadc0a41fecddecbf06b653b4ca71dbb799bd7a02126a00c294c0f0c2b9fb76fc69ab SHA512 27a57ad6aade3ba6453f3e98b8c456bea61ce9ccc6d8682721edad3b7747f2aac8dba87c419db2c5e049e005e3ccc708cc9a5f1d84e6a7daf6d90ec2d39c7bc5
DIST rust-1.56.1-powerpc64le-unknown-linux-gnu.tar.xz 196128248 BLAKE2B 7e5e5cb32496f2aa5f2dfbca37c53db92741ab7e56ee42c092046a96effead9819c906d22552159ddee9d7fbc4cf98b6e02aa53d39a3e58bc28a145304bb80d5 SHA512 603e9232879e5b9f79f91807f64e088cf657449bd8884c37218585d78c8b6e1919ac8f0aa7b6d38cbe844a89f837170a1bb8e0b4062c8b4aa9cca457eff89bdf
DIST rust-1.56.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7e0822d38d7a6de478441c97d0f0d7506a750cb2bbe8c80f3bd210e74c2b2a0523b417c6b3070ec1f0131e0b9375f7a10a1b97588aaf8a1a73dc4ba110237c2f SHA512 cc5eca73c067b0802081c2469857d85a2853a1dd7a42a604400c150e91df1a0baae0a4a612f9a3e11fdc5de745598ae160f1606787ef251186db9b1f121cac3d
DIST rust-1.56.1-riscv64gc-unknown-linux-gnu.tar.xz 192592824 BLAKE2B 77d786d652978b7a6c93c290b5be49e69986858eb388e8325e40b7bdf5659b4e8bdaeef1b2654955ca0a4cb66fab83a788db2299fda9938a281ff534dd901191 SHA512 7d2431b173b48f8411a7e10d4c3b8880ded7330b14709d847f50b0b974f2cc261c942d729b663b86f2b4b637dd7c30f6d10976da037d0d4215c798407d418efe
DIST rust-1.56.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 210d69dc7c7cfba3ca4ecc8070e2ab193ce6abfe927779f3a55fe30b6cd6c588a2e4c8c18dcfa2014830c087fe97896fb1907b2a639c953cb6056d49107e34a9 SHA512 774f917e1145db0c9164d97937d486916334ccfb8dcb6bf859cfb49585f82e34185e755a105b7b811e74e6a3d629e3343d7620094b1d6aa43428525508368871
DIST rust-1.56.1-s390x-unknown-linux-gnu.tar.xz 194367060 BLAKE2B 33820048a10e83754b09bb8c99ac876fd9dd7a36377dfc6802b906b1fab4669a711d1ac4e2b59e8cba3ae0ad3cd96d10fb00cb1324e8cd2ebde5d0805a58861a SHA512 aa0231187d3f096bfb223707e08262ff79f1b6fb9969814fc2385d3a134efc456bb43030723e614163ff27e6d6a779d27b77ad7ed05c80ab24b22fd10f9bc183
DIST rust-1.56.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c3c5e9678c61a1ec80aca4620d13bbe2164bb648895d25c90e61ac4a2b31c059445cb851417fa3477906cb5ea52c2318f6b6974916d59a3ab41444d419edbb64 SHA512 a5372dd48b9b65a9c4aa74dfe6f5294b1fe12149d6fdc15a6b23b132c8b05d634211dd9a4be3a916aecc7bfbc6710ea1116681876d547ecc4c1de6958fd6f26e
DIST rust-1.56.1-x86_64-unknown-linux-gnu.tar.xz 147853396 BLAKE2B 1d1318c9f076f1488d94eb345f01b511ed956b29511fa64706603aa141a18b1a937459b95f1354507a31ef8dc795ebff06f0006431088792e629a0534b9beabf SHA512 129c619c3a27b6be903b953efa033731b29436cf83c5229ad1137d2d26571379e5d6e2b3a5704e3002547560e47ae1fa7b6c98990bd2ea482299ad94099bb4b0
DIST rust-1.56.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ff984dfa092ff3c1c5a3d1a5849b8dc5807c5885dff5eca020d0b1c404484197adb8e1ea5802886b15e2b8846d0f3aa4bb161e49dc39adc151ca7d57a988ff24 SHA512 53b57ceaf621248fff020de75434c8fe60657335852c88d14ea399c7935206caaff61ce159cb2f487510336981aa1d839b91153b9764ea21ced1fb6455a16bdd
DIST rust-1.56.1-x86_64-unknown-linux-musl.tar.xz 255304020 BLAKE2B c379fb419b6fa1c73b9c426a4f6e46328ce2ac1beddffb1ed25922b3387147eaf0217d3904ccc14ce2b97952f1035760264ae5fc7a575f92bea84d9581d8b315 SHA512 b26d4b9f6396be87aadfbb4777d91c80cfe656570e2bf1a0350788ca45caa7178d4b91966e77c8cc4873e017fd99649ae6a82abad64b32a4eb1f5dfb3a20d45e
DIST rust-1.56.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B aed2703ef8cdcdf076d6538fb968f465c0a884b4c11916470324116e56a5b93fd7118b8b167ab19007ac71201044789f58de3a7ee1b60dffc47c3d123db1b4a5 SHA512 32c042982da7bde6c36bcb33fd3d9ebcb469667c880214b703e7b2cf89467e7e2bf37282cbc128d0207b9e433b7f2bd028e0d2614b657b544a552aa401bc98c8
EBUILD rust-bin-1.52.1.ebuild 5378 BLAKE2B 88912dbecd970882f4a6acdc66f4058b2eca20541b77bf98f799354dc3c4e6c1606592e57bac4c05eb5aa44901b4bbd14577bcb3ded25db730bdcdf6d4eca5f6 SHA512 4d2f865a1431b13fe40d40eac7b8bdff6e3da4af094d2fa125369bc864bc6d9669cacf94401e33703284ff8b955818283f659157176a1283fa299555f0a30f34
EBUILD rust-bin-1.53.0.ebuild 5378 BLAKE2B 88912dbecd970882f4a6acdc66f4058b2eca20541b77bf98f799354dc3c4e6c1606592e57bac4c05eb5aa44901b4bbd14577bcb3ded25db730bdcdf6d4eca5f6 SHA512 4d2f865a1431b13fe40d40eac7b8bdff6e3da4af094d2fa125369bc864bc6d9669cacf94401e33703284ff8b955818283f659157176a1283fa299555f0a30f34
EBUILD rust-bin-1.54.0.ebuild 5383 BLAKE2B 7c271e76a052a77c4bbdb72969f33be124c3f5a028e70e3797ef2895e50f5b5a4725deac92f7c3fad64c8fbf1be1d9a1b61e91db4d25453de69abab6980a3cb7 SHA512 147596f07d55953ed795ab2e6b6162505a3cac65526e0acc08db1f37094df9471519e143a709e5a410790b17288b24e9d16ab916855891b15b8cb24af9edeb0d
EBUILD rust-bin-1.55.0.ebuild 5383 BLAKE2B 7c271e76a052a77c4bbdb72969f33be124c3f5a028e70e3797ef2895e50f5b5a4725deac92f7c3fad64c8fbf1be1d9a1b61e91db4d25453de69abab6980a3cb7 SHA512 147596f07d55953ed795ab2e6b6162505a3cac65526e0acc08db1f37094df9471519e143a709e5a410790b17288b24e9d16ab916855891b15b8cb24af9edeb0d
EBUILD rust-bin-1.56.0.ebuild 5383 BLAKE2B 7c271e76a052a77c4bbdb72969f33be124c3f5a028e70e3797ef2895e50f5b5a4725deac92f7c3fad64c8fbf1be1d9a1b61e91db4d25453de69abab6980a3cb7 SHA512 147596f07d55953ed795ab2e6b6162505a3cac65526e0acc08db1f37094df9471519e143a709e5a410790b17288b24e9d16ab916855891b15b8cb24af9edeb0d
EBUILD rust-bin-1.56.1.ebuild 5383 BLAKE2B 7c271e76a052a77c4bbdb72969f33be124c3f5a028e70e3797ef2895e50f5b5a4725deac92f7c3fad64c8fbf1be1d9a1b61e91db4d25453de69abab6980a3cb7 SHA512 147596f07d55953ed795ab2e6b6162505a3cac65526e0acc08db1f37094df9471519e143a709e5a410790b17288b24e9d16ab916855891b15b8cb24af9edeb0d
MISC metadata.xml 490 BLAKE2B 91056b5357c6d4a4bb86d867114272211ffd3bc8299e89fd1fe5f83f4809687c9f79dcca87df02d2d4e0d820df8de7457fac7869ba1e12d8a02b54fd0bde8ad4 SHA512 1052d99d16e2bcd4dc37c94966cee016e11ab020137dd4d73839b305ce58b158ee1df5e4315ee9657c530d2ef8f5a1c44ecccee49e4968cb69a1216da6203178

@ -0,0 +1,187 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
MY_P="rust-${PV}"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
SRC_URI="$(rust_all_arch_uris ${MY_P})"
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
SLOT="stable"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rustfmt"
DEPEND=""
RDEPEND=">=app-eselect/eselect-rust-20190311"
BDEPEND="
prefix? ( dev-util/patchelf )
verify-sig? ( app-crypt/openpgp-keys-rust )
"
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
QA_PREBUILT="
opt/${P}/bin/.*
opt/${P}/lib/.*.so
opt/${P}/libexec/.*
opt/${P}/lib/rustlib/.*/bin/.*
opt/${P}/lib/rustlib/.*/lib/.*
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
pkg_pretend() {
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
fi
}
src_unpack() {
verify-sig_src_unpack
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
}
patchelf_for_bin() {
local filetype=$(file -b ${1})
if [[ ${filetype} == *ELF*interpreter* ]]; then
einfo "${1}'s interpreter changed"
patchelf ${1} --set-interpreter ${2} || die
elif [[ ${filetype} == *script* ]]; then
hprefixify ${1}
fi
}
multilib_src_install() {
if multilib_is_native_abi; then
# start native abi install
pushd "${S}" >/dev/null || die
local analysis std
analysis="$(grep 'analysis' ./components)"
std="$(grep 'std' ./components)"
local components="rustc,cargo,${std}"
use doc && components="${components},rust-docs"
use clippy && components="${components},clippy-preview"
use rls && components="${components},rls-preview,${analysis}"
use rustfmt && components="${components},rustfmt-preview"
./install.sh \
--components="${components}" \
--disable-verify \
--prefix="${ED}/opt/${P}" \
--mandir="${ED}/opt/${P}/man" \
--disable-ldconfig \
|| die
if use prefix; then
local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash)
ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
find "${ED}/opt/${P}/bin" -type f -print0 | \
while IFS= read -r -d '' filename; do
patchelf_for_bin ${filename} ${interpreter} \; || die
done
eend $?
fi
local symlinks=(
cargo
rustc
rustdoc
rust-gdb
rust-gdbgui
rust-lldb
)
use clippy && symlinks+=( clippy-driver cargo-clippy )
use rls && symlinks+=( rls )
use rustfmt && symlinks+=( rustfmt cargo-fmt )
einfo "installing eselect-rust symlinks and paths"
local i
for i in "${symlinks[@]}"; do
# we need realpath on /usr/bin/* symlink return version-appended binary path.
# so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
local ver_i="${i}-bin-${PV}"
ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
done
# symlinks to switch components to active rust in eselect
dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
# musl logic can be improved a bit, but fine as is for now
cat <<-_EOF_ > "${T}/50${P}"
LDPATH="${EPREFIX}/usr/lib/rust/lib"
MANPATH="${EPREFIX}/usr/lib/rust/man"
$(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
$(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
_EOF_
doenvd "${T}/50${P}"
# note: eselect-rust adds EROOT to all paths below
cat <<-_EOF_ > "${T}/provider-${P}"
/usr/bin/cargo
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-gdbgui
/usr/bin/rust-lldb
/usr/lib/rustlib
/usr/lib/rust/lib
/usr/lib/rust/man
/usr/share/doc/rust
_EOF_
if use clippy; then
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
if use rls; then
echo /usr/bin/rls >> "${T}/provider-${P}"
fi
if use rustfmt; then
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
popd >/dev/null || die
#end native abi install
else
local rust_target
rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
dodir "/opt/${P}/lib/rustlib"
cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
"${ED}/opt/${P}/lib/rustlib" || die
fi
# BUG: installs x86_64 binary on other arches
rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
}
pkg_postinst() {
eselect rust update
elog "Rust installs a helper script for calling GDB now,"
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}."
if has_version app-editors/emacs; then
elog "install app-emacs/rust-mode to get emacs support for rust."
fi
if has_version app-editors/gvim || has_version app-editors/vim; then
elog "install app-vim/rust-vim to get vim support for rust."
fi
}
pkg_postrm() {
eselect rust cleanup
}

@ -175,9 +175,12 @@ DIST rustc-1.55.0-src.tar.xz 117197580 BLAKE2B 8d9739ce7571146aee0e07c6287de9a8c
DIST rustc-1.55.0-src.tar.xz.asc 801 BLAKE2B 5b4ba951ed7ed56c7bd9c71df89cc1e966485d77411016ad71a811ad8e21b88295deec08f24f65afdb163e69ee0fe19288bcc64d18fe272bea51319caddb66b2 SHA512 9bc858ce26cc069cafaefe6165cb15a07e144ad6d6312bcbe115a0a51fec6e281d3e8a7977e958d7fa10e77139548d57396b1552a2802ec74b7bc6ac641e7ae4
DIST rustc-1.56.0-src.tar.xz 121802340 BLAKE2B aa471fd0785d6ceb75d4b661d466a450c960f6df19018a74732f2bab6ec176ea95e247e7cd44d550345bfa723bfc1b6088f0436287bed3752558654198856003 SHA512 2daa365524b47dcc48e49a0e9c8c45988af44c0845e2695dc5053f18e768e49acf3dbdd77f808dbf260546ef608eb47c593544012dd05675cb7e6b6223900315
DIST rustc-1.56.0-src.tar.xz.asc 801 BLAKE2B 75bd829e457b6cefb2fcdfd04ef835487c295420d9d9c8fd7af800b405fe1113c14be01ad3540fea7ed7c743397e337ce1d3b0e757c73292d7f342f352e89791 SHA512 e81cf3d8b1c97803138d4487c32c1463526d53513112b4fa170a81ba947280613fb3260b43d0629a45c859519ea094e467ce0cc0def722577febc3cc34ce5ed8
DIST rustc-1.56.1-src.tar.xz 121798264 BLAKE2B 09677b0332022f28a0d80949a6735929dbf64276f7eb57195d8c33e6c80f13c903432ff77d8834093ab551677618fb1d385f2300e2b1b4c064f9c245c696be32 SHA512 193468e211cde9ebc5f6e30b8e3733b79bd8710fe6dd45c7ed8d4392f91010d30466787afd4d0b2041cd7dd994924fee8ad111048824e248bd994959e55bf15f
DIST rustc-1.56.1-src.tar.xz.asc 801 BLAKE2B 70ed1c26971e864aa6cc9b05eb52c4a140d0d0cccb3ff66d4a13e1b1dbac958c5369f76524c4702311566ed26aff635f5e3d35d9da71d96e070f5f0e978dc2ba SHA512 f997e7962ef8b283c19c97d8b898f3642f1a58c89a9cc5470cf88682263a42e2054d670c12bf93c41e81edf8324a5b51453f402a74bccb7744c7f463cf689aa8
EBUILD rust-1.52.1.ebuild 20520 BLAKE2B ae12faa245d6043afb9dd9b62db207d89eae1655940369a9663d7ac9388f2390b854c32a459256f843b35b8eccdf4d7ee78170c14d6565b2c2ad28d72cdf4202 SHA512 e4bb2c8ab8bec76d6881b8aec1008e7a5f1a49ce16175137b4eaf4e3052a01ddb77304d44a30e344e90953ace280df1dd13172317d662b989c5cce6f27aa1375
EBUILD rust-1.53.0.ebuild 20802 BLAKE2B 97c59e812e197158a9a0b9bdcf8a41417298bf80afee1642526ed396b087da6d990d3559efcb3d50898374a0bd06ebd0764a9325c3268c6a40926ae33b015894 SHA512 a5bab41380d0d122fa2b81012af04cc9e4cb1b1299e20c14d05cf989a437f63b9a7939e7a80cb910328ce0ae1543efc3765252c9a837b9bec5ef5b149aea1a26
EBUILD rust-1.54.0.ebuild 20806 BLAKE2B cde615998a6281dd6e823d55549c56ee3b23c5e26b92358516cd20665d406317a3f1333271ebcdb000660fd84e540574109b398a12882c0ba655ca978c3a8579 SHA512 1fe3d61af31ce9ef9e6c97ea694965115b41982f1d95285483838e861762115bf9abc863b2466c6eb927b56a2ed22aff6784a0af0983f56ffd76da83c40b0335
EBUILD rust-1.55.0.ebuild 20713 BLAKE2B e43e75effdb0de4f007cbd4be21931d14cc08aad92226cf13e076c653dd2144f35ddd90beca0b2f078f446585eb805484e3e1f7c9b583d9d03846e1bda33b042 SHA512 97866c0bb0e3f31796b67cfaa246ec769e307eeb46474207ad02850157a05d5a643086ec3020d351a0b067be7862a9b39384718da91cdb3b6e3e499cd01583ae
EBUILD rust-1.56.0-r1.ebuild 20625 BLAKE2B 7e669a0e7d6988fcf5fd7635e3da348b4883f8e8426951a01ceaa34869349ff294fa9579c593f72c8eb17ab2b5535e3a5786633b0ec58d0635c512080efa03f2 SHA512 cb3086d79a852790f635232baa1fa6059920f1fa2a98088cda5b3e0c0775ee55e9e4f5b29b2724b8e6642a82359c1e9b8b3e327fb0938e05f3dbb94e233866d4
EBUILD rust-1.56.1.ebuild 20621 BLAKE2B 77fdf6280e455694bff9d164fbc209005ff7c816d73119c92bda66b4c33fb881098cd950782a2394129125d5f358d58190a262cf7b5fd17ff55f0d16f9fd9a5b SHA512 69231aa1c4819fa11d439437af7ef9b9a5123bf9f19990b1a20aec579921f934a92f616b384a2e2265ad53dfe1435d8b4cedd362ee71fdac44a003ce3236bd52
MISC metadata.xml 1123 BLAKE2B 3a4e817eda9e998275741d9b3e313369bfb3d4ee8ba3b701f2a26ea3fd8b5564e8ee5dca29574693e0361d56d1b91aa1b8791fc46a3533b5e5a98bbd6991cb01 SHA512 dbd9646a10e11b9ee8a87e4785f06530758dd611e58da3b16fde927dd0e7f858710e246a0401e09e7500ff5c301c84f5606f4fce85c21f0f8a5579f0bb4ea8ab

@ -0,0 +1,683 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..10} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
MY_P="rustc-beta"
SLOT="beta/${PV}"
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
else
ABI_VER="$(ver_cut 1-2)"
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
fi
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
SRC_URI="
https://static.rust-lang.org/dist/${SRC}
verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
!system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
"
# keep in sync with llvm ebuild of the same version as bundled one.
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
# we need to *really* make sure we're not pulling more than one slot
# simultaneously.
# How to use it:
# List all the working slots in LLVM_VALID_SLOTS, newest first.
LLVM_VALID_SLOTS=( 13 )
LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
# (-) usedep needed because we may build with older llvm without that target
LLVM_DEPEND="|| ( "
for _s in ${LLVM_VALID_SLOTS[@]}; do
LLVM_DEPEND+=" ( "
for _x in ${ALL_LLVM_TARGETS[@]}; do
LLVM_DEPEND+="
${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
done
LLVM_DEPEND+=" )"
done
unset _s _x
LLVM_DEPEND+=" )
<sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
wasm? ( sys-devel/lld )
"
# to bootstrap we need at least exactly previous version, or same.
# most of the time previous versions fail to bootstrap with newer
# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok,
# but it fails to bootstrap with 1.48.x
# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt
RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*"
RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*"
BOOTSTRAP_DEPEND="||
(
=dev-lang/rust-"${RUST_DEP_PREV}"
=dev-lang/rust-bin-"${RUST_DEP_PREV}"
=dev-lang/rust-"${RUST_DEP_CURR}"
=dev-lang/rust-bin-"${RUST_DEP_CURR}"
)
"
BDEPEND="${PYTHON_DEPS}
app-eselect/eselect-rust
|| (
>=sys-devel/gcc-4.7
>=sys-devel/clang-3.5
)
system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
!system-llvm? (
>=dev-util/cmake-3.13.4
dev-util/ninja
)
test? ( sys-devel/gdb )
verify-sig? ( app-crypt/openpgp-keys-rust )
"
DEPEND="
>=app-arch/xz-utils-5.2
net-misc/curl:=[http2,ssl]
sys-libs/zlib:=
dev-libs/openssl:0=
elibc_musl? ( sys-libs/libunwind:= )
system-llvm? ( ${LLVM_DEPEND} )
"
# we need to block older versions due to layout changes.
RDEPEND="${DEPEND}
app-eselect/eselect-rust
!<dev-lang/rust-1.47.0-r1
!<dev-lang/rust-bin-1.47.0-r1
"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
miri? ( nightly )
parallel-compiler? ( nightly )
test? ( ${ALL_LLVM_TARGETS[*]} )
wasm? ( llvm_targets_WebAssembly )
x86? ( cpu_flags_x86_sse2 )
"
# we don't use cmake.eclass, but can get a warnings
CMAKE_WARN_UNUSED_CLI=no
QA_FLAGS_IGNORED="
usr/lib/${PN}/${PV}/bin/.*
usr/lib/${PN}/${PV}/libexec/.*
usr/lib/${PN}/${PV}/lib/lib.*.so
usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
"
QA_SONAME="
usr/lib/${PN}/${PV}/lib/lib.*.so.*
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
"
# An rmeta file is custom binary format that contains the metadata for the crate.
# rmeta files do not support linking, since they do not contain compiled object files.
# so we can safely silence the warning for this QA check.
QA_WX_LOAD="usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/.*rmeta"
QA_EXECSTACK="${QA_WX_LOAD}"
# causes double bootstrap
RESTRICT="test"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
PATCHES=(
"${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch
"${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch
)
S="${WORKDIR}/${MY_P}-src"
toml_usex() {
usex "${1}" true false
}
bootstrap_rust_version_check() {
# never call from pkg_pretend. eselect-rust may be not installed yet.
[[ ${MERGE_TYPE} == binary ]] && return
local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))"
local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
rustc_version=${rustc_version[0]#rust-bin-}
rustc_version=${rustc_version#rust-}
[[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
eerror "Rust >=${rustc_wanted} is required"
eerror "please run 'eselect rust' and set correct rust version"
die "selected rust version is too old"
elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
eerror "Rust <${rustc_toonew} is required"
eerror "please run 'eselect rust' and set correct rust version"
die "selected rust version is too new"
else
einfo "Using rust ${rustc_version} to build"
fi
}
pre_build_checks() {
local M=4096
# multiply requirements by 1.5 if we are doing x86-multilib
if use amd64; then
M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 ))
fi
M=$(( $(usex clippy 128 0) + ${M} ))
M=$(( $(usex miri 128 0) + ${M} ))
M=$(( $(usex rls 512 0) + ${M} ))
M=$(( $(usex rustfmt 256 0) + ${M} ))
# add 2G if we compile llvm and 256M per llvm_target
if ! use system-llvm; then
M=$(( 2048 + ${M} ))
local ltarget
for ltarget in ${ALL_LLVM_TARGETS[@]}; do
M=$(( $(usex ${ltarget} 256 0) + ${M} ))
done
fi
M=$(( $(usex wasm 256 0) + ${M} ))
M=$(( $(usex debug 2 1) * ${M} ))
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
M=$(( 15 * ${M} / 10 ))
fi
eshopts_pop
M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
M=$(( $(usex doc 256 0) + ${M} ))
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
}
llvm_check_deps() {
has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
}
pkg_pretend() {
pre_build_checks
}
pkg_setup() {
pre_build_checks
python-any-r1_pkg_setup
export LIBGIT2_NO_PKG_CONFIG=1 #749381
use system-bootstrap && bootstrap_rust_version_check
if use system-llvm; then
llvm_pkg_setup
local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
export LLVM_LINK_SHARED=1
export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
fi
}
src_prepare() {
if ! use system-bootstrap; then
local rust_stage0_root="${WORKDIR}"/rust-stage0
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
--without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die
fi
default
}
src_configure() {
local rust_target="" rust_targets="" arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
done
if use wasm; then
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
if use system-llvm; then
# un-hardcode rust-lld linker for this target
# https://bugs.gentoo.org/715348
sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die
fi
fi
rust_targets="${rust_targets#,}"
local tools="\"cargo\","
if use clippy; then
tools="\"clippy\",$tools"
fi
if use miri; then
tools="\"miri\",$tools"
fi
if use rls; then
tools="\"rls\",\"analysis\",\"src\",$tools"
fi
if use rustfmt; then
tools="\"rustfmt\",$tools"
fi
local rust_stage0_root
if use system-bootstrap; then
local printsysroot
printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")"
rust_stage0_root="${printsysroot}"
else
rust_stage0_root="${WORKDIR}"/rust-stage0
fi
# in case of prefix it will be already prefixed, as --print sysroot returns full path
[[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
rust_target="$(rust_abi)"
cat <<- _EOF_ > "${S}"/config.toml
changelog-seen = 2
[llvm]
download-ci-llvm = false
optimize = $(toml_usex !debug)
release-debuginfo = $(toml_usex debug)
assertions = $(toml_usex debug)
ninja = true
targets = "${LLVM_TARGETS// /;}"
experimental-targets = ""
link-shared = $(toml_usex system-llvm)
[build]
build-stage = 2
test-stage = 2
doc-stage = 2
build = "${rust_target}"
host = ["${rust_target}"]
target = [${rust_targets}]
cargo = "${rust_stage0_root}/bin/cargo"
rustc = "${rust_stage0_root}/bin/rustc"
rustfmt = "${rust_stage0_root}/bin/rustfmt"
docs = $(toml_usex doc)
compiler-docs = false
submodules = false
python = "${EPYTHON}"
locked-deps = true
vendor = true
extended = true
tools = [${tools}]
verbose = 2
sanitizers = false
profiler = false
cargo-native-static = false
[install]
prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
sysconfdir = "etc"
docdir = "share/doc/rust"
bindir = "bin"
libdir = "lib"
mandir = "share/man"
[rust]
# https://github.com/rust-lang/rust/issues/54872
codegen-units-std = 1
optimize = true
debug = $(toml_usex debug)
debug-assertions = $(toml_usex debug)
debug-assertions-std = $(toml_usex debug)
debuginfo-level = $(usex debug 2 0)
debuginfo-level-rustc = $(usex debug 2 0)
debuginfo-level-std = $(usex debug 2 0)
debuginfo-level-tools = $(usex debug 2 0)
debuginfo-level-tests = 0
backtrace = true
incremental = false
default-linker = "$(tc-getCC)"
parallel-compiler = $(toml_usex parallel-compiler)
channel = "$(usex nightly nightly stable)"
description = "gentoo"
rpath = false
verbose-tests = true
optimize-tests = $(toml_usex !debug)
codegen-tests = true
dist-src = false
remap-debuginfo = true
lld = $(usex system-llvm false $(toml_usex wasm))
# only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
# https://github.com/rust-lang/rust/issues/74976
# https://github.com/rust-lang/rust/issues/76526
deny-warnings = $(usex wasm $(usex doc false true) true)
backtrace-on-ice = true
jemalloc = false
[dist]
src-tarball = false
compression-formats = ["gz"]
_EOF_
for v in $(multilib_get_enabled_abi_pairs); do
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
cat <<- _EOF_ >> "${S}"/config.env
CFLAGS_${rust_target}=${arch_cflags}
_EOF_
cat <<- _EOF_ >> "${S}"/config.toml
[target.${rust_target}]
cc = "$(tc-getBUILD_CC)"
cxx = "$(tc-getBUILD_CXX)"
linker = "$(tc-getCC)"
ar = "$(tc-getAR)"
_EOF_
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
if use elibc_musl; then
cat <<- _EOF_ >> "${S}"/config.toml
crt-static = false
_EOF_
fi
if use system-llvm; then
cat <<- _EOF_ >> "${S}"/config.toml
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
_EOF_
fi
done
if use wasm; then
cat <<- _EOF_ >> "${S}"/config.toml
[target.wasm32-unknown-unknown]
linker = "$(usex system-llvm lld rust-lld)"
_EOF_
fi
if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
# experimental cross support
# discussion: https://bugs.gentoo.org/679878
# TODO: c*flags, clang, system-llvm, cargo.eclass target support
# it would be much better if we could split out stdlib
# complilation to separate ebuild and abuse CATEGORY to
# just install to /usr/lib/rustlib/<target>
# extra targets defined as a bash array
# spec format: <LLVM target>:<rust-target>:<CTARGET>
# best place would be /etc/portage/env/dev-lang/rust
# Example:
# RUST_CROSS_TARGETS=(
# "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
# )
# no extra hand holding is done, no target transformations, all
# values are passed as-is with just basic checks, so it's up to user to supply correct values
# valid rust targets can be obtained with
# rustc --print target-list
# matching cross toolchain has to be installed
# matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
# only gcc toolchains installed with crossdev are checked for now.
# BUG: we can't pass host flags to cross compiler, so just filter for now
# BUG: this should be more fine-grained.
filter-flags '-mcpu=*' '-march=*' '-mtune=*'
local cross_target_spec
for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
# extracts first element form <LLVM target>:<rust-target>:<CTARGET>
local cross_llvm_target="${cross_target_spec%%:*}"
# extracts toolchain triples, <rust-target>:<CTARGET>
local cross_triples="${cross_target_spec#*:}"
# extracts first element after before : separator
local cross_rust_target="${cross_triples%%:*}"
# extracts last element after : separator
local cross_toolchain="${cross_triples##*:}"
use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
cat <<- _EOF_ >> "${S}"/config.toml
[target.${cross_rust_target}]
cc = "${cross_toolchain}-gcc"
cxx = "${cross_toolchain}-g++"
linker = "${cross_toolchain}-gcc"
ar = "${cross_toolchain}-ar"
_EOF_
if use system-llvm; then
cat <<- _EOF_ >> "${S}"/config.toml
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
_EOF_
fi
if [[ "${cross_toolchain}" == *-musl* ]]; then
cat <<- _EOF_ >> "${S}"/config.toml
musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
_EOF_
fi
# append cross target to "normal" target list
# example 'target = ["powerpc64le-unknown-linux-gnu"]'
# becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
rust_targets="${rust_targets},\"${cross_rust_target}\""
sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
ewarn
ewarn "Enabled ${cross_rust_target} rust target"
ewarn "Using ${cross_toolchain} cross toolchain"
ewarn
if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
ewarn "'sys-devel/binutils[multitarget]' is not installed"
ewarn "'strip' will be unable to strip cross libraries"
ewarn "cross targets will be installed with full debug information"
ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
ewarn
ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
ewarn
fi
done
fi # I_KNOW_WHAT_I_AM_DOING_CROSS
einfo "Rust configured with the following flags:"
echo
echo RUSTFLAGS="${RUSTFLAGS:-}"
echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}"
echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}"
env | grep "CARGO_TARGET_.*_RUSTFLAGS="
cat "${S}"/config.env || die
echo
einfo "config.toml contents:"
cat "${S}"/config.toml || die
echo
}
src_compile() {
# we need \n IFS to have config.env with spaces loaded properly. #734018
(
IFS=$'\n'
env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
)
}
src_test() {
# https://rustc-dev-guide.rust-lang.org/tests/intro.html
# those are basic and codegen tests.
local tests=(
codegen
codegen-units
compile-fail
incremental
mir-opt
pretty
run-make
)
# fails if llvm is not built with ALL targets.
# and known to fail with system llvm sometimes.
use system-llvm || tests+=( assembly )
# fragile/expensive/less important tests
# or tests that require extra builds
# TODO: instead of skipping, just make some nonfatal.
if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
tests+=(
rustdoc
rustdoc-js
rustdoc-js-std
rustdoc-ui
run-make-fulldeps
ui
ui-fulldeps
)
fi
local i failed=()
einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
for i in "${tests[@]}"; do
local t="src/test/${i}"
einfo "rust_src_test: running ${t}"
if ! (
IFS=$'\n'
env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
"${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
-j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
)
then
failed+=( "${t}" )
eerror "rust_src_test: ${t} failed"
fi
done
if [[ ${#failed[@]} -ne 0 ]]; then
eerror "rust_src_test: failure summary: ${failed[@]}"
die "aborting due to test failures"
fi
}
src_install() {
(
IFS=$'\n'
env $(cat "${S}"/config.env) DESTDIR="${D}" \
"${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
)
# bug #689562, #689160
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
local symlinks=(
cargo
rustc
rustdoc
rust-gdb
rust-gdbgui
rust-lldb
)
use clippy && symlinks+=( clippy-driver cargo-clippy )
use miri && symlinks+=( miri cargo-miri )
use rls && symlinks+=( rls )
use rustfmt && symlinks+=( rustfmt cargo-fmt )
einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
local i
for i in "${symlinks[@]}"; do
# we need realpath on /usr/bin/* symlink return version-appended binary path.
# so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
# need to fix eselect-rust to remove this hack.
local ver_i="${i}-${PV}"
if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
einfo "Installing ${i} symlink"
ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
else
ewarn "${i} symlink requested, but source file not found"
ewarn "please report this"
fi
dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
done
# symlinks to switch components to active rust in eselect
dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
newenvd - "50${P}" <<-_EOF_
LDPATH="${EPREFIX}/usr/lib/rust/lib"
MANPATH="${EPREFIX}/usr/lib/rust/man"
$(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
$(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
_EOF_
rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
# note: eselect-rust adds EROOT to all paths below
cat <<-_EOF_ > "${T}/provider-${P}"
/usr/bin/cargo
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-gdbgui
/usr/bin/rust-lldb
/usr/lib/rustlib
/usr/lib/rust/lib
/usr/lib/rust/libexec
/usr/lib/rust/man
/usr/share/doc/rust
_EOF_
if use clippy; then
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
fi
if use miri; then
echo /usr/bin/miri >> "${T}/provider-${P}"
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
fi
if use rls; then
echo /usr/bin/rls >> "${T}/provider-${P}"
fi
if use rustfmt; then
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
fi
insinto /etc/env.d/rust
doins "${T}/provider-${P}"
}
pkg_postinst() {
eselect rust update
if has_version sys-devel/gdb || has_version dev-util/lldb; then
elog "Rust installs a helper script for calling GDB and LLDB,"
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
fi
if has_version app-editors/emacs; then
elog "install app-emacs/rust-mode to get emacs support for rust."
fi
if has_version app-editors/gvim || has_version app-editors/vim; then
elog "install app-vim/rust-vim to get vim support for rust."
fi
}
pkg_postrm() {
eselect rust cleanup
}

Binary file not shown.

@ -1,4 +1,4 @@
AUX libarcus-4.8.0-deprecated-protobuf-calls.patch 1395 BLAKE2B 6488f7da07b78df1f18826a62f47cc2a7835ad66f7c5f999a4926caff9bffa8125b39f44cbb4e5849b3283c95898120c2cdc0947c9008869af91db08f0036e55 SHA512 f98cdd0d15d03752cd04466211cdaf2fb0ebb4f9a5aa887c4f9a1df5c32ced18559952f89c4549ea93376d95ec0b1bc51289ce87256804d2fc453686d48b55e5
DIST libarcus-4.9.1.tar.gz 31967 BLAKE2B 2ee827c3f1f592ac1efa7557a2cbfa9cf9fd2d43a7be7fd803f94f7b51c9a03be1078d3df319e1bbe2bc37b6ec3a1c6f16996c4e3b6251dd06f6031dd32ad2a9 SHA512 5124b80647cb0715ad94c5eaaeac797a867319de9a8064b689783fdb28598903a69e3a61393db90f5e0b3d10ee30aed844170cab63dc4b7c70509d5129a17cdd
EBUILD libarcus-4.9.1.ebuild 1357 BLAKE2B 9c7cf901543a6e13c8e1cf6861a028c81cc98048dd725b5981c1dc0a1c023d5482fde9d4188d971057454e175b60b8619158bcf387900e6eba7e0a7f113e1a79 SHA512 b165f573c87c6daa209b225686d0a12081a0f69b2feac846ea3d00017529f8164f00855b7476ad031ad425954f6636f4e542966046e02ed35c503d604e67a977
EBUILD libarcus-4.9.1.ebuild 1359 BLAKE2B 103675b40d9849aaa5c9b1a077a3ca0efd2f2c539f6e7caf53115411996f8a36c4a58ef5b512076cc9c95b9c57e2ab60aca458f4f804b67c9e9de93e5ff48856 SHA512 19789acb5e8e7bd6b7db4354432372a4feffb588f48845e2ddfcef64d642570bf3396b6292ca454fb6bbb90754a29b26190fd76e0cc231fc56365c91c9101756
MISC metadata.xml 1286 BLAKE2B 149e6008ee050d64c46009c12f18dd2e18234e4f19c1093fd0c557cc3d9369b547b07f7397975ab74b58d96ce39210f6a213b2f750ac2f844da579ff9f4ba8e3 SHA512 d6efb7fab1d6072cf8ad1ce5d2a33956eb9a8ac78992a434201d89de444b29382223e91f3c25475128a07fc81cfd4382bd396f9f16044f33b5ec4cdac8612b0c

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8,9} )
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake python-single-r1

@ -4,5 +4,5 @@ DIST libcec-4.0.7.tar.gz 355249 BLAKE2B 5f742364804d0d10cfcd71635645d33c3dfde200
DIST libcec-6.0.2.tar.gz 355807 BLAKE2B 007530d839493355f283992a4390550d6ddd432977d7489c17087f7e5bb6f503c35e967ed6a620d55e2e7c25ce10814f360d146a28b860cdcdd108fae152f896 SHA512 c16ac268e67b01d4e35fad644e5927e1d9fc7bcaeff698ac5f0eadd31ec63a0bef2a2b2bc37860d1571e1e0cdc55911c2de468c661c7c7ae1d492f80188035cb
EBUILD libcec-4.0.4-r1.ebuild 2018 BLAKE2B 36e7fd1cac2551febd35fa3d0533bf9e06d8d5c8981283c6948acb78c1fb2ca405a80113afd3b31fecc315f271442a4c589d02ad300c0461a4615a0e456205df SHA512 619a8dec29e7aaf7daee20f79ccf8d330a4cf199054568f4be98e9d23f09d20a0aca4c389d0b41036acc1d53f0bfe749d70148cf22efd9aa6502d27f57a6ed0b
EBUILD libcec-4.0.7.ebuild 3271 BLAKE2B cec8de0c00a3976c3eff2e8631846f5a175ea00129b32eefc37dbe9d3000c594aa653e4cd6f5f673bc2eb0db6de1bb18a3ee16f258871c826afa43cd1ff9869a SHA512 79ffd559dd8a0ae22622571ceeb73616574fa0fcf1b0db876ec0bf92fb9d22ad5460e5119abde10bb977e51027609fca6989f372173e7e3aa72960b503218a58
EBUILD libcec-6.0.2.ebuild 3268 BLAKE2B eae8545464fa0f273c00b69a1e44e5a8fec9def4d29595da76524f50ef62c37d6fc078bc73cf69b506d5414cb4d5753fd3c702d4a94444d5f78d745b4a9f32a5 SHA512 0f28d398a4e87f7d412f399600522a963e31e0ab9bec01b525a82e336c859231c3b737516321d3955ae49728b6db3f5780fa3d41af34734d38f6960166329716
EBUILD libcec-6.0.2.ebuild 3268 BLAKE2B c6e86830fa1c49906627f5f532fb62a477da03f6608eea81cd65c038c8d9270abb4d354c4743292b99589ef25e35f15b3745d16f32bf5de2a8bf9db54d4c2bf3 SHA512 9b32a427bff242ae2012f3d993a1c4baa822e95b354d39f72301b695cd6fefbe5ff612dad8c8c6dded814903dee6439cb793dfeac47462ea02192db0603c575c
MISC metadata.xml 828 BLAKE2B 55df5b9af327507fdb9f415c8616affc437d82ac5a7e57b53f21f7917285b10f70e58b3fdbebf6899aa8c10dbe73186f84643842b04953da74f94b6c4112b3d6 SHA512 25e981d2c88ce87c9c41f6816dfadeb00bf3e0d5dfebc8b135ceba09552c40c29501bede0e3a73a63dcacb0741167f6180a674d82cf2b66dfb649a4aa968387a

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
PYTHON_COMPAT=( python3_{8..10} )
MY_PV=${PV/_p/-}
MY_P=${PN}-${MY_PV}

@ -1,3 +1,3 @@
DIST libcharon-4.9.1.tar.gz 151243 BLAKE2B 8557efe4667a83297a4bcfc8307e2322a379e52d50ad1648d873a923e182b3be1651a13c7402ac041fd134036a75a42e825adf2cc27271af218db44af7e48473 SHA512 41d611f8d3bf0f762a38a00c159104df04b73cd5c4f7e9ebcfe3ac9cdd0c8e31e505c4fd4ef8f8a6f1c02bf882bb3e14ea4e92c8b15169a91cbd1815e36310fa
EBUILD libcharon-4.9.1-r1.ebuild 1746 BLAKE2B 46a4e224043798f5f327d6b0d6b3033145a210cc5f3b80e4387d7e39cee3e8a9bcf8ff707c0fe76c6b1b20a00318eb4153002d7a89417572a8a117f4d5163447 SHA512 fe4d49ecb8b11c9e814755711628eaa3d52d5be73c24bf0c88b909d4c11d868831b360309c7072a4a6b4e746fd8526338a0287da640fa277cc6d2fc5e8fc7ab1
EBUILD libcharon-4.9.1-r1.ebuild 1747 BLAKE2B 8a8989c27be14e430a912d220e83e12e7584010a82838ff7453c9f58b7a6e3bb045885a6f222ef49a17fbd77dbbfe7d8343bbeba387008a6f50299d2dc6b4021 SHA512 422fe986046dbb84f3cef7e1e7872a484a8a71dcd49e0dd5d096aa89a60f8c2bba1a2d2ecc5648c88668b3cdfc4a94e0448b9f24c539840244d10a409cac419d
MISC metadata.xml 1140 BLAKE2B 356713d6a644186b8fda5d9fd9587a74a605aaa638217c62dd9f0657859322c66015d25a5b5335dbe02fcf2492ca7dec0d5e7decd5a2d4602b8b8ec8338f7821 SHA512 8aa76c3b4dc2246e0cc6c508149ff9913ef3310a3477d7596b9101f183d0e858cc3c11ebfd138cf1eb65e79c2800ad63cfaca63201aa1a63e36e5ef63bd664aa

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake python-single-r1

@ -1,7 +1,6 @@
AUX libmowgli-2.1.3-cacheline-Ensure-sysconf-var-is-defined-before-use.patch 831 BLAKE2B 552140cae8b31f796826487319286fc5d59972e2036bb33a8a2c6febcf0fc8fc8bea502a0d5aa3d00e0028534c1891e19ba92ee0c4071ba3fd8b8fd9bea5158d SHA512 8f572b47fa62918be88dc11028a916897aeda46691b5b4975f87227aad2141fe472fdcff3431d61c42cdeb8322aab1e065d8ac155f2f367f4c28a6ae97799271
AUX libmowgli-2.1.3-use-host-tools-for-ar-and-ranlib.patch 531 BLAKE2B 13627cf2420f8a9f1c90010e9b40fd4234a6c6603857f463de7d469a1e2e148bdf1ac5dc620ddfc622b2fe6da64f52f9756b2e980e529a78d519bcdd9ef36cf6 SHA512 b4e35ea2cb241a48ce698f7fe094a9a55b0c901f3a9f613a308898714496c4b3b531380d81ab34651b6f24dd877341eeb1c694120d420096854daad03240bd01
DIST libmowgli-2.1.3.tar.gz 227742 BLAKE2B 9ef5c30880644247df3c98dabbd87694d0a7c92e7de0c44a73842d4c5bbc7f19a32db24acc52b27fe5f204b1f74a5c730c64edd1e8edd23bc320e4c0dc4a554c SHA512 bf976cf8b8bf0efaf7565230f42147adcdbe993339f58f907f5005eddf178d936cffb6cdbba59e38813854f30414856a1b9f8bdc972ea2f59cb08987ee336533
EBUILD libmowgli-2.1.3-r2.ebuild 1036 BLAKE2B 87b25ec5f80417e482fa14e7c3c26881eef72cdfeccfe01dcc182ee5bc2aff727ab6a8314cbb7194a88fe3ea84463d3ffd6f4575f7131623180e13bb060a644d SHA512 d4e660c81986de1b8a53b93a17276012db7e1db85ccf53438dfb0c6414c4036abf246392038158bef1b1df8b45a66f264a5b005de4af186a37d9723117f4bf0a
EBUILD libmowgli-2.1.3-r3.ebuild 995 BLAKE2B 609d1ed9e3944f844b995c4b73d47507e40ec1093a2d6c36d851f19e7556532ba57e44d9e5e01ffad1ecb5e0c04d665d77610e58a4035991e75d55039180e793 SHA512 4c490656991842bc7defbc70e2f09e35645cd167833114acb6ecb7b9df71295aca2e466b878f6bd0ed14e085da796e54388d966201fadf8346d1a1ff7b1a16ee
EBUILD libmowgli-9999.ebuild 544 BLAKE2B 28587dc8b9503a3826127bd7eb71e6d31d98d3a3f0be5e5113f7bcd4cafff467f1251ed096edd15baefc50f31419366bd97386b2db9ce77bd710b183e9582cff SHA512 29fe335d9aa56893845413a55838e85a9d699571dad0d4d9ecd3eb06cf6a3f7cbcb0cfa67cddd361ed6574805d33d011ea92e322a661cfac597366b02beebf16
MISC metadata.xml 395 BLAKE2B 865c24d88eb3b9457b11c25af8c2a73d44770f861df79ed9f0fedfa007dbb65c4ee0b7c1610506255322d283a7968bfb32c1ff27c35df98708e90a45d2e7484e SHA512 4db1299e9cd08caecf0288571f38f39cafd16d4e56aa69d5c272c73bba197448deea36e09a688100b879ad5fd5e25000e28559724013699d811968cf9bb3bbbc

@ -1,42 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="Useful set of performance and usability-oriented extensions to C"
HOMEPAGE="https://github.com/atheme/libmowgli-2"
SRC_URI="https://github.com/atheme/libmowgli-2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="ssl"
RDEPEND="ssl? (
dev-libs/openssl:0=
)
!~dev-libs/libmowgli-2.1.0" # Bug 629644
DEPEND="${RDEPEND}"
DOCS=( AUTHORS README doc/BOOST doc/design-concepts.txt )
PATCHES=(
"${FILESDIR}"/${P}-cacheline-Ensure-sysconf-var-is-defined-before-use.patch
"${FILESDIR}"/${P}-use-host-tools-for-ar-and-ranlib.patch
)
S="${WORKDIR}/${PN}-2-${PV}"
src_prepare() {
default
# $(MAKE) invocation will handle passing down flags.
sed -i -e 's/${MFLAGS}//' buildsys.mk.in || die
AT_M4DIR="m4" eautoreconf
}
src_configure() {
econf $(use_with ssl openssl)
}

@ -1,4 +1,4 @@
DIST libsass-3.6.5.tar.gz 342426 BLAKE2B 8c6bb37da3f832dd462408a7ef4f80384e468295fc420b3d915899e65fb89a9d0b4c1cf0653b7288fedbf6a66daa2943c2911ad2c310f77a06deb84bec1d3abf SHA512 98cc7e12fdf74cd9e92d8d4a62b821956d3ad186fcee9a8d77b677a621342aa161b73d9adad4c1849678a3bac890443120cc8febe1b7429aab374321d635b8f7
EBUILD libsass-3.6.5.ebuild 1132 BLAKE2B 230a36406333941434e7bf172570a80e8afaa101c5196c6420d2977a6f1a494f2f96d594943cdcc83873d8b396c8ec35e339b80585088fffd4403a083baf7322 SHA512 5b1c0d8af82085d3d729029d2d6fb07d1bd00c03380b4cfbe2d32c33297406d4bc44fc48b2a5a4804519ea8ec7c4fb4632b4e4513959ab71ca2391de82baf65e
EBUILD libsass-3.6.5.ebuild 1138 BLAKE2B 98b741a1ad419fcd47c1617390807feb1a2c7cd101077dc4076c0c67b352a521fdbe9315b3065cb6c553f2f292e2a8dae4e576ff4473aae8429e31c641954359 SHA512 fc19a86e75832483538160db58adb193d85281cd2f0178c9de013a057fbe68107e230e59e27ab727aaf91c0aa36521af6947f2e97a8e315e9b34bdd173b38d6b
EBUILD libsass-9999.ebuild 1129 BLAKE2B 74ce5b5d25d821a1d6dead5db25a4d5f834dd30b2f9da2e2ee8526a3842b2934b6ec5b8c5b5abdbbf4d97b846eee6aa513588f597011025ea77357667c91f2d8 SHA512 620076a106661dfcd9d332c628732eb9bafbd1db59b7619a0edc312cf7aa9f91417b6def62c12934e1f7201c8527ec52df4549b5c9c873682653df40f8483250
MISC metadata.xml 647 BLAKE2B 2043328e18efbefdfaded61e1fd2269d8b83910a2440cfba2c692fd343889087bd861ad70b2f8f96651b9e0af28cae3bb0668177478203b2ebabab3f8764c8ec SHA512 98de3665f1c27ae03a73212a3ee947597dde27846a2f44db6ef19d362566887d999d42daf505e8a938352005e5d7a3b77f0d661e4f2170f2ec225c43442a47ff

@ -10,7 +10,7 @@ if [[ ${PV} = *9999 ]]; then
inherit git-r3
else
SRC_URI="https://github.com/sass/libsass/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv x86 ~amd64-linux"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv x86 ~amd64-linux"
fi
DESCRIPTION="A C/C++ implementation of a Sass CSS compiler"

@ -1,4 +1,4 @@
AUX libsavitar-4.7.0-use-system-pugixml.patch 162 BLAKE2B fa5f648f8288cf954cd2e1b0583d3e7ab7d55d288101576580119de6de1b3ffbe1e9037d6ee04731e34c27a3a0432f10f006ce387bee838d8acda64ebaa4ca73 SHA512 c32caa0c0a9d422cfc367b617d6ac6dd14e4c7104533377d46043734ed461a233ed436c0ae197ba78e9b02e6b3b1942b56debc11f68c17571181db18b5950f72
DIST libsavitar-4.9.1.tar.gz 100496 BLAKE2B 7700f110522298905c1e4cf42529e83c06c337ac826007db2fca8abf462abcb8dd9245d2d81773ba3e6663d9afa093685bf955a1cc7e27d48fc904913e56d62f SHA512 2b291a17603922a4a06292282392015cf381a813b5f9a374e8cb35da6c0701ead72cbf76f17e763793225885a4209b49e73114f462b40d6999f95db6de887a44
EBUILD libsavitar-4.9.1.ebuild 1750 BLAKE2B 10d57551bd2703e242b1c8b3a3baac10de4975d9983f3d7f4acd83e29f89134d280385699a3bc95faf8ec289c2d7d068f8938af6f2ea863ae301482f98202086 SHA512 6df6f66f81c11a6d8c5b70a175dfb2070ed1d29aa64ecac11077fbbe37a86e8a706162f431b0473324d87e86d07306736c74aacd978345b28956d559330fbe76
EBUILD libsavitar-4.9.1.ebuild 1751 BLAKE2B 40e8748df6934c20fc4843a8194461e49242fe6b344fa40a1b31dfd64ab84263612bc669039fdc926e48c7f6150916b803a5c9f783531b71f9d794d0209f6e18 SHA512 11fe811ee9165ed118957ed7576b7af8b2c7a070e0587327f110d00657d6a88680fc357059e7078a57494fefdcc066f43c5ccd243a9899bb53aa4471f65bb36d
MISC metadata.xml 975 BLAKE2B 0d0faa17d5fad674babdfcbb4da1366f0a25eb8e28dfd091c006da263b5915b1909d2843cf9eb2cd8ae6205c56bd9b7fd3ac0d39f7594217c69f9b3cb727bc66 SHA512 91548b2cd344eb43f8b9e2e7596d86b9eec8c856c60dd5b41710d53da1e224d7c2c83283fe04031f7e0ede2be92bed1ebb46b3e897289d7b5a5de5fe93a6f1b8

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake python-single-r1

@ -1,4 +1,3 @@
AUX libstemmer_c-shared-library.patch 850 BLAKE2B 864f1f7f34a35b04a57899f0ac3dd743121c4f6270ad1f5cd127789d79e2f70fedab1cbff72d492b7e0f7a048609650e2315b8cebef013fb711f812deeddf32e SHA512 36f96bf9661a71d7aa77619202d7c4d48cc494da6287ecf5a24ffa9963aefadf9f825ec52058534aca908e6c2641af71bfc1bf14ab880d9ba480add7a8cac12b
AUX snowball-stemmer-2.1.0-shared-library.patch 2140 BLAKE2B 43a66ad25bf5bdbc2d908ca91d12da496faf831fce96cc8945d0b56f5b34c3522185f71cc0e73648fd97ad5b2f161750b4376201994c3545fb458f81f313cdee SHA512 bb80701187e29f43fe23075b9598716bd0f2a97903d4905ca0570766235e79b31b68a0aa4c2335ccabec3bcba3b68e75db18fc9bf0f6c928e90f23bc7a12dabc
DIST snowball-data-887fb7a3e006f32b4979e0d55f2543abe78a42f1.tar.gz 33063750 BLAKE2B bffc7e9f8fadbaecf9a7d1a2b8ee7a9db0b1dc1d5a6304a9c8d60b6c24a0947307b8780a99d2349b19e5fbcdfe819cc400ffb0b8b1df9748bb401ae1dec7b9aa SHA512 b68567d3e59aaa870251f682988b52a89d82767e954adea6b7f6247a6d432c29c8373c95a5e49df07110d4cb396aafa64ee6c71af2c0680d383ffe22491e50dd
DIST snowball-stemmer-2.1.0.tar.gz 220324 BLAKE2B 3d92a2f5b4bd633932d681f2555cf1cc1a2c1a1c71fd0272f09bee17628d034a20649450dd90242c155ab7b262e685913d5ad4034bce6e7a41d76f0dfc724137 SHA512 1efd7d8ab58852987e83247048244882c517e32237c8cb3c0558b66ecfb075733ce8805ebb76041e6e7d6664c236054effe66838e7c524ee529ce869aa8134f0

@ -1,23 +0,0 @@
--- /home/graaff/Desktop/Makefile 2009-11-06 01:57:50.000000000 +0100
+++ Makefile 2013-07-18 10:57:32.482149252 +0200
@@ -1,9 +1,13 @@
include mkinc.mak
-CFLAGS=-Iinclude
-all: libstemmer.o stemwords
-libstemmer.o: $(snowball_sources:.c=.o)
- $(AR) -cru $@ $^
-stemwords: examples/stemwords.o libstemmer.o
- $(CC) -o $@ $^
+CFLAGS+=-Iinclude -fPIC
+all: libstemmer.so libstemmer.a stemwords
+libstemmer.so: $(snowball_sources:.c=.o)
+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@.0d -o $@.0d.0.0 $^
+ ln -s $@.0d.0.0 $@.0d
+ ln -s $@.0d.0.0 $@
+libstemmer.a: $(snowball_sources:.c=.o)
+ $(AR) -crs $@ $^
+stemwords: examples/stemwords.o libstemmer.so
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
clean:
- rm -f stemwords *.o src_c/*.o runtime/*.o libstemmer/*.o
+ rm -f stemwords libstemmer.so* libstemmer.a *.o src_c/*.o runtime/*.o libstemmer/*.o

Binary file not shown.

@ -4,5 +4,5 @@ DIST ppx_sexp_conv-0.14.2.tar.gz 49876 BLAKE2B 32109eb6300894156f91721a1c74e9480
DIST ppx_sexp_conv-0.14.3.tar.gz 49886 BLAKE2B 9fda18267995cdd8efb9dafb069df6a51106a800b263f4c94129957a3f23d2bee72f39382623a320cb09ea13c255000ecf9670c19ccf49d55627c02bb0912224 SHA512 7de81d64e7eeb4d6097134606411830dd066f94222ed320a9c32752116961806ccf807f802e07c522c32aa6f7c20bb901804612a0ffc1b14807903c92acb2f44
EBUILD ppx_sexp_conv-0.14.1.ebuild 722 BLAKE2B 56e8596dd6063a6ff69d82c8ca862357d25034add0beb42c4d5e044b0cc95de73c5cc93ceb4c8999df1a1eb3e0f8c11f434f4d1f1cbce157a476fc4c5491bc7d SHA512 569f6c2990f5197e1298ec369aab259143be88b267a0136b3702497fb36d00bebe761f0c443a528981dfd5b2239332d066d86945c1e29307b65be83466e9087b
EBUILD ppx_sexp_conv-0.14.2-r1.ebuild 705 BLAKE2B 882974b6e2bdf2d7cb30f9d2a4bf4caa327a6ee160b8a84eccdf504e0c5e25117158853a0a5d0f10369636d34b7688f9b9ec6b20abaa2090d5718e66a54f6866 SHA512 9b32b1725bc3eefc70ca169cc46b6d3b9acf1365370b5a75c287e7c83b9b81acc9a886465d2483c595a28fb401688d93911f07a1d4931e6c17619c23cb903023
EBUILD ppx_sexp_conv-0.14.3.ebuild 684 BLAKE2B 78b47f8f3c746eb69b424d1ae1a144ec8c18589cfc2773cfc409c4bbbe3287ede3a7d99c804f953f7d7d3accf25fda3186a3f33aa00386aa9635b07610f8b002 SHA512 cd86bf999fc678b9359301e6fa6245688f53a620a2fe2590553b5f856c2ab47940a58c3033f29450344f2b950e8cade4ff9fc2cad3d761d12c7095194652f394
EBUILD ppx_sexp_conv-0.14.3.ebuild 682 BLAKE2B 5c3a391bcc2cd70dfc0e3825d0fa5dd4cdf858b28e878aa5f3f073c14a9e4da82bbf2aea91daf920987af412bab23dfd5a384a33ac4bd865efe890d8d492458a SHA512 ddf515ab60d068a6b5f19e4aef2e9f718b154ceef4fded78da8090c978398caa6eeeca8f52573f6b79afef0ab0bcac9a93a4600dbd48b5707a066677ffb9aa79
MISC metadata.xml 427 BLAKE2B 40cf563b5bf060e3d241038655ac6f7fa0d96e0d3aafd8bbe27cf77e5a997129dcecfb9cc907734a5fdadd720f848807aa60ae4bdf6a924cbce3b7277d605882 SHA512 e29de52e463fa9c21b92a52a6454f2cadc9bd6677d549c86ee43383a88af9ee43134ecca2379088a40f0e89aa7d98b552480e8dc2cd8042f9a8e5453e8ab1d6d

@ -11,7 +11,7 @@ SRC_URI="https://github.com/janestreet/ppx_sexp_conv/archive/v${PV}.tar.gz -> ${
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
IUSE="+ocamlopt"
# Upper bound on ppxlib for bug #769536

@ -1,5 +1,5 @@
DIST ppx_typerep_conv-0.14.1.tar.gz 9453 BLAKE2B 4acafdd51df0659746697283aa3240f1b1403e4e9f9b5fafa6c4b09f4c76f6ac645e2ccab53cba7371b5b004edba38d24198334d10b295d90c8ba5814a602a23 SHA512 6e32f6c2cf6c370fcb8d3b341dbd797c3b7c2557c8604253d744b266c9a3f4984e62ffe6ec5717044378f81e5b78e7f206a7f0f4b43c0dda97a4e7ece745d26d
DIST ppx_typerep_conv-0.14.2.tar.gz 9474 BLAKE2B 7a7ff6669d9af2ced905e5b104058d26ffe06e3784af366a1a4ce753337eeb87c9bfe02d1a6fddaac6c387105d2583194cbd06b915eb35d16e06b1d4ab977e2f SHA512 9372f13cb3f62b3732af4f8ddc00314dd71869bab5599ae0a112d32669de300346781b7fcd2bd649ccedfde54fcd86fb6186812eeb528858048bcd9d5ad443dd
EBUILD ppx_typerep_conv-0.14.1-r1.ebuild 653 BLAKE2B f47242e7d5b9f18641a6a8748ec7ec12e0f716260ec4f61f7ffd841863194f554f796923b6a51e5dce674247487a764aef9f782c8132cc54c93db409d0786712 SHA512 46d2b4010e1d346c6450ee79ff49e5c9898d811909637a8b12666603622267c6b34719410216caa25356ec460377bc9547b762da60391c135b5e95936a44b9b1
EBUILD ppx_typerep_conv-0.14.2.ebuild 632 BLAKE2B 209be5c997580b564c24db6541d4812f5c72e645dcf5cf5b10117d468dbfff899816652d66e44fc5c9111ce1623094db0e90902cb13d6c1e0bce3a4f4b6a5e77 SHA512 47f05f5127ecd667d63617a6f09e430e6902f57b1332ac6069d4e95ada3b2bb27c8f5f6d20390f7746d3a91f876cd7420df94aec0528b8d25124691224dad476
EBUILD ppx_typerep_conv-0.14.2.ebuild 630 BLAKE2B 2e8c6a8e072dddf40379f2a19be50c31b46a382326168cc654dc29842010a03ef355032ecf49a646ac6e1af3fa2916d9f88c0318c6d55709689c427a3d03c053 SHA512 75784c9362cfcf25f524a3104c43bad36e0be44c1b6aa79728b31899aed9ba2816bfeedeb20022fe35deb877c34bd781a376c3e9d556a286395805f6ee9d9075
MISC metadata.xml 430 BLAKE2B 1f8c9b9c75af8dde9e6180ce99665d6504abf4d86eda54e7104ba92c69bfd32d95ba21aa8292aa038d6827c5f73fc4e2cd6b3294ba6984b5931f5e1d29e3d2c7 SHA512 0f0f1ae7a2cecd2eb6544a8219bfd19d8e5ac638d68753ab64b34f8759e1a71d51ee9a74dc7e28b37d8ff749a131c5f701aa7ec18644aa65d99df5a3cac73d3f

@ -11,7 +11,7 @@ SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
IUSE="+ocamlopt"
DEPEND="

@ -9,6 +9,6 @@ EBUILD ppxlib-0.18.0.ebuild 926 BLAKE2B f8affb8c0961a039d9e560db8ef47c435c0aec44
EBUILD ppxlib-0.20.0-r1.ebuild 902 BLAKE2B 168d53ba94211b5436c5b880b58031e3f3efb50ba29f0772b1c3d6f340649b2a3e0d7551ed47340fe8a2232d0743f8b15b2fcb7b265bfa0223c8936d88f86c1b SHA512 1a8a91b842fbd7dfaed8962b7f052126a5fd8c56fa23347c6f6f6c30edc89345a88e9fe7828737c643f69bbafe89bc1bdf58574019651e355eeb33d4d15dcee7
EBUILD ppxlib-0.21.0-r3.ebuild 1113 BLAKE2B 864aab6473c4a64d8728216359aaeef62a992bcb018554b67c0d4b3533d7944b25747b9c5b9fc0acaa01b94e9eda886fe086284026068f5762ba60b7afff8704 SHA512 af7c307191efe5f632439867159caabfa3639450cdb7e7861d1bead2d3c6d14278b28118e47e8332a4d56cb78a0839969aa8f68c05d976e1ac164797e29fa017
EBUILD ppxlib-0.22.0-r3.ebuild 1144 BLAKE2B 8bb514b1d67bf4e2275c398829643eb39b7acfef826920250b0b315fe3b2faef582a8b200e97bffedd5250791d013db002b3400ee25a12f14308e271b1c8fa42 SHA512 ffba32287c1b504d3b556a4c88be356e3371f7bed11b2ba5eca7667f3d8cad22229e2226d791de0422db974411520f7e75cfc4682b831359b91b1b402e63026b
EBUILD ppxlib-0.22.2-r2.ebuild 1140 BLAKE2B 711fd263a8c50535c12b43df4b7d336a7f0156da7ff2c84900066331e3a0cac216a224e492b3510ffb34e5ea4cb829a0a657f661f5b22bc23d0daffd15ca6283 SHA512 7a82ee30f6af372ac46d48951b04dac50c8af297742d1f24797ccbf1a5d1f324e95c54596eccafaff9a6b34617d385323b07bbd35bf387d13777cc6654eb1e3e
EBUILD ppxlib-0.22.2-r2.ebuild 1138 BLAKE2B b399fa35a8087991fb73a518f7e5738e4f31bcc4c590e2ab6d8f41878ee643ef814b123814378f78d8bc4f40a2ec2ff1199d13292e4ecbb4e13953de97404dc3 SHA512 cda5f8ddb5e345e790fe04829e2fbd8026898a71ea3a4ba618a0bcbc4ee6558435970801278d9863975798234b8a094e59969c703573adaf9af5b318fe320d95
EBUILD ppxlib-0.23.0-r1.ebuild 1011 BLAKE2B 3bfcb9e6ce7f21b2e6dc784dcbcfc297f372232c40c8513460d29306d6976243eebd797a710452ef6c33be71d707b23891126e4275430d26787a8f726a8b1884 SHA512 cc2e0ac82fd5c545f550c1b515ca4a040bf964637d98ee64fae22b405683080e60d9890f193ee8799fea0a9a5098c0ed0671aeb7a31df4c77b65abac84770dd2
MISC metadata.xml 419 BLAKE2B 97371846a88fb0008519bfb72fff654aa18401b2066073c09099b1987efbb9ad49012c0ab7624218894130a2cda3d5fba6056522eacd30712d08b7784801d9cf SHA512 8dc94b1dd499f7caa3696de963e69063193892dc939609c581fec3b2d93eca4f266e9360cb5144978ba36864d9143b6fb0a1eb0e0ac5061e04b84a68e787a8f7

@ -16,7 +16,7 @@ SRC_URI="https://github.com/ocaml-ppx/ppxlib/archive/${PV}.tar.gz -> ${P}.tar.gz
LICENSE="Apache-2.0"
SLOT="0/${PV}"
KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
IUSE="+ocamlopt test"
RESTRICT="!test? ( test )"

@ -1,7 +1,3 @@
AUX DBI-Shell-11.950.0-local-scalar.patch 690 BLAKE2B 9c335d431c36c290a8de8b2dae1b8cf042f9500ad1604350b065964df838f2a695af1112dcaaec5b408bc126c5bc70a4cbd92e3d63179925f37281863997f1d9 SHA512 cea9657bcdf674cb1a30aaa28d4f7bea173bedbb07dd14b60866cd423f403f3946323d2831eeac6c9dc7387f15a4ce0b49e43d20b855ca177a172f5f44494057
AUX DBI-Shell-11.950.0-nochrdir.patch 684 BLAKE2B 5172afa840872076088ac9ce367ea5cc5aaf8c0169e9948e0645a58dceeabf8b79c7957155cd99d0670fc53d5314e0ca98ad80f2e65a386a9c765d6deb59937b SHA512 95092f59cec232be5e8bab7973cd99040e25eaf77212f1673cf67f93458417b4b11f596d113f0a53385608e920d0e007a580e62733b65e72ea3a28677fb4eed8
AUX DBI-Shell-11.950.0-perl526.patch 1291 BLAKE2B 34a23fa7e9bc4071a07ae227cfacc60fa6c332c9fd3e9d04c2888d8f8a8b501087b3c9cd11fbea268562e029d11e984ac47c09783eb2cc89f64e6f46f30bd251 SHA512 aa8bd8a9a149052da8aef526cf8b992bdfa5ca150028d68387de8a83cb1648da9a9e32f78fa136c66f32c3cd460bd0164b2cbcb3b60b6faa5d9b87c5784b789b
AUX DBI-Shell-11.950.0-sprintf-warn.patch 732 BLAKE2B 4866aa33b1cc810201ad88ffe3f04a120ebe31e08076ace85f81418f5c2720e97a70ca6b1140d3ca8f343ddbe313ffbf3989614a475aae43568d3e9a85976083 SHA512 2808715da12581e22fceb71057fa5080188af8e5a6b1c4375b0a050973477d66f2a91f1ff473d7f3b5da19f73d06e02bd5221aa908d7d2e948ca6ca1cb1d21a2
DIST DBI-Shell-11.97.tar.gz 57123 BLAKE2B 0c4d459dda185b6fb2ea292912da4624e1a4ed33aa4487eabf5c6c5be6571c1e8d32b29b703749fe562ebbd60aa389f62d5e3461863c5777490345451bf8cad8 SHA512 74bf7244691b8dee967bae4076b59b912d66ac08f48f8468531d003db6d85d43d836116f8314961602a002b58fc9f6d3bea88076e1d7e2783d430137dec68f4b
EBUILD DBI-Shell-11.970.0.ebuild 823 BLAKE2B 3044528d43019ce7ae43c9e911817b2ae20366587bd5be11ff53399fe0a14c34988b4f6f1373f19b363980fc6f070589c7bde4011f3f6ff0c28db95cf69551f4 SHA512 cf80a94a1568cf484fe30513cc1fddb98d433c6e89d321c0da18de1e6af41043e488a485f2fdfaa751f75bb32f2d8e4a3ffeb0921bcd32d8eda3d44c5a8ef1d8
MISC metadata.xml 1567 BLAKE2B 73490e98e228004b9ec03b3a8d6749d4d2c73c9dd2a1dcfa507940a24e73b461b22f76818117af06e420538257912873392a60d85858a4360c0cadda1f20737b SHA512 1e1c25d23c0e24a36df92197bc395f5c32d8952c95d5a659895e97cf01fb58c1c88c761c0897e855d02d53497c526c3b3d8bbcf06a8db658a91a36dfb80a53d2

@ -1,26 +0,0 @@
From ef8efc5b80c9395c01f23e5acd28bb3ee7810b54 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Sun, 8 Oct 2017 13:08:20 +1300
Subject: Fix useless localization of scalar assignment
Bug: https://rt.cpan.org/Ticket/Display.html?id=73873
---
lib/DBI/Format.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/DBI/Format.pm b/lib/DBI/Format.pm
index 49cd7dd..bc985f9 100755
--- a/lib/DBI/Format.pm
+++ b/lib/DBI/Format.pm
@@ -374,7 +374,7 @@ sub header {
sub row {
my($self, $rowref) = @_;
- local( $^W = 0 );
+ local ($^W) = 0;
my @row = @$rowref;
my $fh = $self->{'fh'};
print $fh (join($self->{sep}, @row), "\n");
--
2.14.1

@ -1,26 +0,0 @@
From 9fb29d16514530245965b932040bb4fc37ffa9bf Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Sun, 8 Oct 2017 13:11:29 +1300
Subject: Fix no_chrdir warning
Bug: https://rt.cpan.org/Ticket/Display.html?id=123215
---
lib/DBI/Shell/FindSqlFile.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/DBI/Shell/FindSqlFile.pm b/lib/DBI/Shell/FindSqlFile.pm
index e604290..2b56ccc 100644
--- a/lib/DBI/Shell/FindSqlFile.pm
+++ b/lib/DBI/Shell/FindSqlFile.pm
@@ -62,7 +62,7 @@ sub look_for_file {
File::Find::find(
{
wanted => \&wanted
- , no_chrdir => 1
+ , no_chdir => 1
, bydepth => 0
},
@search_path);
--
2.14.1

@ -1,39 +0,0 @@
From 792cf15cb387e58cec1ef3c6d538689d02ab44c3 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Sun, 8 Oct 2017 12:46:17 +1300
Subject: Fix '.' removal from @INC in Perl 5.26
Configuration files were always assumed to be explicit paths given
by outsiders, not random entries in @INC
Bug: https://bugs.gentoo.org/615592
Bug: https://rt.cpan.org/Ticket/Display.html?id=121136
---
lib/DBI/Shell.pm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/DBI/Shell.pm b/lib/DBI/Shell.pm
index 03dd958..7869f0f 100755
--- a/lib/DBI/Shell.pm
+++ b/lib/DBI/Shell.pm
@@ -133,6 +133,7 @@ use Text::Abbrev ();
use Term::ReadLine;
use Getopt::Long 2.17; # upgrade from CPAN if needed: http://www.perl.com/CPAN
use IO::File;
+use File::Spec ();
use DBI 1.00 qw(:sql_types :utils);
use DBI::Format;
@@ -544,7 +545,8 @@ sub configuration {
$sh->{config_file} = $ENV{DBISH_CONFIG} || "$homedir/.dbish_config";
my $config;
if ($sh->{config_file} && -f $sh->{config_file}) {
- $config = require $sh->{config_file};
+ my $full = File::Spec->rel2abs( $sh->{config_file} );
+ $config = require $full;
# allow for custom configuration options.
if (exists $config->{'options'} ) {
$sh->install_options( $config->{'options'} );
--
2.14.1

@ -1,25 +0,0 @@
From f44b8ba9d8cf954c76a967cbfb5d4182f109f8cf Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Sun, 8 Oct 2017 13:30:36 +1300
Subject: Silence warnings about reduntant sprintf args
Bug: https://rt.cpan.org/Ticket/Display.html?id=123216
---
lib/DBI/Format/SQLMinus.pm | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/DBI/Format/SQLMinus.pm b/lib/DBI/Format/SQLMinus.pm
index c3a9ba2..7b240c9 100755
--- a/lib/DBI/Format/SQLMinus.pm
+++ b/lib/DBI/Format/SQLMinus.pm
@@ -155,6 +155,7 @@ sub header {
if ( exists $cf->{format} and defined $cf->{format} ) {
$format_names = $cf->{format};
+ no warnings 'redundant';
$width = length sprintf( $format_names, " " );
}
--
2.14.1

@ -1,4 +1,3 @@
AUX Dist-Zilla-Plugin-NextVersion-Semantic-0.2.5-no-V-in-test.patch 1218 BLAKE2B 2a3033fb1fe091724a30cbe8d148eff774e3aa12efd09f91cf2cffca0aef0e67f330e6fa391ec3042cddf173c13063331df757ed7cc17ece8e0990a81f23ffb4 SHA512 f8bc8cef1dd685596cf8f8a149eaf872e604cf2159f433de490c5c764a406883fd40705511a9f2b5403e72abad6b37509ed6c24c0763d4f04a3adce69c75bb60
DIST Dist-Zilla-Plugin-NextVersion-Semantic-0.2.6.tar.gz 25247 BLAKE2B 37d0a2a859149af94b44b5bc18c2d611e4c3497fa81064f36118cafe62a17ee7346b3b61f0d4810025eb83c3323e652929c8cfbb8797afed049327d6c78513f4 SHA512 59bcd4154e6ca4f9800d5fb1805d4bf5014f9055dd89ae85443abc2ef042a6a833c90f8c985b004ec77124100bba9be5c8929e8496444ee77405c384fd1ab913
EBUILD Dist-Zilla-Plugin-NextVersion-Semantic-0.2.6.ebuild 602 BLAKE2B c4fe0701bbc2fb2c5ac4e4ceacd0b6a91f4ed46fee945370fe6f28c07e3e95cdcc2e6e0b73117b9c14bb38115d8ff21f93cd81632005b8826bdd48685cac8212 SHA512 f23c32f032ccd2f107ed888904d772dee7d32730f41d129792b46aa637f1171af7eb448e54bf6db7f984e107b0ccf5df9574bbff5a62c2134b4d753fc7ff4940
MISC metadata.xml 745 BLAKE2B f37842432286eefa70c5288e49f870f202f9240321a77a67f9a4ceaad7b07965f4612dbd6e789b7a1f3c489a834fc5fc79e328baba3fd7cbc2bb9f8cebc932ca SHA512 68aa262a3894342c954bfaf53c2e3eb3c29ace63a5fead49d5606120bb97cd625e50a3f5654f6915619306952ee16c48ad650c2dfb6b3215354b317b04f6b4d0

@ -1,40 +0,0 @@
From e38c5bfa847361ab251ce533fdd6e8993afbd2f3 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Sat, 19 Sep 2020 22:13:21 +1200
Subject: t/basic.t: Don't become broken when MAKEOPTS includes V=1
Some people set MAKEOPTS to include V=1, in order to coax autotools
based makefiles into being more verbose.
But when that ENV var is used to direct perl ebuilds for Dzil things,
well, it unintentionally uses "1" as the *next version*, and so breaks
all code that isn't expecting that to happen.
Given its not the job of tests to tell people their system is weird, it
just makes the scope "normal" ( that is, defaulting V to be unset
internally )
Bug: https://bugs.gentoo.org/737308
Bug: https://github.com/yanick/Dist-Zilla-Plugin-NextVersion-Semantic/pull/6
---
t/basic.t | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/t/basic.t b/t/basic.t
index 22d04fe..b2942c8 100644
--- a/t/basic.t
+++ b/t/basic.t
@@ -6,6 +6,10 @@ use Test::Exception;
use Test::DZil;
+# V=1 is common in MAKEOPTS for gnu autotools
+# to set "verbose mode"
+delete $ENV{V} if exists $ENV{V};
+
my $changes = make_changes(<<'END_CHANGES');
- got included in an awesome test suite
END_CHANGES
--
2.28.0

@ -1,4 +1,3 @@
AUX ExtUtils-CppGuess-0.110.0-no-dot-inc.patch 1311 BLAKE2B b440f31822cff738807914df48aa74fdc3775d5eaaea1dcbde4a94217d4d98b2402b44914f463f733bd37460b07c8b1bb99f4d3d06a951d8e57517cbc4d67e4f SHA512 b75865b0f95137389d86ac2b277ae843d8f65075784df73a2de4408ccb9614809b9055798a3ead088fcb17884b1306f4238f817f13b012ea7a913a26e6b8e191
DIST ExtUtils-CppGuess-0.21.tar.gz 14067 BLAKE2B 35dab476a73c532f2635ebee871dfd4cba593c1e09ed4f9fc18826edb9208208fdcc26a884d3c6ec95db18ceafc83fb8bca1c5c8f6a8caf337795ddde80be6d2 SHA512 e48e4815ac9db4e8bb91de101f1d22aed95c770cf6fa2ea5e38094643fe96bc9fe69b0e5a76ba8aa53a653753f93526edab8b1604d864bb2b3a50223617f84d9
DIST ExtUtils-CppGuess-0.23.tar.gz 15311 BLAKE2B 6e0db2d1c419893cc68050a047e957d42b57780fbf0d26ec05831990e3af45decb4693b68ce426ac9eaa578077e9c9c951a01adea197386c9be70faeb9d22977 SHA512 f984f653cffd6288851af3e353532f369d229a8b903f8e0ba7c1a5e9d8bd1b63c3415403b45bf1e8c32dc5c330ed26d1351e37929bd22af271ac295adce737f9
EBUILD ExtUtils-CppGuess-0.210.0.ebuild 1001 BLAKE2B 85de3afe94ece1e558c02b75ff35be17639a17a67ec82351697b4ab65f8126731ae1599a7e03493c809fcf458c6107278653caf15ef1a38b2b90cacb2993dfc5 SHA512 2659f8f9c70c080fc9cb317be133320ade1bcbfeab26acb937aba4b63a52c4ec9fed8356559fa4445857871d76e1df1c6161dd7c08c14f0f66aecd94a286a346

@ -1,56 +0,0 @@
From 2c89bb54f233776fb8760a264286f9e0932f62c6 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Sat, 21 Oct 2017 13:15:43 +1300
Subject: Fix tests on 5.26 without '.' in @INC
Bug: https://rt.cpan.org/Ticket/Display.html?id=120848
Bug: https://bugs.gentoo.org/615842
Bug: https://github.com/tsee/extutils-cppguess/pull/15
---
t/010_module_build.t | 3 ++-
t/011_makemaker.t | 3 ++-
t/lib/TestUtils.pm | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/t/010_module_build.t b/t/010_module_build.t
index 93b5f44..ef004d3 100644
--- a/t/010_module_build.t
+++ b/t/010_module_build.t
@@ -2,7 +2,8 @@
use strict;
use Test::More tests => 1;
-use t::lib::TestUtils;
+use lib 't/lib';
+use TestUtils;
my $separator = ( '=' x 40 . "\n" );
diff --git a/t/011_makemaker.t b/t/011_makemaker.t
index 237636a..5986395 100644
--- a/t/011_makemaker.t
+++ b/t/011_makemaker.t
@@ -2,7 +2,8 @@
use strict;
use Test::More tests => 1;
-use t::lib::TestUtils;
+use lib 't/lib';
+use TestUtils;
my $separator = ( '=' x 40 . "\n" );
diff --git a/t/lib/TestUtils.pm b/t/lib/TestUtils.pm
index c71572b..b3480c4 100644
--- a/t/lib/TestUtils.pm
+++ b/t/lib/TestUtils.pm
@@ -1,4 +1,5 @@
-package t::lib::TestUtils;
+package # hide
+ TestUtils;
use strict;
--
2.14.2

@ -1,4 +1,3 @@
AUX File-NFSLock-1.27-no-dot-inc.patch 915 BLAKE2B d9457492dbbb7f96467b62c2269876a9df2de224afebcb886df8c6c0bd51239070b401ab7132597f53f0901e9c165357134282f3b9bfafebd537b849fc6f1934 SHA512 430296f1616706e1cb3b2e996a10080c95d76672ec3a7a9826c59cefc6624de2cde83a42fdcea9ec3f5ae84af380708282d35e3cabc1715a3b4a6c9f240a8e78
DIST File-NFSLock-1.29.tar.gz 21743 BLAKE2B aece987567f95de22c6454c3a05d2dd2deaf1a6958eebdf7f2ba908b7c26a5894137635e4cfbd6d3b488ca5c37bfa55f50a0a66a9ef84d922d5a8a3ce8d01c36 SHA512 23ca8d6bff0b988eb7369a89c0ac2eb9fca4cc8472b996a93cd71241e76017c5a9db34e648038ec223cf0a3c843af26fc92740890e69e4db371c747c90835cc2
EBUILD File-NFSLock-1.290.0.ebuild 324 BLAKE2B 9f226e40d8ca6019282c13d966b7cd856bb86fddfc9a992567f660eeb7a60cac956cc9953007b6103c6d964f1697a6ac3d36b5f3d3d2a12fdfcab0f5b2bbb977 SHA512 cf2211919dfbe5685a17041b24f42f7ca191cd5eb484b94774a01bf2f8996665f0cf45618863425b7d5cb407bac3a2e29260a8c63120d7e90ee57e44d39ae05b
MISC metadata.xml 397 BLAKE2B a2c77afb83b124d62453d6affde57841860170eaea94e0e423ba96d5ded80b8b70b6c7841fb97a28e4a25511e478dcc625c04cbc23b941cf55e2b200477d1d59 SHA512 8075a163996f5411f1cb9716a402f96394631435f8e4579dfc1e21ec0b7f047fa093356381e877e28d864e79aa80c6e5f827183818457bee6226c51a2e0261af

@ -1,34 +0,0 @@
From 08deb6590eecd9d92a38edf1b22d615175e1d8d3 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentfredric@gmail.com>
Date: Mon, 26 Jun 2017 19:43:14 +1200
Subject: [PATCH] Fix for '.' removal from Perl 5.26 @INC
---
File-NFSLock.spec.PL | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/File-NFSLock.spec.PL b/File-NFSLock.spec.PL
index fdf9fdf..f5586c1 100644
--- a/File-NFSLock.spec.PL
+++ b/File-NFSLock.spec.PL
@@ -18,7 +18,7 @@ sub WriteMakefile {
} elsif (my $version_from = $props{VERSION_FROM}) {
$@ = "";
$version = eval qq{
- do "$version_from";
+ do "./$version_from";
\$$name\::VERSION || die "$version_from: Missing VERSION";
};
die $@ if $@;
@@ -29,7 +29,7 @@ sub WriteMakefile {
die "Makefile.PL: Could not determine version!";
}
}
-do "Makefile.PL";
+do "./Makefile.PL";
if ($name) {
$name =~ s/::/-/g;
} else {
--
2.13.1

@ -1,24 +1,3 @@
AUX GnuPG-Interface-0.520.0-0001-fix-spelling-error-settting-should-be-setting.patch 1104 BLAKE2B 6275517463eec5caa865338109c151cc8c351200cfe8666a9652e7733855a29d668c22a800820caad79dc6ef9d1c6ac0569ec8cec6826f77f60029d30360d14c SHA512 154fe07541bdfa36be9ce72fee8ce1edb8fbfce73d3006b888ec141a3e5efb9eacc3cb91956606ef56b67a5fde8c19da5d92f38d02acb77d7681e1219d6c513c
AUX GnuPG-Interface-0.520.0-0002-Generalize-the-test-suite.patch 4552 BLAKE2B 89ec43b57ed6ecdcd4b78f7b84cbbded575e8cce0785d86960bb8b1f092c53ab54cc533e757dc47501de8fa8c2db73ae42a9f705e3821b57ff1110ad6ef1f34f SHA512 8310f8b4a7e1092273fb0444e65871d5aed2eb87107fcb416f7e5c82146379c3d77ff511209ae01efeb475d62cc2e8682ece15b4a826d15a0e450871fdff50b8
AUX GnuPG-Interface-0.520.0-0003-subkey-validity-of-an-key-when-we-have-established-n.patch 1217 BLAKE2B 5d96a0fb84d7d12ef58caf8e6b3a5363f96ed71300d37ebed5ad057f46b705456da3922f96eb58efe79864cfa0ef5b560e53a7f71c29d36b4602071f0b5bfcb9 SHA512 7cddb8e065e3380a5bf9aeb82af620bdf9c4062a9e315afb871574af6140369ce9c1e9b0ac0c8463c6158694ad78d65e328acce62a3336bce8705f3ffc393cb6
AUX GnuPG-Interface-0.520.0-0004-ensure-that-test-covers-all-signatures.patch 1438 BLAKE2B 44ff3ea149993b7c296a91fe801e9fdc2a8f19617a7c11f2ab83c7de71e37bc26d5ed434a54c1301c74b59bfd66ea19e50ea1880b93d9b74bb2afa6bd48b2c2b SHA512 dcb3f587834d3d22ab745a6796cbb924efbc5d9985947e3884f8f4fdb47a911385d400b4a2b72ef83daed3ba572fbf3d6d4944cf63c308ae4bc64cf369191111
AUX GnuPG-Interface-0.520.0-0005-add-gpg_is_modern-to-test-suite.patch 1522 BLAKE2B 883cbe443329b48ca91f3af2765024b22d889b9e3e49817bc9d4e883594743073314dde2145bfd6de3e234130f9c230b533c62a00897e398e4c73c93f15a41a2 SHA512 170d5231f98234614c5e8c1afb09b2fc4ff26bb8e5b280a8b91a0b886e4199c6c993af41b63db7041cc6f8b2fc676461720e64289818966f3980bcf4af75625c
AUX GnuPG-Interface-0.520.0-0006-Modern-GnuPG-2.1-reports-more-detail-about-secret-ke.patch 5276 BLAKE2B 07621e4fc1f12da4dbed3b537412215ba5121a8ea4b2f5f85ddbb6869228db7744c5fcd884ece126be2d56547983413ee4dd63c81149c4882514bd9d8e400dd8 SHA512 7c1a588028378e2691e951a5572465c877b6ef4fb86b27aa4e3aef3aa75a49e1e53b52c78ba88b00cfb243aa10bf75aef88784d22deb7925d0cdc98687ee8804
AUX GnuPG-Interface-0.520.0-0007-test-suite-match-plaintext-output-across-versions-of.patch 3286 BLAKE2B f1452611f761f6fd06b91e49a47016820633284d8cdddccbabb3d19f4e91e8b9264bd879d1177e64cca7755b9faa6550ac24908dcdaf2b54335e7f7fb22bf08f SHA512 eb6d4efd476d1d7582c66b90fdef21badc8d0eecd24ce642cac7f5d0e3e491c78cbc0ee49bf886ce571f2718c2aa725d6c07a7ca0cd6e5483624df6984cf8f27
AUX GnuPG-Interface-0.520.0-0008-fix-test_default_key_passphrase-when-passphrase-come.patch 1125 BLAKE2B 12144ec6aca0407c3cd5f07ef8f4f8a2837157a9c2af082331af3f7b9f6fe18b3be461b5fd75577b3c5e1d54ef5a31301ebe56f09dc79b3899fbbcd0efc04d6c SHA512 e4f5b69a1ac61a7d39d97cb716f07cef5b612b01b64005b6f0f0974fb19b386a6e817c66fb49762c99b66917e551ab96e34a48cf25bb59b8f06844773adcd44b
AUX GnuPG-Interface-0.520.0-0009-clean-up-trailing-whitespace.patch 3683 BLAKE2B c433dc5c563ee0472ab6d3c1c00db3326345a06aa244df5afa8be7d4e732bd8de624c8fb0b3db4b1a11d53cdd86f28b02ad970323ec743189fd015b107be6154 SHA512 f911f3d830e30d6e3e684abb7c3e90c801715a68bc2ccd02fc75a15f4c9ec9095260a56a021645cc82bc7f6381fee1f0b5e404cdd6c7be93d1cf293adaaabfbf
AUX GnuPG-Interface-0.520.0-0010-fix-capitalization-of-GnuPG.patch 1094 BLAKE2B 5588031372f4d8d932527a96fce63cdd3a563ca937794c44b9eb124ecf3f64d64490adf2030a5ceb035cba9a2ab8f0a3576ef6890a6a6c39372234a66f490497 SHA512 5ecadeb592b73843756a7fb7e8d002e0931832f1120399072decf7586ebec6ec39c6eb33811de58849d7a986a0e87dd0a5b3c6bb0eb9328365d75e6a8eaf02be
AUX GnuPG-Interface-0.520.0-0011-ommand_args-should-be-command_args.patch 670 BLAKE2B 3ec3023e125c2c71ec94eec02b6a103bd7f5bcd64c77d6a7b23b6a81b01e99f776b3d970e2d43806eb53fc3e63de2594703e7602acc4ac77306e9ab3f7beca2f SHA512 cd9af9b1df71f4bbbee8e97de41933c93e908626cb766c88636f9df5a4307360b302eeabe1d999da10b81237f38da673fbd9dd34417df27b3fc4a9e1fd98e73f
AUX GnuPG-Interface-0.520.0-0012-use-fingerprints-as-inputs-during-tests-to-demonstra.patch 9909 BLAKE2B 3b416e430a693f8160b75bcb9b11d807fa9a658ef3737a177392cf9e8819131758d2e6c0b6adde4e75ee7e2205ca6cf74df1e953e6fe00274ec613b1a3417c12 SHA512 8a1dc1d4df2f1ab575256845439be416323cc4448812c28c9a3209404cfc1fbabecdf65701e9fdf9c9530c964114d8f91eae42200a4b7dae8ecb78b77c22611f
AUX GnuPG-Interface-0.520.0-0013-move-key-files-to-generic-names.patch 1247 BLAKE2B 756fd2b7a3a07838975e6401e637e080c7cf1197197de7c76c256bc899c061f19fc7f139d9190065f50672c6e23bf601aa91c0a98ef2c8b8a226623a97009c31 SHA512 8d4a890788ce13923b0bb74c1262c8e41c2d7b4143153e3434df06640afaa7380e39b57f0ea5607e79b57cb28fb7ac8c432da7d712f3e17cb64501a58d92240f
AUX GnuPG-Interface-0.520.0-0014-fix-spelling-s-convience-convenience.patch 2165 BLAKE2B d7d62bbb66c629c327606b9b3b138f45a04de31e81cc2373f384315cb60832598d90e37428e00e2ed659173c0a463d3a4016d085120d8ce17042cd98b808231f SHA512 57f685199115f3d2bafe6c8b088f526fcce60e838891d4f7ba74b648653f4e4f3f730c5b6e9f9143a6bf3812e2f4eb9c2871c60bce9f1db9c872831341b0a401
AUX GnuPG-Interface-0.520.0-0015-added-new-secret-key-with-different-passphrase.patch 5950 BLAKE2B 407c7b0dc9f74a657429eb877d9731c75e5fdc7aed0b291530ef63e357cd0d07e3ee6060bc8b96908c0ff46feb14f15547100f3a1c333c45930b1e2b67e8f42a SHA512 675bfea548b7f0dcff6f6b371e9e673e9c6cf8eb3cd29483519473d7b0519358416cb3946cb14958317f1ff661248a019c3e1b51abf3f2b85b6c645e45b045b5
AUX GnuPG-Interface-0.520.0-0016-Test-use-of-gpg-without-explicit-passphrase-agent-pi.patch 11278 BLAKE2B 581b7addc6c2aebff575d66db69bf827df749f73f98be6e14863dcfec6800eb53fd857d29c7794516f5fb905f0439d920b7352d6f54eb29ebf413949b70d5f45 SHA512 ce27eee7d1b89a8c005c34f81862f3516866aeea23fb254288917d93da4ceec46a7eabc65b2f4c05f3e33e816301934ad83e3e51a8b742e1ac781fd5fe81b609
AUX GnuPG-Interface-0.520.0-0017-Kill-any-GnuPG-agent-before-and-after-the-test-suite.patch 1535 BLAKE2B ac7e1f395a5ce8afe1611156f65aa305ddb1f1ecb26cfc7176c81c411d92c6a71b6a3781f950c4c54b422c6205cef94fce2f45f8bc6545ddeece34af774b5ef7 SHA512 d1f5e3258543fad32cc317bd5b34ffda279fec39d533b0390ed941fee1f780b37dda767670e7ae8f6c68bcf206c089122cf46fc5f8c24e889b032132a1f85eb1
AUX GnuPG-Interface-0.520.0-0018-Use-a-short-temporary-homedir-during-the-test-suite.patch 4096 BLAKE2B 12d9bcd4931c9d8d5c3608beadbfb08bf144794cc13ac724bc2b21ab654facdec98e6293c42bf5c12e5867abd9af77b9c665ef903c91739484a40495bf069fcd SHA512 98d6b4d976013741c614265c8b9d35458461fb4407cbe10f8600c55522128a68a2976157e3165ca99aed733d2c5dee6164fa048a7671bdb9d37612a438327242
AUX GnuPG-Interface-0.520.0-0019-Make-things-work-with-gpg1-assuming-plain-gpg-is-mod.patch 2237 BLAKE2B f152aa512f9fbc240d1862d5439928276fb4fdc73d716fcb4941504d7bc9fcf3facde6c06d2d52a7ca0628d3aa72e65248a1bb0237afe1e6c0585608f3c44b12 SHA512 a59ac575d410b5feb14a8a2165f526a1a7fbdf4575bc7e0d8d690a4d952fb312defb1390ae0186ec65b52737643ff560d5d48e8920bfe1cdcd1702016755035e
AUX GnuPG-Interface-0.520.0-0030-gpg-2.2.6.patch 1897 BLAKE2B eca30b9a8485f7cb960ff343d1b575f324fcf6895c0fd723d14ebcccba14c69dd775ae315130af94a3246e3f8ddedb4ea9ba9c4c894f5e63b05fa8197e82f584 SHA512 5826dbc85925ac810dce695ea747ab2a4d361811295ce4f83925416c8c5842f8486e4275a3e610069157fa37e377413a39f1684ce94f618a99c46e7f6884264c
AUX GnuPG-Interface-0.520.0-0031-gpg-2.2.8.patch 1511 BLAKE2B 3eee783efd64848bc0e86a0e0768c8dc77f8e28819fdc466913ac029cef7fcf42ff67edf89762b4b023d58df7c740b7d3d6a56ea2598699637edf5fb12840464 SHA512 7f8597d4a25e1492475810e47fb7988d74411cbe6ad537889c65bf37119572d1ae0c24e2f5c99d77d12edee3c46dd0e635125ee7a7dde99abeddd19d43fe7aa9
DIST GnuPG-Interface-1.02.tar.gz 75523 BLAKE2B 4b1311bbd930ae6719db9d7d25e247804c1f71f29da52b1896086ff4905cfdf09792d85fa9e90da462e974279cc673bacdcd2b6a32171eca1be861df5f712a98 SHA512 ff4365aa75fbcd2dc77c915ec36c0b578219ae1a2148e936b4769221f91c78a3bc3d371159b5130e7bee36ecf0e169b6a16e3a160d2598811d6f70850119f6e4
EBUILD GnuPG-Interface-1.20.0.ebuild 1022 BLAKE2B 3d7acfd349b0a6b725b2f85023ab1b0586aea6859730b0992bab48addb4de670c833730042e5737b125eb53a98eb174a7ddc4121bd5e6263bc8cc705c53e0a26 SHA512 a9552b01a73de345b2d659e827e50386692c77d29d0b405d1cd985a5ffef20aaae898fcbd9fd9857bd5d563a06a293f6ad26ae4136a7cc6cacd5d9e9d06a14af
MISC metadata.xml 1210 BLAKE2B f51743b57e5bb8b7f5335e9da2b92e0e0aab4a7ebde4a99d1c03a2c2e3de5105284d126ab128682bfdeeb284ec32fa9753599eacff1bc40146f2304d188d612a SHA512 faed617bfbb64f58bf4c9c0d4b032b39427fed287f02ebfff5e7bc249d440fa48fd4729a2e6334d87c99c2922897b87bcb7ed6bcbb4bf1d0bbf359773b50c5fd

@ -1,35 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 13 Sep 2016 07:26:00 +0200
Subject: fix spelling error ("settting" should be "setting")
---
README | 2 +-
lib/GnuPG/Interface.pm | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/README b/README
index fcb982a..f457577 100644
--- a/README
+++ b/README
@@ -6,7 +6,7 @@ SYNOPSIS
use IO::Handle;
use GnuPG::Interface;
- # settting up the situation
+ # setting up the situation
my $gnupg = GnuPG::Interface->new();
$gnupg->options->hash_init( armor => 1,
homedir => '/home/foobar' );
diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm
index f952f3e..83a4b1a 100644
--- a/lib/GnuPG/Interface.pm
+++ b/lib/GnuPG/Interface.pm
@@ -834,7 +834,7 @@ GnuPG::Interface - Perl interface to GnuPG
use IO::Handle;
use GnuPG::Interface;
- # settting up the situation
+ # setting up the situation
my $gnupg = GnuPG::Interface->new();
$gnupg->options->hash_init( armor => 1,
homedir => '/home/foobar' );

@ -1,151 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 13 Sep 2016 10:38:12 -0400
Subject: Generalize the test suite
The test suite currently assumes it knows something about the internal
state of GnuPG's homedir.
It's safer and less brittle to rely explicitly on the public interface
that GnuPG has committed to, such as --import-keys and --list-keys,
rather than assuming that certain files are in certain places in the
GnuPG homedir.
It's also better to create a fresh homedir and allow GnuPG to populate
it during the test suite, cleaning it up at the end, rather than hope
that GnuPG will leave a pre-existing homedir untouched.
With this change, many more of the tests pass when /usr/bin/gpg is
provided by GnuPG 2.1.
---
t/000_setup.t | 28 ++++++++++++++++++++++++++++
t/MyTestSpecific.pm | 2 +-
t/zzz_cleanup.t | 17 +++++++++++++++++
test/fake-pinentry.pl | 28 ++++++++++++++++++++++++++++
test/{options => gpg.conf} | 0
test/secret-keys/1.0.test | 4 ++--
6 files changed, 76 insertions(+), 3 deletions(-)
create mode 100644 t/000_setup.t
create mode 100644 t/zzz_cleanup.t
create mode 100755 test/fake-pinentry.pl
rename test/{options => gpg.conf} (100%)
diff --git a/t/000_setup.t b/t/000_setup.t
new file mode 100644
index 0000000..7f7f7b0
--- /dev/null
+++ b/t/000_setup.t
@@ -0,0 +1,28 @@
+#!/usr/bin/perl -w
+
+use strict;
+use English qw( -no_match_vars );
+
+use lib './t';
+use MyTest;
+use MyTestSpecific;
+use Cwd;
+use File::Path qw (make_path);
+use File::Copy;
+
+TEST
+{
+ make_path('test/gnupghome', { mode => 0700 });
+ my $agentconf = IO::File->new( "> test/gnupghome/gpg-agent.conf" );
+ $agentconf->write("pinentry-program " . getcwd() . "/test/fake-pinentry.pl\n");
+ $agentconf->close();
+ copy('test/gpg.conf', 'test/gnupghome/gpg.conf');
+ reset_handles();
+
+ my $pid = $gnupg->import_keys(command_args => [ 'test/pubring.gpg', 'test/secring.gpg' ],
+ options => [ 'batch'],
+ handles => $handles);
+ waitpid $pid, 0;
+
+ return $CHILD_ERROR == 0;
+};
diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm
index 053b749..1af98ae 100644
--- a/t/MyTestSpecific.pm
+++ b/t/MyTestSpecific.pm
@@ -40,7 +40,7 @@ use vars qw( @ISA @EXPORT
$gnupg = GnuPG::Interface->new( passphrase => 'test' );
-$gnupg->options->hash_init( homedir => 'test',
+$gnupg->options->hash_init( homedir => 'test/gnupghome',
armor => 1,
meta_interactive => 0,
meta_signing_key_id => '0xF950DA9C',
diff --git a/t/zzz_cleanup.t b/t/zzz_cleanup.t
new file mode 100644
index 0000000..5c03a72
--- /dev/null
+++ b/t/zzz_cleanup.t
@@ -0,0 +1,17 @@
+#!/usr/bin/perl -w
+
+use strict;
+use English qw( -no_match_vars );
+
+use lib './t';
+use MyTest;
+use MyTestSpecific;
+use File::Path qw (remove_tree);
+
+# this is actually no test, just cleanup.
+TEST
+{
+ my $err = [];
+ remove_tree('test/gnupghome', {error => \$err});
+ return ! @$err;
+};
diff --git a/test/fake-pinentry.pl b/test/fake-pinentry.pl
new file mode 100755
index 0000000..12d3611
--- /dev/null
+++ b/test/fake-pinentry.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl -w
+# Use this for your test suites when a perl interpreter is available.
+#
+# The encrypted keys in your test suite that you expect to work must
+# be locked with a passphrase of "test"
+#
+# Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+#
+# License: This trivial work is hereby explicitly placed into the
+# public domain. Anyone may reuse it, modify it, redistribute it for
+# any purpose.
+
+use strict;
+use warnings;
+
+# turn off buffering
+$| = 1;
+
+print "OK This is only for test suites, and should never be used in production\n";
+while (<STDIN>) {
+ chomp;
+ next if (/^$/);
+ next if (/^#/);
+ print ("D test\n") if (/^getpin/i);
+ print "OK\n";
+ exit if (/^bye/i);
+}
+1;
diff --git a/test/options b/test/gpg.conf
similarity index 100%
rename from test/options
rename to test/gpg.conf
diff --git a/test/secret-keys/1.0.test b/test/secret-keys/1.0.test
index 5999484..129d472 100644
--- a/test/secret-keys/1.0.test
+++ b/test/secret-keys/1.0.test
@@ -1,5 +1,5 @@
-test/secring.gpg
-----------------
+test/gnupghome/secring.gpg
+--------------------------
sec 1024D/F950DA9C 2000-02-06
uid GnuPG test key (for testing purposes only)
uid Foo Bar (1)

@ -1,37 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 13 Sep 2016 11:35:31 -0400
Subject: subkey validity of an key when we have established no trust anchors
This apparently isn't tested by deep comparisons, though, so it was
never caught.
---
t/get_public_keys.t | 2 +-
t/get_secret_keys.t | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/get_public_keys.t b/t/get_public_keys.t
index 53db021..73e320b 100644
--- a/t/get_public_keys.t
+++ b/t/get_public_keys.t
@@ -175,7 +175,7 @@ TEST
];
my $subkey = GnuPG::SubKey->new
- ( validity => 'u',
+ ( validity => '-',
length => 768,
algo_num => 16,
hex_id => 'ADB99D9C2E854A6B',
diff --git a/t/get_secret_keys.t b/t/get_secret_keys.t
index 3a1d99f..7bba083 100644
--- a/t/get_secret_keys.t
+++ b/t/get_secret_keys.t
@@ -48,7 +48,7 @@ TEST
my $subkey = GnuPG::SubKey->new
- ( validity => 'u',
+ ( validity => '-',
length => 768,
algo_num => 16,
hex_id => 'ADB99D9C2E854A6B',

@ -1,35 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 13 Sep 2016 11:39:04 -0400
Subject: ensure that test covers all signatures
The earlier test wasn't reporting on one of the known self-sigs for
the test key for some reason.
This change ensures that all known signatures are present.
---
t/get_public_keys.t | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/t/get_public_keys.t b/t/get_public_keys.t
index 73e320b..9e96f7d 100644
--- a/t/get_public_keys.t
+++ b/t/get_public_keys.t
@@ -83,7 +83,17 @@ TEST
date_string => '2000-02-06',
hex_id => '53AE596EF950DA9C',
sig_class => 0x13,
- validity => '!'));
+ validity => '!'),
+ GnuPG::Signature->new(
+ date => 1177086329,
+ algo_num => 17,
+ is_exportable => 1,
+ user_id_string => 'GnuPG test key (for testing purposes only)',
+ date_string => '2007-04-20',
+ hex_id => '53AE596EF950DA9C',
+ sig_class => 0x13,
+ validity => '!'),
+ );
my $uid1 = GnuPG::UserId->new( as_string => 'Foo Bar (1)',
validity => '-');

@ -1,39 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 13 Sep 2016 14:31:38 -0400
Subject: add $gpg_is_modern to test suite
MyTestSpecific.pm now produces a new variable indicating whether it
the version of GnuPG we run against is from the "Modern" line of GnuPG
development (2.1 or later). This will be useful when comparing output
that we can't expect from earlier versions.
---
t/MyTestSpecific.pm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm
index 1af98ae..a309698 100644
--- a/t/MyTestSpecific.pm
+++ b/t/MyTestSpecific.pm
@@ -29,17 +29,20 @@ use GnuPG::Handles;
use vars qw( @ISA @EXPORT
$stdin $stdout $stderr
$gpg_program $handles $gnupg
- %texts
+ %texts $gpg_is_modern
);
@ISA = qw( Exporter );
@EXPORT = qw( stdin stdout stderr
gnupg_program handles reset_handles
- texts file_match
+ texts file_match gpg_is_modern
);
$gnupg = GnuPG::Interface->new( passphrase => 'test' );
+my @version = split('\.', $gnupg->version());
+$gpg_is_modern = ($version[0] > 2 || ($version[0] == 2 && $version[1] >= 1));
+
$gnupg->options->hash_init( homedir => 'test/gnupghome',
armor => 1,
meta_interactive => 0,

@ -1,120 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 13 Sep 2016 14:12:40 -0400
Subject: Modern GnuPG (2.1) reports more detail about secret keys
the GnuPG "modern" suite (version 2.1 or later) reports more detail
about secret keys than previous versions did. In particular, it
reports stored ownertrust, public key data, and designated revokers
for secret keys. Older versions only reported those attributes for
public keys.
This patch adjusts the test suite to ensure that our handmade key
matches the produced key when /usr/bin/gpg is supplied by the modern
suite.
---
t/get_secret_keys.t | 66 +++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 54 insertions(+), 12 deletions(-)
diff --git a/t/get_secret_keys.t b/t/get_secret_keys.t
index 7bba083..c798cce 100644
--- a/t/get_secret_keys.t
+++ b/t/get_secret_keys.t
@@ -23,16 +23,34 @@ TEST
return 0 unless @returned_keys == 1;
$given_key = shift @returned_keys;
-
- $handmade_key = GnuPG::PrimaryKey->new
- ( length => 1024,
+ my $pubkey_data = [
+ Math::BigInt->from_hex('0x'.
+ '88FCAAA5BCDCD52084D46143F44ED1715A339794641158DE03AA2092AFD3174E3DCA2CB7DF2DDC6FEDF7C3620F5A8BDAD06713E6153F8748DD76CB97305F30CBA8F8801DB47FAC11EED725F55672CB9BDAD629178A677CBB089B3E8AE0D9A9AD7741697A35F2868C62D25670994A92D810480173DC24263EEA0F103A43C0B64B'),
+ Math::BigInt->from_hex('0x'.
+ '8F2A3842C70FF17660CBB78C78FC93F534AB9A17'),
+ Math::BigInt->from_hex('0x'.
+ '83E348C2AA65F56DE84E8FDCE6DA7B0991B1C75EC8CA446FA85869A43350907BFF36BE512385E8E7E095578BB2138C04E318495873218286DE2B8C86F36EA670135434967AC798EBA28581F709F0C6B696EB512D3E561E381A06E4B5239BCC655015F9A926C74E4B859B26EAD604F208A556511A76A40EDCD9C38E6BD82CCCB4'),
+ Math::BigInt->from_hex('0x'.
+ '80DE04C85E30C9D62C13F90CFF927A84A5A59D0900B3533D4D6193FEF8C5DAEF9FF8A7D5F76B244FBC17644F50D524E0B19CD3A4B5FC2D78DAECA3FE58FA1C1A64E6C7B96C4EE618173543163A72EF954DFD593E84342699096E9CA76578AC1DE3D893BCCD0BF470CEF625FAF816A0F503EF75C18C6173E35C8675AF919E5704')
+ ];
+
+
+ my $args = {
+ length => 1024,
algo_num => 17,
hex_id => '53AE596EF950DA9C',
creation_date => 949813093,
creation_date_string => '2000-02-06',
- owner_trust => '', # secret keys do not report ownertrust?
+ owner_trust => '-',
usage_flags => 'scaESCA',
- );
+ pubkey_data => $pubkey_data,
+ };
+ if (!$gpg_is_modern) {
+ # older versions don't report ownertrust or pubkey_data for secret keys:
+ delete $args->{pubkey_data};
+ $args->{owner_trust} = '';
+ }
+ $handmade_key = GnuPG::PrimaryKey->new($args);
$handmade_key->fingerprint
( GnuPG::Fingerprint->new( as_hex_string =>
@@ -42,20 +60,42 @@ TEST
$handmade_key->push_user_ids(
GnuPG::UserId->new( as_string => 'GnuPG test key (for testing purposes only)',
- validity => ''), # secret keys do not report uid validity?
+ validity => $args->{owner_trust}),
GnuPG::UserId->new( as_string => 'Foo Bar (1)',
- validity => '')); # secret keys do not report uid validity?
-
-
- my $subkey = GnuPG::SubKey->new
- ( validity => '-',
+ validity => $args->{owner_trust}));
+
+ my $revoker = GnuPG::Revoker->new
+ ( algo_num => 17,
+ class => 0x80,
+ fingerprint => GnuPG::Fingerprint->new( as_hex_string =>
+ '4F863BBBA8166F0A340F600356FFD10A260C4FA3'),
+ );
+
+ my $subkey_pub_data = [
+ Math::BigInt->from_hex('0x'.
+ '8831982DADC4C5D05CBB01D9EAF612131DDC9C24CEA7246557679423FB0BA42F74D10D8E7F5564F6A4FB8837F8DC4A46571C19B122E6DF4B443D15197A6A22688863D0685FADB6E402316DAA9B560D1F915475364580A67E6DF0A727778A5CF3'),
+ Math::BigInt->from_hex('0x'.
+ '6'),
+ Math::BigInt->from_hex('0x'.
+ '2F3850FF130C6AC9AA0962720E86539626FAA9B67B33A74DFC0DE843FF3E90E43E2F379EE0182D914FA539CCCF5C83A20DB3A7C45E365B8A2A092E799A3DFF4AD8274EB977BAAF5B1AFB2ACB8D6F92454F01682F555565E73E56793C46EF7C3E')
+ ];
+
+ my $sub_args = {
+ validity => '-',
length => 768,
algo_num => 16,
hex_id => 'ADB99D9C2E854A6B',
creation_date => 949813119,
creation_date_string => '2000-02-06',
usage_flags => 'e',
- );
+ pubkey_data => $subkey_pub_data,
+ };
+
+ if (!$gpg_is_modern) {
+ # older versions do not report pubkey data for secret keys
+ delete $sub_args->{pubkey_data};
+ }
+ my $subkey = GnuPG::SubKey->new($sub_args);
$subkey->fingerprint
( GnuPG::Fingerprint->new( as_hex_string =>
@@ -64,6 +104,8 @@ TEST
);
$handmade_key->push_subkeys( $subkey );
+ # older versions do not report designated revokers for secret keys
+ $handmade_key->push_revokers( $revoker ) if ($gpg_is_modern);
$handmade_key->compare( $given_key );
};

@ -1,95 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 13 Sep 2016 14:46:13 -0400
Subject: test suite: match plaintext output across versions of GnuPG
The human-readable version of --list-keys is *not* expected to be
static over time or as the user's environment changes (e.g. LANG or
LC_MESSAGES), so expecting it to be machine-parseable is probably a
mistake.
That said, some users might want to pull textual information about
specific keys to display directly to the user, so it's not a terrible
idea to have it in the test suite.
Modern GnuPG (2.1 or later) changes the default structure of the
human-readable output in a few significant ways:
* it writes the path to the keyring as an absolute path, even if
$GNUPGHOME is set to a non-absolute path.
* it shows the calculated user id validity by default (see
show-uid-validity in gpg's --list-options). (note that this is a
translated string, so that "unknown" (in the default C locale)
becomes "inconnue" when LANG or LC_MESSAGES is set to fr_CH.UTF-8,
for example.
* it writes the key algorithm names differently (e.g. rsa2048 instead
of 2048R)
* it does not display the key ID at all by default
* it displays the full fingerprint in compact form by default
This changeset fixes the test suite so that it can do a rough
verification of the human-readable text output by list_secret_keys in
the C locale in modern versions of GnuPG, while leaving it working for
older GnuPG suites.
---
t/list_secret_keys.t | 15 +++++++++++++--
test/secret-keys/1.modern.test | 8 ++++++++
2 files changed, 21 insertions(+), 2 deletions(-)
create mode 100644 test/secret-keys/1.modern.test
diff --git a/t/list_secret_keys.t b/t/list_secret_keys.t
index 1fe9b7e..51e3651 100644
--- a/t/list_secret_keys.t
+++ b/t/list_secret_keys.t
@@ -16,13 +16,22 @@ TEST
{
reset_handles();
+ $ENV{LC_MESSAGES} = 'C';
my $pid = $gnupg->list_secret_keys( handles => $handles );
close $stdin;
$outfile = 'test/secret-keys/1.out';
my $out = IO::File->new( "> $outfile" )
or die "cannot open $outfile for writing: $ERRNO";
- $out->print( <$stdout> );
+ while (<$stdout>) {
+ if ($gpg_is_modern && /^\/.*\/test\/gnupghome\/pubring.kbx$/) {
+ $out->print("test/gnupghome/pubring.kbx\n");
+ } elsif ($gpg_is_modern && /^--*$/) {
+ $out->print("--------------------------\n");
+ } else {
+ $out->print( $_ );
+ }
+ }
close $stdout;
$out->close();
waitpid $pid, 0;
@@ -33,7 +42,9 @@ TEST
TEST
{
- my @files_to_test = ( 'test/secret-keys/1.0.test' );
+ my $suffix = '0';
+ $suffix = 'modern' if ($gpg_is_modern);
+ my @files_to_test = ( 'test/secret-keys/1.'.$suffix.'.test' );
return file_match( $outfile, @files_to_test );
};
diff --git a/test/secret-keys/1.modern.test b/test/secret-keys/1.modern.test
new file mode 100644
index 0000000..3e46407
--- /dev/null
+++ b/test/secret-keys/1.modern.test
@@ -0,0 +1,8 @@
+test/gnupghome/pubring.kbx
+--------------------------
+sec dsa1024 2000-02-06 [SCA]
+ 93AFC4B1B0288A104996B44253AE596EF950DA9C
+uid [ unknown] GnuPG test key (for testing purposes only)
+uid [ unknown] Foo Bar (1)
+ssb elg768 2000-02-06 [E]
+

@ -1,29 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 13 Sep 2016 15:22:27 -0400
Subject: fix test_default_key_passphrase when passphrase comes from agent
In the modern GnuPG suite, where the passphrase is always managed by
the agent, gpg itself doesn't emit the GOOD_PASSPHRASE status.
Instead, if signing is successful it emits plain old SIG_CREATED.
There are probably even better ways to test whether a given key is
unlocked in this case, but this is a straightforward baseline fix that
should get this part of the test suite to pass with all available
versions of GnuPG.
---
lib/GnuPG/Interface.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm
index 83a4b1a..1f1e6d5 100644
--- a/lib/GnuPG/Interface.pm
+++ b/lib/GnuPG/Interface.pm
@@ -808,7 +808,7 @@ sub test_default_key_passphrase() {
# all we realy want to check is the status fh
while (<$status>) {
- if (/^\[GNUPG:\]\s*GOOD_PASSPHRASE/) {
+ if (/^\[GNUPG:\]\s*(GOOD_PASSPHRASE|SIG_CREATED)/) {
waitpid $pid, 0;
return 1;
}

@ -1,112 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 11 Oct 2016 19:52:13 -0400
Subject: clean up trailing whitespace
---
lib/GnuPG/Fingerprint.pm | 2 +-
lib/GnuPG/Handles.pm | 2 +-
lib/GnuPG/Interface.pm | 16 ++++++++--------
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/lib/GnuPG/Fingerprint.pm b/lib/GnuPG/Fingerprint.pm
index fcb1028..81c38a7 100644
--- a/lib/GnuPG/Fingerprint.pm
+++ b/lib/GnuPG/Fingerprint.pm
@@ -20,7 +20,7 @@ with qw(GnuPG::HashInit);
has as_hex_string => (
isa => 'Any',
- is => 'rw',
+ is => 'rw',
);
sub compare {
diff --git a/lib/GnuPG/Handles.pm b/lib/GnuPG/Handles.pm
index b30ca57..3eee0e3 100644
--- a/lib/GnuPG/Handles.pm
+++ b/lib/GnuPG/Handles.pm
@@ -73,7 +73,7 @@ GnuPG::Handles - GnuPG handles bundle
= ( IO::Handle->new(), IO::Handle->new(), IO::Handle->new(),
IO::Handle->new(), IO::Handle->new(), IO::Handle->new(),
);
-
+
my $handles = GnuPG::Handles->new
( stdin => $stdin,
stdout => $stdout,
diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm
index 1f1e6d5..19e8070 100644
--- a/lib/GnuPG/Interface.pm
+++ b/lib/GnuPG/Interface.pm
@@ -833,7 +833,7 @@ GnuPG::Interface - Perl interface to GnuPG
# A simple example
use IO::Handle;
use GnuPG::Interface;
-
+
# setting up the situation
my $gnupg = GnuPG::Interface->new();
$gnupg->options->hash_init( armor => 1,
@@ -852,7 +852,7 @@ GnuPG::Interface - Perl interface to GnuPG
# Now we'll go about encrypting with the options already set
my @plaintext = ( 'foobar' );
my $pid = $gnupg->encrypt( handles => $handles );
-
+
# Now we write to the input of GnuPG
print $input @plaintext;
close $input;
@@ -1144,7 +1144,7 @@ The following setup can be done before any of the following examples:
my $handles = GnuPG::Handles->new( stdin => $input,
stdout => $output );
-
+
# this sets up the communication
# Note that the recipients were specified earlier
# in the 'options' data member of the $gnupg object.
@@ -1220,7 +1220,7 @@ The following setup can be done before any of the following examples:
# a file written to disk
# Make sure you "use IO::File" if you use this module!
my $cipher_file = IO::File->new( 'encrypted.gpg' );
-
+
# this sets up the communication
my $pid = $gnupg->decrypt( handles => $handles );
@@ -1252,7 +1252,7 @@ The following setup can be done before any of the following examples:
# This time we'll just let GnuPG print to our own output
# and read from our input, because no input is needed!
my $handles = GnuPG::Handles->new();
-
+
my @ids = ( 'ftobin', '0xABCD1234' );
# this time we need to specify something for
@@ -1260,7 +1260,7 @@ The following setup can be done before any of the following examples:
# search ids as arguments
my $pid = $gnupg->list_public_keys( handles => $handles,
command_args => [ @ids ] );
-
+
waitpid $pid, 0;
=head2 Creating GnuPG::PublicKey Objects
@@ -1280,7 +1280,7 @@ The following setup can be done before any of the following examples:
command_args => [ qw( test/key.1.asc ) ],
handles => $handles,
);
-
+
my @out = <$handles->stdout()>;
waitpid $pid, 0;
@@ -1357,7 +1357,7 @@ under the same terms as Perl itself.
=head1 AUTHOR
-GnuPg::Interface is currently maintained by Jesse Vincent <jesse@cpan.org>.
+GnuPg::Interface is currently maintained by Jesse Vincent <jesse@cpan.org>.
Frank J. Tobin, ftobin@cpan.org was the original author of the package.

@ -1,35 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 11 Oct 2016 19:52:58 -0400
Subject: fix capitalization of GnuPG
---
README | 2 +-
lib/GnuPG/Interface.pm | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/README b/README
index f457577..aa7c984 100644
--- a/README
+++ b/README
@@ -427,7 +427,7 @@ LICENSE
under the same terms as Perl itself.
AUTHOR
- GnuPg::Interface is currently maintained by Jesse Vincent
+ GnuPG::Interface is currently maintained by Jesse Vincent
<jesse@cpan.org>.
Frank J. Tobin, ftobin@cpan.org was the original author of the package.
diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm
index 19e8070..cf7138f 100644
--- a/lib/GnuPG/Interface.pm
+++ b/lib/GnuPG/Interface.pm
@@ -1357,7 +1357,7 @@ under the same terms as Perl itself.
=head1 AUTHOR
-GnuPg::Interface is currently maintained by Jesse Vincent <jesse@cpan.org>.
+GnuPG::Interface is currently maintained by Jesse Vincent <jesse@cpan.org>.
Frank J. Tobin, ftobin@cpan.org was the original author of the package.

@ -1,21 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 11 Oct 2016 19:57:10 -0400
Subject: ommand_args should be command_args
---
t/list_public_keys.t | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/list_public_keys.t b/t/list_public_keys.t
index 7e563c1..a36a78b 100644
--- a/t/list_public_keys.t
+++ b/t/list_public_keys.t
@@ -38,7 +38,7 @@ TEST
reset_handles();
my $pid = $gnupg->list_public_keys( handles => $handles,
- ommand_args => '0xF950DA9C'
+ command_args => '0xF950DA9C'
);
close $stdin;

@ -1,265 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 11 Oct 2016 20:05:16 -0400
Subject: use fingerprints as inputs during tests to demonstrate explicit usage
---
README | 6 +++---
lib/GnuPG/Interface.pm | 6 +++---
lib/GnuPG/Options.pm | 2 +-
t/MyTestSpecific.pm | 2 +-
t/encrypt.t | 6 +++---
t/export_keys.t | 4 ++--
t/get_public_keys.t | 2 +-
t/get_secret_keys.t | 2 +-
t/list_public_keys.t | 4 ++--
t/list_secret_keys.t | 4 ++--
t/list_sigs.t | 4 ++--
t/sign_and_encrypt.t | 2 +-
12 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/README b/README
index aa7c984..ed94ede 100644
--- a/README
+++ b/README
@@ -228,7 +228,7 @@ EXAMPLES
$gnupg->options->hash_init( armor => 1,
recipients => [ 'ftobin@uiuc.edu',
- '0xABCD1234' ],
+ '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ],
meta_interactive => 0 ,
);
@@ -347,7 +347,7 @@ EXAMPLES
# and read from our input, because no input is needed!
my $handles = GnuPG::Handles->new();
- my @ids = ( 'ftobin', '0xABCD1234' );
+ my @ids = ( 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' );
# this time we need to specify something for
# command_args because --list-public-keys takes
@@ -358,7 +358,7 @@ EXAMPLES
waitpid $pid, 0;
Creating GnuPG::PublicKey Objects
- my @ids = [ 'ftobin', '0xABCD1234' ];
+ my @ids = [ 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ];
my @keys = $gnupg->get_public_keys( @ids );
diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm
index cf7138f..6eaef7d 100644
--- a/lib/GnuPG/Interface.pm
+++ b/lib/GnuPG/Interface.pm
@@ -1130,7 +1130,7 @@ The following setup can be done before any of the following examples:
$gnupg->options->hash_init( armor => 1,
recipients => [ 'ftobin@uiuc.edu',
- '0xABCD1234' ],
+ '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ],
meta_interactive => 0 ,
);
@@ -1253,7 +1253,7 @@ The following setup can be done before any of the following examples:
# and read from our input, because no input is needed!
my $handles = GnuPG::Handles->new();
- my @ids = ( 'ftobin', '0xABCD1234' );
+ my @ids = ( 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' );
# this time we need to specify something for
# command_args because --list-public-keys takes
@@ -1265,7 +1265,7 @@ The following setup can be done before any of the following examples:
=head2 Creating GnuPG::PublicKey Objects
- my @ids = [ 'ftobin', '0xABCD1234' ];
+ my @ids = [ 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ];
my @keys = $gnupg->get_public_keys( @ids );
diff --git a/lib/GnuPG/Options.pm b/lib/GnuPG/Options.pm
index 86261a0..7788662 100644
--- a/lib/GnuPG/Options.pm
+++ b/lib/GnuPG/Options.pm
@@ -198,7 +198,7 @@ GnuPG::Options - GnuPG options embodiment
# assuming $gnupg is a GnuPG::Interface object
$gnupg->options->armor( 1 );
- $gnupg->options->push_recipients( 'ftobin', '0xABCD1234' );
+ $gnupg->options->push_recipients( 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' );
=head1 DESCRIPTION
diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm
index a309698..c8764cc 100644
--- a/t/MyTestSpecific.pm
+++ b/t/MyTestSpecific.pm
@@ -46,7 +46,7 @@ $gpg_is_modern = ($version[0] > 2 || ($version[0] == 2 && $version[1] >= 1));
$gnupg->options->hash_init( homedir => 'test/gnupghome',
armor => 1,
meta_interactive => 0,
- meta_signing_key_id => '0xF950DA9C',
+ meta_signing_key_id => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C',
always_trust => 1,
);
diff --git a/t/encrypt.t b/t/encrypt.t
index 3183ac4..e6bdc08 100644
--- a/t/encrypt.t
+++ b/t/encrypt.t
@@ -27,7 +27,7 @@ TEST
$gnupg->options->clear_recipients();
$gnupg->options->clear_meta_recipients_keys();
- $gnupg->options->push_recipients( '0x2E854A6B' );
+ $gnupg->options->push_recipients( '0x7466B7E98C4CCB64C2CE738BADB99D9C2E854A6B' );
my $pid = $gnupg->encrypt( handles => $handles );
@@ -43,7 +43,7 @@ TEST
{
reset_handles();
- my @keys = $gnupg->get_public_keys( '0xF950DA9C' );
+ my @keys = $gnupg->get_public_keys( '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' );
$gnupg->options->clear_recipients();
$gnupg->options->clear_meta_recipients_keys();
$gnupg->options->push_meta_recipients_keys( @keys );
@@ -64,7 +64,7 @@ TEST
$gnupg->options->clear_recipients();
$gnupg->options->clear_meta_recipients_keys();
- $gnupg->options->push_recipients( '0x2E854A6B' );
+ $gnupg->options->push_recipients( '0x7466B7E98C4CCB64C2CE738BADB99D9C2E854A6B' );
$handles->stdin( $texts{plain}->fh() );
$handles->options( 'stdin' )->{direct} = 1;
diff --git a/t/export_keys.t b/t/export_keys.t
index cf5c82b..5add064 100644
--- a/t/export_keys.t
+++ b/t/export_keys.t
@@ -15,7 +15,7 @@ TEST
reset_handles();
my $pid = $gnupg->export_keys( handles => $handles,
- command_args => '0xF950DA9C' );
+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' );
close $stdin;
waitpid $pid, 0;
@@ -31,7 +31,7 @@ TEST
$handles->options( 'stdout' )->{direct} = 1;
my $pid = $gnupg->export_keys( handles => $handles,
- command_args => '0xF950DA9C' );
+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' );
waitpid $pid, 0;
return $CHILD_ERROR == 0;
};
diff --git a/t/get_public_keys.t b/t/get_public_keys.t
index 9e96f7d..7893625 100644
--- a/t/get_public_keys.t
+++ b/t/get_public_keys.t
@@ -19,7 +19,7 @@ TEST
{
reset_handles();
- my @returned_keys = $gnupg->get_public_keys_with_sigs( '0xF950DA9C' );
+ my @returned_keys = $gnupg->get_public_keys_with_sigs( '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' );
return 0 unless @returned_keys == 1;
diff --git a/t/get_secret_keys.t b/t/get_secret_keys.t
index c798cce..a7f1348 100644
--- a/t/get_secret_keys.t
+++ b/t/get_secret_keys.t
@@ -18,7 +18,7 @@ TEST
{
reset_handles();
- my @returned_keys = $gnupg->get_secret_keys( '0xF950DA9C' );
+ my @returned_keys = $gnupg->get_secret_keys( '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' );
return 0 unless @returned_keys == 1;
diff --git a/t/list_public_keys.t b/t/list_public_keys.t
index a36a78b..622b092 100644
--- a/t/list_public_keys.t
+++ b/t/list_public_keys.t
@@ -38,7 +38,7 @@ TEST
reset_handles();
my $pid = $gnupg->list_public_keys( handles => $handles,
- command_args => '0xF950DA9C'
+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C'
);
close $stdin;
@@ -64,7 +64,7 @@ TEST
$handles->options( 'stdout' )->{direct} = 1;
my $pid = $gnupg->list_public_keys( handles => $handles,
- command_args => '0xF950DA9C',
+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C',
);
waitpid $pid, 0;
diff --git a/t/list_secret_keys.t b/t/list_secret_keys.t
index 51e3651..7040c38 100644
--- a/t/list_secret_keys.t
+++ b/t/list_secret_keys.t
@@ -55,7 +55,7 @@ TEST
reset_handles();
my $pid = $gnupg->list_secret_keys( handles => $handles,
- command_args => '0xF950DA9C' );
+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' );
close $stdin;
$outfile = 'test/secret-keys/2.out';
@@ -80,7 +80,7 @@ TEST
$handles->options( 'stdout' )->{direct} = 1;
my $pid = $gnupg->list_secret_keys( handles => $handles,
- command_args => '0xF950DA9C' );
+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' );
waitpid $pid, 0;
diff --git a/t/list_sigs.t b/t/list_sigs.t
index 16cfa6a..1301fb2 100644
--- a/t/list_sigs.t
+++ b/t/list_sigs.t
@@ -36,7 +36,7 @@ TEST
reset_handles();
my $pid = $gnupg->list_sigs( handles => $handles,
- command_args => '0xF950DA9C',
+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C',
);
close $stdin;
@@ -60,7 +60,7 @@ TEST
$handles->options( 'stdout' )->{direct} = 1;
my $pid = $gnupg->list_sigs( handles => $handles,
- command_args => '0xF950DA9C',
+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C',
);
waitpid $pid, 0;
diff --git a/t/sign_and_encrypt.t b/t/sign_and_encrypt.t
index 5dc1c08..df0fc75 100644
--- a/t/sign_and_encrypt.t
+++ b/t/sign_and_encrypt.t
@@ -14,7 +14,7 @@ TEST
{
reset_handles();
- $gnupg->options->push_recipients( '0x2E854A6B' );
+ $gnupg->options->push_recipients( '0x7466B7E98C4CCB64C2CE738BADB99D9C2E854A6B' );
my $pid = $gnupg->sign_and_encrypt( handles => $handles );
print $stdin @{ $texts{plain}->data() };

@ -1,33 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 11 Oct 2016 20:17:49 -0400
Subject: move key files to generic names
---
t/000_setup.t | 2 +-
test/{pubring.gpg => public_keys.pgp} | Bin
test/{secring.gpg => secret_keys.pgp} | Bin
3 files changed, 1 insertion(+), 1 deletion(-)
rename test/{pubring.gpg => public_keys.pgp} (100%)
rename test/{secring.gpg => secret_keys.pgp} (100%)
diff --git a/t/000_setup.t b/t/000_setup.t
index 7f7f7b0..a8e3042 100644
--- a/t/000_setup.t
+++ b/t/000_setup.t
@@ -19,7 +19,7 @@ TEST
copy('test/gpg.conf', 'test/gnupghome/gpg.conf');
reset_handles();
- my $pid = $gnupg->import_keys(command_args => [ 'test/pubring.gpg', 'test/secring.gpg' ],
+ my $pid = $gnupg->import_keys(command_args => [ 'test/public_keys.pgp', 'test/secret_keys.pgp' ],
options => [ 'batch'],
handles => $handles);
waitpid $pid, 0;
diff --git a/test/pubring.gpg b/test/public_keys.pgp
similarity index 100%
rename from test/pubring.gpg
rename to test/public_keys.pgp
diff --git a/test/secring.gpg b/test/secret_keys.pgp
similarity index 100%
rename from test/secring.gpg
rename to test/secret_keys.pgp

@ -1,53 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 11 Oct 2016 20:25:48 -0400
Subject: fix spelling: s/convience/convenience/
---
README | 4 ++--
lib/GnuPG/Interface.pm | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/README b/README
index ed94ede..a05ef9b 100644
--- a/README
+++ b/README
@@ -143,7 +143,7 @@ OBJECT METHODS
does not come into play. If the passphrase data member handle of the
handles object is not defined, but the the passphrase data member
handle of GnuPG::Interface object is, GnuPG::Interface will handle
- passing this information into GnuPG for the user as a convience.
+ passing this information into GnuPG for the user as a convenience.
Note that this will result in GnuPG::Interface storing the
passphrase in memory, instead of having it simply 'pass-through' to
GnuPG via a handle.
@@ -271,7 +271,7 @@ EXAMPLES
);
# indicate our pasphrase through the
- # convience method
+ # convenience method
$gnupg->passphrase( $passphrase );
# this sets up the communication
diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm
index 6eaef7d..29205f0 100644
--- a/lib/GnuPG/Interface.pm
+++ b/lib/GnuPG/Interface.pm
@@ -1008,7 +1008,7 @@ and so this information is not generated and does not come into play.
If the B<passphrase> data member handle of the B<handles> object
is not defined, but the the B<passphrase> data member handle of GnuPG::Interface
object is, GnuPG::Interface will handle passing this information into GnuPG
-for the user as a convience. Note that this will result in
+for the user as a convenience. Note that this will result in
GnuPG::Interface storing the passphrase in memory, instead of having
it simply 'pass-through' to GnuPG via a handle.
@@ -1175,7 +1175,7 @@ The following setup can be done before any of the following examples:
);
# indicate our pasphrase through the
- # convience method
+ # convenience method
$gnupg->passphrase( $passphrase );
# this sets up the communication

@ -1,117 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 11 Oct 2016 20:59:43 -0400
Subject: added new secret key with different passphrase
Adding a new secret key with a different passphrase should allow us to
differentiate between passing the passphrase explicitly and relying on
the agent + pinentry.
---
t/000_setup.t | 2 +-
test/new_secret.pgp | 58 ++++++++++++++++++++++++++++++++++++++++++
test/secret-keys/1.0.test | 4 +++
test/secret-keys/1.modern.test | 5 ++++
4 files changed, 68 insertions(+), 1 deletion(-)
create mode 100644 test/new_secret.pgp
diff --git a/t/000_setup.t b/t/000_setup.t
index a8e3042..b183241 100644
--- a/t/000_setup.t
+++ b/t/000_setup.t
@@ -19,7 +19,7 @@ TEST
copy('test/gpg.conf', 'test/gnupghome/gpg.conf');
reset_handles();
- my $pid = $gnupg->import_keys(command_args => [ 'test/public_keys.pgp', 'test/secret_keys.pgp' ],
+ my $pid = $gnupg->import_keys(command_args => [ 'test/public_keys.pgp', 'test/secret_keys.pgp', 'test/new_secret.pgp' ],
options => [ 'batch'],
handles => $handles);
waitpid $pid, 0;
diff --git a/test/new_secret.pgp b/test/new_secret.pgp
new file mode 100644
index 0000000..5feb72c
--- /dev/null
+++ b/test/new_secret.pgp
@@ -0,0 +1,58 @@
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+lQPGBFf9iNIBCACZGF36JFTAggUJK85gweUquqh0kvVQICUtyiHXFXBBPzCK+RWL
+oc5yeOfILHH7FfOztwPH1oJ7SWQtOgpuoiMHPtF7ne+MYevMf9jTYb/xCT0yZID5
+/ieoHwUQQPiowxGewOww23RLQ1Cf46nqGBUD+fsWwT2Eq6ojLp/H72h+2lQ1ZCWd
+Q/9MSQQgDo5tWptokFGmLBKCS59pYMBaLbKSj7lFa/ekPm9zhcdmmLrLHCS9rIUP
+VKlWAg02MVmMB4fYm9nbtuwYHWvbDFYzpVr2WNlRZlPy0Y46ahxFbFwhtmOJAgT1
+tgaQtDXo3kXRXngYZstDfe61Hqmc44j1vJ4VABEBAAH+BwMCnvb4v9vnhhzmdZdJ
+EzK3ikXYQp3PcOMDlRE5qtBmXhOJXH2tdEmXjegjWGA501eeoks0VnpBba2m4B36
+Z37fjpOEi4QOuTn6emVwijJZgmmTAC7JHNzAW+IsiRvk/2907UZCwa/1UQpC0bik
+pHTZx+yKp33vGbkbCkKgHFQoHcS9D1by0WOkaLSlcE9CUCKb5LCe2Q1KDwZGrg60
+4WUvg9eM2eatixAyOJEoRONlXDcQnUhSnG5+TUPNhVVWIaM/tPAgYmBG5oCSJ/N0
+ls8cXoOVup/itBHo2Bfn+nyh0OAWdgdVmB0rPYUCLJV0FiQx5tB59OHmA3Naokj5
+rvumyklCg314NnkEXrbPq7kKbX0X8UPoXdzAmalb4++OhgzEwd3NkWxvFSxKkQAt
+XAU5i9XNHJXLwATAMlEaXMBmfcpjyIx4WpBUSmYMTjh0Nu5ee+kGvMY9fUxOKbet
+IS9agFSMwVNRsX91+pKtBCQc7Je5tIrLhC8Hbvotn0GA8iFgu6LBqkrUO9Rh30Xs
+vzz3oXm7WgHbL30m9h+rJ2dmPZOwmW/0zRUec/7alizx0T4sLx7T0qUPUxeEjkeU
+JWtqfrcXEc3xIR9r5S2xqsUSKx6h1UhHMeMtQaDBgeH/Syq7a2gnkNoY84xxojGj
+lGkis5PF3xFpYqvjY0thyPFNxQguRlqktN8gNB+V1dShbCpNI9bDzv4pzvogEiM0
+EM/xvJSCkARCe6nqOugWV8j5f3+9tuyREqcidHq+PR+USoNYdUWQO14kPY6e62wO
+lC5B4G7TDQtigCfOyEOiPXYC/qnC8sPVR2u5bCYm2YJT7L+rYRLSN+628qz7BwH3
+9XtpnRtBFWpjI5qjn4uMM42e3k5UVB/r4GyrLXhEuO8D81TVzRQhjiqLweguk73h
+VDjEd0yachHbtCxHbnVQRzo6SW50ZXJmYWNlIFRlc3Qga2V5IDx0ZXN0QGV4YW1w
+bGUub3JnPokBNwQTAQgAIQUCV/2I0gIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIX
+gAAKCRAbkTzptnR93EZkB/9groVsVMBJtGP1GSFMg2Q9loyijXT2P6hCbUTS4YMz
+O4jQPB8UQ39XIhyWo7hVGsXeA777+7VTto7q0CG9Ph7FTGKK8W2AnzTUKNdXAC6h
+qIc+ymvlm71GxhkKFR0vDbFg6CLJ/MX/x1Bd0TKh4RZtgOqX6A7Pzw/AI7f2YJcJ
+BKPT+/q/F/Wp1r+mxZ5pxUvYm643GVzdnbtuoqgBLng/3n1zjIz+oIz6RGBjzHni
+3TUTKe//ewn1lIdTxPdUZA9G4vTE5dCnM4MHTxQSXA+aUexuONswQhiANtfVCW8c
+sf9MQpkQ/Vqv9hfeYwH4pJ8IPK1No9F0a0fvnq2JaX4gnQPGBFf9iNIBCADEQ6HK
+s5tWN2Ph/3A6D0A2nSc6m1Mh/AXhdptka0aPhhVgspCmQ1lJP/Kdf6AnlCi6u1G7
+QXvGX8OtbKNosLi91nIqvNwckUOvXrLcAk/epkmidopOuHUZhE+1UaLKs7UssBOe
+TQTtADdl2786E3qbtaNrjDTvbNesU1DEZjNoBWfKYHZYv2wCF170Lwzp7NJhAueO
+bTwfUO8EusST6d1NYB0zFxbBi60/hJHCfcAuaSn00jFQ+kj8m7jXCgcyB+1+25d2
+gpPbs19S4pi9f7eQflhglm0wB13C6yl+YgwVZQxU/fU70jgSYhkXNPx5bEN3WGkg
+4hnP53hrsI4p3se1ABEBAAH+BwMCAppvwSTp9Y/mu317D14a9k6m/zC2LrzPx6dl
+P3GtDJUCs1CVH/wXsUxLY4hAgS188xPhNLuIWuXwQ7qX7E8kanxgPqeK7NTAPKxH
+CEqJPevFRBtftHq3zqZZF9CHXulDO3KkWxIHANMclq+zcUotrc4GXIxeYjewXv9p
+tzKEjlt27Q00VvwRM7JVxBlC3xJvKXf6zyRoUt2/Clq+CFkb2s+dAzCI52o7tlB9
+El84sTIlJr0+b6+GcwrKonS8HcGUECfYmSiIiNmxlkJ/4OabDlDYlzvmCYv2pMjc
+Bif70Dowb8TBD/iTFLPY2lkhqBFi3Bcqc51MVecaQk3rRbVyOqhvGaRE084/LmkN
+gkE6vQKRSbzRmYwyKC/QUKOW5qbl5Jf3lrjVeM5tEnvJeRCfZEokKjIZul4nX4dK
+zxH+l+sCUA+RnEeGB2y1yhnPkP4dYHEb8iMLINqXQd18FpBFSs9yv9tFWJhdblUK
+SiS8DXmuoZI2Mk8yMZ0j0bi8mu9eh52dqYgBGD7TgjP5vpYU/zbtpNgMP0Zvne1X
+gig6NKK1+3VAZaiOvYUUHZERJGp/eggTtF66cD/0EHJjoZ/0pAciEvWYUyXWVBdj
+eVWBZE/RVOwrTMBVtrxQsPJ3sfeGlLt21IZYKathTZ/dn5PSlU+i4f9VyC/hHd8S
+xouQU3nB//ihbrR65YH5E53e8+jPaRtFvLbcqmY8YftV0y/5BZwduZoxcOtxD3A0
+J/2GVpUhs3WngCksdUAEbrEXzKKSOC7b4KDw2sTIT5xHra4CBK5L5N85ny8tG7A6
+wmTt+6PHo51gx/W/0jiMB3rEiGoTZ86uWLaGv5SgqLP49euCIEXNKK9srFK3o7QE
+04upH9zOXR8ytvPOLy/K5zT6YH2eyNs19sWfjAfP/bxhnrDYajsZ2WKZiQEfBBgB
+CAAJBQJX/YjSAhsMAAoJEBuRPOm2dH3c+6kH+wWoEqTlPdPLZcTN8I5a6HHD0Ul8
+7xt3OtiRFoMD2M+zgLvImaj8AULap4w/0G+J+7PCUER8JhcePSzLbizfpTczbDP2
+E1LhEM8IBE6GT8yL8VB9AL1xW+hXIi5sWW/f900deOhoh7ikrP7KxT0c8zQjaaqV
+n6bio93CvZ3yBqMO20apwWDyiSoBpXVjLrW00BdL8i9Rsf6v5UwIIy9o7pfjK5zo
+mAZM2dKzlp9z4q5P6yE4aXI0bHz+XvG7hdpkHmjG5A+EQCnN2qoDNIA4QiRhH8TQ
+aTaj4AlCiCAV2hEelPYve5QKccAsfC//qr+FMF+0bhZa05X2afxLYtku0Ms=
+=ftgB
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/test/secret-keys/1.0.test b/test/secret-keys/1.0.test
index 129d472..f8239a9 100644
--- a/test/secret-keys/1.0.test
+++ b/test/secret-keys/1.0.test
@@ -5,3 +5,7 @@ uid GnuPG test key (for testing purposes only)
uid Foo Bar (1)
ssb 768g/2E854A6B 2000-02-06
+sec 2048R/B6747DDC 2016-10-12
+uid GnuPG::Interface Test key <test@example.org>
+ssb 2048R/AE441D0F 2016-10-12
+
diff --git a/test/secret-keys/1.modern.test b/test/secret-keys/1.modern.test
index 3e46407..42b27a1 100644
--- a/test/secret-keys/1.modern.test
+++ b/test/secret-keys/1.modern.test
@@ -6,3 +6,8 @@ uid [ unknown] GnuPG test key (for testing purposes only)
uid [ unknown] Foo Bar (1)
ssb elg768 2000-02-06 [E]
+sec rsa2048 2016-10-12 [SC]
+ 278F850AA702911F1318F0A61B913CE9B6747DDC
+uid [ unknown] GnuPG::Interface Test key <test@example.org>
+ssb rsa2048 2016-10-12 [E]
+

@ -1,302 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 11 Oct 2016 21:29:22 -0400
Subject: Test use of gpg without explicit passphrase (agent+pinentry)
The modern GnuPG suite encourages the use of gpg-agent to control
access to secret key material. In this use case, we avoid setting an
explicit passphrase in code, and rely on either a correctly-configured
and primed gpg-agent or a dedicated pinentry program to supply the
passphrase.
This additional test verifies that the passphrase can be handled by
the agent. Note that the passphrase for this additional test key is
*not* the default passphrase, so this test should fail in the event
that gpg can't use the agent and the pinentry for this task.
Unfortunately, this all assumes that we're using GnuPG "Modern". I've
noted concerns about writing forward- and backward-compatible bindings
for GnuPG here:
https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031800.html
---
README | 41 +++++++++++++++++++++++++++--------------
lib/GnuPG/Interface.pm | 26 +++++++++++++++++++++++++-
t/MyTestSpecific.pm | 10 ++++++++--
t/decrypt.t | 27 +++++++++++++++++++++++++++
test/encrypted.2.gpg | 12 ++++++++++++
test/fake-pinentry.pl | 2 +-
test/plain.2.txt | 1 +
7 files changed, 101 insertions(+), 18 deletions(-)
create mode 100644 test/encrypted.2.gpg
create mode 100644 test/plain.2.txt
diff --git a/README b/README
index a05ef9b..be06ef3 100644
--- a/README
+++ b/README
@@ -5,7 +5,7 @@ SYNOPSIS
# A simple example
use IO::Handle;
use GnuPG::Interface;
-
+
# setting up the situation
my $gnupg = GnuPG::Interface->new();
$gnupg->options->hash_init( armor => 1,
@@ -24,7 +24,7 @@ SYNOPSIS
# Now we'll go about encrypting with the options already set
my @plaintext = ( 'foobar' );
my $pid = $gnupg->encrypt( handles => $handles );
-
+
# Now we write to the input of GnuPG
print $input @plaintext;
close $input;
@@ -140,13 +140,26 @@ OBJECT METHODS
standard error, standard output, or standard error. If the status or
logger handle is not defined, this channel of communication is never
established with GnuPG, and so this information is not generated and
- does not come into play. If the passphrase data member handle of the
- handles object is not defined, but the the passphrase data member
- handle of GnuPG::Interface object is, GnuPG::Interface will handle
- passing this information into GnuPG for the user as a convenience.
- Note that this will result in GnuPG::Interface storing the
- passphrase in memory, instead of having it simply 'pass-through' to
- GnuPG via a handle.
+ does not come into play.
+
+ If the passphrase data member handle of the handles object is not
+ defined, but the the passphrase data member handle of
+ GnuPG::Interface object is, GnuPG::Interface will handle passing
+ this information into GnuPG for the user as a convenience. Note that
+ this will result in GnuPG::Interface storing the passphrase in
+ memory, instead of having it simply 'pass-through' to GnuPG via a
+ handle.
+
+ If neither the passphrase data member of the GnuPG::Interface nor
+ the passphrase data member of the handles object is defined, then
+ GnuPG::Interface assumes that access and control over the secret key
+ will be handled by the running gpg-agent process. This represents
+ the simplest mode of operation with the GnuPG "modern" suite
+ (version 2.1 and later). It is also the preferred mode for tools
+ intended to be user-facing, since the user will be prompted directly
+ by gpg-agent for use of the secret key material. Note that for
+ programmatic use, this mode requires the gpg-agent and pinentry to
+ already be correctly configured.
Other Methods
get_public_keys( @search_strings )
@@ -241,7 +254,7 @@ EXAMPLES
my $handles = GnuPG::Handles->new( stdin => $input,
stdout => $output );
-
+
# this sets up the communication
# Note that the recipients were specified earlier
# in the 'options' data member of the $gnupg object.
@@ -315,7 +328,7 @@ EXAMPLES
# a file written to disk
# Make sure you "use IO::File" if you use this module!
my $cipher_file = IO::File->new( 'encrypted.gpg' );
-
+
# this sets up the communication
my $pid = $gnupg->decrypt( handles => $handles );
@@ -346,7 +359,7 @@ EXAMPLES
# This time we'll just let GnuPG print to our own output
# and read from our input, because no input is needed!
my $handles = GnuPG::Handles->new();
-
+
my @ids = ( 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' );
# this time we need to specify something for
@@ -354,7 +367,7 @@ EXAMPLES
# search ids as arguments
my $pid = $gnupg->list_public_keys( handles => $handles,
command_args => [ @ids ] );
-
+
waitpid $pid, 0;
Creating GnuPG::PublicKey Objects
@@ -372,7 +385,7 @@ EXAMPLES
command_args => [ qw( test/key.1.asc ) ],
handles => $handles,
);
-
+
my @out = <$handles->stdout()>;
waitpid $pid, 0;
diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm
index 29205f0..5d8b0ec 100644
--- a/lib/GnuPG/Interface.pm
+++ b/lib/GnuPG/Interface.pm
@@ -106,6 +106,14 @@ sub fork_attach_exec( $% ) {
my ( $self, %args ) = @_;
my $handles = $args{handles} or croak 'no GnuPG::Handles passed';
+ my $use_loopback_pinentry = 0;
+
+ # WARNING: this assumes that we're using the "modern" GnuPG suite
+ # -- version 2.1.x or later. It's not clear to me how we can
+ # safely and efficiently avoid this assumption (see
+ # https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031800.html)
+ $use_loopback_pinentry = 1
+ if ($handles->passphrase());
# deprecation support
$args{commands} ||= $args{gnupg_commands};
@@ -293,8 +301,12 @@ sub fork_attach_exec( $% ) {
$self->options->$option($fileno);
}
+ my @args = $self->options->get_args();
+ push @args, '--pinentry-mode', 'loopback'
+ if $use_loopback_pinentry;
+
my @command = (
- $self->call(), $self->options->get_args(),
+ $self->call(), @args,
@commands, @command_args
);
@@ -1005,6 +1017,7 @@ and standard error will be tied to the running program's standard error,
standard output, or standard error. If the B<status> or B<logger> handle
is not defined, this channel of communication is never established with GnuPG,
and so this information is not generated and does not come into play.
+
If the B<passphrase> data member handle of the B<handles> object
is not defined, but the the B<passphrase> data member handle of GnuPG::Interface
object is, GnuPG::Interface will handle passing this information into GnuPG
@@ -1012,6 +1025,17 @@ for the user as a convenience. Note that this will result in
GnuPG::Interface storing the passphrase in memory, instead of having
it simply 'pass-through' to GnuPG via a handle.
+If neither the B<passphrase> data member of the GnuPG::Interface nor
+the B<passphrase> data member of the B<handles> object is defined,
+then GnuPG::Interface assumes that access and control over the secret
+key will be handled by the running gpg-agent process. This represents
+the simplest mode of operation with the GnuPG "modern" suite (version
+2.1 and later). It is also the preferred mode for tools intended to
+be user-facing, since the user will be prompted directly by gpg-agent
+for use of the secret key material. Note that for programmatic use,
+this mode requires the gpg-agent and pinentry to already be correctly
+configured.
+
=back
=head2 Other Methods
diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm
index c8764cc..e513c25 100644
--- a/t/MyTestSpecific.pm
+++ b/t/MyTestSpecific.pm
@@ -55,9 +55,15 @@ struct( Text => { fn => "\$", fh => "\$", data => "\$" } );
$texts{plain} = Text->new();
$texts{plain}->fn( 'test/plain.1.txt' );
+$texts{alt_plain} = Text->new();
+$texts{alt_plain}->fn( 'test/plain.2.txt' );
+
$texts{encrypted} = Text->new();
$texts{encrypted}->fn( 'test/encrypted.1.gpg' );
+$texts{alt_encrypted} = Text->new();
+$texts{alt_encrypted}->fn( 'test/encrypted.2.gpg' );
+
$texts{signed} = Text->new();
$texts{signed}->fn( 'test/signed.1.asc' );
@@ -68,7 +74,7 @@ $texts{temp} = Text->new();
$texts{temp}->fn( 'test/temp' );
-foreach my $name ( qw( plain encrypted signed key ) )
+foreach my $name ( qw( plain alt_plain encrypted alt_encrypted signed key ) )
{
my $entry = $texts{$name};
my $filename = $entry->fn();
@@ -90,7 +96,7 @@ sub reset_handles
stderr => $stderr
);
- foreach my $name ( qw( plain encrypted signed key ) )
+ foreach my $name ( qw( plain alt_plain encrypted alt_encrypted signed key ) )
{
my $entry = $texts{$name};
my $filename = $entry->fn();
diff --git a/t/decrypt.t b/t/decrypt.t
index b2639ed..ee41448 100644
--- a/t/decrypt.t
+++ b/t/decrypt.t
@@ -58,3 +58,30 @@ TEST
{
return compare( $texts{plain}->fn(), $texts{temp}->fn() ) == 0;
};
+
+
+# test without default_passphrase (that is, by using the agent)
+TEST
+{
+ reset_handles();
+
+ $handles->stdin( $texts{alt_encrypted}->fh() );
+ $handles->options( 'stdin' )->{direct} = 1;
+
+ $handles->stdout( $texts{temp}->fh() );
+ $handles->options( 'stdout' )->{direct} = 1;
+
+ $gnupg->clear_passphrase();
+
+ my $pid = $gnupg->decrypt( handles => $handles );
+
+ waitpid $pid, 0;
+
+ return $CHILD_ERROR == 0;
+};
+
+
+TEST
+{
+ return compare( $texts{alt_plain}->fn(), $texts{temp}->fn() ) == 0;
+};
diff --git a/test/encrypted.2.gpg b/test/encrypted.2.gpg
new file mode 100644
index 0000000..105cbb3
--- /dev/null
+++ b/test/encrypted.2.gpg
@@ -0,0 +1,12 @@
+-----BEGIN PGP MESSAGE-----
+
+hQEMAw3NS2KuRB0PAQgAuCMQO6blPRIJZib+kDa51gac+BYPl8caXYTLqIHtiz2/
+YRVqePJON4lNAqT6qUksIzQHtejFO6tb1SLqgX9Ti+fKAMLrQw9VGOYaJFoRrTJs
++X33S4GHVVikRTu0dydAsekbfPSc2nRmTFUlSEV3psgAmg9xy8KA6cZroK9Xfcuh
+xW7KLE0hLP+2NZ7zNmJMdu6LDGzvlQsnm1UeElXK8XdMGf8kA3R+GgeeOnR/oEQc
+Uep77k/fLc+UV4fp9Dk1OBeg3Ko/irSaefk4mU7F4HmS8jIERHRvXBTiur1Zx8Nx
+9U3fcQuc+P9+JC89iS4PJPF1Hr0MlezAghZYJrhOrtJIAe5Uaft5KMGRfy0VQnAs
+MHqGnGtzzVWK6GK83ibgG4tTfPEHHIgNFsJf3rM4cWklUmCS9TeeDJJZfhnRA6+/
+X82e6OI7QNbO
+=DlGE
+-----END PGP MESSAGE-----
diff --git a/test/fake-pinentry.pl b/test/fake-pinentry.pl
index 12d3611..40b8b08 100755
--- a/test/fake-pinentry.pl
+++ b/test/fake-pinentry.pl
@@ -21,7 +21,7 @@ while (<STDIN>) {
chomp;
next if (/^$/);
next if (/^#/);
- print ("D test\n") if (/^getpin/i);
+ print ("D supercalifragilisticexpialidocious\n") if (/^getpin/i);
print "OK\n";
exit if (/^bye/i);
}
diff --git a/test/plain.2.txt b/test/plain.2.txt
new file mode 100644
index 0000000..da5a1d5
--- /dev/null
+++ b/test/plain.2.txt
@@ -0,0 +1 @@
+test message

@ -1,42 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Thu, 25 May 2017 16:07:45 -0400
Subject: Kill any GnuPG agent before and after the test suite.
This helps to ensure that the test suite daemon is started fresh at
every test suite run. And it also avoids leaving a daemon running
after the test suite, assuming the test suite manages to reach the
end.
This is considered a reasonable practice by upstream.
---
t/000_setup.t | 3 +++
t/zzz_cleanup.t | 2 ++
2 files changed, 5 insertions(+)
diff --git a/t/000_setup.t b/t/000_setup.t
index b183241..4dc4329 100644
--- a/t/000_setup.t
+++ b/t/000_setup.t
@@ -17,6 +17,9 @@ TEST
$agentconf->write("pinentry-program " . getcwd() . "/test/fake-pinentry.pl\n");
$agentconf->close();
copy('test/gpg.conf', 'test/gnupghome/gpg.conf');
+ # reset the state of any long-lived gpg-agent, ignoring errors:
+ system('gpgconf', '--homedir=test/gnupghome', '--quiet', '--kill', 'gpg-agent');
+
reset_handles();
my $pid = $gnupg->import_keys(command_args => [ 'test/public_keys.pgp', 'test/secret_keys.pgp', 'test/new_secret.pgp' ],
diff --git a/t/zzz_cleanup.t b/t/zzz_cleanup.t
index 5c03a72..eea3a48 100644
--- a/t/zzz_cleanup.t
+++ b/t/zzz_cleanup.t
@@ -12,6 +12,8 @@ use File::Path qw (remove_tree);
TEST
{
my $err = [];
+ # kill off any long-lived gpg-agent, ignoring errors:
+ system('gpgconf', '--homedir=test/gnupghome', '--quiet', '--kill', 'gpg-agent');
remove_tree('test/gnupghome', {error => \$err});
return ! @$err;
};

@ -1,110 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Fri, 26 May 2017 09:51:40 -0400
Subject: Use a short temporary homedir during the test suite
This avoids problems with the length of the path to the homedir as
compared to the size limits of sockaddr_un.sun_path, particularly on
systems where /run/user/$(id -u) is not present or available (such as
many minimalist build environments).
---
t/000_setup.t | 9 +++++----
t/MyTestSpecific.pm | 18 +++++++++++++++++-
t/list_secret_keys.t | 3 ++-
t/zzz_cleanup.t | 6 ++++--
4 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/t/000_setup.t b/t/000_setup.t
index 4dc4329..82d7005 100644
--- a/t/000_setup.t
+++ b/t/000_setup.t
@@ -12,13 +12,14 @@ use File::Copy;
TEST
{
- make_path('test/gnupghome', { mode => 0700 });
- my $agentconf = IO::File->new( "> test/gnupghome/gpg-agent.conf" );
+ my $homedir = $gnupg->options->homedir();
+ make_path($homedir, { mode => 0700 });
+ my $agentconf = IO::File->new( "> " . $homedir . "/gpg-agent.conf" );
$agentconf->write("pinentry-program " . getcwd() . "/test/fake-pinentry.pl\n");
$agentconf->close();
- copy('test/gpg.conf', 'test/gnupghome/gpg.conf');
+ copy('test/gpg.conf', $homedir . '/gpg.conf');
# reset the state of any long-lived gpg-agent, ignoring errors:
- system('gpgconf', '--homedir=test/gnupghome', '--quiet', '--kill', 'gpg-agent');
+ system('gpgconf', '--homedir', $homedir, '--quiet', '--kill', 'gpg-agent');
reset_handles();
diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm
index e513c25..809d55c 100644
--- a/t/MyTestSpecific.pm
+++ b/t/MyTestSpecific.pm
@@ -22,6 +22,7 @@ use IO::Seekable;
use File::Compare;
use Exporter;
use Class::Struct;
+use File::Temp qw (tempdir);
use GnuPG::Interface;
use GnuPG::Handles;
@@ -40,10 +41,25 @@ use vars qw( @ISA @EXPORT
$gnupg = GnuPG::Interface->new( passphrase => 'test' );
+
+my $homedir;
+if (-f "test/gnupghome") {
+ my $record = IO::File->new( "< test/gnupghome" );
+ $homedir = <$record>;
+ $record->close();
+} else {
+ $homedir = tempdir( DIR => '/tmp');
+ my $record = IO::File->new( "> test/gnupghome" );
+ $record->write($homedir);
+ $record->close();
+}
+
my @version = split('\.', $gnupg->version());
$gpg_is_modern = ($version[0] > 2 || ($version[0] == 2 && $version[1] >= 1));
-$gnupg->options->hash_init( homedir => 'test/gnupghome',
+
+
+$gnupg->options->hash_init( homedir => $homedir,
armor => 1,
meta_interactive => 0,
meta_signing_key_id => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C',
diff --git a/t/list_secret_keys.t b/t/list_secret_keys.t
index 7040c38..d1e3f30 100644
--- a/t/list_secret_keys.t
+++ b/t/list_secret_keys.t
@@ -23,8 +23,9 @@ TEST
$outfile = 'test/secret-keys/1.out';
my $out = IO::File->new( "> $outfile" )
or die "cannot open $outfile for writing: $ERRNO";
+ my $modern_pubring_line = $gnupg->options->homedir() . "/pubring.kbx\n";
while (<$stdout>) {
- if ($gpg_is_modern && /^\/.*\/test\/gnupghome\/pubring.kbx$/) {
+ if ($gpg_is_modern && ($_ eq $modern_pubring_line)) {
$out->print("test/gnupghome/pubring.kbx\n");
} elsif ($gpg_is_modern && /^--*$/) {
$out->print("--------------------------\n");
diff --git a/t/zzz_cleanup.t b/t/zzz_cleanup.t
index eea3a48..c3ec16f 100644
--- a/t/zzz_cleanup.t
+++ b/t/zzz_cleanup.t
@@ -11,9 +11,11 @@ use File::Path qw (remove_tree);
# this is actually no test, just cleanup.
TEST
{
+ my $homedir = $gnupg->options->homedir();
my $err = [];
# kill off any long-lived gpg-agent, ignoring errors:
- system('gpgconf', '--homedir=test/gnupghome', '--quiet', '--kill', 'gpg-agent');
- remove_tree('test/gnupghome', {error => \$err});
+ system('gpgconf', '--homedir', $homedir, '--quiet', '--kill', 'gpg-agent');
+ remove_tree($homedir, {error => \$err});
+ unlink('test/gnupghome');
return ! @$err;
};

@ -1,51 +0,0 @@
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Fri, 26 May 2017 18:15:24 -0400
Subject: Make things work with gpg1 (assuming plain 'gpg' is modern)
* avoid sending --pinentry-mode=loopback if gpg is invoked as gpg1
* fix up t/list_secret_keys to account for the varied output
* t/decrypt.t still fails two agent-only tests, but presumably folks
who use gpg1 are not expecting to use the agent.
---
lib/GnuPG/Interface.pm | 5 ++++-
t/list_secret_keys.t | 9 +++++----
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm
index 5d8b0ec..f80ead5 100644
--- a/lib/GnuPG/Interface.pm
+++ b/lib/GnuPG/Interface.pm
@@ -112,8 +112,11 @@ sub fork_attach_exec( $% ) {
# -- version 2.1.x or later. It's not clear to me how we can
# safely and efficiently avoid this assumption (see
# https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031800.html)
+ #
+ # as a (brittle and incomplete) cleanup, we will avoid trying to
+ # send pinentry-loopback if the program is invoked as "gpg1"
$use_loopback_pinentry = 1
- if ($handles->passphrase());
+ if ($handles->passphrase() && ! ($self->call =~ m/gpg1$/));
# deprecation support
$args{commands} ||= $args{gnupg_commands};
diff --git a/t/list_secret_keys.t b/t/list_secret_keys.t
index d1e3f30..8e3c911 100644
--- a/t/list_secret_keys.t
+++ b/t/list_secret_keys.t
@@ -23,11 +23,12 @@ TEST
$outfile = 'test/secret-keys/1.out';
my $out = IO::File->new( "> $outfile" )
or die "cannot open $outfile for writing: $ERRNO";
- my $modern_pubring_line = $gnupg->options->homedir() . "/pubring.kbx\n";
+ my $seckey_file = $gpg_is_modern ? 'pubring.kbx' : 'secring.gpg';
+ my $pubring_line = $gnupg->options->homedir() . '/' . $seckey_file . "\n";
while (<$stdout>) {
- if ($gpg_is_modern && ($_ eq $modern_pubring_line)) {
- $out->print("test/gnupghome/pubring.kbx\n");
- } elsif ($gpg_is_modern && /^--*$/) {
+ if ($_ eq $pubring_line) {
+ $out->print('test/gnupghome/'.$seckey_file."\n");
+ } elsif (/^--*$/) {
$out->print("--------------------------\n");
} else {
$out->print( $_ );

@ -1,54 +0,0 @@
From 7c85ac40660861e7507c43d043323c3f1b83921b Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Wed, 20 Jun 2018 21:57:50 +0300
Subject: [PATCH] Fix test suite for GnuPG >= 2.2.6 compatibility
GnuPG 2.2.6 (commit 1a5d95e7319e7e6f) started marking signatures
with an expired key with '?', as seen with for instance
GNUPGHOME=./test/gnupghome/ gpg --list-sigs 0xF950DA9C
Adapt the test suite accordingly.
See https://dev.gnupg.org/rG1a5d95e7319e7e6f0dd11064a26cbbc371b05214
Bug-Debian: https://bugs.debian.org/900051
---
t/get_public_keys.t | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/t/get_public_keys.t b/t/get_public_keys.t
index 7893625..ede080a 100644
--- a/t/get_public_keys.t
+++ b/t/get_public_keys.t
@@ -13,8 +13,12 @@ use MyTestSpecific;
use GnuPG::PrimaryKey;
use GnuPG::SubKey;
+use version;
+
my ( $given_key, $handmade_key );
+my $gnupg_version = version->parse($gnupg->version);
+
TEST
{
reset_handles();
@@ -74,7 +78,7 @@ TEST
date_string => '2000-03-16',
hex_id => '56FFD10A260C4FA3',
sig_class => 0x10,
- validity => '!'),
+ validity => $gnupg_version < version->parse('2.2.6') ? '!' : '?'),
GnuPG::Signature->new(
date => 949813093,
algo_num => 17,
@@ -115,7 +119,7 @@ TEST
date_string => '2000-03-16',
hex_id => '56FFD10A260C4FA3',
sig_class => 0x10,
- validity => '!'),
+ validity => $gnupg_version < version->parse('2.2.6') ? '!' : '?'),
GnuPG::Signature->new(
date => 953179891,
algo_num => 17,

@ -1,64 +0,0 @@
From b356e7fda15e39e037da1888a24000a96fc85c90 Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Sun, 24 Jun 2018 16:19:25 +0300
Subject: [PATCH] Fix test suite for GnuPG >= 2.2.8 compatibility
GnuPG 2.2.8 onwards issues a hard failure when decrypting
messages not using the MDC mode.
Bug-Debian: https://bugs.debian.org/900051
---
t/decrypt.t | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/t/decrypt.t b/t/decrypt.t
index ee41448..2d6740c 100644
--- a/t/decrypt.t
+++ b/t/decrypt.t
@@ -6,6 +6,7 @@
use strict;
use English qw( -no_match_vars );
use File::Compare;
+use version;
use lib './t';
use MyTest;
@@ -13,6 +14,8 @@ use MyTestSpecific;
my $compare;
+my $gnupg_version = version->parse($gnupg->version);
+
TEST
{
reset_handles();
@@ -26,7 +29,13 @@ TEST
close $stdout;
waitpid $pid, 0;
- return $CHILD_ERROR == 0;;
+ if ($gnupg_version < version->parse('2.2.8')) {
+ return $CHILD_ERROR == 0;;
+ } else {
+ local $/ = undef;
+ my $errstr = <$stderr>;
+ return (($CHILD_ERROR >> 8 == 2) and ($errstr =~ /ignore-mdc-error/));
+ }
};
@@ -50,7 +59,13 @@ TEST
waitpid $pid, 0;
- return $CHILD_ERROR == 0;
+ if ($gnupg_version < version->parse('2.2.8')) {
+ return $CHILD_ERROR == 0;
+ } else {
+ local $/ = undef;
+ my $errstr = <$stderr>;
+ return (($CHILD_ERROR >> 8 == 2) and ($errstr =~ /ignore-mdc-error/));
+ }
};

@ -1,5 +1,3 @@
AUX 4.14.0-no-dot-in-inc.patch 2576 BLAKE2B 599a34aabdea3b3995704712e26ffa0a88c545185fe205f37b3c618fd7063e0ede55895a9797aa1de1490cd0ba634653aca235892f17410b257b199ed16ce612 SHA512 1fb62aee9081303c1d1186a1fd388e698f519ea5856fdf86e65af2044945b85952c2dcd96b0a0a5ec4234fe82361b2e076143918193218f54934c93120b54ccf
AUX 4.14.0-unescaped-lbracket.patch 1656 BLAKE2B 96bc78ecbc3a2ed7408a509184f88a9ee2c9ac2b2d0b4ad8c8567dcf57646d823bc92938097a7984678c18569b9d8ceb1c9f27ae76afef6ca906c4f5997f85b6 SHA512 8ba173dff927bf5dd7193d88fe110bdaf71b44b54e3e5a3a0d8ff161ce492a36324c5e69dfca268577ecbbf81d3b99247f7fe305bd4bd2f172e59ea52b9146c1
DIST Google-Ads-AdWords-Client-5.8.2.tar.gz 3194633 BLAKE2B b2e05294dbc60f8725d2f764defe1108db8a93f5f5e10da9ff8b7dcfe1aaf0877f92bde4ae3937310bed6ec5c73225f5edd243c5864beeb8f070ae1235087437 SHA512 d38689358872511613e0d596ee0233070848f7ea5368cbabd0b13e91bb8fa9259af83ec7cd3d852e9aed1eac0769d7c4a097adda3da730eb49aaec127cff54f6
EBUILD Google-Ads-AdWords-Client-5.8.2.ebuild 1195 BLAKE2B 78f8a36f7834cb2654e46345442aa7f007603c6fab7f23c4adec5cdb7b021ae8ab8fcf834148847cab10474cc30119b617e82bd9f96a1342ce4b9aaa3a1261bb SHA512 52c0dccbe39ae2b5fc04194521d395cf5b1bb50c3532f0849b6071324f7a7afb5d398a03c1654b9f3209405974fd691890ff5522d9a880200004d20767b4cbcb
MISC metadata.xml 4425 BLAKE2B e622ea7310457ef089a65d52746b929c403d93f0e740669c2a5b8af70d582a542c561998f315117a8dd08c72359443ab2ae36523456290867ef5d00580a923c4 SHA512 03af5a73b54159a9e25e4f1fa3d8804dc6aa97232a3bb7e9fbd6b1458ef04deeb2f79baf630c7151d9fc73943b83b7ad7849799e31a5a308bf01f3b23ffafc9f

@ -1,83 +0,0 @@
From a67324b5622088422b0b0c1a403c594312452d16 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentfredric@gmail.com>
Date: Sun, 4 Jun 2017 07:35:25 +1200
Subject: [PATCH 1/3] t/001_require.t: Force a relative path load for require
test
require_ok("Foo") is implemented in terms of require "Foo"
This means:
require "Foo.pm"
Only loads "Foo.pm" from "." if:
- '.' is in @INC ( Not true by default in Perl >5.25.11 )
- Foo.pm is not installed in Perl5lib ( dangerous assumption )
This forces require to side-step @INC traversal by using an explicit
prefix of "./", which is special-cased in require.
This fixes RT#120674
Bug: https://rt.cpan.org/Ticket/Display.html?id=120674
---
t/001_require.t | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/001_require.t b/t/001_require.t
index fe0d205..d70b2d2 100755
--- a/t/001_require.t
+++ b/t/001_require.t
@@ -24,7 +24,7 @@ use File::Spec;
use Test::More qw(no_plan);
# Set up @INC at runtime with an absolute path.
-my $lib_path = File::Spec->catdir(dirname($0), "..", "lib");
+my $lib_path = File::Spec->rel2abs(File::Spec->catdir(dirname($0), "..", "lib"));
push(@INC, $lib_path);
require_ok 'Google::Ads::AdWords::Client';
@@ -38,6 +38,6 @@ sub test_require {
local $SIG{__WARN__} = sub {
warn @_ unless $_[0] =~ /redefine/;
};
- require_ok($file_name);
+ require_ok("./$file_name");
}
}
--
2.12.2
From 76f5a421585b8c85b7e39b91adb0b257d1d83665 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentfredric@gmail.com>
Date: Sun, 4 Jun 2017 07:40:01 +1200
Subject: [PATCH 2/3] t/020_GenerateOfflineCredentials.t: Force relative path
for script
require "some/path.pl" previously fell into worknig due to '.' being
in @INC, as this still invokes @INC traversal
This change simply forces a "./" so that Perl uses direct access via
a special-cased path instead of relying on @INC traversal, which becomes
unsafe to depend on since Perl 5.25.11
---
t/020_GenerateOfflineCredentials.t | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/020_GenerateOfflineCredentials.t b/t/020_GenerateOfflineCredentials.t
index 0dcde9d..dfa8b50 100755
--- a/t/020_GenerateOfflineCredentials.t
+++ b/t/020_GenerateOfflineCredentials.t
@@ -51,7 +51,7 @@ my $stdout;
open(STDOUT, ">", \$stdout);
# Calling the offline credentials code
-require qw(examples/oauth/generate_offline_credentials.pl);
+require qw(./examples/oauth/generate_offline_credentials.pl);
ok(generate_offline_credentials($client));
# Checking the auth mock was correctly called
--
2.12.2

@ -1,46 +0,0 @@
From a7e92591ac0415fbb7119e4ad7572f910e4fdb8f Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentfredric@gmail.com>
Date: Sun, 4 Jun 2017 07:43:59 +1200
Subject: [PATCH 3/3] Fix unescaped "{" error in tests t/022* and t/024*
Perl 5.26 makes use of literal unescaped { in a regex illegal,
and this leads to test failures.
This change simply quotes the offending characters to make tests pass.
This closes RT#118509
Bug: https://rt.cpan.org/Ticket/Display.html?id=118509
---
t/022_ReportUtils.t | 2 +-
t/024_BatchJobHandler.t | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/022_ReportUtils.t b/t/022_ReportUtils.t
index 4f5f326..d0e2000 100755
--- a/t/022_ReportUtils.t
+++ b/t/022_ReportUtils.t
@@ -57,7 +57,7 @@ my $report_as_string = $report_handler->get_as_string();
ok(!$report_as_string, "report as string");
ok($report_as_string->isa("Google::Ads::Common::ReportDownloadError"),
"check report handler->report_as_string return type");
-ok($report_as_string =~ /ReportDownloadError\s{[^}]+}/,
+ok($report_as_string =~ /ReportDownloadError\s\{[^}]+}/,
"check ReportDownloadError STRINGIFY");
my ($fh, $filename) = tempfile();
diff --git a/t/024_BatchJobHandler.t b/t/024_BatchJobHandler.t
index 15983ae..4b86703 100755
--- a/t/024_BatchJobHandler.t
+++ b/t/024_BatchJobHandler.t
@@ -133,6 +133,6 @@ my $batch_job_handler_error =
description => "test"
});
ok(!$batch_job_handler_error, "BOOLIFY on error false");
-ok($batch_job_handler_error =~ /BatchJobHandlerError\s{[^}]+}/,
+ok($batch_job_handler_error =~ /BatchJobHandlerError\s\{[^}]+}/,
"check BatchJobHandlerError STRINGIFY");
--
2.12.2

@ -11,7 +11,7 @@ inherit perl-module virtualx
DESCRIPTION="Image viewer widget for Gtk3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 x86"
RDEPEND="
dev-perl/Cairo

@ -1,5 +1,5 @@
DIST Gtk3-ImageView-10.tar.gz 28165 BLAKE2B 429490c02e34bbe669b209459fd90937a4148e643b6b4e26bd643cd930f728a400b4d179c7e072a72fced7b06fc9a7f16deb87d33b42b296f07f5dce14abdfb1 SHA512 2548c33c49c27bb4a69d5512c7dfaca096a39ef6d08fa1deb83a045e6c5b7ad075eb8b23b33fb794024c9b9e7fd979a5c31bff075a7ed5412a4a5a4f53824f5a
DIST Gtk3-ImageView-9.tar.gz 16083 BLAKE2B f64723d2ee468c7ab423292bba8d995a62554877567fdfdd272e527920e037147783fcb9cea99ba1688f09303ee321abaee0e334a67db46bda6b0ed7e1ff9415 SHA512 1a52c53a03b6f9dd6abc69dbb03a8dd80df77e266eb972cb2438bd25d49765b203a70e2dfee1ae3cfdd27b4d987f9573eef3e47968c80550771dd3edbcf831cc
EBUILD Gtk3-ImageView-10.0.0.ebuild 694 BLAKE2B 7a9e3ac2dc936524867c0d046a8be34a336e86365e6d3874f22a66d076678ebffbbebc2e079769bafb3af3b44f1fa2361c977afae5cd9716635161a280500cc8 SHA512 7adc62eeaae38106f4b0855d1195d74b42c8a923f07bb2182b27a10fcf7b399f41fbe8b33de945f43c414b570891918c34285a1f17a2c79cf57e0b79f3720a96
EBUILD Gtk3-ImageView-10.0.0.ebuild 693 BLAKE2B 2f54394a6acd831f71d7099166824d61e4538cd9052d9522fcc4eec4b0cac121619b5fefce3990a553e03eb2e467d834c35bfd3acda641d46130cb9cf2f27f30 SHA512 41c7cb008c0a73cf85f795e5956a12e7caa204c40c97bc07f7e744b46e77a8e7e0e3759835a236f5a26885c806fc29609a534b917945e82664d6c5893fad5cb9
EBUILD Gtk3-ImageView-9.0.0.ebuild 691 BLAKE2B 81ea41684762dddf26d7bb212119a45c9adec9dc30aa8885304117acd1d28bf7d3387351285cadc030b374a3e2786bc9df3ea27e604cf2b99469771c8564631b SHA512 021d0dd86d5125bea046f6bef25bbfbf493e8945691516b38ba963b1af9c0ff9adfb9b04180069114d29e3d1e5a4b7f6dcb0039b7889a05f84ab8b2853449e5c
MISC metadata.xml 1018 BLAKE2B 3b984f34f2b493db7ab1fd89b6edbac39936461826a43de10c6cde112a9e1be83eebd9f6184fe2c39763ecca1c050d44211641049028e8bc5aa7cb00cf3ac1e0 SHA512 eddb5b455c5561f7ccc1f84053c6830af833cde842af7422d0b4907765d3a771a892613c64ab6bb09ee49da53c8c989f4046bc172ccc70a4a3cf9164e337474c

@ -1,4 +1,3 @@
AUX Gtk3-0.34.0-gdk-pixbuf-test.patch 1992 BLAKE2B 3f81159c626971f91ce4272ac7e89b693b6d11c430950e48bb24f9b581b2a485a562f5f5170ef44f3b26bf45c7e2b8090307bee2556dbf72fb9e569113875d0f SHA512 ee2864b036a5463df4c821c3a424a62411954e9799be485076013ff1f36b0dd19b678cbb9a7ea1bc3d5365a15986958241b15b8e4009ec91392e0401e234049a
DIST Gtk3-0.038.tar.gz 57426 BLAKE2B 76e74320c9bfaa19bd71b58742037d4acb85920466d0af88c3a276f5e4bf2d34c94ee3b278d385914da498794086924de19f4ed1c280b6b0b793d15d5fb3ca27 SHA512 2289184a25deec342b9519028cc5ebb3a66137d7891366485e4b6a1ef52a4a28b5ba8083a317a56664d4ea6eb1bc0619477d1ca169baf79b868467fba27f82bf
EBUILD Gtk3-0.38.0.ebuild 675 BLAKE2B f5a71b78b3dffb2d2734726bcd4248f09603722abcca939e60ede007c95368255096a4e47439c4da99d212a8dbe30b8e501cd5626a8130d1913ac1f617475a5f SHA512 cde095b6e37331412bf6d92ebb938d999d1cc986325d0747dd99fa68a174c68a854b20b366ad0f2be9f355e8ec71aabc8ea8823158b7a302f2dd36a6b34e1b77
MISC metadata.xml 447 BLAKE2B e86451eb327d582b41d7f9bf2c0f07a4d3d043bf55b6b022c8e7164f200988f5afcd13bb6ddd696977e1c8d319e2fa1dc8bacc89fe1b1f7906fdfce18b004a32 SHA512 60e6df94c123f033be340a2ddcfdccfe49ef1dbadbc6027d783f12eba2cbc75e909fe6baeddbba891e86e873906f0ab531c5122757f83038a70c43dcf1293414

@ -1,63 +0,0 @@
From 88bc49e7a21da0131b10546aa07ebdf98d18a37e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Torsten=20Sch=C3=B6nfeld?= <kaffeetisch@gmx.de>
Date: Sun, 6 Jan 2019 15:18:02 +0100
Subject: [PATCH] Load GdkPixdata introspection data if gdk-pixbuf >= 2.38.0
In gdk-pixbuf 2.38.0, the GdkPixdata introspection data was split out into its
own file.
Based on a patch by gregor herrmann <gregoa@debian.org>.
https://rt.cpan.org/Ticket/Display.html?id=127071
---
lib/Gtk3.pm | 14 ++++++++++++++
perl-Gtk3.doap => perl-gtk3.doap | 0
2 files changed, 14 insertions(+)
rename perl-Gtk3.doap => perl-gtk3.doap (100%)
diff --git a/lib/Gtk3.pm b/lib/Gtk3.pm
index 6a65487..f90af7e 100644
--- a/lib/Gtk3.pm
+++ b/lib/Gtk3.pm
@@ -60,6 +60,7 @@ and Perl packages:
Gtk-3.0 | Gtk3
Gdk-3.0 | Gtk3::Gdk
GdkPixbuf-2.0 | Gtk3::Gdk
+ GdkPixdata-2.0| Gtk3::Gdk
Pango-1.0 | Pango
=cut
@@ -84,6 +85,10 @@ my $_GDK_PIXBUF_BASENAME = 'GdkPixbuf';
my $_GDK_PIXBUF_VERSION = '2.0';
my $_GDK_PIXBUF_PACKAGE = 'Gtk3::Gdk';
+my $_GDK_PIXDATA_BASENAME = 'GdkPixdata';
+my $_GDK_PIXDATA_VERSION = '2.0';
+my $_GDK_PIXDATA_PACKAGE = 'Gtk3::Gdk';
+
my $_PANGO_BASENAME = 'Pango';
my $_PANGO_VERSION = '1.0';
my $_PANGO_PACKAGE = 'Pango';
@@ -471,6 +476,15 @@ sub import {
package => $_GDK_PIXBUF_PACKAGE,
flatten_array_ref_return_for => \@_GDK_PIXBUF_FLATTEN_ARRAY_REF_RETURN_FOR);
+ # In gdk-pixbuf 2.38.0, the GdkPixdata introspection information was split
+ # out into its own file.
+ if (Gtk3::Gdk::Pixbuf::CHECK_VERSION (2, 38, 0)) {
+ Glib::Object::Introspection->setup (
+ basename => $_GDK_PIXDATA_BASENAME,
+ version => $_GDK_PIXDATA_VERSION,
+ package => $_GDK_PIXDATA_PACKAGE);
+ }
+
Glib::Object::Introspection->setup (
basename => $_PANGO_BASENAME,
version => $_PANGO_VERSION,
diff --git a/perl-Gtk3.doap b/perl-gtk3.doap
similarity index 100%
rename from perl-Gtk3.doap
rename to perl-gtk3.doap
--
2.18.1

@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_VERSION=1.03
DIST_AUTHOR=DRTECH
@ -11,14 +11,12 @@ DESCRIPTION="XSS filter using HTML::Parser"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-perl/HTML-Parser-3.560.0
>=dev-perl/HTML-StripScripts-1.50.0
"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? ( virtual/perl-Test-Simple )
"

@ -1,3 +1,3 @@
DIST HTML-StripScripts-Parser-1.03.tar.gz 9524 BLAKE2B 7a3f9b7edcddd604f1e23d746ac80187c60bfc74f1c36d7b84e9a59eb4f3aefe9e0df1f1c136c1c9ce2b54f7163afc3103dc43fa17868d434c8dd93eb1a4e399 SHA512 3bc766ff738623191b23c5212751cad32b76160bf5e3dcdfad5e161288c906deb1357fc092a962da87525b7364ba924de9ef68b94966c003ee7cb23e8035dc15
EBUILD HTML-StripScripts-Parser-1.30.0.ebuild 459 BLAKE2B f89e49af65ee4f5be5449c17dd0f02846513788d06d2dab117660ed1fd5f9d7d470fae7c5bd0c52d4415b0c23d4d5efb92d18c8c4575d4aac5655ea9ab68a132 SHA512 343b6969d79fa1f6dedb50aaaea4d94455e0f997c87ec3294f48903cbe50d7a2a30de12baaa269f0e81c0a5de4804fc9bebc60e18b57d00c180292775b04a0e1
EBUILD HTML-StripScripts-Parser-1.30.0-r1.ebuild 421 BLAKE2B ff220e088a87eb3fd3c8ef5110c4876b4d28ef5342a5ac50bd3f64f700686495112a9533bcc2d1954997d5586ec641e61ccf0e6b32dc6d6ba0e1288d3b7830d9 SHA512 5bfdb929c01e499ec34db8ab7b3854dcfdc451cdbc693fd21decbf1fd0ebfa53f6885948d4cd65b3dfeab746bafb882b13d32bd69d4e0750a9c4559cb520050c
MISC metadata.xml 422 BLAKE2B d5fcbbca7a0c16e8acb37a642998010dd68215cf76ae557a1c22df63c2ec7372e7f30d055e64639b55b23204c50000563cf070b90ecb05ea05f4fd6a267ff631 SHA512 0c137cc9de19cef00c031605c1f24e90a0ab046c568a7b65f3dc579b33f2e5a7fd91e4dffc23677b9c7e58c8017abc816f14067e643d455468ba8c23b632cb16

@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_VERSION=1.06
DIST_AUTHOR=DRTECH
@ -11,12 +11,3 @@ DESCRIPTION="Strip scripting constructs out of HTML"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? ( virtual/perl-Test-Simple )
"

@ -1,3 +1,3 @@
DIST HTML-StripScripts-1.06.tar.gz 44745 BLAKE2B f239466e7d328113979b3676812aab4371d69e5a8d783a4cacec14ee2cee86058bef2e201105030315b7387a2e6a861d303c491066fb1750a469c5b45083005b SHA512 5d358997816653e32dba8916ac95967da345ec8c018ba7d21ef3bebca9bdda3131917b596dd25f51a3c63f85df7babfeab6133b46a7e15a0cd0409c055e2c589
EBUILD HTML-StripScripts-1.60.0.ebuild 399 BLAKE2B 452f541cdce6acd4a87c7143972e5744f3aecdb04b35899c68ace419ed63583c50192fc79264306a6297a0fd210101b313d7b4c384d1623d18e4d5c47d95fb8d SHA512 092dbf7d2ddd06891206adfe44117755bd111a70042e29fa7ed47f134f8e795321bf61d5e5175e254b00281aabf096138f395b06321bb0202e6f4c5ba0feb592
EBUILD HTML-StripScripts-1.60.0-r1.ebuild 257 BLAKE2B 8d3784fa94fff4209de1c973552b16a368e6212a6efd1a997ee06ff435995a6d8212f4e0ab677ba5ecb00579c027f8c09d1ef1d2b486de13c7cddce82dc68fc7 SHA512 3c9befc3c76cf2183e1346a131a84dd935463ebd26d38b801ca61efdfc289fb2396a68d908bd8464846a3c1ffd43c87de2916c2894126ce16e0ccb27e03c5e40
MISC metadata.xml 407 BLAKE2B 56d695875dbba54b148f005761054962bdeceddde21390f3b0f668fb999365988358970ceec87742ae841b08106994e0662a0ae2a8f84333b3e5c1f92dc30a44 SHA512 6430c003f964db620c4f9b2716b006411ee991c76e287d7b8174e33ca1e0a4043e80fcb44c1916fb30c2e1035318cb132c4f3bcf4e2be40b2fcfa46fbf71f662

@ -1,16 +1,12 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=8
MODULE_AUTHOR=AJPEACOCK
DIST_AUTHOR=AJPEACOCK
inherit perl-module
DESCRIPTION="produces HTML tables"
LICENSE="|| ( Artistic GPL-2 )"
SLOT="0"
KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 sparc x86"
IUSE=""
SRC_TEST="do"

@ -1,3 +1,3 @@
DIST HTML-Table-2.08a.tar.gz 23934 BLAKE2B cf08002baafc2c83929b46ad1d6695b5bd42b18e6e413da16e1804f9885a9d60507afe04fab7403f0948aab01385cfb891892023a04edec12482feb32acddf46 SHA512 fe2e0a9777a45cc7b720b33694fd9aec6626a27720dedf57238c4166163ae6d35fd8f61a4321e6951c589269c28a3ba2677bdd1f849446bfadb2c90e6d052a36
EBUILD HTML-Table-2.08a-r1.ebuild 306 BLAKE2B 6138f53d9b18754f69e2a1da8a2e8295837c64493731b6027097ebe4edbb30fbc59bdc4ef7d571e239860b84e30465d13f180c479442931816c52df377b27419 SHA512 cf18d9579689b1ec02b1dd25cb0712cc563ec9e328dd243f7b2d252185cbde7e0b9ab1d9e79289c82dae5f8547a6e596bde6e64368f093156ce5566662448133
EBUILD HTML-Table-2.08a-r2.ebuild 246 BLAKE2B effc4b1b61fd3db3edbbf4040bccbcd10d2e2e16216cd6126e7e4ae360bb34599b1a94d58ef05fa9e8ba9fcc3f9a5b2b50916dfa1fa9fe8d63bbcc22901e6ea5 SHA512 8cfda21496c52594796a1ad2e0adc35362dbcc587ea4f176d53ff25cdc61d3d52280a85649b4d6b5cc35c063577728c02268ccd569eea0bacbba3b45c760cf14
MISC metadata.xml 393 BLAKE2B 70a4d8b52cd807b31c515aa9b7f97d734698b17625b3b7de7cffca2dd38c94bbd03e68beeb78f1268ef0c9244e5c5c60e627f9d719049136223bf22b15c30557 SHA512 5e71160ef44d20e18f2012acc9a17d60d50ea00be1a17c7958b8fd981903e12788419b9e99537a697e26ed62d25eb173a0bf1ccb9180d667ae8f41e2efad5f15

@ -1,20 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MODULE_AUTHOR=SDRABBLE
MODULE_VERSION=0.13
inherit perl-module
DESCRIPTION="Parse the content of tables in HTML"
SLOT="0"
KEYWORDS="~amd64 x86"
IUSE=""
RDEPEND="dev-perl/HTML-Parser"
DEPEND="${RDEPEND}"
SRC_TEST=do
PATCHES=( "${FILESDIR}"/0.13-test.patch )

@ -0,0 +1,21 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=WYANT
DIST_VERSION=0.305
inherit perl-module
DESCRIPTION="Do interesting things with the contents of tables"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
virtual/perl-Carp
dev-perl/HTML-Parser
"
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"

@ -1,6 +1,6 @@
AUX 0.13-test.patch 2076 BLAKE2B 4b3e46ada5bc7e3a9c7f6b105bbf804083abcd4d3c1873ee894468bf2ac49aa089b78583c061c83a34d37149a165efc85db0a40ea5b537e1455763a58abc5cad SHA512 39037bc38e5bd95f710dbfe005b05f2a355fa075b3f6de3681e6fc812e18850f9ab727ec9012761c6167b35302462223f4d2543dce6135ba63320b0751600bf9
DIST HTML-TableContentParser-0.13.tar.gz 4664 BLAKE2B 062dc7ac6a78ec75f7d306649710ef470c6b6f750f651cc976d9f44fa40fbf247a89e0847ed8a991cecd929f3ea328bbee69c2cb29627f6d4fb0e23d3a3ab5c5 SHA512 0707a0059a7d885052615ee7badecc8915d5f8c67fd8683a226e23a0690f1872519475c32f51f299333c3208c20ea15380624fd0ebd1dc0b11457febfb3db585
DIST HTML-TableContentParser-0.304.tar.gz 18437 BLAKE2B 404ba11f9174cd3db019ede6078fca246722ff9ce1d2108cd689cfa3f79aebb178853143faa45022e5785daae5e79d1f21ad519099508c5554828d54da84e369 SHA512 f5b8aee24f777a7e8d6b4a88ac6b88927b6ec51a6b14ff2f48a33248702349f2f3a446bda3679b7c510cf6c9390b6a635721c696be3b49165dc9ca89116b2202
EBUILD HTML-TableContentParser-0.130.0.ebuild 377 BLAKE2B b1b2a33a0751dc88124ce78bc75c603fcf91de3c21bbbdc74bc209d8a4d1db7cef3f19866fe893b74c7a44ad080923759065a17afbb53ac55e4132ffe9a0885b SHA512 c318fb523b0a654ea8ab89dcb2e9c36bba77365843f6d3b1479397dd9f3e0ec136a36483a3cdb26e2625919ce39fac273d0e674d336d101705e8fe2c41811b9f
DIST HTML-TableContentParser-0.305.tar.gz 18931 BLAKE2B 616bfbb1809af1f0434fe3fb61082e635ba2cb62c1d14c47d059eb2c2dada80fa74ba577f85e9961036bf68f179ccc036410e2f3d67f497babbd3fe713bb6f2b SHA512 beee3b16e61b32e39bd7fdacbf993f18c1b11b6e0ba9704584243a629d72abed0012ee14518cd8c2490cb08a4c1323ee9b49ac2a764f37fa26c632a1d0ec2450
EBUILD HTML-TableContentParser-0.304.0.ebuild 384 BLAKE2B 1cab7f626ee25f51b5f680c63e0dc34defba6d201315f58dedc86d579561b09fd89bb4a2aabc27753d31067e11f15ef2a1a71664382becbfee8ca19f3bf7b6b7 SHA512 f83be083b19e5197bda0fc74b961375a749f18de4f38093d9233992fffd969018a23870748fd413805434a114578306a1c8f7ddf72285a37d7c9be0125f163c4
EBUILD HTML-TableContentParser-0.305.0.ebuild 377 BLAKE2B 32ec756b2b6847fb1dc898bbcf78a619d238280f06116aa0a7397727963c11a887cc326f94ac15e74da8f047816e8a4d26f236933d491110e5da5f719c0fcc44 SHA512 95e3ac2204cc4813b91c356224dd23ace9e66f82f4fe4e3c2165758f1134a70c4ab946bf769c6b4d88a8a979b8ac2c013c199d223cbbae89fdd949309327c2db
MISC metadata.xml 535 BLAKE2B 13cdd17014d47497260675c128c0c7fc0ecbbbcef8743ea831d7df5d2db66556318dbf9c69a8bc674a017d6f2f1054cff9e4228447c9a853d2c6064cfb6ed65e SHA512 e21705171dee0812f3213417c721cb0ced4a0e8e0773c447dcff7f791096a4b883ec6ce273c68444980dc109c1f68a3b7aaf8d17dc61402ae57417ee86a150d1

@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=MSISK
DIST_VERSION=2.15
@ -11,17 +11,17 @@ DESCRIPTION="The Perl Table-Extract Module"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm64 ppc ppc64 x86 ~x86-linux"
IUSE=""
RDEPEND="
>=dev-perl/HTML-Element-Extended-1.160.0
dev-perl/HTML-Parser
"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"
mydoc="TODO"
src_test() {
# https://rt.cpan.org/Ticket/Display.html?id=121920
perl_rm_files t/30_tree.t t/01_pod.t t/02_pod_coverage.t

@ -1,3 +1,3 @@
DIST HTML-TableExtract-2.15.tar.gz 36481 BLAKE2B 37562bcd8dc559b4a6dede3c3242e80726374e059841963d36c7ae83130444cadc9c080316bf5a830b12d7c6d9a01b2f27f75621afa0e0c063bf069be84e8ff8 SHA512 54fe445bd4bfc55d244ba6ba9888ea556b1a93b384be1f935ae3e93dc6d9e07167fa0fa07365d7fbc89e0a4924a40ea10fdc63d2ebf55f8d5f0d2ed90848a607
EBUILD HTML-TableExtract-2.150.0.ebuild 581 BLAKE2B a49464257b693b84ddc3ae2540d2da98b468f4b2c826000eee77f87a05259922afad960afc860da0d7192ba7d57a633f12415387195b9756fb34e83e596923b4 SHA512 27068ebd0ec31ebb399ebd34fb0ad03982c1cf3644777df2adafc585a682470f4a7e088145b2a3eabb950185141b9223a1cfb95eac77f9d4c85e3374869b353d
EBUILD HTML-TableExtract-2.150.0-r1.ebuild 575 BLAKE2B 017612d25b1a14e52929b4cab06b7ed068ff8cece76540cfa452d45716337ae12dc0935c2c978a294289d6274554739f1d28eaee6ba390c850ada3b783d096c4 SHA512 fb5b3ce6214889fb0722319fdc0f05f83033370ac99a214a0563fb2b8b91ebd49a726790543d9aff7ccb5ac61cf05adda53660fb4776f191f6619ea0f78a617c
MISC metadata.xml 631 BLAKE2B 4544a38d4491ef354fcd63bcf67a4637de4530ce349205ed8d862f636fed4e2eeffdccfe2a513d4ccaad9a9327a9aadd9c414876c261a6cb0382e727346634d6 SHA512 73ad1a7440b00eca33ba693979fda0ba230047c221f317417483a08b1d8986fd20ff92da416792b6a4d6328976470e1904b09e15d8b5113e5d2c3825d4064b0c

@ -1,27 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=DJERIUS
DIST_VERSION=0.42
inherit perl-module
DESCRIPTION="Extract data from an HTML table"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 ~arm64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-perl/HTML-Parser-3.260.0
"
DEPEND="${RDEPEND}
>=virtual/perl-ExtUtils-MakeMaker-6.590.0
virtual/perl-CPAN-Meta
test? (
>=virtual/perl-Test-Simple-0.320.0
)
"

@ -1,5 +1,3 @@
DIST HTML-TableParser-0.42.tar.gz 73638 BLAKE2B d422069322eada6e72a6742b32418b3c99dda824ebe98c10211b0cf0c4bf7133c6c7fe990148969c8e18cb01c2f2792ebc13ebfc04f8b5032ab48c4febfa6992 SHA512 dddde421a186ebd354c06201fdaa1379378b83acfc86fb0ed9a7959a993dd403c6d40d9aa36e143d1236c9d21ec56c851d82867783e4954f0eeba75ea8400d3d
DIST HTML-TableParser-0.43.tar.gz 66079 BLAKE2B 5309e8b09fdff9b85b8612e4122a5732b2b85bf8e9382ba8656605d0b7faf4bc88e267226e3c7c4565637e370fa9a8526354d38e4296fa7d359004614275a91c SHA512 1f4fa5d5d91c830b6b0e53f6353af4a6016c08aeb572a9ab9d22f21d694b62cace6e745f6af3f96160b885ac2cd788331f0beb0a8777964fb80ff561c227dbf8
EBUILD HTML-TableParser-0.420.0.ebuild 494 BLAKE2B d84ed4bdeeda30c26e06a35789f118c64ce2c0031cc9780cb9a39439bdf1cc4a55d8d3aad02ac8eb68b2755997f0a50de6572916671ce1e3b11f4d05cd8d513d SHA512 6882a6ac9b4fdb9aff29208b58732bb3ec300386f9895026e404321e9217e21ea98af7e8818ea7b5bdcc63572199686e7eda66dfc7382cd665c0f28b9d8ae44b
EBUILD HTML-TableParser-0.430.0.ebuild 508 BLAKE2B 504be2182aba8491f7ade95e37875b1ea283cd67f9806082ea8fc2afbe616db1b77c2044aa1fcb1c063acf81a0a2b60773d9642c1f671be08e88e01bf7bcad04 SHA512 8e8dafa3bb1ac7eb2e90f79c51bdb9f241efaa8bf3e15d3c9471bbb70c2bca764e7f7d5a76e715183c5cb3d0b47ff22e89284dbdb8114456b5d5215a00018ca7
MISC metadata.xml 476 BLAKE2B 5c03da9dd21d5b093c059b438103fe16aa34ec07226c19c157525ad7b74ac885b2b86fbdad00bba073cafb57a276bb28ba3796c888b7c462909f149ca0df85f8 SHA512 599bd2fed0f4f25132859c20bb1e3a03c35c6d8e6dbd59d0f5b621fde8f410155c9e796f059f9b951f99da62a134a2b39d9c86fe27f3d880b0ce330d85b1b3d9

@ -1,20 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MODULE_AUTHOR=SAMTREGAR
MODULE_VERSION=0.07
inherit perl-module
DESCRIPTION="HTML::Template extension adding expression support"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RDEPEND=">=dev-perl/HTML-Template-2.8
dev-perl/Parse-RecDescent"
DEPEND="${RDEPEND}"
SRC_TEST="do"

@ -0,0 +1,20 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=SAMTREGAR
DIST_VERSION=0.07
inherit perl-module
DESCRIPTION="HTML::Template extension adding expression support"
SLOT="0"
KEYWORDS="amd64 x86"
RDEPEND="
>=dev-perl/HTML-Template-2.800.0
dev-perl/Parse-RecDescent
"
BDEPEND="${RDEPEND}
"

@ -1,3 +1,3 @@
DIST HTML-Template-Expr-0.07.tar.gz 19540 BLAKE2B d3c9e44e4b10a4bd97bb59ea35cec459f31f49d487420e346cc3aee40ffe6bcf0a675d74e6821e81f3d2486c04f52a0ba17f942f6cbfa37b7be466df92fedcdd SHA512 965e684a19160d0ca78be94736583a1402666b422432655104ead87c4b9bac4486b97ffbf21ed1f21006feed3ebf25a8dc9e8d6a1e9e1919c6a6f2bcc49dd85c
EBUILD HTML-Template-Expr-0.70.0-r1.ebuild 387 BLAKE2B c465bce1a609a5da1367ce9bfcf6718c1ad200ef29ef969311eba5c40f1ccfe7e46061dc4ffe599787cead5c00d15a7e94b4bbb9ef25b3ac78590c0e4c5a6a30 SHA512 a8b5f0bcde9c71da74d816661bba89cbea586dc788493eb7a72d032cb01659e3f544fc0902d41e4f4ea3723ddd509bc0c5f9d6398530cf5bd75e4a7743821fed
EBUILD HTML-Template-Expr-0.70.0-r2.ebuild 366 BLAKE2B 3796d45ad9917bd90005e19f98267ad66ca57e0eff27700ef5772c921349e5c5a48b04d63c36f254d2c3a302ca4dfce8da5fd665a93db6d9ed26001150298004 SHA512 f935f0b8baf4d8c43faf5c8bdb51357866356e62cb3e1211f0654c406ac31612d393f7a2452d98a6ad655ebb8cd0a649e6efa75566afe61ea07294d4c8d2d280
MISC metadata.xml 410 BLAKE2B 4ab116c7178d0847ee603b56562ea2a6e17ff7a68e5dabfd3d17ecf85d4309322b0fb8756727ed68ff81f5283b7acdbc42cbc5257ff2816da355b609c325158b SHA512 eb17f90795dcd35f1ce39884c34e76fb5aded01c18a5ca545bb3e3367d4562f112175ea5c42c0670e57a74cf63522fab26be854d61a7730d89f7e2e8c4ed58f8

@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
DIST_AUTHOR=SAMTREGAR
DIST_VERSION=2.97
@ -12,8 +12,6 @@ DESCRIPTION="A Perl module to use HTML Templates"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~mips ppc ~ppc64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Carp
@ -21,7 +19,7 @@ RDEPEND="
>=virtual/perl-File-Spec-0.820.0
virtual/perl-Scalar-List-Utils
"
DEPEND="${RDEPEND}
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
dev-perl/CGI
@ -29,6 +27,7 @@ DEPEND="${RDEPEND}
virtual/perl-Test-Simple
)
"
src_test() {
perl_rm_files t/author-*.t
perl-module_src_test

@ -1,3 +1,3 @@
DIST HTML-Template-2.97.tar.gz 88236 BLAKE2B 266b6d7988e04f4e2c0392c364245944cffbc5816d6038020dd1d9d56d5ebfbf6ce26d286ae6e09b17725faefc3409cadb4c562a5125fb753d59992895d98ded SHA512 e1cb68db24db1692c0fb3838739798e5716340e3e78260ee95614af5bf29ee100cc86bbd15a2dda3bb98c7f2ecdf0e3ff8ca7775171a44d9ed347d7f9c850783
EBUILD HTML-Template-2.970.0.ebuild 706 BLAKE2B 5b539598aeb6aee352375b1134e13b70f405a5fc08fcbeed433004523509f5e8777fdfc579d07f95786cb8543cd6ce7281cb653b7eae7e892077dc2ea9494412 SHA512 8893bb021d31988dc674666083cfc1120f0d00f6ab5717cdc4224db853a879b5b09ef71a9cfd155c2fdc4434fccaf5fddb131479d49b43e60001f5968c142480
EBUILD HTML-Template-2.970.0-r1.ebuild 669 BLAKE2B edfdeccf8213e7e067b50252a17d000e8c5c0ea6ed08eb38fd47104aa649535cddf1d15e79af68486977ad3becab38897256e17df1cd2753589f2b6cefea5b5b SHA512 efa4d976d4b5cc16b37a83d3bb5047f4db9fd272d2e7af1ef8e751ed6cb2c0af34811f9d57e74b9f3a4a14ef456b5d0ccaf07201ce4265bd00acc43013a03c33
MISC metadata.xml 1084 BLAKE2B 36072b0cb89900805959824befdeb1790cc92e50c06db354fb09f5ffd8fde88dcd85659802a46aff0bd8ebecdf22c32faa8a71ca49fc6b73aaf2cf597e8c8220 SHA512 284ab385d4b93bded1afbc4535c5838c5bf740376dca62eb54e747dfeebd5b65b1275afcf365f301bd07f1794a7a98bd45334b13a7652f33371d78716c3c0ca9

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

Loading…
Cancel
Save