Sync with portage [Thu Dec 19 08:45:24 MSK 2019].

mhiretskiy
root 4 years ago
parent b61d151073
commit 0797a1de0c

Binary file not shown.

Binary file not shown.

@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>geaaru@gmail.com</email>
<name>Daniele Rondina</name>
</maintainer>
<maintainer type="project">
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,9 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
DESCRIPTION="FreeRadius program group"
ACCT_GROUP_ID=95

Binary file not shown.

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>geaaru@gmail.com</email>
<name>Daniele Rondina</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,11 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
DESCRIPTION="FreeRadius program user"
ACCT_USER_ID=95
ACCT_USER_GROUPS=( radius )
acct-user_add_deps

Binary file not shown.

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<use>
<flag name="fuse">
Use fuse libraries

Binary file not shown.

@ -3,20 +3,25 @@ DIST argparse-0.2.2.crate 19440 BLAKE2B 7b15b2072ff52149bc08c5d02a266f2eef78a3aa
DIST base32-0.4.0.crate 7791 BLAKE2B 6e457d08f6fe17159b0231b62774d2c366c623b07c7b37196edb8f33b886cdf7affece70afae6dd0b64fc4d2be10d3a01f2f0b81ed12d5c5e1cf50d39c80e68b SHA512 4c999f2fcded06d803471d08b8d9e42512a85f81974388afb3d5b450c86e5ea60e7b1fdaccc49b1e0346663827408f847e897523955edcaf397f20fe97038345
DIST bitflags-1.0.4.crate 15282 BLAKE2B 63f5feb47460c344983cef8822804b1c4ac2f3adfffcf206df2b05fafb9c7bfd73986721cde46705a3e4a0dc72a40683e4d369f2339adfc1b55208bad1766875 SHA512 81850d2be62eabb8486024ab263da67e6eb8ebfa732cac3a5d46a9186c564b2065cba15fa3da468bbd26eaf2b67038680e5de19d5dd99d78f60dae8a1776c8de
DIST cc-1.0.37.crate 44499 BLAKE2B d12551225fc4e20691a09fecc8a2a487090ce10ad7fe64b385cf54b74a124cf737aa31966f82d9a68e1a932dccb4ec495eb32cdb4dc808c985384fd0fa4b6950 SHA512 85cf4679d16df14a815563c459227ae85206eb79826099fcbd5f602fdfdc052f36237916a842d65d9a5ab57c559c18e645bb219422d85aa3690c11c0a8dcc92c
DIST cc-1.0.48.crate 49885 BLAKE2B 98bc13fca4b9b39f61916c4cc6a0e4123f5805263a633dd329e0c943d6a3dc8e0572d5b382d61e207ef0e7ca96a66e4720fb7f1a817fd61b1ed842ecf09f5f08 SHA512 4392c4455195dabfefc920e3692dc41fc763f7ca9e7163be395d7acefdcd1cf4f5e7a2356a9d8be367d43cb3e4320ad8e7513e5532118a418cd38e98748fe165
DIST cfg-if-0.1.6.crate 7411 BLAKE2B 0a19f5afaa89acfa7877e06e747c1e73af8b8a9886c97a803fc3d61d075b43f3fee6089c67ed28efe70aaf4082fc21dd5b24ea514fb1d761ba3d939dad496fee SHA512 e393816f659bb5b1e64ebc72a4b6e3e673afd00cba302c3c92c6f2e98db341a29197f6cf413107e569175a86aad85e74a93e2cd3a9fa9fa2d1b70b01c3fcf378
DIST cloudabi-0.0.3.crate 22156 BLAKE2B e12054fd474754031f8f5038d5e2829e1586db974d38230cfd8774db591a58dfdcaea9fb61fc0b35366889d348b2c73ceaabbb462f1abeeffeaab167013c986f SHA512 691ed793e9b35ba382f03897f4c0efc31a528394862a27b814ba8993ad30bbe0ebc9808484baf580e8b69d9c13ad1612776a1efd0f6981545b420139ff83592c
DIST fuchsia-cprng-0.1.1.crate 2950 BLAKE2B 8519407ab5d1f04d03cc946a07050db4dd7bc70e03894e35b9e66910a3be11224084a86ba45103fdec845e94b7ba4defbd7c5217b035a0796c0c4a94b9562cd7 SHA512 ea9f5beb0dfcb023c22cfc2b37ce52dfcf3a2cbbed0f79ffffc332878858386805c65dce8469a431002367562d857a6c064e075688540c27fcb4056a110059d2
DIST lazy_static-1.2.0.crate 10840 BLAKE2B ab0adcf0421131ddd35e95a31a0053e2ffccb03dfc0f46ca4bbb6341f40bdd56d01aed0987489e5e73aa5f7289f3c323d1de0db353a30bb0a75acf53ce8436f8 SHA512 0d80334da99292d68fb2ea9879540676fd45788547b7170b6df1b0a606c1645a07188837f9414196eb44ac63010a3c84fe5c4319478f6fc2cef837295a255edc
DIST libc-0.2.57.crate 408902 BLAKE2B 5c84f490037b5e108400f710da79f5471d5f76c384641bbcb721aee21da84e6a2b523487dbf5984b746d070d23c449968ed546e0bfcdfa961dfd57bfb2f3dce6 SHA512 8f210c0e28d647cd2911ad2b7d2450b6e8ea3d628c0cc68000109a7bfdd64fa31706ed7e9bda0f71b920b38a3580fce3d53fe49e9cc53b6ab9e3aeb2eae0cb8e
DIST libc-0.2.66.crate 457815 BLAKE2B 5da379ea738b75189e106d4be821c999394043303b8bb6a9caecdb1b53e449f11a58edc4589193611b76e7baf00e155ba1077bcca4d0cfae30826e946a0075f0 SHA512 5bf5645a7cbe626108cd71e1d189286ed161fcd3ea12cd34f4e392be4cf93bf78feb6128b1101bedc41a71091398f26771f3efd3880f779ee0be00f706914975
DIST memchr-2.1.3.crate 20069 BLAKE2B 6afd95538abae42fdb22b82964b64657555734f2505e12c650f844b91d60a3f6f61277065e15289b6e6b7ef8ae5345674ce7465ce2320822e13734949ddcd49c SHA512 95fca57233f023191da0c0abf4835c63ca38404b05c2021e1fcb910068c29321e0b89660088e1be432ed8aea2c4d53f14587e08dba0b258892f2e608606b3b57
DIST nitrocli-0.2.4.crate 63798 BLAKE2B 64a4998f9b232993692f85ca3890ecdd20e1027dee61b6f31f06be459a02f11a3cff2c035aa462ee5ea1d680f9e201e25cffdd4ca8d54de80c13d78d9a877fa4 SHA512 cf10287591d55378956118a213e4f9752087be37c67d4c89f7660f51c98dbbf3a877afaf11af7625d3776bdf2c7944b25637873af70119d514f2be93131f9733
DIST nitrocli-0.3.0.crate 68465 BLAKE2B e5534634c090649a818c2b6015e1f9167b26749dccfe48e6ef8c2d7803b1bad9cffcaa1ee3de48a1a04356fe57d5ed6f77ce678ddc75b9a3feadbbcd705d2e8f SHA512 6280d8e7c34ad162e481f0eb2763280193a5b76d871186ebd776033a60a9139f9b436f33061d2bef6467eabb47eb62666c9cf3ddb83290ba2883dfb06ca85e9d
DIST nitrokey-0.3.4.crate 27462 BLAKE2B 07412e0d3d98a0fcaa54be3d494b107a0a4d999da41dc39f8710a5eb845911d175ca15918e212a1025a34e3ddfff89b5ca4a138d66effd47b639afcb19572ca4 SHA512 abb43ca94b7d4ba55cfabce56b712c99bc4e50671149ae2001de77c2cfae25f17465130729a4a856005a692b846c67b54b2992e41b708e8ad94a8c3af0843e20
DIST nitrokey-0.3.5.crate 27340 BLAKE2B 6a799f841fa5be1291bfaa071f6fe6072983ad1fd57bcbfefba588ec9c340429cfcb6502e898d8dc2b2a2bcb7bf1afd2aebbc98dae579300d4d636e0603d9023 SHA512 c61b10ff423c16e4cc0f7084900513256ff017f579edc8dd49148bd7b5ab8a7cec93e070e2c21b1ff6a7a0c7775f4f40144a92dd498e7fea6e4e45ef10845ac3
DIST nitrokey-sys-3.4.3.crate 61875 BLAKE2B 8c2abf91a40f54907f225c21df9d1e40ac22022a3b8229a8bd6c7a5cb8f87df74675ed5eadf6441bc81025e0cf3ebb21d8301004fe1fc76799e11568317bbf0e SHA512 ae69bc8d3fd0a58224ecfaacd159fbab4f7686daaecd96480a6c824ffbd22a8d2c948c5b2c803fa20ae41adfd4334c6462335f5d02dd7acbae0ab19b33cf0a3b
DIST nitrokey-test-0.1.1.crate 8044 BLAKE2B de775515a73a500d3c37a58431c14a1cb6d2f715808c855466b78373f983b948b9e257f03fbcb16729a3f17a3f930ddf3eaac913955286e27e0b27f573659d04 SHA512 4dfbc79e64ed77f58599bc570b126f7975e614de07fa30b3c7da421bf184fbf059f401da42110b14eae5a953599e3875430cd4f0e117df5ce9bd03a753026cec
DIST proc-macro2-0.4.26.crate 33854 BLAKE2B 833db134470a8f12342248c514b08463836ea22eec90162ba96364686e593e3048fe16de669316d88ed5f44b27f948613cf98f4952d49f6b5f37f2da51584c2d SHA512 e35ce0e0a05559417475abc402ef88e6214d7f27ee6cff35577077c5334ec7c6dd5d1d8099f25617391cd4fd2f54838a16ae74039ea6f99ea1d2f0ef58dec010
DIST quote-0.6.11.crate 17283 BLAKE2B 04fa278094e505b806324d572154755d2696a6248ec6afb3aa5ea97ec2556e5b845cec3da1089ca321681591c0ca417caee1d51d7a2b57fc411c3f8270a0aea2 SHA512 5fd4936542eec530bbd33b1ee600746ed5c003eaf31c8aebf910fc1372d5ab91cfb10fbfe2a990a49e5eed88747f99d52cd430b34e0a5cce688094e55eeef4cd
DIST rand_core-0.3.1.crate 15483 BLAKE2B 2e09b3b3306514c29bd7588498e79be7353de656d8cdeeb4dfc6a1ad092f15a861c2ac20591ff71f7f60d986de9a09c860de4a9f06799f04e736b31bc70a5fbe SHA512 5a7ae601124502bede760fd3179c2b28059ebc3b5983bfcb6b8fa62fb58df95cedc1aeb2734e792d894dfa4620801c13c29702f9cbee64243121575d4b6b9114
DIST rand_core-0.4.0.crate 20326 BLAKE2B ff85118d2b5c793e3da37bd4d75032e2d73a87bbba0b4c0c07057c47c67b7e919e5c4458b4c929e3b55f53cd3ae6579be5d434369d307e962c00fb3272862937 SHA512 f80e76dabd3308a12880a9aa8b7be83db39b02778c95bb63f862488789a2a67e2f08d4f2dd1ad803c61df0a9fc7f6620aa753b3bf394542ce27c89189a911845
DIST rand_core-0.4.2.crate 20243 BLAKE2B 22fee5e44127eee047ad8abcd9dd828befd0feee77ee9a0bcd4dd42174b1e650f2a19f1f3b39fde937e58c17afaabf7231e2aabf214c2eb22edf3f85b73f6eec SHA512 f7ae3b690e2cc1fbf2707ee04b752bc5472433f737ab581f9872f7c5660966bc6be45f0c5d2cd8771105df6d4a9d206c55f5cc6ffc1693b46e1ae03a2883b028
DIST rand_os-0.1.3.crate 18965 BLAKE2B 3cd93b10a46a70e0e3ccaf1fb8ee52230d74b7d790351652a8e39323bf0dcb446d14e9229e13c14a84e93394a22e0a127f50ded11db1df8ffc0a6bd564af63a7 SHA512 01e81a692b78df3b2bd65bc285e5052ccaf208c7d0ace414f251db4fcff7f9ae1502ee60ca5745c95e778d3d5efe15fa84153c17c422b6b6bfee829376c14575
DIST rdrand-0.4.0.crate 6456 BLAKE2B 330ee64d998a0358f95a3dce50b3e1bbda531a3b613db7e5ba4038a1cf7191b60be3a0f33416e05380c41040704ce52727928915e9d2f4565d39984d1c86fcd6 SHA512 6476275d124bee28747191471e8d8f321a3b1c148c1f2a7ece4175f5244a7de90afe5f99d2eba5244d886b92e38232398864bf90e6d434b09494533942c8d894
DIST regex-1.1.0.crate 241219 BLAKE2B 37441c1cedfa7fac3904a3a261f618afbdc64e9bcbd9f6913c551ac2cffd454456fce71ae1aefda70cf32d000d990d4e97d9867ffa042abf0e71bdc9df3cbec1 SHA512 f60d9e7c5a8647a1e0d35e995e799335ae695903985cd9f90923ab6483172602e9493005b7c7bd3dee0824de992dcd2f03320d58419206a0d5cfb675c68c4745

@ -0,0 +1,74 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CRATES="
aho-corasick-0.6.9
argparse-0.2.2
base32-0.4.0
bitflags-1.0.4
cc-1.0.48
cfg-if-0.1.6
cloudabi-0.0.3
fuchsia-cprng-0.1.1
lazy_static-1.2.0
libc-0.2.66
memchr-2.1.3
nitrocli-0.3.0
nitrokey-0.3.5
nitrokey-sys-3.4.3
nitrokey-test-0.1.1
proc-macro2-0.4.26
quote-0.6.11
rand_core-0.3.1
rand_core-0.4.2
rand_os-0.1.3
rdrand-0.4.0
regex-1.1.0
regex-syntax-0.6.5
syn-0.15.26
thread_local-0.3.6
ucd-util-0.1.3
unicode-xid-0.1.0
utf8-ranges-1.0.2
winapi-0.3.6
winapi-i686-pc-windows-gnu-0.4.0
winapi-x86_64-pc-windows-gnu-0.4.0
"
inherit cargo
DESCRIPTION="A command line application for interacting with Nitrokey devices"
HOMEPAGE="https://github.com/d-e-s-o/nitrocli/tree/master/nitrocli"
SRC_URI="$(cargo_crate_uris ${CRATES})"
LICENSE="Apache-2.0 GPL-3+ LGPL-3 MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
BDEPEND="
>=virtual/rust-1.31.0
"
DEPEND="
dev-libs/hidapi
"
# We require gnupg for /usr/bin/gpg-connect-agent.
RDEPEND="
${DEPEND}
app-crypt/gnupg
"
# Uses a plugged-in Nitrokey and runs tests on it. These tests assumes a
# pristine configuration and will modify the device's state. Not meant
# to be run as part of the installation.
RESTRICT="test"
QA_FLAGS_IGNORED="/usr/bin/nitrocli"
src_install() {
cargo_src_install --path=.
einstalldocs
doman "doc/nitrocli.1"
}

Binary file not shown.

@ -82,8 +82,8 @@ BDEPEND="alsa? ( virtual/pkgconfig )
X? ( virtual/pkgconfig )
gzip-el? ( app-arch/gzip )"
EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
SITEFILE="20${PN}-${SLOT}-gentoo.el"
EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
@ -277,7 +277,7 @@ src_install () {
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${PN}-${SLOT} site-lisp configuration
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
@ -299,9 +299,9 @@ src_install () {
if use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi
DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
@ -317,7 +317,7 @@ src_install () {
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
it into /Applications by yourself."
readme.gentoo_create_doc

@ -90,8 +90,8 @@ DEPEND="${RDEPEND}
BDEPEND="virtual/pkgconfig
gzip-el? ( app-arch/gzip )"
EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
SITEFILE="20${PN}-${SLOT}-gentoo.el"
EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
@ -272,7 +272,7 @@ src_install () {
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${PN}-${SLOT} site-lisp configuration
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
@ -294,9 +294,9 @@ src_install () {
if use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi
DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
@ -311,7 +311,7 @@ src_install () {
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
it into /Applications by yourself."
readme.gentoo_create_doc

@ -96,8 +96,8 @@ BDEPEND="virtual/pkgconfig
RDEPEND="${RDEPEND}
!<app-editors/emacs-vcs-${PV}"
EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
SITEFILE="20${PN}-${SLOT}-gentoo.el"
EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
@ -283,7 +283,7 @@ src_install () {
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${PN}-${SLOT} site-lisp configuration
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
@ -305,9 +305,9 @@ src_install () {
if use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi
DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
@ -322,7 +322,7 @@ src_install () {
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
it into /Applications by yourself."
readme.gentoo_create_doc

@ -104,8 +104,8 @@ BDEPEND="virtual/pkgconfig
RDEPEND="${RDEPEND}
!<app-editors/emacs-vcs-${PV}"
EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
SITEFILE="20${PN}-${SLOT}-gentoo.el"
EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
@ -300,7 +300,7 @@ src_install () {
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${PN}-${SLOT} site-lisp configuration
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
@ -322,9 +322,9 @@ src_install () {
if use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi
DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
@ -339,7 +339,7 @@ src_install () {
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
it into /Applications by yourself."
readme.gentoo_create_doc

@ -104,8 +104,8 @@ BDEPEND="virtual/pkgconfig
RDEPEND="${RDEPEND}
!<app-editors/emacs-vcs-${PV}"
EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
SITEFILE="20${PN}-${SLOT}-gentoo.el"
EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
@ -309,7 +309,7 @@ src_install () {
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${PN}-${SLOT} site-lisp configuration
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
@ -331,9 +331,9 @@ src_install () {
if use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi
DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
@ -348,7 +348,7 @@ src_install () {
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
it into /Applications by yourself."
readme.gentoo_create_doc

@ -0,0 +1,408 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
if [[ ${PV##*.} = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
EGIT_BRANCH="emacs-26"
EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
S="${EGIT_CHECKOUT_DIR}"
else
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz
mirror://gnu-alpha/emacs/pretest/${P}.tar.xz"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
FULL_VERSION="${PV%%_*}"
S="${WORKDIR}/emacs-${FULL_VERSION}"
[[ ${FULL_VERSION} != ${PV} ]] && S="${WORKDIR}/emacs"
fi
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="https://www.gnu.org/software/emacs/"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="26-vcs"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk gtk2 gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
REQUIRED_USE="?? ( aqua X )"
RDEPEND="sys-libs/ncurses:0=
>=app-eselect/eselect-emacs-1.16
>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
acl? ( virtual/acl )
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
games? ( acct-group/gamestat )
gpm? ( sys-libs/gpm )
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
kerberos? ( virtual/krb5 )
lcms? ( media-libs/lcms:2 )
libxml2? ( >=dev-libs/libxml2-2.2.0 )
mailutils? ( net-mail/mailutils[clients] )
!mailutils? ( net-libs/liblockfile )
selinux? ( sys-libs/libselinux )
ssl? ( net-libs/gnutls:0= )
systemd? ( sys-apps/systemd )
zlib? ( sys-libs/zlib )
X? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libxcb
x11-misc/xbitmaps
gconf? ( >=gnome-base/gconf-2.26.2 )
gsettings? ( >=dev-libs/glib-2.28.6 )
gif? ( media-libs/giflib:0= )
jpeg? ( virtual/jpeg:0= )
png? ( >=media-libs/libpng-1.4:0= )
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:0 )
xpm? ( x11-libs/libXpm )
imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
x11-libs/libXft
x11-libs/libXrender
cairo? ( >=x11-libs/cairo-1.12.18 )
m17n-lib? (
>=dev-libs/libotf-0.9.4
>=dev-libs/m17n-lib-1.5.1
)
)
gtk? (
gtk2? ( x11-libs/gtk+:2 )
!gtk2? (
x11-libs/gtk+:3
xwidgets? (
net-libs/webkit-gtk:4=
x11-libs/libXcomposite
)
)
)
!gtk? (
motif? (
>=x11-libs/motif-2.3:0
x11-libs/libXpm
x11-libs/libXmu
x11-libs/libXt
)
!motif? (
Xaw3d? (
x11-libs/libXaw3d
x11-libs/libXmu
x11-libs/libXt
)
!Xaw3d? ( athena? (
x11-libs/libXaw
x11-libs/libXmu
x11-libs/libXt
) )
)
)
)"
DEPEND="${RDEPEND}
X? ( x11-base/xorg-proto )"
BDEPEND="virtual/pkgconfig
gzip-el? ( app-arch/gzip )"
if [[ ${PV##*.} = 9999 ]]; then
BDEPEND="${BDEPEND}
sys-apps/texinfo"
fi
RDEPEND="${RDEPEND}
!app-editors/emacs-vcs:26"
EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
src_prepare() {
if [[ ${PV##*.} = 9999 ]]; then
FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
configure.ac)
[[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
einfo "Emacs branch: ${EGIT_BRANCH}"
einfo "Commit: ${EGIT_VERSION}"
einfo "Emacs version number: ${FULL_VERSION}"
[[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
|| die "Upstream version number changed to ${FULL_VERSION}"
fi
eapply_user
# Fix filename reference in redirected man page
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die
AT_M4DIR=m4 eautoreconf
}
src_configure() {
strip-flags
filter-flags -pie #526948
if use sh; then
replace-flags "-O[1-9]" -O0 #262359
elif use ia64; then
replace-flags "-O[2-9]" -O1 #325373
else
replace-flags "-O[3-9]" -O2
fi
local myconf
if use alsa; then
use sound || ewarn \
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
myconf+=" --with-sound=alsa"
else
myconf+=" --with-sound=$(usex sound oss)"
fi
if use X; then
myconf+=" --with-x --without-ns"
myconf+=" $(use_with gconf)"
myconf+=" $(use_with gsettings)"
myconf+=" $(use_with toolkit-scroll-bars)"
myconf+=" $(use_with gif)"
myconf+=" $(use_with jpeg)"
myconf+=" $(use_with png)"
myconf+=" $(use_with svg rsvg)"
myconf+=" $(use_with tiff)"
myconf+=" $(use_with xpm)"
myconf+=" $(use_with imagemagick)"
if use xft; then
myconf+=" --with-xft"
myconf+=" $(use_with cairo)"
myconf+=" $(use_with m17n-lib libotf)"
myconf+=" $(use_with m17n-lib m17n-flt)"
else
myconf+=" --without-xft"
myconf+=" --without-cairo"
myconf+=" --without-libotf --without-m17n-flt"
use cairo && ewarn \
"USE flag \"cairo\" has no effect if \"xft\" is not set."
use m17n-lib && ewarn \
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
fi
local f line
if use gtk; then
einfo "Configuring to build with GIMP Toolkit (GTK+)"
while read line; do ewarn "${line}"; done <<-EOF
Your version of GTK+ will have problems with closing open
displays. This is no problem if you just use one display, but
if you use more than one and close one of them Emacs may crash.
See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
If you intend to use more than one display, then it is strongly
recommended that you compile Emacs with the Athena/Lucid or the
Motif toolkit instead.
EOF
if use gtk2; then
myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
else
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
fi
for f in motif Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"gtk\" is set."
done
elif use motif; then
einfo "Configuring to build with Motif toolkit"
myconf+=" --with-x-toolkit=motif"
for f in Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"motif\" is set."
done
elif use athena || use Xaw3d; then
einfo "Configuring to build with Athena/Lucid toolkit"
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
else
einfo "Configuring to build with no toolkit"
myconf+=" --with-x-toolkit=no"
fi
if ! use gtk; then
use gtk2 && ewarn \
"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
fi
elif use aqua; then
einfo "Configuring to build with Nextstep (Cocoa) support"
myconf+=" --with-ns --disable-ns-self-contained"
myconf+=" --without-x"
else
myconf+=" --without-x --without-ns"
fi
econf \
--program-suffix="-${EMACS_SUFFIX}" \
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
--localstatedir="${EPREFIX}"/var \
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
--without-compress-install \
--without-hesiod \
--without-pop \
--with-file-notification=$(usev inotify || usev gfile || echo no) \
$(use_enable acl) \
$(use_with dbus) \
$(use_with dynamic-loading modules) \
$(use_with games gameuser ":gamestat") \
$(use_with gpm) \
$(use_with kerberos) $(use_with kerberos kerberos5) \
$(use_with lcms lcms2) \
$(use_with libxml2 xml2) \
$(use_with mailutils) \
$(use_with selinux) \
$(use_with ssl gnutls) \
$(use_with systemd libsystemd) \
$(use_with threads) \
$(use_with wide-int) \
$(use_with zlib) \
${myconf}
}
src_compile() {
# Disable sandbox when dumping. For the unbelievers, see bug #131505
emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
}
src_install () {
emake DESTDIR="${D}" NO_BIN_LINK=t install
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
# move info dir to avoid collisions with the dir file generated by portage
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
# avoid collision between slots, see bug #169033 e.g.
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
rm -rf "${ED}"/usr/share/{appdata,applications,icons}
rm -rf "${ED}/usr/$(get_libdir)"
rm -rf "${ED}"/var
# remove unused <version>/site-lisp dir
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
if use systemd; then
insinto /usr/lib/systemd/user
sed -e "/^##/d" \
-e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
-e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
etc/emacs.service | newins - ${EMACS_SUFFIX}.service
assert
fi
if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
assert "gzip .el failed"
fi
local cdir
if use source; then
cdir="/usr/share/emacs/${FULL_VERSION}/src"
insinto "${cdir}"
# This is not meant to install all the source -- just the
# C source you might find via find-function
doins src/*.{c,h,m}
elif has installsources ${FEATURES}; then
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
fi
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
Y "${EPREFIX}${cdir}")
X (let ((path (getenv "INFOPATH"))
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
X (and path
X ;; move Emacs Info dir before anything else in /usr/share
X (let* ((p (cons nil (split-string path ":" t))) (q p))
X (while (and (cdr q) (not (string-match re (cadr q))))
X (setq q (cdr q)))
X (setcdr q (cons dir (delete dir (cdr q))))
X (setq Info-directory-list (prune-directory-list (cdr p)))))))
EOF
elisp-site-file-install "${T}/${SITEFILE}" || die
dodoc README BUGS CONTRIBUTE
if use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi
DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
through the Emacs eselect module, which also redirects man and info
pages. Therefore, several Emacs versions can be installed at the
same time. \"man emacs.eselect\" for details.
\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
strongly recommended that you use app-admin/emacs-updater to rebuild
all byte-compiled elisp files of the installed Emacs packages."
use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
it into /Applications by yourself."
readme.gentoo_create_doc
}
pkg_preinst() {
# move Info dir file to correct name
if [[ -d ${ED}/usr/share/info ]]; then
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
fi
}
pkg_postinst() {
elisp-site-regen
readme.gentoo_print_elog
if use livecd; then
# force an update of the emacs symlink for the livecd/dvd,
# because some microemacs packages set it with USE=livecd
eselect emacs update
elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
# refresh symlinks in case any installed files have changed
eselect emacs set ${EMACS_SUFFIX}
else
eselect emacs update ifunset
fi
}
pkg_postrm() {
elisp-site-regen
eselect emacs update ifunset
}

@ -0,0 +1,416 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
if [[ ${PV##*.} = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
EGIT_BRANCH="master"
EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
S="${EGIT_CHECKOUT_DIR}"
else
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz
mirror://gnu-alpha/emacs/pretest/${P}.tar.xz"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
FULL_VERSION="${PV%%_*}"
S="${WORKDIR}/emacs-${FULL_VERSION}"
[[ ${FULL_VERSION} != ${PV} ]] && S="${WORKDIR}/emacs"
fi
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="https://www.gnu.org/software/emacs/"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="27-vcs"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
REQUIRED_USE="?? ( aqua X )"
RESTRICT="test"
RDEPEND="sys-libs/ncurses:0=
>=app-eselect/eselect-emacs-1.16
>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
acl? ( virtual/acl )
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
games? ( acct-group/gamestat )
gmp? ( dev-libs/gmp:0= )
gpm? ( sys-libs/gpm )
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
json? ( dev-libs/jansson )
kerberos? ( virtual/krb5 )
lcms? ( media-libs/lcms:2 )
libxml2? ( >=dev-libs/libxml2-2.2.0 )
mailutils? ( net-mail/mailutils[clients] )
!mailutils? ( net-libs/liblockfile )
selinux? ( sys-libs/libselinux )
ssl? ( net-libs/gnutls:0= )
systemd? ( sys-apps/systemd )
zlib? ( sys-libs/zlib )
X? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libxcb
x11-misc/xbitmaps
gconf? ( >=gnome-base/gconf-2.26.2 )
gsettings? ( >=dev-libs/glib-2.28.6 )
gif? ( media-libs/giflib:0= )
jpeg? ( virtual/jpeg:0= )
png? ( >=media-libs/libpng-1.4:0= )
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:0 )
xpm? ( x11-libs/libXpm )
imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
x11-libs/libXft
x11-libs/libXrender
cairo? ( >=x11-libs/cairo-1.12.18 )
harfbuzz? ( media-libs/harfbuzz:0= )
m17n-lib? (
>=dev-libs/libotf-0.9.4
>=dev-libs/m17n-lib-1.5.1
)
)
gtk? (
gtk2? ( x11-libs/gtk+:2 )
!gtk2? (
x11-libs/gtk+:3
xwidgets? (
net-libs/webkit-gtk:4=
x11-libs/libXcomposite
)
)
)
!gtk? (
motif? (
>=x11-libs/motif-2.3:0
x11-libs/libXpm
x11-libs/libXmu
x11-libs/libXt
)
!motif? (
Xaw3d? (
x11-libs/libXaw3d
x11-libs/libXmu
x11-libs/libXt
)
!Xaw3d? ( athena? (
x11-libs/libXaw
x11-libs/libXmu
x11-libs/libXt
) )
)
)
)"
DEPEND="${RDEPEND}
X? ( x11-base/xorg-proto )"
BDEPEND="virtual/pkgconfig
gzip-el? ( app-arch/gzip )"
if [[ ${PV##*.} = 9999 ]]; then
BDEPEND="${BDEPEND}
sys-apps/texinfo"
fi
RDEPEND="${RDEPEND}
!app-editors/emacs-vcs:27"
EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
src_prepare() {
if [[ ${PV##*.} = 9999 ]]; then
FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
configure.ac)
[[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
einfo "Emacs branch: ${EGIT_BRANCH}"
einfo "Commit: ${EGIT_VERSION}"
einfo "Emacs version number: ${FULL_VERSION}"
[[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
|| die "Upstream version number changed to ${FULL_VERSION}"
fi
eapply_user
# Fix filename reference in redirected man page
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die
AT_M4DIR=m4 eautoreconf
}
src_configure() {
strip-flags
filter-flags -pie #526948
if use sh; then
replace-flags "-O[1-9]" -O0 #262359
elif use ia64; then
replace-flags "-O[2-9]" -O1 #325373
else
replace-flags "-O[3-9]" -O2
fi
local myconf
if use alsa; then
use sound || ewarn \
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
myconf+=" --with-sound=alsa"
else
myconf+=" --with-sound=$(usex sound oss)"
fi
if use X; then
myconf+=" --with-x --without-ns"
myconf+=" $(use_with gconf)"
myconf+=" $(use_with gsettings)"
myconf+=" $(use_with toolkit-scroll-bars)"
myconf+=" $(use_with gif)"
myconf+=" $(use_with jpeg)"
myconf+=" $(use_with png)"
myconf+=" $(use_with svg rsvg)"
myconf+=" $(use_with tiff)"
myconf+=" $(use_with xpm)"
myconf+=" $(use_with imagemagick)"
if use xft; then
myconf+=" --with-xft"
myconf+=" $(use_with cairo)"
myconf+=" $(use_with harfbuzz)"
myconf+=" $(use_with m17n-lib libotf)"
myconf+=" $(use_with m17n-lib m17n-flt)"
else
myconf+=" --without-xft"
myconf+=" --without-cairo"
myconf+=" --without-libotf --without-m17n-flt"
use cairo && ewarn \
"USE flag \"cairo\" has no effect if \"xft\" is not set."
use m17n-lib && ewarn \
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
fi
local f line
if use gtk; then
einfo "Configuring to build with GIMP Toolkit (GTK+)"
while read line; do ewarn "${line}"; done <<-EOF
Your version of GTK+ will have problems with closing open
displays. This is no problem if you just use one display, but
if you use more than one and close one of them Emacs may crash.
See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
If you intend to use more than one display, then it is strongly
recommended that you compile Emacs with the Athena/Lucid or the
Motif toolkit instead.
EOF
if use gtk2; then
myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
else
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
fi
for f in motif Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"gtk\" is set."
done
elif use motif; then
einfo "Configuring to build with Motif toolkit"
myconf+=" --with-x-toolkit=motif"
for f in Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"motif\" is set."
done
elif use athena || use Xaw3d; then
einfo "Configuring to build with Athena/Lucid toolkit"
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
else
einfo "Configuring to build with no toolkit"
myconf+=" --with-x-toolkit=no"
fi
if ! use gtk; then
use gtk2 && ewarn \
"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
fi
elif use aqua; then
einfo "Configuring to build with Nextstep (Cocoa) support"
myconf+=" --with-ns --disable-ns-self-contained"
myconf+=" --without-x"
else
myconf+=" --without-x --without-ns"
fi
econf \
--program-suffix="-${EMACS_SUFFIX}" \
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
--localstatedir="${EPREFIX}"/var \
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
--without-compress-install \
--without-hesiod \
--without-pop \
--with-dumping=pdumper \
--with-file-notification=$(usev inotify || usev gfile || echo no) \
$(use_enable acl) \
$(use_with dbus) \
$(use_with dynamic-loading modules) \
$(use_with games gameuser ":gamestat") \
$(use_with gmp libgmp) \
$(use_with gpm) \
$(use_with json) \
$(use_with kerberos) $(use_with kerberos kerberos5) \
$(use_with lcms lcms2) \
$(use_with libxml2 xml2) \
$(use_with mailutils) \
$(use_with selinux) \
$(use_with ssl gnutls) \
$(use_with systemd libsystemd) \
$(use_with threads) \
$(use_with wide-int) \
$(use_with zlib) \
${myconf}
}
#src_compile() {
# # Disable sandbox when dumping. For the unbelievers, see bug #131505
# emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
#}
src_install () {
emake DESTDIR="${D}" NO_BIN_LINK=t install
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
# move info dir to avoid collisions with the dir file generated by portage
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
# avoid collision between slots, see bug #169033 e.g.
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
rm -rf "${ED}"/usr/share/{appdata,applications,icons}
rm -rf "${ED}/usr/$(get_libdir)"
rm -rf "${ED}"/var
# remove unused <version>/site-lisp dir
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
if use systemd; then
insinto /usr/lib/systemd/user
sed -e "/^##/d" \
-e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
-e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
etc/emacs.service | newins - ${EMACS_SUFFIX}.service
assert
fi
if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
assert "gzip .el failed"
fi
local cdir
if use source; then
cdir="/usr/share/emacs/${FULL_VERSION}/src"
insinto "${cdir}"
# This is not meant to install all the source -- just the
# C source you might find via find-function
doins src/*.{c,h,m}
elif has installsources ${FEATURES}; then
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
fi
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
Y "${EPREFIX}${cdir}")
X (let ((path (getenv "INFOPATH"))
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
X (and path
X ;; move Emacs Info dir before anything else in /usr/share
X (let* ((p (cons nil (split-string path ":" t))) (q p))
X (while (and (cdr q) (not (string-match re (cadr q))))
X (setq q (cdr q)))
X (setcdr q (cons dir (delete dir (cdr q))))
X (setq Info-directory-list (prune-directory-list (cdr p)))))))
EOF
elisp-site-file-install "${T}/${SITEFILE}" || die
dodoc README BUGS CONTRIBUTE
if use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi
DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
through the Emacs eselect module, which also redirects man and info
pages. Therefore, several Emacs versions can be installed at the
same time. \"man emacs.eselect\" for details.
\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
strongly recommended that you use app-admin/emacs-updater to rebuild
all byte-compiled elisp files of the installed Emacs packages."
use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
it into /Applications by yourself."
readme.gentoo_create_doc
}
pkg_preinst() {
# move Info dir file to correct name
if [[ -d ${ED}/usr/share/info ]]; then
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
fi
}
pkg_postinst() {
elisp-site-regen
readme.gentoo_print_elog
if use livecd; then
# force an update of the emacs symlink for the livecd/dvd,
# because some microemacs packages set it with USE=livecd
eselect emacs update
elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
# refresh symlinks in case any installed files have changed
eselect emacs set ${EMACS_SUFFIX}
else
eselect emacs update ifunset
fi
}
pkg_postrm() {
elisp-site-regen
eselect emacs update ifunset
}

@ -34,14 +34,19 @@
<flag name="gtk2">Prefer version 2 of the GIMP Toolkit to version 3
(<pkg>x11-libs/gtk+</pkg>)</flag>
<flag name="gzip-el">Compress bundled Emacs Lisp source</flag>
<flag name="harfbuzz">Use <pkg>media-libs/harfbuzz</pkg> as text shaping
engine</flag>
<flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image
processing</flag>
<flag name="json">Compile with native JSON support using
<pkg>dev-libs/jansson</pkg></flag>
<flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead
of the internal Lisp implementations</flag>
<flag name="mailutils">Retrieve e-mail using <pkg>net-mail/mailutils</pkg>
instead of the internal movemail substitute</flag>
<flag name="source">Install C source files and make them available for
find-function</flag>
<flag name="threads">Add elisp threading support</flag>
<flag name="toolkit-scroll-bars">Use the selected toolkit's scrollbars in
preference to Emacs' own scrollbars</flag>
<flag name="wide-int">Prefer wide Emacs integers (typically 62-bit).

Binary file not shown.

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<longdescription>In-circuit programming (ISP) tool for the NXP (Philips) LPC1100 / LPC1300 / LPC1700 / LPC2000 series ARM7 / Cortex-M0 / Cortex-M3 microcontrollers</longdescription>
<upstream>
<remote-id type="sourceforge">lpc21isp</remote-id>

Binary file not shown.

@ -27,7 +27,7 @@ RDEPEND=">=dev-haskell/blaze-builder-0.2:=[profile?]
DEPEND="${RDEPEND}
dev-haskell/alex
>=dev-haskell/cabal-1.9.2
dev-haskell/happy
>=dev-haskell/happy-1.19.12
test? ( dev-haskell/hspec
>=dev-haskell/quickcheck-2
>=dev-haskell/utf8-light-0.4 )

Binary file not shown.

@ -1,9 +1,9 @@
DIST crystal-0.30.1-1-linux-i686.tar.gz 31972575 BLAKE2B 75350799d836110448f56a7b0f49ad27fdeef0f1da169cc15b411482649538e48c3895b169a1deb4c5691f97329ad70a126396425fd096f0dbd83db7e989e4b2 SHA512 9ede9ed7522a82270d91c316b9b98d8ab2d497def2432b99e2d2f21175e978b5b984df92c9637b4600ef27b6e84bd7bc7a5a1b227b17538804a1bc52dabdf84a
DIST crystal-0.30.1-1-linux-x86_64.tar.gz 30166159 BLAKE2B b58e69f9f00e15c3b6e7e259179903f6f210f463c89b8d50a99b1a7d413092585afddf94cac3a461c041c3d91301aac8e61dbab37282a29f781a34367a1d9ddb SHA512 31f06163951fb6ede70eb41f6047c96a74293754bba360b428bf162b1661eed47f8b426327f074f3523ae16b073e8ae5f5e0e6b36ebf83031fa5a0b414b41648
DIST crystal-0.30.1.tar.gz 2153037 BLAKE2B e5cb2d49688aba75f684ea9fea7e6b0e85eb124f55bf00472595ba83bedd50a8042c5b3c40358254c3fdec3bce2f351ca5e6d385a7841d33f44b934844fd89b1 SHA512 62ddb0dc45385d52d7fdd593f85ec4bef2451aa9a48aabe0115ffe8cfe820e6665b2d51d097339fe931d8599bb6c62c7ddfcaae36a199db0726df4e246af6eab
DIST crystal-0.31.1-1-linux-i686.tar.gz 28667084 BLAKE2B 50964072d9335f96effce812cd261760dd308ee50628a47e2694f0a34b6dce210d5a00b978b0537bcd24cc2fc6dd82637c05dc0596ba0322e1297b97ea14bc78 SHA512 2353d10bce6983459afae526b516290eba44e2d6b5943911b8da657a36a0bbd422bd4efe61f2205e178355a2898e90ac9927c64ffba1e8edae4615a01ea9ad40
DIST crystal-0.31.1-1-linux-x86_64.tar.gz 26998394 BLAKE2B 37ecfe9f130b1e9e52686c52474fcef599a348a7d9f1885c3fe41302a1d6d760ada5a153978397c7ec43b2bb4442bb3fc1c2f8d5eed9b4141858455673170544 SHA512 433ac13f9f541dd5b58c1db5e063e23058a87ed325cabc0a4165c42edf18a5f9f126ea4e1d9627357d47c5e3f392131e1f7aab22c34dce3b02e3fdca49658b5b
DIST crystal-0.31.1.tar.gz 2191156 BLAKE2B 072e14fed34cc411cd6d9a57b8c5184e5974257869ef41f9bd12401ab473186f699bfbac438af97dd8e4e8cf749ebdbf35050882e9dc14be75392d50763902a8 SHA512 d44ce5653aa2877d85685bd897888cd7675eb02897363f71627ac19589447889af8e73a1d8acb2108e0356939cd515022fd2b92d019014714428d92666ad0f37
DIST crystal-0.32.0-1-linux-i686.tar.gz 30066630 BLAKE2B 06054c08c3d06a5d76b707d825e8a95b879f7426660ed1bf340737cf3b5a1a7d7e50107dd3030057dcc08eed0bcadc391d55f23dc53f3fdca69a60dee07e29d7 SHA512 e9a089c0cb30977902ecb729bf90cfe132708058d46c01446b4ebb8af9f8d19a66169717f9e7dd87fcbf3ab4328a9e539dbff93dbca60050ddce0a7d7a708628
DIST crystal-0.32.0-1-linux-x86_64.tar.gz 27352543 BLAKE2B b181c29b2ed70517b0ef0a3f9533b67bc20354fe8e98e075eb42ea6ba5ac94485718b65c2fe720953983d868410aea1f879c6242ac58b2f0931dc987203d05b5 SHA512 1ba010f25ea88888b5145f39a63bdc5cc3977577742961e540ffba2ee113754cbf1d2c504c7b4f7a2af82ae3cd8c0053b740a5f379efffb154a96fc8d9edd5cf
DIST crystal-0.32.0.tar.gz 2223709 BLAKE2B fafca329085efba8e9f3164ea3250cbe0fc067177f6c842a30ae040385353cbb28cff8a642eb0a28ed65fb4c53efa7e03994654983108568ad94cda8370b9b7e SHA512 e4c386e95ca4c93870807221cb741ae41bf2f96dbc91f3799c02c1f99c17568804a62fb7c8ddfd297b5ab2805939323dfc00a71584af534c8a8dcd54dbd7510c
DIST crystal-0.32.1-1-linux-i686.tar.gz 30062609 BLAKE2B 658cd453465a1c4de44c0b010593aa19a68b93569482202baba948dc58f018d38cbefda083592145a141e7dfc574eddb7ccf0a41613a7a7d5ea8d12ed8f72d08 SHA512 34127ad25a1e290b8f17fa7de9465083955ae16a049bab8a927f90df4f2c87c7a59e2c8123f7ec0d0de691130e51749b104ccf11ea68005c267ab98c322156f3
DIST crystal-0.32.1-1-linux-x86_64.tar.gz 27348617 BLAKE2B 96410f00843d21cea4ed6f8d4896438334f577b6e593e72a0be23d3e1a460199bffc456ddb675a257c5a973353c1a8d28f69263b8517e0009e54d2f2f19535fe SHA512 85524c38cd91fbe56ab7d14c3a05a1a3f3e3fc0f618e5fa5af010716f76b1dc0cc415cbc67e16c99fd2e8860412d7e2566f510c751de0ad4373361edbcee0475
DIST crystal-0.32.1.tar.gz 2225383 BLAKE2B 81cdda508945ebea481c3ad784ecdccffe25e4726d2f63feb1a4995b48041fbf2cbe226bebcbf9f9627d2161d167ccb502626a9d51f787dc8e48fd607f310ff8 SHA512 d83575f4c7953054824f13516cdc04bd7576bf7165754d96a9f4970e2a6cbf779b4db6806d3eeac465ed0c223c203ef95fc3bda70d1ef9f7c96ec96cd076283d

@ -22,7 +22,7 @@ IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
RESTRICT=test # not stable for day-to-day runs
LLVM_MAX_SLOT=8
LLVM_MAX_SLOT=9
# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
DEPEND="
@ -41,14 +41,12 @@ RDEPEND="${DEPEND}
"
PATCHES=(
"${FILESDIR}"/${PN}-0.27.1-verbose.patch
"${FILESDIR}"/${PN}-0.31.0-verbose.patch
"${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
"${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
"${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
#"${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
"${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
"${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch
"${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch
"${FILESDIR}"/${PN}-0.29.0-no-usr-lib.patch
)

@ -2,7 +2,10 @@ DIST php-5.6.40.tar.xz 12472236 BLAKE2B f41147eaec9b15e965540f9e871691cc88848dd6
DIST php-7.1.33.tar.xz 12370228 BLAKE2B 610f501c1729ca3f5fa6f104b9f229046cf1e497f2fdc1194b80b4a5f9ca7f799dc6a458de34dd7a87976b7252ba2f548a8d689e4b2a45c025f1807ab8489f12 SHA512 ed37a79e3402c767f20e55c1cbe27957cc78240eafc719fffccd7d29ae10a45112aa0f29082f56133cd9c25f2750e9e57246d95b4f38d766f49bd29d1397eb1d
DIST php-7.2.24.tar.xz 12302284 BLAKE2B 3c864e72d9fce1f13295385e20708a632087b2e4ffdc9e0012191cb2e17a3530f26797ad03c595bea60cccf850fe17028f2a379e50f32bd4db82530e0fcd727f SHA512 39597b8328cb4d5284288bdce8dd9c7ef8446e46914de93203700efaf67f85ad5b69df777bea14eef9160b233fb79bcb60f6750c0df011bbf610b62a524689e3
DIST php-7.2.25.tar.xz 12278980 BLAKE2B f556263e5ae00694e76a54d364aa31c33e51277e3ddaaf59a8dc6453cd2ea82d2229ad54149925cbbb2ed7983887652fb3c3c6e7be5a04192b7a619b0c4c7eab SHA512 b803284ef3aac178646095200c4bb3635d6dcaffd967ea94960905cec9a76835f745606d45e383b917d7e6b118708bc05025728444a3123d3c09e06350cb277b
DIST php-7.2.26.tar.xz 12309176 BLAKE2B 2208aee696fc2aed50b4f08f2dd7ca0f70d9913c22091687f6c694a343e4b5fd5e1f0d0b6b127fe0c00c5611cb60e627c2257a1fad9bff6e9fc8bb921e1eb57d SHA512 457e3420120135e311a22cd11529d5a3efc5885af4f298196f403093141801619d4dcdb38d6a4a5f8d9dcfa619688d8fdf33fea4a30e2d885e987b739a268f12
DIST php-7.3.11.tar.xz 12092412 BLAKE2B 0f326b85756cfb5ca96a43d7bfbe8aebd3bb9e9ede06734fb00dc3551372d53befba9e87f5f6a0b0b9e62d35a2eedacd1fa500e1eeff908e05ff52be730c61b4 SHA512 150cb202efc4cc1df042a2cbb9368a2d29aefd1d0cf1a0b0bd7238ba5cb6c4b828e23f2d42b4ecd77dd54f73141a33fc3b36ca0764320e9ba470c9549a7f0291
DIST php-7.3.12.tar.xz 12095212 BLAKE2B a0377883103dc0fa7625297f4b7f4777fc6d72b85abf60444366444aba44a526ac80ec68baf6981ad9b3f27ed26aec4a4f91f48e685393601f54118bb7903cb5 SHA512 e3022da2c9c216793c9f44d530a7217f51fd1d99a3dfb203eecc4a149fd29ab31facccfc2fb67af8241c9a83d3543020fcfce403dfc12142b03fa7458d600be3
DIST php-7.3.13.tar.xz 12102012 BLAKE2B 32a346470ea0d0a3db873ae94b5e4dcc650c25e24db244ea94417f092e0458a0825cb99e9c3429000ee5cbd50120824d9bd2a58a7ed2ada1f39c6d7c41b2ba08 SHA512 d0624b3b841fed49d9cea56b17e7c8c7abf8e6572832b6f86c98f48c23f86690c310b460eae27a6fcd41fbfbc2e8a4b56f6bfb0c738fa1db36ce3795454d7798
DIST php-7.4.0.tar.xz 10232208 BLAKE2B 2282ab5c177d362f03f370e71dcaf925aa7752b0c1656d292760961adb4027e34f73a44c97ab5760956e466457241509f0dc6e5d9387898815a1bc88cdf45a9e SHA512 a44ce901b64a5f3f973ed323987e570e5459923149a34d0aa036990c3a42956d28b836a25dc3baef0d90aaee432df08a72d59966174218163b9579493027115c
DIST php-7.4.1.tar.xz 10245600 BLAKE2B fcbb7de0e9ab74820ca8fdd234cd20908ed8e559e6eeffd576e285a5f4b4b31506ec2e11cc5926464257e08289207462f4b373833b8130500e0944f64dbf6cf5 SHA512 2dd152bdca52ece160feff799622fd4bdd88e0664f629e6149fd14ede6c304dfc40c164fcd9200c041b26342d6248010cf9b53e30c1a8d31640dc3b24d25c4da
DIST php-patches-7.1.33bp.tar.bz2 39945 BLAKE2B 9f7137f61b7ea07cc263b054401a319042f5a40d6cdaf3561a45778ae009e3279c72f2a6a0f9c97805bc39acef1c8c9d72d290c2ce873f44209fb2d65d620810 SHA512 8e36fb57bdadfcc4e976ecb7dc8f44290dc3b507eb27f4445aa2c8eba528e7cb53286e7fd9b1b9141f12fd6e29278282e4f0eb6445ed06046dd48a1d5d1bc789

@ -0,0 +1,751 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit flag-o-matic systemd autotools
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://php.net/"
SRC_URI="https://php.net/distributions/${P}.tar.xz"
LICENSE="PHP-3.01
BSD
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( <app-text/enchant-2.0:0 )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
recode? ( app-text/recode )
session-mm? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
sodium? ( dev-libs/libsodium:= )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
wddx? ( >=dev-libs/libxml2-2.6.8 )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib:0= )
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( sys-libs/zlib:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysqli !mysql )
session-mm? ( session !threads )
mysql? ( hash || ( mysqli pdo ) )
mysqli? ( hash )
zip-encryption? ( zip )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/php-freetype-2.9.1.patch"
"${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch"
)
PHP_MV="$(ver_cut 1)"
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" php.ini
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config files php-fpm.conf and www.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
doins sapi/fpm/www.conf
fi
dodoc php.ini-{development,production}
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
default
# In php-7.x, the FPM pool configuration files have been split off
# of the main config. By default the pool config files go in
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
# we'll install the pool configuration file "www.conf" there.
php_set_ini_dir fpm
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
# Bug 669566 - necessary so that build tools are updated for commands like pecl
# Force rebuilding aclocal.m4
rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
eautoreconf
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar calendar)
$(use_enable coverage gcov)
$(use_enable ctype ctype)
$(use_with curl curl "${EPREFIX}/usr")
$(use_enable xml dom)
$(use_with enchant enchant "${EPREFIX}/usr")
$(use_enable exif exif)
$(use_enable fileinfo fileinfo)
$(use_enable filter filter)
$(use_enable ftp ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_enable hash hash)
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
$(use_with kerberos kerberos "${EPREFIX}/usr")
$(use_enable xml libxml)
$(use_with xml libxml-dir "${EPREFIX}/usr")
$(use_enable unicode mbstring)
$(use_with unicode onig "${EPREFIX}/usr")
$(use_with ssl openssl "${EPREFIX}/usr")
$(use_with ssl openssl-dir "${EPREFIX}/usr")
$(use_enable pcntl pcntl)
$(use_enable phar phar)
$(use_enable pdo pdo)
$(use_enable opcache opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_with recode recode "${EPREFIX}/usr")
$(use_enable simplexml simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap soap)
$(use_enable sockets sockets)
$(use_with sodium sodium "${EPREFIX}/usr")
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer tokenizer)
$(use_enable wddx wddx)
$(use_enable xml xml)
$(use_enable xmlreader xmlreader)
$(use_enable xmlwriter xmlwriter)
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}/usr")
$(use_enable zip zip)
$(use_with zip-encryption libzip "${EPREFIX}/usr")
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
our_conf+=( "--enable-dba${shared}" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype-dir "${EPREFIX}/usr")
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg-dir "${EPREFIX}/usr")
$(use_with gd png-dir "${EPREFIX}/usr")
$(use_with xpm xpm-dir "${EPREFIX}/usr")
)
if use webp; then
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
fi
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_with gd gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# Interbase/firebird support
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
$(use_with iodbc iodbc "${EPREFIX}/usr")
)
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit libedit "${EPREFIX}/usr")
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
# --with-pcre-valgrind cannot be enabled with system pcre
# Many arches don't support pcre-jit
our_conf+=(
--with-pcre-regex="${EPREFIX}/usr"
--with-pcre-dir="${EPREFIX}/usr"
--without-pcre-valgrind
--without-pcre-jit
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Cache the ./configure test results between SAPIs.
our_conf+=( --cache-file="${T}/config.cache" )
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -a "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm|phpdbg)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
if [[ "fpm" == "${sapi}" ]] ; then
sapi_conf+=(
$(use_with acl fpm-acl)
$(use_with systemd fpm-systemd)
)
fi
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index #nowarn
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp${PHP_MV}$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
phpdbg)
source="sapi/phpdbg/phpdbg"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -0,0 +1,752 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit flag-o-matic systemd autotools
MY_PV=${PV/_rc/RC}
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://php.net/"
SRC_URI="https://php.net/distributions/${P}.tar.xz"
LICENSE="PHP-3.01
BSD
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[unicode]
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( <app-text/enchant-2.0:0 )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
recode? ( app-text/recode )
session-mm? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
sodium? ( dev-libs/libsodium:= )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
libressl? ( dev-libs/libressl:0= )
)
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
wddx? ( >=dev-libs/libxml2-2.6.8 )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( >=sys-libs/zlib-1.2.0.4:0= )
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysqli !mysql )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
zip-encryption? ( zip )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/php-freetype-2.9.1.patch"
)
PHP_MV="$(ver_cut 1)"
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" php.ini
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config files php-fpm.conf and www.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
doins sapi/fpm/www.conf
fi
dodoc php.ini-{development,production}
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
default
# In php-7.x, the FPM pool configuration files have been split off
# of the main config. By default the pool config files go in
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
# we'll install the pool configuration file "www.conf" there.
php_set_ini_dir fpm
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
# Bug 669566 - necessary so that build tools are updated for commands like pecl
# Force rebuilding aclocal.m4
rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
eautoreconf
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar calendar)
$(use_enable coverage gcov)
$(use_enable ctype ctype)
$(use_with curl curl "${EPREFIX}/usr")
$(use_enable xml dom)
$(use_with enchant enchant "${EPREFIX}/usr")
$(use_enable exif exif)
$(use_enable fileinfo fileinfo)
$(use_enable filter filter)
$(use_enable ftp ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_enable hash hash)
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
$(use_with kerberos kerberos "${EPREFIX}/usr")
$(use_enable xml libxml)
$(use_with xml libxml-dir "${EPREFIX}/usr")
$(use_enable unicode mbstring)
$(use_with unicode onig "${EPREFIX}/usr")
$(use_with ssl openssl "${EPREFIX}/usr")
$(use_with ssl openssl-dir "${EPREFIX}/usr")
$(use_enable pcntl pcntl)
$(use_enable phar phar)
$(use_enable pdo pdo)
$(use_enable opcache opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_with recode recode "${EPREFIX}/usr")
$(use_enable simplexml simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap soap)
$(use_enable sockets sockets)
$(use_with sodium sodium "${EPREFIX}/usr")
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer tokenizer)
$(use_enable wddx wddx)
$(use_enable xml xml)
$(use_enable xmlreader xmlreader)
$(use_enable xmlwriter xmlwriter)
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}/usr")
$(use_enable zip zip)
$(use_with zip-encryption libzip "${EPREFIX}/usr")
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
our_conf+=( "--enable-dba${shared}" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype-dir "${EPREFIX}/usr")
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg-dir "${EPREFIX}/usr")
$(use_with gd png-dir "${EPREFIX}/usr")
$(use_with xpm xpm-dir "${EPREFIX}/usr")
)
if use webp; then
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
fi
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_with gd gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# Interbase/firebird support
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
$(use_with iodbc iodbc "${EPREFIX}/usr")
)
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit libedit "${EPREFIX}/usr")
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
# --with-pcre-valgrind cannot be enabled with system pcre
# Many arches don't support pcre-jit
our_conf+=(
--with-pcre-regex="${EPREFIX}/usr"
--with-pcre-dir="${EPREFIX}/usr"
--without-pcre-valgrind
--without-pcre-jit
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Cache the ./configure test results between SAPIs.
our_conf+=( --cache-file="${T}/config.cache" )
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -a "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm|phpdbg)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
if [[ "fpm" == "${sapi}" ]] ; then
sapi_conf+=(
$(use_with acl fpm-acl)
$(use_with systemd fpm-systemd)
)
fi
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index #nowarn
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp${PHP_MV}$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
phpdbg)
source="sapi/phpdbg/phpdbg"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -0,0 +1,742 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
inherit flag-o-matic systemd autotools
MY_PV=${PV/_rc/RC}
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://php.net/"
SRC_URI="https://php.net/distributions/${P}.tar.xz"
LICENSE="PHP-3.01
BSD
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[unicode]
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( <app-text/enchant-2.0:0 )
ffi? ( >=virtual/libffi-3.0.11 )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
sodium? ( dev-libs/libsodium:= )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
libressl? ( dev-libs/libressl:0= )
)
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.7.6 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
PHP_MV="$(ver_cut 1)"
PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" )
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" php.ini
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config files php-fpm.conf and www.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
doins sapi/fpm/www.conf
fi
dodoc php.ini-{development,production}
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
default
# In php-7.x, the FPM pool configuration files have been split off
# of the main config. By default the pool config files go in
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
# we'll install the pool configuration file "www.conf" there.
php_set_ini_dir fpm
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_enable json)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xmlrpc)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
our_conf+=( "--enable-dba" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-external-pcre affects ext/pcre
# Many arches don't support pcre-jit
our_conf+=(
--with-external-pcre
--without-pcre-jit
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Cache the ./configure test results between SAPIs.
our_conf+=( --cache-file="${T}/config.cache" )
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -a "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm|phpdbg)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
if [[ "fpm" == "${sapi}" ]] ; then
sapi_conf+=(
$(use_with acl fpm-acl)
$(use_with systemd fpm-systemd)
)
fi
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index #nowarn
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp${PHP_MV}$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
phpdbg)
source="sapi/phpdbg/phpdbg"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -1,6 +1,4 @@
DIST swipl-8.0.3.tar.gz 10418553 BLAKE2B d7d381a3070384164f9788060e1c431cc4658dd3e2144fc4c186c9f5395fb7356593766dcaff3ff424f19f917c8a4b56da31b019bd2206a7f794ece549043b76 SHA512 e3a0788befb5499be6f70524ef398dc3282a38891f20519dd23ec92f216fc1919a76656e4b648c3dc9d94e578dc2663439ff976eb52ca0dba5a6594f8d4d3037
DIST swipl-8.1.14.tar.gz 10772544 BLAKE2B d272b6cd5a096d6422a2afc7fe27354c3c0e45462580e05c85916b604b28566d6f454fff1cf72c4194194fdea2577c0c73c9c9e556322eee4d904e079e5a5bd7 SHA512 360c18af7e53c85f33bfa1afbe19f99c6afbe72e8f86436dfc034485f92dd60d1fa1320826438532bd84f842ccba730826efefecdc4fdbae0d2f71bc590c4ae5
DIST swipl-8.1.15.tar.gz 10786301 BLAKE2B e79795f92e269dfc9b8150d63cfac946285a4a433ae2d4445b381ac37fe5bfb9df2f9d1fe48b3531c430a792d74414fdb0219b2ec14b75a974639246402e67fa SHA512 97d2873acb5c5a9806e6c8a99633a093a62cb3f6c693b42265a97d9c3bb0d44b286627a2a962ba031c99be6a19f5a63eada831b625deb8e22dc9423136788f2e
DIST swipl-8.1.16.tar.gz 10793960 BLAKE2B 4c353fe4b839e50e47c2e063ed38913fb4271fb51974bf88f745769fa8f39e2c731bf687d3f3b8531d0dc31fe7f50e82d24f2f27e7a68cfcbbdb5a6b68f9c347 SHA512 f62b8e3fdead3273e3cb6a58a3087c012dca6c8cc7ede239ad833a59641ded4c275e2b8820b719c6f335b2730bab75ac70df09fba743e8d7d20567dc6b79ac60
DIST swipl-8.1.17.tar.gz 10858037 BLAKE2B 69d6528e250dfd780c17bd87c2d79f2923a4ed413d44a5b1f77ca28c2077d8000dc991058fe47a7aaaa6310cf015049980463005d53294a71ba610e43b67b0dd SHA512 42a5a529e1ed935501e87cab28ab5b6d3a18283027bb801a7e3d66d41342fe6ee74de70fe9e8a341f360ab145d0a2e49d8937cb661cfec52f9105c4cf06dc735
DIST swipl-8.1.18.tar.gz 10865862 BLAKE2B 9728593b9ce890fdb8b4bda8667dbfa9323707d86e0491e62ca82098c62d797da3cdc0180aba0509393532f2b095d1626a0b465955036de80b4fff4dbb62cba6 SHA512 c6b29b57e42e464f03e328fcc272c04db7772b45e62a26fec14f7fe2b9d3c494eeb4c090237b942e38f666dea6fc92e1d00dacba83f6ea74d6dd53923fd23816
DIST swipl-8.1.19.tar.gz 10865698 BLAKE2B 08da8b7d93a313f621f9bb6abcc509ab6997b673f89483356f6a90f80fd7053acfac611bfaaa2925b3c0d51d7216ea7a1fcbd52dc202961e5a157eb7d0cf0907 SHA512 6094ef47e6c30b5d15f01c8f8c52b125cd04153b9949b6c0a19f4b2e57cd2604377b6b905dec6fa34fd6c6baec1d74d0463c24dfe407fb25643e7e89515b3296

@ -1,100 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils eutils flag-o-matic multilib
PATCHSET_VER="0"
DESCRIPTION="versatile implementation of the Prolog programming language"
HOMEPAGE="http://www.swi-prolog.org/"
SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
RESTRICT="!test? ( test )"
RDEPEND="sys-libs/ncurses:=
sys-libs/zlib
archive? ( app-arch/libarchive )
berkdb? ( >=sys-libs/db-4:= )
odbc? ( dev-db/unixODBC )
pcre? ( dev-libs/libpcre )
readline? ( sys-libs/readline:= )
libedit? ( dev-libs/libedit )
gmp? ( dev-libs/gmp:0 )
ssl? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)
java? ( >=virtual/jdk-1.7:= )
uuid? ( dev-libs/ossp-uuid )
qt5? (
dev-qt/qtwidgets:5
dev-qt/qtgui:5
)
X? (
virtual/jpeg:0
x11-libs/libX11
x11-libs/libXft
x11-libs/libXinerama
x11-libs/libXpm
x11-libs/libXt
x11-libs/libICE
x11-libs/libSM )
yaml? ( dev-libs/libyaml )"
DEPEND="${RDEPEND}
X? ( x11-base/xorg-proto )
java? ( test? ( =dev-java/junit-3.8* ) )"
S="${WORKDIR}/swipl-${PV}"
BUILD_DIR="${S}/build"
CMAKE_USE_DIR="${S}"
src_prepare() {
EPATCH_FORCE=yes
EPATCH_SUFFIX=patch
if [[ -d "${WORKDIR}"/${PV} ]] ; then
epatch "${WORKDIR}"/${PV}
fi
sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
eapply_user
cmake-utils_src_prepare
}
src_configure() {
append-flags -fno-strict-aliasing
use debug && append-flags -DO_DEBUG
mycmakeargs=(
-DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
-DUSE_GMP=$(usex gmp)
-DINSTALL_DOCUMENTATION=$(use doc && usex archive)
-DSWIPL_PACKAGES_BASIC=$(usex !minimal)
-DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
-DSWIPL_PACKAGES_ODBC=$(usex odbc)
-DSWIPL_PACKAGES_BDB=$(usex berkdb)
-DSWIPL_PACKAGES_PCRE=$(usex pcre)
-DSWIPL_PACKAGES_YAML=$(usex yaml)
-DSWIPL_PACKAGES_SSL=$(usex ssl)
-DSWIPL_PACKAGES_JAVA=$(usex java)
-DSWIPL_PACKAGES_QT=$(usex qt5)
-DSWIPL_PACKAGES_X=$(usex X)
-DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
)
cmake-utils_src_configure
}
src_test() {
USE_PUBLIC_NETWORK_TESTS=false \
USE_ODBC_TESTS=false \
cmake-utils_src_test -V
}

@ -1,106 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils eutils flag-o-matic multilib
PATCHSET_VER="0"
DESCRIPTION="versatile implementation of the Prolog programming language"
HOMEPAGE="http://www.swi-prolog.org/"
SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
RESTRICT="!test? ( test )"
RDEPEND="sys-libs/ncurses:=
sys-libs/zlib
archive? ( app-arch/libarchive )
berkdb? ( >=sys-libs/db-4:= )
odbc? ( dev-db/unixODBC )
pcre? ( dev-libs/libpcre )
readline? ( sys-libs/readline:= )
libedit? ( dev-libs/libedit )
gmp? ( dev-libs/gmp:0 )
ssl? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)
java? ( >=virtual/jdk-1.7:= )
uuid? ( dev-libs/ossp-uuid )
qt5? (
dev-qt/qtwidgets:5
dev-qt/qtgui:5
)
X? (
virtual/jpeg:0
x11-libs/libX11
x11-libs/libXft
x11-libs/libXinerama
x11-libs/libXpm
x11-libs/libXt
x11-libs/libICE
x11-libs/libSM )
yaml? ( dev-libs/libyaml )"
DEPEND="${RDEPEND}
X? ( x11-base/xorg-proto )
java? ( test? ( =dev-java/junit-3.8* ) )"
S="${WORKDIR}/swipl-${PV}"
BUILD_DIR="${S}/build"
CMAKE_USE_DIR="${S}"
src_prepare() {
EPATCH_FORCE=yes
EPATCH_SUFFIX=patch
if [[ -d "${WORKDIR}"/${PV} ]] ; then
epatch "${WORKDIR}"/${PV}
fi
sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
eapply_user
cmake-utils_src_prepare
}
src_configure() {
append-flags -fno-strict-aliasing
use debug && append-flags -DO_DEBUG
mycmakeargs=(
-DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
-DUSE_GMP=$(usex gmp)
-DINSTALL_DOCUMENTATION=$(use doc && usex archive)
-DSWIPL_PACKAGES_BASIC=$(usex !minimal)
-DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
-DSWIPL_PACKAGES_ODBC=$(usex odbc)
-DSWIPL_PACKAGES_BDB=$(usex berkdb)
-DSWIPL_PACKAGES_PCRE=$(usex pcre)
-DSWIPL_PACKAGES_YAML=$(usex yaml)
-DSWIPL_PACKAGES_SSL=$(usex ssl)
-DSWIPL_PACKAGES_JAVA=$(usex java)
-DSWIPL_PACKAGES_QT=$(usex qt5)
-DSWIPL_PACKAGES_X=$(usex X)
-DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
)
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile \
XDG_CONFIG_DIRS="${HOME}" \
XDG_DATA_DIRS="${HOME}"
}
src_test() {
USE_PUBLIC_NETWORK_TESTS=false \
USE_ODBC_TESTS=false \
cmake-utils_src_test -V
}

Binary file not shown.

@ -11,7 +11,7 @@ SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="~alpha amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug static-libs"
BDEPEND="

@ -14,7 +14,7 @@ LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="debug doc examples static-libs"
BDEPEND="${PYTHON_DEPS}

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@ -9,7 +9,7 @@ MY_P="${P/lib/}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="An audio library by Fons Adriaensen <fons.adriaensen@skynet.be>"
DESCRIPTION="POSIX threads C++ access library"
HOMEPAGE="http://kokkinizita.linuxaudio.org/linuxaudio/index.html"
SRC_URI="http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${MY_P}.tar.bz2"

@ -5,13 +5,13 @@ EAPI=7
inherit multilib toolchain-funcs
DESCRIPTION="An audio library by Fons Adriaensen <fons.adriaensen@skynet.be>"
DESCRIPTION="POSIX threads C++ access library"
HOMEPAGE="http://kokkinizita.linuxaudio.org/linuxaudio/index.html"
SRC_URI="http://kokkinizita.linuxaudio.org/linuxaudio/downloads/clthreads-${PV}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
KEYWORDS="amd64 ~ppc ~sparc ~x86"
IUSE=""
S="${WORKDIR}/clthreads-${PV}"

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<longdescription>
LibFlatArray is a multi-dimensional C++ array class which provides
an object-oriented view (a.k.a. array of structs, AoS) while

@ -1 +1,2 @@
DIST libgusb-0.2.11.tar.xz 291992 BLAKE2B f43065fac0fcfbc3e392b90dc05537746ce1325d623161e93e1a306b87b07012ef4e11242514cd3da0b83a7df6adc052e20fd3336b53d2543ed9e23886a776f5 SHA512 f9c3c204b5f0feaf706b23dd9a174feb36a9f3c8db8ffb5dcdefa66b18ba0ac963c6041d2d91a6a2f6e23036fc6486d142210bd5348e10c026a6defeb0bee096
DIST libgusb-0.3.1.tar.xz 38568 BLAKE2B d09afae9d210fde1411de5a0b9b8852eef49f88558ff4c434ef5f2ed9c1c6c29600b96dad73f6873027c5ce0987a3fd99691ffd97d90cfba9f63fbb2cc73f8cd SHA512 5c864e35ec64d1e52ec15ab971c75e0ee3e4664223a6b365815a54819f23342889e5f9739b998799a3af3d37ee75f0ae38ee0d8bca4ed1e2d6ff712f65a53b9a

@ -0,0 +1,66 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VALA_USE_DEPEND="vapigen"
inherit meson multilib-minimal vala
DESCRIPTION="GObject wrapper for libusb"
HOMEPAGE="https://github.com/hughsie/libgusb"
SRC_URI="https://people.freedesktop.org/~hughsient/releases/${P}.tar.xz"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="gtk-doc +introspection static-libs test vala"
REQUIRED_USE="vala? ( introspection )"
RDEPEND="
>=dev-libs/glib-2.44:2[${MULTILIB_USEDEP}]
virtual/libusb:1[udev,${MULTILIB_USEDEP}]
introspection? ( >=dev-libs/gobject-introspection-1.54:= )
sys-apps/hwids
"
DEPEND="${RDEPEND}"
BDEPEND="
gtk-doc? (
app-text/docbook-xml-dtd:4.1.2
app-text/docbook-xml-dtd:4.4
dev-util/gtk-doc
)
vala? ( $(vala_depend) )
virtual/pkgconfig[${MULTILIB_USEDEP}]
"
RESTRICT="!test? ( test )"
src_prepare() {
use vala && vala_src_prepare
default
}
multilib_src_configure() {
local emesonargs=(
-Ddefault_library=$(usex static-libs both shared)
$(meson_use test tests)
-Dvapi=$(multilib_native_usex vala true false)
-Dusb_ids="${EPREFIX}"/usr/share/misc/usb.ids
-Ddocs=$(multilib_native_usex gtk-doc true false)
-Dintrospection=$(multilib_native_usex introspection true false)
)
meson_src_configure
}
multilib_src_compile() {
meson_src_compile
}
multilib_src_test() {
meson_src_test
}
multilib_src_install() {
meson_src_install
}

@ -1,2 +1,3 @@
DIST libical-3.0.5.tar.gz 881800 BLAKE2B 64f95950cc6f128c9ea475129e54d9c58b26d9866f8183762d34c996934a1b2bcc528c47442357a12fb6444831caa8f39772a6810d81f8c0b6596fd724f0de6c SHA512 9bf24b535864f66ea0b8d52d902d15fbfd20efbc480b5188ecd1b3d4aafdba063219763f99a8c30413964f7a024c7a902bade6bc40224bc59a438e672f65d656
DIST libical-3.0.6.tar.gz 879939 BLAKE2B 365e16cd7011df7e9e8bcf011035aeeb904a511c5a0ff76cde5b559a7c56049646108d1c2b499cd044e2784aef7bb1370ee3dbf88c24b745a349a0ee7c312157 SHA512 d1a3397071c2989983893e3bbaeb088f7cb9a3639dca39709e9422c334dd1e9a869bba9292a250f83eb2a5b6727bd91b73c8e420bd1814422d97aff9fc6b26fc
DIST libical-3.0.7.tar.gz 881352 BLAKE2B ad256833a69ba2e76301b1d9f732ac22c3d5a0030bb81e2d8ef57471338fc583cf1dd21cccb1301d3fcfbe1905a42bebec7c811e90cc8b10faa6e773fc1366fc SHA512 4e1df3fad9c9df795da441243471d05168287519b6155b148b5aa28092ecac687626fa92713b280864a41f6ffc0c7fb43d2770fb1821396cb838e96e76d8d9d8

@ -0,0 +1,102 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
VALA_USE_DEPEND="vapigen"
inherit cmake-utils python-any-r1 vala
DESCRIPTION="An implementation of basic iCAL protocols"
HOMEPAGE="https://github.com/libical/libical"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
SLOT="0/3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
IUSE="berkdb doc examples introspection static-libs test vala"
RESTRICT="!test? ( test )"
REQUIRED_USE="vala? ( introspection )"
BDEPEND="
dev-lang/perl
virtual/pkgconfig
doc? ( app-doc/doxygen )
introspection? ( dev-libs/gobject-introspection )
test? ( ${PYTHON_DEPS} )
vala? ( $(vala_depend) )
"
COMMON_DEPEND="
dev-libs/icu:=
berkdb? ( sys-libs/db:= )
introspection? ( dev-libs/glib:2 )
"
DEPEND="${COMMON_DEPEND}
introspection? ( dev-libs/libxml2:2 )
"
RDEPEND="${COMMON_DEPEND}
sys-libs/timezone-data
"
DOCS=(
AUTHORS ReadMe.txt ReleaseNotes.txt TEST THANKS TODO
doc/{AddingOrModifyingComponents,UsingLibical}.txt
)
PATCHES=(
"${FILESDIR}/${PN}-3.0.4-tests.patch"
"${FILESDIR}/${PN}-3.0.5-pkgconfig-libdir.patch"
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
cmake-utils_src_prepare
use examples || cmake_comment_add_subdirectory examples
use vala && vala_src_prepare
}
src_configure() {
local mycmakeargs=(
$(cmake-utils_use_find_package berkdb BDB)
-DICAL_BUILD_DOCS=$(usex doc)
-DICAL_GLIB=$(usex introspection)
-DGOBJECT_INTROSPECTION=$(usex introspection)
-DSHARED_ONLY=$(usex !static-libs)
-DLIBICAL_BUILD_TESTING=$(usex test)
-DICAL_GLIB_VAPI=$(usex vala)
)
if use vala; then
mycmakeargs+=(
-DVALAC="${VALAC}"
-DVAPIGEN="${VAPIGEN}"
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
use doc && cmake-utils_src_compile docs
}
src_test() {
local myctestargs=(
-E "(icalrecurtest|icalrecurtest-r)" # bug 660282
)
cmake-utils_src_test
}
src_install() {
use doc && HTML_DOCS=( "${BUILD_DIR}"/apidocs/html/. )
cmake-utils_src_install
if use examples; then
rm examples/CMakeLists.txt || die
dodoc -r examples
fi
}

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">perfmon2</remote-id>
</upstream>

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

@ -4,3 +4,4 @@ DIST roct-thunk-interface-2.6.0.tar.gz 1957383 BLAKE2B 0335d4e219978d16bc8dbc77c
DIST roct-thunk-interface-2.7.0.tar.gz 2677696 BLAKE2B 44e15d772f3e86994739ca28300cac0dde56a173daa3789a332d58ed7ac4f5e8705b778e1096d022225a8b89fa5ceb4e3e40b456d470e7ab325721328e04292e SHA512 325444d6b457dae03779730324bf683712acb07ed9379675b025456a8dfcc4f6ebf1d2e10bcf03b6474ad8353c20c8fa1d380a671578e47f9a7e27caf946ecab
DIST roct-thunk-interface-2.8.0.tar.gz 2679724 BLAKE2B d7e1cbb0a21800016926caf6d644d10d0643e46ed888cb23414f92a55fa994c7f1de1982b025f9d116b3e596ff0224397180d6c974940f1b5038b331f1527c8b SHA512 c1c64192f5687744a069bcc1067d3edbd833b6e784e114e8772abc89940d24b7a0dbc0479f41d1252a4b69ca6a339b00bf849682ae235cb6d5fa76a6c84f3193
DIST roct-thunk-interface-2.9.0.tar.gz 2683269 BLAKE2B 0dd5d4f6b4046711e2fc535012fb164b463000f19a3043398ca8e1382d373cfa4a5ba00c8861a3b0fdc8a34843fbcec644ef2c1598fdd08b4bf2fdf18ef3988b SHA512 ac6bd1550b56996edc7e5cc49200c8cb0dd8da42d6fca5eac27e48c45ce74583c6510847fe747bd528089d054faecefcfe630284b8cd1f9d692838d47643c0c0
DIST roct-thunk-interface-3.0.0.tar.gz 2685769 BLAKE2B d8ecf26113357a2a400bc1f2d4b40e38f2bd1bd5ac2c77c189490df9bcc7864f8357c262ad62d6cbf0f62f41edd9e09f5b75ce1e66f3a589d143a3883942a12d SHA512 18756a626d57255cfdd03b38dbc56769e4e28dbe1b00cc1e3d99a39dcd943bafebedc1774c76a191cdaf83b2bce4ac464dc97cbd088894447afddcca50447e9f

@ -0,0 +1,43 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake-utils linux-info
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
inherit git-r3
else
SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/ROCT-Thunk-Interface-roc-${PV}"
KEYWORDS="~amd64"
fi
DESCRIPTION="Radeon Open Compute Thunk Interface"
HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
CONFIG_CHECK="~NUMA ~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
RDEPEND="sys-process/numactl
sys-apps/pciutils"
DEPEND="${RDEPEND}"
src_prepare() {
sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/"
-DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
)
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile build-dev
}
src_install() {
cmake-utils_src_install install-dev
}

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<use>
<flag name="camera">
Install libraries needed to support camera

Binary file not shown.

@ -1,9 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">URLObject</remote-id>
<remote-id type="github">zacharyvoase/urlobject</remote-id>

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">YURL</remote-id>
</upstream>

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">aldryn-boilerplates</remote-id>
</upstream>

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">aldryn-common</remote-id>
</upstream>

@ -1,9 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">click-plugins</remote-id>
</upstream>

@ -1,9 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">cligj</remote-id>
<remote-id type="github">mapbox/cligj</remote-id>

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
inherit distutils-r1

@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy )
inherit distutils-r1
@ -13,7 +14,6 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux"
IUSE=""
python_test() {
local fail= t

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
inherit distutils-r1

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">django-durationfield</remote-id>
</upstream>

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">django-sortedm2m</remote-id>
</upstream>

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">django-spurl</remote-id>
</upstream>

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">django_polymorphic</remote-id>
</upstream>

@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy pypy3 )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy pypy3 )
inherit distutils-r1
@ -21,4 +22,4 @@ RDEPEND="
"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
"
"

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">easy-thumbnails</remote-id>
</upstream>

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">ipdbplugin</remote-id>
</upstream>

@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~sparc ~x86"
RDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]

@ -1 +1,2 @@
DIST kafka-python-1.3.3.tar.gz 255686 BLAKE2B 01ce6d3faf55988f291a0aeb26f6e5e01407c02d440f21622e565a124595e2df46e253c539ef1ffe44405960249ba49f426f25a6a6ef3b67d3f3f1bf6fe37aee SHA512 19b43ddc7a1ad3fcf58c55198de60c4434bfa3747d5bbc40f1acf0aa28225eae87effbae69087919b111cb739010bd4087e2497fdc78987f4cdaf33e81e516b3
DIST kafka-python-1.4.7.tar.gz 352844 BLAKE2B 812c185bf19f3398c358722a44feb572693556ec671d07f2d74d63e45473f5b6d35390cc0fa2c95b8c42a15b635237ffa3c3829adde1f60a7611ce4fdf06f587 SHA512 5bbf9f998fba12e8e7c67a48e82b04e745f1ac528684e91b7454e825656e4a68b8c369984308cff575241b7f808f52f16ab02b7effd6d6b4319215f44ae4748e

@ -0,0 +1,29 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
inherit distutils-r1
DESCRIPTION="Kafka protocol support in Python"
HOMEPAGE="https://github.com/dpkp/kafka-python/ https://pypi.org/project/kafka-python/"
SRC_URI="https://github.com/dpkp/kafka-python/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="snappy test"
RESTRICT="!test? ( test )"
RDEPEND="snappy? ( dev-python/snappy[${PYTHON_USEDEP}] )"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/unittest2[${PYTHON_USEDEP}]
)"
python_test() {
unit2 -v || die "tests failed with ${EPYTHON}"
}

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<longdescription>
Tool to manage the installation, removal of flowers at https://github.com/kivy-garden/
They are a set of user maintained widgets, extensions, tools for kivy(http://kivy.org) framework.

@ -1,9 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">munch</remote-id>
<remote-id type="github">Infinidat/munch</remote-id>

@ -1 +1,2 @@
DIST precis_i18n-1.0.0.tar.gz 61251 BLAKE2B 3f49f77ae4e6eea6ac1429a8de9b4ebe217d4d901edc223ee487d8a11bb45dc9e21a1e9fef9bd4478273ae721b5c02e4e2a7d2a3f28da281fcbdc17a12a1094e SHA512 9017852fdd2a066b8e31521bd39843f3b1f87259ce87e1567cfaa2b932b52b745ad84eb89b77a4c3ea0a04e513573655266b2cc73997e951268646da7a000e5d
DIST precis_i18n-1.0.1.tar.gz 63941 BLAKE2B ee429304f41fd225b306d6df342e1ab62a9dcc3daa40ae08c88a02809230d7e356090c3414136799b176b74debfd901863cb673b577b336784411ca5baf3e92c SHA512 d8aaf99bbf3bde148f173ac8ffa5cab5051ec873d53e19336171dcd29f995e706746e5969d37aef05b6c9db064ca5e7b3944ae049b0a41e605e71a854248251b

@ -0,0 +1,28 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{5,6,7,8} )
inherit distutils-r1
MY_PN="${PN/-/_}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Internationalized Usernames and Passwords"
HOMEPAGE="https://pypi.python.org/pypi/precis-i18n"
SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${P/-/_}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
S="${WORKDIR}/${MY_P}"
python_test() {
esetup.py test
}

@ -1,4 +1,2 @@
DIST pycountry-16.11.8.tar.gz 9042735 BLAKE2B 66f5dcb0b9b55be692e398c998babeb49542cb5383a706bb74091088eaa3703f41da33f59e2267046c53f8f025f85945096d1e8d251ad5af57c5d39a27896cf2 SHA512 eb0a91f1efae6aeace0b49cd44b0770efa0b57add208c4247e7f58a3c46774f9f8007c51ee88a0e108c90ced3ad69204b4322c9c23f51df0b2202aa98c314a37
DIST pycountry-17.9.23.tar.gz 9208478 BLAKE2B 381497b220991f76bdac235b71fd9c10984f5762e9cc16b813cb37cfef0444bbaada01e1ed9513848c681a06335ff58544f6f7c2217b51ef98c7415db4b3d285 SHA512 168e2d2693629a39a85a4c6aa7187323693ca73d6af0cc947d3536ae373eca602e7e3add91ba114966db4ebf52118ef3d6a3dbf8339734ec68682bab559beeb5
DIST pycountry-18.5.26.tar.gz 9779056 BLAKE2B 11928f29cb7446db7159936619a5d0828af89ec7a2ca355d809c97887605174e41d3f93d7e459f3f37ce37b9a7650432df1e7619f9fdfa1f9ea010a39af4501a SHA512 9760175a7926347920542a2fd2420cc3d4f36ac11df5aa6f7aaabbd9b46dd9cb61801933133a589ed35fd2e279db2a70e98340d8cf8856987dc88d6fdb715437
DIST pycountry-19.8.18.tar.gz 10003160 BLAKE2B ac7894e9fc1ed4e8f386cc6e07c1fc2abefee63c39c7c851c100519418606b52bc18be8da672930ceefdc7ca7b51571e4b3884ea0c20e547e5b596e249ebf407 SHA512 39ba06629eeea55460424d06992ca5f1e5bf6168b219dc4880ec326f6aa0c92a4fdc54d4143a8b8bb1490149af793e760e291c6d704104a57ba91e88228ab669

@ -1,31 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_5,3_6} pypy pypy3 )
inherit distutils-r1
DESCRIPTION="Database of countries, subdivisions, languages, currencies and script"
HOMEPAGE="https://bitbucket.org/flyingcircus/pycountry"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
python_test() {
# https://bitbucket.org/techtonik/pycountry/issue/8/test_locales-pycountry-015-pypy
pushd "${BUILD_DIR}"/lib > /dev/null
if [[ "${EPYTHON}" == pypy || "${EPYTHON}" == pypy3 ]]; then
sed -e 's:test_locales:_&:' -i pycountry/tests/test_general.py || die
fi
py.test ${PN}/tests/test_general.py || die
popd > /dev/null
}

@ -1,31 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} pypy pypy3 )
inherit distutils-r1
DESCRIPTION="Database of countries, subdivisions, languages, currencies and script"
HOMEPAGE="https://bitbucket.org/flyingcircus/pycountry"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
python_test() {
# https://bitbucket.org/techtonik/pycountry/issue/8/test_locales-pycountry-015-pypy
pushd "${BUILD_DIR}"/lib > /dev/null || die
if [[ ${EPYTHON} == pypy* ]]; then
sed -e 's:test_locales:_&:' -i pycountry/tests/test_general.py || die
fi
pytest -o cache_dir="${T}" -vv || die
popd > /dev/null || die
}

@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
inherit distutils-r1

@ -0,0 +1 @@
DIST pyspectrum2-0.2.0.tar.gz 31500 BLAKE2B 230329f9b1f12c7f7cff234b95d9715609cd0922c6c833726dfe72e7da0ba646e8d059d2f42d70fb97c8cb755436307369336551d44bf7954f2281f49d03ea6f SHA512 40c9f7dda808fd5bca05026b7418022b660d53b6ef52d684885ed04a47185ce2d1e2988bff5b874977c736bf5cf75f10f9daf752475504327844d4f1948f2286

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
<longdescription>
pyspectrum2 implements the Protobuf-based interface to Spectrum2
required for building Python-based Spectrum2 backends.
</longdescription>
<upstream>
<bugs-to>https://github.com/stv0g/pyspectrum2/issues</bugs-to>
<remote-id type="github">stv0g/pyspectrum2</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,26 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS="bdepend"
PYTHON_COMPAT=( python3_{5,6,7,8} )
inherit distutils-r1
DESCRIPTION="Implements a protobuf-based interface for Spectrum2 python-based backends"
HOMEPAGE="https://github.com/stv0g/pyspectrum2"
SRC_URI="https://github.com/stv0g/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="dev-python/protobuf-python[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}"
python_install_all() {
distutils-r1_python_install_all
python_optimize
}

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
inherit distutils-r1

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
inherit distutils-r1
@ -19,7 +19,7 @@ RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/protobuf-python[${PYTHON_USEDEP}]
dev-python/python-axolotl-curve25519[${PYTHON_USEDEP}]
"
"
DEPEND="${RDEPEND}"
BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"

@ -1,3 +1,4 @@
DIST python-gnupg-0.4.0.tar.gz 43987 BLAKE2B 59e72f894c5d554ba2a7c348ad3625500798ad6ac18332a3bb668b42559f52b58e3cd0f8b79ef1a99f37e796b48169d0bf36414e938e9039784cede4303cbb03 SHA512 f486ec97aee01cf46d055421211ff5704093a382155043b7ced6f809dc15d7669d5869038a1b26c5f1831076d85c929d781bc22e35ab293a14bc6e2f5f27fa32
DIST python-gnupg-0.4.1.tar.gz 44534 BLAKE2B 0b58312b9f094b29f7009bb7a44ea3607be826ae2fda958dae0ba9dd5a2d7f81843fe23a6fe336b9df85c059e5b114787dab372df42b14b83cb73fb02abee919 SHA512 0920a1de4d98a745f7747280672975db04c40b59ea4436745cdbefa86a0c88bfdc086d6dd312c82a0a9e9f8cafb5651f8e17d86e0ee37282b5fc36e7ac8d1a1e
DIST python-gnupg-0.4.3.tar.gz 46958 BLAKE2B c83b13f8b36c136ac75e8a69dccb07025be3397284e27d9624677cd76ac8527bed67644be7a00958fdb248772a0c37de09257fb711eb16a2c982dbca0368dbd6 SHA512 9381acb1246b6ceec4de21091f2ce57dba9c6600dfb52ddee181effbd2e749d18935e6b6bb2183816064e9129cd1bb3ebfdd28a5dcddc9be1c56261a501067d8
DIST python-gnupg-0.4.5.tar.gz 48792 BLAKE2B 1bf9cc1c8efafd4fa783574724852d0f168d4d4d4ec188bade9a3ff21be61cc1b087bd4ae72f11f189d182cd49c765d9b57ef22d954a69555c0368f1d863f1fd SHA512 441b49e1f87a7e8e3abf2d6e90f677dc33f1b66a36483787f972378127f31308bacc5e200ae254dd75942191d2fabd61ca5a2f200cf5400be70957942f889ca4

@ -0,0 +1,29 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS="no"
PYTHON_COMPAT=( pypy{,3} python2_7 python3_{5,6,7,8} )
inherit distutils-r1
DESCRIPTION="A Python wrapper for GnuPG"
HOMEPAGE="
https://bitbucket.org/vinay.sajip/python-gnupg
https://pypi.org/project/python-gnupg/
"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
LICENSE="BSD"
SLOT="0"
RDEPEND="app-crypt/gnupg"
DEPEND="${RDEPEND}"
python_test() {
# NO_EXTERNAL_TESTS must be enabled,
# to disable all tests, which need internet access.
NO_EXTERNAL_TESTS=1 "${PYTHON}" test_gnupg.py || die "Tests failed with ${EPYTHON}"
}

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
inherit distutils-r1

@ -14,7 +14,7 @@ SRC_URI="https://github.com/takluyver/pyxdg/archive/rel-${PV}.tar.gz -> ${MY_P}.
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ia64 ~mips ppc ppc64 sparc x86"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ppc64 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"

@ -3,7 +3,8 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
DISTUTILS_USE_SETUPTOOLS="no"
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
inherit distutils-r1
@ -18,6 +19,4 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm arm64 x86"
BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
S="${WORKDIR}/${MY_P}/Linux/python"

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slis@gentoo.org</email>
</maintainer>
<!-- maintainer-needed -->
<longdescription>
SCOOP (Scalable COncurrent Operations in Python) is a distributed task module
allowing concurrent parallel programming on various environments, from

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="|| ( MIT AFL-2.1 )"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python{2_7,3_5,3_6} )
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7,3_8} )
inherit distutils-r1

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
inherit distutils-r1

@ -1,3 +1,2 @@
DIST translate-toolkit-2.0.0.tar.gz 1106464 BLAKE2B 419caa924b36abd45cd285a28594dad7d1d49dd149961a686382f848e85d6bb15c4cbf52b28881efa7643a9470a51d2c00c57ce52c153a113296344054e31038 SHA512 a349f64438683bb00a7a7ba0537b7c9a268e6222d2df67991eb5d47b05a446a6049bf42918edc97ba8b08a89a42850eb37f6b4b917ccf5c44494885a853ffe1f
DIST translate-toolkit-2.3.1.tar.gz 7668931 BLAKE2B b8426c06cfd01d6afcc88b629cf464e6fa91a49a6a3399cdc693395f67677bc8eeb4bb1ce0b5a1653ce0e6cafabf76cc102ab462d0482cbf311e5369f65df678 SHA512 8928d1d681dfb4cd9100ae6128f6e1d7e85ff518e6f529c37d01e34679470e9d964c08dfbb902edc23403ff6f6912d0a4236fe0cb21819d00d9ba46c3009ace3
DIST translate-toolkit-2.4.0.tar.gz 7646438 BLAKE2B 5d956ce05b57aa3ec2c7896a36f199cab5a590d4d6a4ad84263d7b757e35d5e42a40cac38ea3da1c8a11c64b1cacff5a5742b79ad5a87436842a35547d89e611 SHA512 715d9e974c451a5c3d92471287f4da8e8ba663efda849398f77a3c3d6f16e0c9a8e685261ec07c02ce9bd13f3766f0b2b1ad441b92116bb3913036ffbd415658

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

Loading…
Cancel
Save