Sync with portage [Fri Aug 2 08:48:00 MSK 2019].

mhiretskiy 1464
root 5 years ago
parent 738a8fca91
commit fdee14261e

Binary file not shown.

Binary file not shown.

@ -100,3 +100,4 @@ DIST github.com-square-go-jose-89060dee6a84df9a4dae49f676f0c755037834f1.tar.gz 2
DIST github.com-technosophos-moniker-a5dbd03a2245d554160e3ae6bfdcf969fe58b431.tar.gz 7860 BLAKE2B 947a33bd0363cfa5333e4e41b59c8c758fab173bb9e0eef5560caca74f4321041ca69f6c2c5fe02ab36c8946038866033d8df9b7f9ed36be9f3fb1eff6dad182 SHA512 8b372ceba1a16acc8553c74d4872b042ca352d4128abc1e9f4aeb90f8489b7871d7fa7f97a6c4e8f472779d3a082f00e6d2ea30048a7b1bf4eb07fb544e45613
DIST helm-2.14.1.tar.gz 1239597 BLAKE2B 349f57163c9e1cebc61e5a717c08d5bfc0fc549c98f47e9e942ae4db80e5f5d231e9a47e910dfbe126c3e65f63ac71de18ee9271bbe4ac6398efc4eaf49ad787 SHA512 4dd94c965ff5a28332fe68f397419e586253cd3e74131645566e1f4db0290906e4a49707d7cf53fd05d63953b23b6bc2eae86dc311a2758ebc4e60b54558cff4
DIST helm-2.14.2.tar.gz 1241660 BLAKE2B 6c29bd606c8628b4ec581704ea5f6e062428886e19c5c3ad688364369a5085322bd3685375801d27ce1c087af0c318c25bcc49ba9d3b46d9757c8345dfd62537 SHA512 ef742407f1fedc95dccab17d2c7cee3e96eb309f782b65e4f74a221b0bd51e93eaaddf0ce6fa008d97bf90e1a91fbc2dc5a9a80ad49b03f731e9a624ab536169
DIST helm-2.14.3.tar.gz 1242779 BLAKE2B 8c16da15b54974b837397784734fa8bcf53240d075261a7dceecc6fb6cd172d72ba0d060d55001a87b5910b1b715646729b10e689ee6a1602aa26a4bf56013a7 SHA512 80f6c437235ca0d0c8f330135d689d2d5a9414d166717f72d8c3e2952c35f33fe621579e221078e65e2c5cc648e44ef037356b7ac18bce985daf642493ec4297

@ -0,0 +1,160 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EGO_PN="k8s.io/helm"
MY_PV=${PV/_rc/-rc.}
EGO_VENDOR=(
"cloud.google.com/go 3b1ae45394a234c385be014e9a488f2bb6eef821 github.com/GoogleCloudPlatform/gcloud-golang"
"github.com/asaskevich/govalidator 7664702784775e51966f0885f5cd27435916517b"
"github.com/Azure/go-ansiterm d6e3b3328b783f23731bc4d058875b0371ff8109"
"github.com/Azure/go-autorest ea233b6412b0421a65dc6160e16c893364664a95"
"github.com/beorn7/perks 3ac7bf7a47d159a033b107610db8a1b6575507a4"
"github.com/BurntSushi/toml 3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005"
"github.com/chai2010/gettext-go c6fed771bfd517099caf0f7a961671fa8ed08723"
"github.com/cpuguy83/go-md2man 71acacd42f85e5e82f70a55327789582a5200a90"
"github.com/cyphar/filepath-securejoin a261ee33d7a517f054effbf451841abaafe3e0fd"
"github.com/davecgh/go-spew 782f4967f2dc4564575ca782fe2d04090b5faca8"
"github.com/dgrijalva/jwt-go 01aeca54ebda6e0fbfafd0a524d234159c05ec20"
"github.com/docker/distribution edc3ab29cdff8694dd6feb85cfeb4b5f1b38ed9c"
"github.com/docker/docker a9fbbdc8dd8794b20af358382ab780559bca589d"
"github.com/docker/go-units 9e638d38cf6977a37a8ea0078f3ee75a7cdb2dd1"
"github.com/docker/spdystream 449fdfce4d962303d702fec724ef0ad181c92528"
"github.com/emicklei/go-restful ff4f55a206334ef123e4f79bbf348980da81ca46"
"github.com/evanphx/json-patch 5858425f75500d40c52783dce87d085a483ce135"
"github.com/exponent-io/jsonpath d6023ce2651d8eafb5c75bb0c7167536102ec9f5"
"github.com/fatih/camelcase f6a740d52f961c60348ebb109adde9f4635d7540"
"github.com/ghodss/yaml c7ce16629ff4cd059ed96ed06419dd3856fd3577"
"github.com/go-openapi/jsonpointer ef5f0afec364d3b9396b7b77b43dbe26bf1f8004"
"github.com/go-openapi/jsonreference 8483a886a90412cd6858df4ea3483dce9c8e35a3"
"github.com/go-openapi/spec 5bae59e25b21498baea7f9d46e9c147ec106a42e"
"github.com/go-openapi/swag 5899d5c5e619fda5fa86e14795a835f473ca284c"
"github.com/gobwas/glob 5ccd90ef52e1e632236f7326478d4faa74f99438"
"github.com/gogo/protobuf 342cbe0a04158f6dcb03ca0079991a51a4248c02"
"github.com/golang/glog 44145f04b68cf362d9c4df2182967c2275eaefed"
"github.com/golang/groupcache 02826c3e79038b59d737d3b1c0a1d937f71a4433"
"github.com/golang/protobuf aa810b61a9c79d51363740d207bb46cf8e620ed5"
"github.com/google/btree 7d79101e329e5a3adf994758c578dab82b90c017"
"github.com/google/gofuzz 24818f796faf91cd76ec7bddd72458fbced7a6c1"
"github.com/google/uuid 064e2069ce9c359c118179501254f67d7d37ba24"
"github.com/googleapis/gnostic 0c5108395e2debce0d731cf0287ddf7242066aba"
"github.com/gophercloud/gophercloud c818fa66e4c88b30db28038fe3f18f2f4a0db9a8"
"github.com/gosuri/uitable 36ee7e946282a3fb1cfecd476ddc9b35d8847e42"
"github.com/gregjones/httpcache 787624de3eb7bd915c329cba748687a3b22666a6"
"github.com/grpc-ecosystem/go-grpc-prometheus 0c1b191dbfe51efdabe3c14b9f6f3b96429e0722"
"github.com/hashicorp/golang-lru 20f1fb78b0740ba8c3cb143a61e86ba5c8669768"
"github.com/huandu/xstrings f02667b379e2fb5916c3cda2cf31e0eb885d79f8"
"github.com/imdario/mergo 9316a62528ac99aaecb4e47eadd6dc8aa6533d58"
"github.com/inconshreveable/mousetrap 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
"github.com/jmoiron/sqlx d161d7a76b5661016ad0b085869f77fd410f3e6a"
"github.com/json-iterator/go ab8a2e0c74be9d3be70b3184d9acc634935ded82"
"github.com/liggitt/tabwriter 89fcab3d43de07060e4fd4c1547430ed57e87f24"
"github.com/lib/pq 88edab0803230a3898347e77b474f8c1820a1f20"
"github.com/mailru/easyjson 2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
"github.com/MakeNowJust/heredoc bb23615498cded5e105af4ce27de75b089cbe851"
"github.com/Masterminds/goutils 41ac8693c5c10a92ea1ff5ac3a7f95646f6123b0"
"github.com/Masterminds/semver c7af12943936e8c39859482e61f0574c2fd7fc75"
"github.com/Masterminds/sprig 9f8fceff796fb9f4e992cd2bece016be0121ab74"
"github.com/Masterminds/vcs 3084677c2c188840777bff30054f2b553729d329"
"github.com/mattn/go-runewidth d6bea18f789704b5f83375793155289da36a3c7f"
"github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c"
"github.com/mitchellh/go-wordwrap ad45545899c7b13c020ea92b2072220eefad42b8"
"github.com/modern-go/concurrent bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"
"github.com/modern-go/reflect2 94122c33edd36123c84d5368cfb2b69df93a0ec8"
"github.com/opencontainers/go-digest a6d0ee40d4207ea02364bd3b9e8e77b9159ba1eb"
"github.com/peterbourgon/diskv 5f041e8faa004a95c88a202771f4cc3e991971e6"
"github.com/pkg/errors 645ef00459ed84a119197bfb8d8205042c6df63d"
"github.com/prometheus/client_golang 505eaef017263e299324067d40ca2c48f6a2cf50"
"github.com/prometheus/client_model fa8ad6fec33561be4280a8f0514318c79d7f6cb6"
"github.com/prometheus/common cfeb6f9992ffa54aaa4f2170ade4067ee478b250"
"github.com/prometheus/procfs 65c1f6f8f0fc1e2185eb9863a3bc751496404259"
"github.com/PuerkitoBio/purell 8a290539e2e8629dbc4e6bad948158f790ec31f4"
"github.com/PuerkitoBio/urlesc 5bd2802263f21d8788851d5305584c82a5c75d7e"
"github.com/rubenv/sql-migrate 1007f53448d75fe14190968f5de4d95ed63ebb83"
"github.com/russross/blackfriday 300106c228d52c8941d4b3de6054a6062a86dda3"
"github.com/shurcooL/sanitized_anchor_name 10ef21a441db47d8b13ebcc5fd2310f636973c77"
"github.com/sirupsen/logrus 89742aefa4b206dcf400792f3bd35b542998eb3b"
"github.com/spf13/cobra fe5e611709b0c57fa4a89136deaa8e1d4004d053"
"github.com/spf13/pflag 298182f68c66c05229eb03ac171abe6e309ee79a"
"github.com/technosophos/moniker a5dbd03a2245d554160e3ae6bfdcf969fe58b431"
"golang.org/x/crypto de0752318171da717af4ce24d0a2e8626afaeb11 github.com/golang/crypto"
"golang.org/x/net 65e2d4e15006aab9813ff8769e768bbf4bb667a0 github.com/golang/net"
"golang.org/x/oauth2 a6bd8cefa1811bd24b86f8902872e4e8225f74c4 github.com/golang/oauth2"
"golang.org/x/sync 1d60e4601c6fd243af51cc01ddf169918a5407ca github.com/golang/sync"
"golang.org/x/sys b90733256f2e882e81d52f9126de08df5615afd9 github.com/golang/sys"
"golang.org/x/text b19bf474d317b857955b12035d2c5acb57ce8b01 github.com/golang/text"
"golang.org/x/time f51c12702a4d776e4c1fa9b0fabab841babae631 github.com/golang/time"
"google.golang.org/appengine 12d5545dc1cfa6047a286d5e853841b6471f4c19 github.com/golang/appengine"
"google.golang.org/genproto 09f6ed296fc66555a25fe4ce95173148778dfa85 github.com/google/go-genproto"
"google.golang.org/grpc a02b0774206b209466313a0b525d2c738fe407eb github.com/grpc/grpc-go"
"gopkg.in/gorp.v1 6a667da9c028871f98598d85413e3fc4c6daa52e github.com/go-gorp/gorp"
"gopkg.in/inf.v0 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4 github.com/go-inf/inf"
"gopkg.in/square/go-jose.v2 89060dee6a84df9a4dae49f676f0c755037834f1 github.com/square/go-jose"
"gopkg.in/yaml.v2 5420a8b6744d3b0345ab293f6fcba19c978f1183 github.com/go-yaml/yaml"
"k8s.io/api 6e4e0e4f393bf5e8bbff570acd13217aa5a770cd github.com/kubernetes/api"
"k8s.io/apiextensions-apiserver 727a075fdec8319bf095330e344b3ccc668abc73 github.com/kubernetes/apiextensions-apiserver"
"k8s.io/apimachinery 6a84e37a896db9780c75367af8d2ed2bb944022e github.com/kubernetes/apimachinery"
"k8s.io/apiserver 1ec86e4da56ce0573788fc12bb3a5530600c0e5d github.com/kubernetes/apiserver"
"k8s.io/client-go 1a26190bd76a9017e289958b9fba936430aa3704 github.com/kubernetes/client-go"
"k8s.io/cli-runtime d644b00f3b79346b7627329269bb25f2135f941c github.com/kubernetes/cli-runtime"
"k8s.io/cloud-provider 9c9d72d1bf90eb62005f5112f3eea019b272c44b github.com/kubernetes/cloud-provider"
"k8s.io/klog 8e90cee79f823779174776412c13478955131846 github.com/kubernetes/klog"
"k8s.io/kube-openapi b3a7cee44a305be0a69e1b9ac03018307287e1b0 github.com/kubernetes/kube-openapi"
"k8s.io/kubernetes b7394102d6ef778017f2ca4046abbaa23b88c290 github.com/kubernetes/kubernetes"
"k8s.io/utils c2654d5206da6b7b6ace12841e8f359bb89b443c github.com/kubernetes/utils"
"sigs.k8s.io/kustomize a6f65144121d1955266b0cd836ce954c04122dc8 github.com/kubernetes-sigs/kustomize"
"sigs.k8s.io/yaml fd68e9863619f6ec2fdd8625fe1f02e7c877e480 github.com/kubernetes-sigs/yaml"
"vbom.ml/util db5cfe13f5cc80a4990d98e2e1b0707a4d1a5394 github.com/fvbommel/util"
)
inherit golang-build golang-vcs-snapshot bash-completion-r1
GIT_COMMIT="0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085"
ARCHIVE_URI="https://github.com/kubernetes/helm/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
${EGO_VENDOR_URI}"
KEYWORDS="~amd64"
DESCRIPTION="Kubernetes Package Manager"
HOMEPAGE="https://github.com/kubernetes/helm https://helm.sh"
SRC_URI="${ARCHIVE_URI}"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
DEPEND=">=dev-lang/go-1.12"
RESTRICT="test"
src_prepare() {
default
sed -i -e "s/git rev-parse HEAD/echo ${GIT_COMMIT}/"\
-e "s/git rev-parse --short HEAD/echo ${GIT_COMMIT:0:7}/"\
-e "s#git describe --tags --abbrev=0 --exact-match 2>/dev/null#echo v${PV}#"\
-e 's/test -n "`git status --porcelain`" && echo "dirty" ||//' src/${EGO_PN}/versioning.mk || die
rm -rf src/${EGO_PN}/vendor/*/*/vendor src/${EGO_PN}/vendor/*/*/*/vendor || die
}
src_compile() {
pushd src/${EGO_PN} || die
GOPATH="${S}" go build -o bin/protoc-gen-go ./vendor/github.com/golang/protobuf/protoc-gen-go || die
GOBINDIR="$(pwd)/bin" GOPATH="${S}"\
go install -v -ldflags "-X k8s.io/helm/pkg/version.Version=v${PV} -X k8s.io/helm/pkg/version.BuildMetadata= -X k8s.io/helm/pkg/version.GitCommit=${GIT_COMMIT} -X k8s.io/helm/pkg/version.GitTreeState=clean" k8s.io/helm/cmd/... || die
popd || die
bin/${PN} completion bash > ${PN}.bash || die
bin/${PN} completion zsh > ${PN}.zsh || die
}
src_install() {
newbashcomp ${PN}.bash ${PN}
insinto /usr/share/zsh/site-functions
newins ${PN}.zsh _${PN}
dobin bin/${PN} bin/tiller
dodoc src/${EGO_PN}/README.md
}

Binary file not shown.

@ -12,7 +12,7 @@ SRC_URI="${HOMEPAGE}/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="alpha amd64 ~arm ~hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris"
KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris"
S="${WORKDIR}/${PN}-${GITHUB_SHA1}"

@ -1,3 +1,2 @@
DIST wanderlust-2.15.9_p20130619.tar.xz 818124 BLAKE2B b6bbd6f63d862f81a5a0c194f0fe1b276303f75f8ffde29c844f1f7d2d8ef55f1c211ac1d0b6c3357c2507b2abe73ba1c4c8f5fc65e067d93eb6bf23fd8490a6 SHA512 91bdcc1b29370b7be7a2072f4d8c638b3c0604ba31b5419952b848af268e73a3f199f07a88caabec56f66b38013e0f9cd7c1de26b46d1062ddff782e8080d4e0
DIST wanderlust-2.15.9_p20180814-git.tar.gz 1207081 BLAKE2B f52259b15040287f0afcf0768b3ae3237415b44960e205e48d4b658f3e522db993b87bac59ee3d9ba94ad26c830beaf26d9cf5f03830fcb1f01e4f5567ee4804 SHA512 67616cc1d35b25af1b56fa800943ad0c7e7d9b35f99c48fac96b77a68a3eb8db02b36525021ff8bba4d181530505face2a58725b7dff33b1bfe4f48a4314949f
DIST wanderlust-2.15.9_p20190623.tar.gz 1210223 BLAKE2B 50416e27062a9837c18660ea9a1a7a3ff596639763965b09925ca16c89617d159b9aa5d08d93d8b5c6a504da2b048df8b4c489d4fc11ff6abc530f741a5d8fb9 SHA512 369f8d93af4d0d98f66c4c8500aa3535e3f772d8a1920c1bdc434f0d9078555f40d0d4278937d97bccf0f417cf1b1fdeb6c8a891d42b2675fb7737382425c91d

@ -1,17 +0,0 @@
--- a/wl/wl-vars.el.orig 2018-07-27 21:05:15.768467090 -0500
+++ b/wl/wl-vars.el 2018-07-27 21:05:45.590468576 -0500
@@ -1742,12 +1742,12 @@
:group 'wl-pref
:type 'string)
-(defcustom wl-message-truncate-lines default-truncate-lines
+(defcustom wl-message-truncate-lines nil
"*Truncate lines in Message Buffer."
:type 'boolean
:group 'wl-pref)
-(defcustom wl-draft-truncate-lines default-truncate-lines
+(defcustom wl-draft-truncate-lines nil
"*Truncate lines in Draft Buffer."
:type 'boolean
:group 'wl-draft

@ -1,58 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit elisp
DESCRIPTION="Yet Another Message Interface on Emacsen"
HOMEPAGE="https://github.com/wanderlust/wanderlust
https://www.emacswiki.org/emacs/WanderLust"
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="bbdb ssl l10n_ja"
DEPEND=">=app-emacs/apel-10.6
app-emacs/flim
app-emacs/semi
bbdb? ( app-emacs/bbdb )"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${PN}"
ELISP_PATCHES="${P}-default-truncate-lines.patch"
SITEFILE="50${PN}-gentoo.el"
src_configure() {
local lang="\"en\""
use l10n_ja && lang="${lang} \"ja\""
echo "(setq wl-info-lang '(${lang}) wl-news-lang '(${lang}))" >>WL-CFG
use ssl && echo "(setq wl-install-utils t)" >>WL-CFG
}
src_compile() {
emake
emake info
}
src_install() {
emake \
LISPDIR="${ED}${SITELISP}" \
PIXMAPDIR="${ED}${SITEETC}/wl/icons" \
install
elisp-site-file-install "${FILESDIR}/${SITEFILE}" wl
insinto "${SITEETC}/wl/samples/en"
doins samples/en/*
doinfo doc/wl*.info
dodoc BUGS ChangeLog INSTALL NEWS README.md
if use l10n_ja; then
insinto "${SITEETC}/wl/samples/ja"
doins samples/ja/*
dodoc BUGS.ja INSTALL.ja NEWS.ja README.ja
fi
}

Binary file not shown.

@ -1,3 +1 @@
DIST libcacard-0.1.2.tar.bz2 276430 BLAKE2B 315d7b0c8dcd3d6b40db4c1586cf149e6681af4e0188bed22cb526d1de79bda4a7b1c5ece894c679c2e7b727b6d05628ba9f8fbc3900503f78f13a029514e15d SHA512 a3622b29fe3a059e069ad6f7da428278a915cec362a6aae3c7cad0d47dfadba67308631435993c0f41cabe92a05874b339518dc503b71b8d86db4976bb6987f6
DIST libcacard-2.5.1.tar.xz 325692 BLAKE2B f6ce08f08f359789886a63d4554e3492e8cb570e5b476dc8185332a951fe03e7b5577856c4c60523ad673577a3a160490aaf943f401796973b0d205ca740f949 SHA512 88e66745f649f52c3fcc7745834d628e76abc21cef1b300e8750e6c0641f65d0e11224da30fa13dea20d6ebe5d36d7a8680d029e15149fddaea43558216ccc21
DIST libcacard-2.6.0.tar.xz 364828 BLAKE2B 3a07243abb91dab05d89bf073fabb4a0ef7e820765066a8d87e72086b88cc726de77d1fdc5118e05ed47077d76ae0a57ff591a2e4e8623c3484c6cbf00cd025e SHA512 d6dfe6fe6cd2711bf8f71edc134a7caf459fc2a9c4f664ab2f1c28cc9ee8efe7a2d5a15c4dc735956638176e07e22416cad5e8e926aa7cab3fa95ded853f5982

@ -1,39 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools eutils
DESCRIPTION="Library for emulating CAC cards"
HOMEPAGE="https://www.spice-space.org/"
SRC_URI="https://www.spice-space.org/download/libcacard/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86"
IUSE="static-libs"
RDEPEND=">=dev-libs/nss-3.13
>=sys-apps/pcsc-lite-1.8"
DEPEND="${RDEPEND}
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${P}-underlinking.patch"
)
src_prepare() {
default
eautoreconf
}
src_configure() {
# --enable-passthru works only on W$
econf \
$(use_enable static-libs static)
}
src_install() {
default
prune_libtool_files --all
}

@ -1,28 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
DESCRIPTION="virtual Common Access Card (CAC) library emulator"
HOMEPAGE="https://www.spice-space.org/"
SRC_URI="https://www.spice-space.org/download/libcacard/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
IUSE="static-libs"
RDEPEND=">=dev-libs/nss-3.13
>=dev-libs/glib-2.22
>=sys-apps/pcsc-lite-1.8"
DEPEND="${RDEPEND}
virtual/pkgconfig"
src_configure() {
econf $(use_enable static-libs static)
}
src_install() {
default
use static-libs || find "${ED}"/usr/ -name 'lib*.la' -delete
}

@ -0,0 +1,174 @@
From 8b27863cd4bd4eebefe6f39b42c181d073b457ff Mon Sep 17 00:00:00 2001
Message-Id: <8b27863cd4bd4eebefe6f39b42c181d073b457ff.1564650738.git.mprivozn@redhat.com>
From: Michal Privoznik <mprivozn@redhat.com>
Date: Sat, 16 Mar 2019 12:33:00 +0100
Subject: [PATCH] gentoo: do not use sysconf
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
src/Makefile.am | 21 ++-------------------
src/locking/virtlockd.service.in | 3 +--
src/logging/virtlogd.service.in | 3 +--
src/remote/libvirtd.service.in | 3 +--
tools/Makefile.am | 13 ++-----------
tools/libvirt-guests.service.in | 2 +-
tools/libvirt-guests.sysconf | 7 +++++++
7 files changed, 15 insertions(+), 37 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 4a8cae11dc..6c93435066 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -750,23 +750,6 @@ endif WITH_SETUID_RPC_CLIENT
EXTRA_DIST += $(SYSCONF_FILES)
-install-sysconfig:
- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
- for f in $(SYSCONF_FILES:%.sysconf=%) ; \
- do \
- tgt=`basename $$f`; \
- $(INSTALL_DATA) $(srcdir)/$$f.sysconf \
- $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
- done
-
-uninstall-sysconfig:
- for f in $(SYSCONF_FILES:%.sysconf=%) ; \
- do \
- tgt=`basename $$f`; \
- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
- done
- rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
-
LOGROTATE_FILES := $(LOGROTATE_FILES_IN:remote/%.in=%)
EXTRA_DIST += $(LOGROTATE_FILES_IN)
@@ -825,14 +808,14 @@ SYSTEMD_UNIT_FILES = $(notdir $(SYSTEMD_UNIT_FILES_IN:%.in=%))
BUILT_SOURCES += $(SYSTEMD_UNIT_FILES)
DISTCLEANFILES += $(SYSTEMD_UNIT_FILES)
-install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig
+install-systemd: $(SYSTEMD_UNIT_FILES)
$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
for f in $(SYSTEMD_UNIT_FILES); \
do \
$(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \
done
-uninstall-systemd: uninstall-sysconfig
+uninstall-systemd:
rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%)
rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in
index 3c9d587032..2449b201d9 100644
--- a/src/locking/virtlockd.service.in
+++ b/src/locking/virtlockd.service.in
@@ -7,8 +7,7 @@ Documentation=man:virtlockd(8)
Documentation=https://libvirt.org
[Service]
-EnvironmentFile=-/etc/sysconfig/virtlockd
-ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS
+ExecStart=@sbindir@/virtlockd
ExecReload=/bin/kill -USR1 $MAINPID
# Loosing the locks is a really bad thing that will
# cause the machine to be fenced (rebooted), so make
diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in
index 3d9ae36150..43736191d5 100644
--- a/src/logging/virtlogd.service.in
+++ b/src/logging/virtlogd.service.in
@@ -7,8 +7,7 @@ Documentation=man:virtlogd(8)
Documentation=https://libvirt.org
[Service]
-EnvironmentFile=-/etc/sysconfig/virtlogd
-ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS
+ExecStart=@sbindir@/virtlogd
ExecReload=/bin/kill -USR1 $MAINPID
# Loosing the logs is a really bad thing that will
# cause the machine to be fenced (rebooted), so make
diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in
index 3ddf0e229b..a38f2b08fa 100644
--- a/src/remote/libvirtd.service.in
+++ b/src/remote/libvirtd.service.in
@@ -20,12 +20,11 @@ Documentation=https://libvirt.org
[Service]
Type=notify
-EnvironmentFile=-/etc/sysconfig/libvirtd
# libvirtd.service is set to run on boot so that autostart of
# VMs can be performed. We don't want it to stick around if
# unused though, so we set a timeout. The socket activation
# then ensures it gets started again if anything needs it
-ExecStart=@sbindir@/libvirtd --timeout 120 $LIBVIRTD_ARGS
+ExecStart=@sbindir@/libvirtd --timeout 120
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 2807b9f6fd..cde5dba193 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -334,15 +334,6 @@ install-data-local: install-systemd install-nss \
uninstall-local: uninstall-systemd uninstall-nss \
uninstall-bash-completion
-install-sysconfig:
- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
- $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \
- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests
-
-uninstall-sysconfig:
- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests
- rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||:
-
EXTRA_DIST += libvirt-guests.sh.in
libvirt-guests.sh: libvirt-guests.sh.in $(top_builddir)/config.status
@@ -362,12 +353,12 @@ EXTRA_DIST += libvirt-guests.service.in
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
if LIBVIRT_INIT_SCRIPT_SYSTEMD
-install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh
+install-systemd: libvirt-guests.service libvirt-guests.sh
$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
$(INSTALL_DATA) libvirt-guests.service \
$(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service
-uninstall-systemd: uninstall-sysconfig
+uninstall-systemd:
rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service
rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||:
diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in
index 491ca62138..f0f417bffb 100644
--- a/tools/libvirt-guests.service.in
+++ b/tools/libvirt-guests.service.in
@@ -10,7 +10,7 @@ Documentation=man:libvirtd(8)
Documentation=https://libvirt.org
[Service]
-EnvironmentFile=-/etc/sysconfig/libvirt-guests
+EnvironmentFile=-/etc/libvirt/libvirt-guests.conf
# Hack just call traditional service until we factor
# out the code
ExecStart=@libexecdir@/libvirt-guests.sh start
diff --git a/tools/libvirt-guests.sysconf b/tools/libvirt-guests.sysconf
index 669b046507..45b0b9ea46 100644
--- a/tools/libvirt-guests.sysconf
+++ b/tools/libvirt-guests.sysconf
@@ -1,3 +1,10 @@
+#
+# Warning: This configuration file is only sourced by the systemd
+# libvirt-guests.service unit. The coresponding openrc facility is in
+# /etc/init.d/libvirtd and /etc/conf.d/libvirtd
+#
+
+
# URIs to check for running guests
# example: URIS='default xen:///system vbox+tcp://host/system lxc:///system'
#URIS=default
--
2.21.0

@ -122,7 +122,7 @@ DEPEND="${RDEPEND}
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-5.2.0-do-not-use-sysconf.patch
"${FILESDIR}"/${PN}-5.6.0-do-not-use-sysconf.patch
"${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch
"${FILESDIR}"/${PN}-5.2.0-fix-paths-for-apparmor.patch
)

@ -137,7 +137,7 @@ SOFTMMU_TOOLS_DEPEND="
>=app-emulation/spice-protocol-0.12.3
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
@ -205,7 +205,6 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
"${FILESDIR}"/${PN}-4.0.0-fix_infiniband_include.patch #686412
)
QA_PREBUILT="
@ -447,7 +446,7 @@ qemu_src_configure() {
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh2)
$(conf_notuser ssh libssh)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)

Binary file not shown.

@ -1,3 +1,4 @@
DIST prometheus-2.10.0.tar.gz 11752395 BLAKE2B add59b45e3823d6ab8dcef8f00ba3dda4bb01f8edf891ee142ab790b7145fb2190ee98386dce6aae6afc3ea7bfba3c69749944828c62ed40169e56cda3f53c1c SHA512 eb67fc8a1ecd95689de0aae7e822c40395f82ec4b7f711457d7d504ffaf9a240ad9015a0c568dc93d350cea12cc3db2492bb5fe6300f6193be410b0e00d4463a
DIST prometheus-2.11.0.tar.gz 12133603 BLAKE2B 0036777f95b3e0f6d187129b1ab06c0ead70cd6763a3ace96bd61830e92282072978f04b264bcecf45dc3be78cfffa843a7f3caf6fb5eaecd49e41aecd376cfb SHA512 c6d292f658c99fa6a1e1a9baf0fbcb32e1da7c61bdae1dac1e77385813248c2573c1ac9533dd7b01608b6093d4753454c0f9a2167434fb26c8436ddfc7d97cd2
DIST prometheus-2.11.1.tar.gz 12133604 BLAKE2B 78370f85f9997f776b8acdbdad9db45cc34c8a18a8d467a1a839daca41cbf8ba1e50d5b359282f7062a4d9ba90d7989e13163018ac5043556be5a06dae28dbf9 SHA512 3d238466aad16faecd654f87cab45fe1097119acb241d5f8859d4d8bbeeb007e2c074eb9dc82569e3e1a9ae22a4b9cc0f40160c231d230f2f3f52b4ebf77035c
DIST prometheus-2.9.2.tar.gz 11477683 BLAKE2B f0c18c57ff0fe292710174a91080a84ecf0375b4335aacaf4a8e32c842a9346b9fd48888ef8a19a597511c57eb8af7f90cca57d0cc51b9de4558c3f22953d165 SHA512 4cce1827580e49b1659ad492de946a81694c1dab90e079f3f0e56c1991254cf4ecac7f052aac75bf58a0b95d3cf4daa8c15b3e8305a3c089570da40c44a8ccc0

@ -0,0 +1,68 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit user golang-build golang-vcs-snapshot
EGO_PN="github.com/prometheus/prometheus"
MY_PV=v${PV/_rc/-rc.}
PROMETHEUS_COMMIT="e5b2249"
KEYWORDS="~amd64"
DESCRIPTION="Prometheus monitoring system and time series database"
HOMEPAGE="https://github.com/prometheus/prometheus"
SRC_URI="https://${EGO_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
DEPEND="
>=dev-lang/go-1.12
>=dev-util/promu-0.3.0"
PROMETHEUS_HOME="/var/lib/prometheus"
RESTRICT="test"
pkg_setup() {
enewgroup prometheus
enewuser prometheus -1 -1 "${PROMETHEUS_HOME}" prometheus
}
src_prepare() {
default
sed -i -e "s/{{.Revision}}/${PROMETHEUS_COMMIT}/" src/${EGO_PN}/.promu.yml || die
}
src_compile() {
pushd src/${EGO_PN} || die
GO111MODULE=on GOPATH="${S}" GOCACHE="${T}/go-cache" promu build -v || die
popd || die
}
src_install() {
pushd src/${EGO_PN} || die
dobin promtool prometheus
dodoc -r {documentation,{README,CHANGELOG,CONTRIBUTING}.md}
insinto /etc/prometheus
doins documentation/examples/prometheus.yml
insinto /usr/share/prometheus
doins -r console_libraries consoles
dosym ../../usr/share/prometheus/console_libraries /etc/prometheus/console_libraries
dosym ../../usr/share/prometheus/consoles /etc/prometheus/consoles
popd || die
newinitd "${FILESDIR}"/prometheus.initd prometheus
newconfd "${FILESDIR}"/prometheus.confd prometheus
keepdir /var/log/prometheus /var/lib/prometheus
fowners prometheus:prometheus /var/log/prometheus /var/lib/prometheus
}
pkg_postinst() {
if has_version '<net-analyzer/prometheus-2.0.0_rc0'; then
ewarn "Old prometheus 1.x TSDB won't be converted to the new prometheus 2.0 format"
ewarn "Be aware that the old data currently cannot be accessed with prometheus 2.0"
ewarn "This release requires a clean storage directory and is not compatible with"
ewarn "files created by previous beta releases"
fi
}

Binary file not shown.

@ -17,7 +17,7 @@ BASE_SRC_URI_STABLE="https://download.documentfoundation.org/${PN/-l10n/}/stable
LICENSE="|| ( LGPL-3 MPL-1.1 )"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="offlinehelp"
#

Binary file not shown.

@ -8,8 +8,8 @@ PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
inherit python-r1
DESCRIPTION="A helper program for maintaining the package.keyword and package.unmask files"
HOMEPAGE="http://www.mpagano.com/blog/?page_id=3"
SRC_URI="http://www.mpagano.com/downloads/${P}.tar.gz"
HOMEPAGE="https://www.mpagano.com/blog/?page_id=3"
SRC_URI="https://www.mpagano.com/downloads/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"

Binary file not shown.

@ -8,7 +8,7 @@ if [[ ${PV} = 9999 ]]; then
inherit autotools git-r3
else
SRC_URI="https://dev-www.libreoffice.org/src/libetonyek/${P}.tar.xz"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
fi
DESCRIPTION="Library parsing Apple Keynote presentations"
HOMEPAGE="https://wiki.documentfoundation.org/DLP/Libraries/libetonyek"

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -11,7 +11,7 @@ SRC_URI="https://bitbucket.org/tagoh/${PN}/downloads/${P}.tar.bz2"
LICENSE="|| ( LGPL-3 MPL-2.0 )"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
IUSE="debug doc introspection static-libs test"
RDEPEND="

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -17,7 +17,7 @@ SLOT="0"
# Don't move KEYWORDS on the previous line or ekeyword won't work # 399061
[[ ${PV} == 9999 ]] || \
KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~sparc x86"
KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86"
IUSE="doc static-libs"

@ -9,7 +9,7 @@ SRC_URI="https://github.com/Numbertext/${PN}/releases/download/${PV}/${P}.tar.xz
LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
IUSE=""
src_configure() {

Binary file not shown.

@ -569,15 +569,18 @@ src_test() {
done
for t in main.mysql_client_test main.mysql_client_test_nonblock \
rpl.rpl_semi_sync_uninstall_plugin \
rpl.rpl_semi_sync_uninstall_plugin main.mysql \
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
_disable_test "$t" "False positives in Gentoo"
done
if ! use client-libs ; then
_disable_test main.plugin_auth "Needs client libraries built"
_disable_test plugins.auth_ed25519 "Needs client libraries built"
fi
_disable_test main.gis_notembedded "Fails when latin1 USE is not set"
_disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on
# run mysql-test tests

@ -659,6 +659,7 @@ src_test() {
_disable_test main.gis_notembedded "Needs latin1 USE set"
_disable_test main.plugin_auth "Needs client libraries built"
_disable_test plugins.auth_ed25519 "Needs client libraries built"
_disable_test main.mysqldump "Test fails past 2018-12-31 due to event expiration"
# Likely environment issues as only number of clients connected fails

@ -663,6 +663,7 @@ src_test() {
done
_disable_test main.plugin_auth "Needs client libraries built"
_disable_test plugins.auth_ed25519 "Needs client libraries built"
_disable_test main.func_time "Dependent on time test was written"

@ -661,12 +661,18 @@ src_test() {
_disable_test "$t" "False positive due to varying policies"
done
for t in main.mysql_client_test main.mysql_client_test_nonblock \
for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
_disable_test "$t" "False positives in Gentoo"
done
for t in funcs_1.is_columns_mysql main.gis_notembedded main.information_schema \
main.mysql_upgrade main.system_mysql_db ; do
_disable_test "$t" "Failure for difference between latin1 and utf-8"
done
_disable_test main.plugin_auth "Needs client libraries built"
_disable_test plugins.auth_ed25519 "Needs client libraries built"
_disable_test main.func_time "Dependent on time test was written"

@ -10,9 +10,11 @@ DIST mysql-boost-5.7.24.tar.gz 49110448 BLAKE2B 1cf64712d84cbb2dfd31f2a530470b6f
DIST mysql-boost-5.7.25.tar.gz 49107578 BLAKE2B 8a43479c496ce45e71df905b0cb6da442340b691caa15f9862a8c981e7189c50e73b1701c393fe46ab580c508f785d5f15259c2331c77e0790191f3d41bb385c SHA512 b111c64bfcd49dba584bed71a0c7ce33b2b0654654d8f4eaa1a2b7a5daed9674ebfd4a0dfb93c20ffee028feead4709eaf600bb5469f81c86b743d395dfe27a9
DIST mysql-boost-5.7.26.tar.gz 51098338 BLAKE2B 1263cd75814a7293b26b0f44fd2b7d20d983f3c6a62725df9515ecac2ef252f6644810cb4bf0d6f36b98e55317f1c67ea7541228cb38d896dfedc476a5755f26 SHA512 a5f9871dc5a8e5fffc1467c3dd542533a63fe553c029120475f8fd5530d884c76ab0c33ad260daf317faf318ccef01464f6ac2dc3468efceb6bf2b6c06c54cfd
DIST mysql-boost-5.7.27.tar.gz 51436383 BLAKE2B 6db64ab5fa659aae9baa3725a0de9465e48c37618ffd69f34809880c06a00ce55dce77f507810c6fa52d86901facfa42d3d1bd8db1914a779fbc88a69be82497 SHA512 573f4555f3d62bcd3dc2228bcfba023518d462bb6689114a3505ccf7c7c3061d2775a8e7a37ec3c8b9dea6e8fbc56ba599610f237abc38cedff58e75799bdc52
DIST mysql-boost-8.0.17.tar.gz 189322239 BLAKE2B f9f46e5fdc3e9869b203626bc09edfbcdbabcd68eba43f9c6a33b9a52cffb3a32f39704c6d22a66899aac16fa2efb271c5dc7af7522768b45542ac8dc615cd8a SHA512 a278ee263670cb1f79d67c4b87c4b88632569c3b20a4297a6e77d550155db20902f22992ea851cf59ea523bb97d5e08707e3457f71a678e9f1ac2fa4ca5b7a2d
DIST mysql-extras-20180804-2323Z.tar.bz2 322215 BLAKE2B cca9e502e375bf43473335868517f6c450fc7bcf03e55de5a294c8bdcfcac2bb783dec09bbb3b6c30a561ba7e3a943543c017e2d42b61d466e699acdef4c0231 SHA512 efd9d416f394cc61b977ab76f05ab3acc5803ff8bdee8e1dbc65cc5b3f07e4f9742140d9586c028908b10fcc44f21c98ebffdebcc5c3578acbe05b07526bcb3d
DIST mysql-extras-20181023-0012Z.tar.bz2 327834 BLAKE2B 91a82cbcecbbbe94933da0d8c26cdfee0171602785b2f717fbfec7da422f0ec36f26e897a3c21695f4748017d36c9956cbef03d0852246468368b812a604df82 SHA512 94996708a9da4d55c3aab74f75b74fa4aa80e3fbbb87d9dfe6c1596a934aceed466b7c853e38d9b63f59660763ccef617defc4e6e8770451c21a252250f4e7fa
DIST mysql-extras-20181111-2314Z.tar.bz2 329013 BLAKE2B fa928b699ef0e6f092e028fc1331cc33953d9855e784998fb2f8c1f1712e9424567b2d2b6b7c5ca375f178309522b3596fcba7babdbed7c85b87ae4b85e5db22 SHA512 5cc4d16c5c6b0491fb9532469ec0b9c65e27e1514d561ea4180845a1578fc8e7ba00fca479b9a784646846f5147e4f676340f639b78c3f5ee140dda26bd5bff2
DIST mysql-extras-20190303-1852Z.tar.bz2 331026 BLAKE2B ee033fce8f1b6a58f1f690710fb9709a585cd45564b35e71d4f840a3a7f83a5d80f53c24236c9976319abd89c68c62c74a7111517f1b9721d3cbd0898bf0dd8d SHA512 30361a0b848ed27f9170b1116458a9bc13b1b585c5fa1933c99927541c31e9bda4008b0563f2fc7db286f998089ebebf1fe3f18fce7a45e62acbf769ac62d8c1
DIST mysql-extras-20190524-1046Z.tar.bz2 331517 BLAKE2B e6d48e34b0a7f7176de8740971f8151923beb20a520df73c22d44005059ef6779ad5aa8437e30018b9bbfe1d6d69043cbd8522b6f3662746205193b44372a6b3 SHA512 2f7238578f3aabd1701e1c54da36bc0100c9479871e3c77b22131fd6cde865037307f93b3343ea5e52251c45ef35cdc52cc2dec5a26d44fd41700598282c5c2c
DIST mysql-extras-20190604-1109Z.tar.bz2 331780 BLAKE2B 48b6f6ff36818ba3d1d9c0580b0ff5e2343d92a42ee78b6804841d7c4f511adcdc3d5cd0590f769f308ca52e271c07cb34219450f9b86e918ddcd0a4b956e18e SHA512 19a85ba5a4c2de1688f39feb6ce1c1802e4d886436dc02afe1ba508b91365a0ac67d668cf7126588145ee55641992ad71b0d094246a94c89065876b9bb897425
DIST mysql-extras-20190802-0031Z.tar.bz2 332871 BLAKE2B 233b25bc0f3fb215c273210f688a9864fe98ace95859d5e5e530d7f9a77a1fa08bdb0ef773fa8db3858b512479e0b13fcbc3cc5bea3ece695393a9db02e3babf SHA512 b74a9058f5ee439cac7063844b2a462e3b0ce6f906198bbb2aa966b93bfc2fb060d1d68cb4c0aafc4d1100338e48befcc53f4f5f74fa59aca305eee5882a971b

@ -34,7 +34,7 @@ RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase

@ -0,0 +1,808 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
MY_EXTRAS_VER="20190802-0031Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit cmake-utils eutils flag-o-matic linux-info \
prefix toolchain-funcs user
MY_PV="${PV//_pre}"
MY_P="${PN}-${MY_PV}"
S="${WORKDIR}/${PN}-${MY_PV}"
SRC_URI="https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-${MY_PV}.tar.gz
https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-${MY_PV}.tar.gz
http://downloads.mysql.com/archives/MySQL-8.0/${PN}-boost-${MY_PV}.tar.gz"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
SLOT="0/21"
IUSE="cjk cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
selinux static static-libs tcmalloc test"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
EGIT_CLONE_TYPE=shallow
MY_PATCH_DIR="${WORKDIR}/mysql-extras"
else
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-8.0.17.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-8.0.17.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
"${MY_PATCH_DIR}"/20018_all_mysql-8.0.17-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-8.0.17-fix-libressl-support.patch
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="net-misc/curl:=
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
sys-libs/ncurses:0=
dev-db/mysql-connector-c
>=dev-libs/protobuf-3.8
>=app-arch/lz4-0_p131:=
dev-libs/libedit
cjk? ( app-text/mecab:= )
experimental? (
dev-libs/libevent:=
net-libs/libtirpc:=
)
numa? ( sys-process/numactl )
>=sys-libs/zlib-1.2.3:0=
jemalloc? ( dev-libs/jemalloc:0= )
kernel_linux? (
dev-libs/libaio:0=
sys-process/procps:0=
)
tcmalloc? ( dev-util/google-perftools:0= )
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
"
DEPEND="${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
virtual/yacc
dev-libs/libevent
experimental? ( net-libs/rpcsvc-proto )
static? ( sys-libs/ncurses[static-libs] )
test? ( dev-perl/JSON )
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
selinux? ( sec-policy/selinux-mysql )
!prefix? ( dev-db/mysql-init-scripts )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
if [[ -e "${MY_DATADIR}" ]] ; then
# If you get this and you're wondering about it, see bug #207636
elog "MySQL datadir found in ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]] ; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_pretend() {
if use numa ; then
local CONFIG_CHECK="~NUMA"
local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
check_extra_config
fi
}
pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
# Note about configuration change
einfo
elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
elog "to several files in /etc/mysql/mysql.d."
elog "Please backup any changes you made to /etc/mysql/my.cnf"
elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
elog "You may have as many files as needed and they are read alphabetically."
elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
einfo
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${MY_P}" "${S}" || die
}
src_prepare() {
if use jemalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc ; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
# Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
if [[ -d "${S}/support-files/SELinux" ]] ; then
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
## Remove bundled libs so we cannot accidentally use them
## We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
#rm -rv \
# "${S}"/extra/libevent \
# "${S}"/extra/zlib \
# || die
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
fi
#sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
cmake-utils_src_prepare
}
src_configure(){
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cflags -fPIC
append-cxxflags -felide-constructors -fPIC
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
-DSYSCONFDIR="${EPREFIX}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
### TODO: make this system but issues with UTF-8 prevent it
-DWITH_EDITLINE=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_CURL=system
-DWITH_BOOST="${S}/boost"
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
mycmakeargs+=( -DWITH_SSL=system )
mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
# client/mysql.cc:1131:16: error: redefinition of struct _hist_entry
mycmakeargs+=(
-DUSE_LIBEDIT_INTERFACE=0
-DUSE_NEW_EDITLINE_INTERFACE=1
-DHAVE_HIST_ENTRY=1
)
mycmakeargs+=(
-DWITH_ICU=system
-DWITH_RE2=system
-DWITH_LIBEVENT=system
-DWITH_LZ4=system
-DWITH_PROTOBUF=bundled
-DWITH_MECAB=$(usex cjk system OFF)
-DWITH_NUMA=$(usex numa ON OFF)
-DWITH_RAPID=$(usex experimental ON OFF)
# Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex
-DWITH_RAPIDJSON=bundled
)
if [[ -n "${MYSQL_DEFAULT_CHARSET}" && -n "${MYSQL_DEFAULT_COLLATION}" ]] ; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
ewarn "Tests will probably fail!"
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8mb4
-DDEFAULT_COLLATION=utf8mb4_0900_ai_ci
)
fi
mycmakeargs+=(
-DWITH_EXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
)
if use profiling ; then
# Setting to OFF doesn't work: Once set, profiling options will be added
# to `mysqld --help` output via sql/sys_vars.cc causing
# "main.mysqld--help-notwin" test to fail
mycmakeargs+=( -DENABLED_PROFILING=ON )
fi
if use static ; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
# Storage engines
mycmakeargs+=(
-DWITH_EXAMPLE_STORAGE_ENGINE=0
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_INNODB_MEMCACHED=0
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
)
cmake-utils_src_configure
}
# Official test instructions:
# ulimit -n 16500 && \
# USE='perl server' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mysql-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname bug reason
rawtestname="${1}" ; shift
bug="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
echo ${rawtestname} : BUG#${bug} ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ $UID -eq 0 ]] ; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
if use latin1 ; then
# Upstream only supports tests with default charset
die "Testing with USE=latin1 is not supported."
fi
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" &>/dev/null || die
touch "${T}/disabled.def"
local -a disabled_tests
disabled_tests+=( "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)")
disabled_tests+=( "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet")
disabled_tests+=( "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet")
disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware")
disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure" )
disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Know failure - no upstream bug yet" )
disabled_tests+=( "x.connection;0;Know failure - no upstream bug yet" )
disabled_tests+=( "main.mysqlslap;1253001;Known failure - no upstream bug yet (RH)" )
disabled_tests+=( "perfschema.idx_threads;0;Know failure - no upstream bug yet" )
disabled_tests+=( "perfschema.idx_session_connect_attrs;0;Know failure - no upstream bug yet" )
disabled_tests+=( "perfschema.idx_session_account_connect_attrs;0;Know failure - no upstream bug yet" )
local test_ds
for test_infos_str in "${disabled_tests[@]}" ; do
IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
if [[ ${#test_infos_arr[@]} != 3 ]] ; then
die "Invalid test data set, not matching format: ${test_infos_str}"
fi
_disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
done
unset test_ds test_infos_str test_infos_arr
# Try to increase file limits to increase test coverage
if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
# Upper limit comes from parts.partition_* tests
ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
# Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
else
einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
fi
local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
if [[ ${aio_max_nr} -lt 250000 ]] ; then
if ! sysctl -w fs.aio-max-nr=250000 2>&1 ; then
ewarn "Failed to rais fs.aio-max-nr to >=250000! Expect test failures ..."
else
einfo "fs.aio-max-nr raised to 250000!"
fi
fi
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd &>/dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
src_install() {
cmake-utils_src_install
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
fi
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
eprefixify "${TMPDIR}/my.cnf"
doins "${TMPDIR}/my.cnf"
insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
eprefixify "${TMPDIR}/50-distro-client.cnf"
doins "${TMPDIR}/50-distro-client.cnf"
mycnf_src="my.cnf.distro-server"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
if use prefix ; then
sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
"${TMPDIR}/my.cnf.ok" || die
fi
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
# Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
}
pkg_config() {
_getoptval() {
local mypd="${EROOT}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
if [[ -d "${MY_DATADIR_s}" ]] ; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]] ; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client ; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${EROOT}/$MYSQL_TMPDIR" ]] ; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
if [[ ! -d "${EROOT}/$MYSQL_LOG_BIN" ]] ; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
fi
if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]] ; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
einfo "Please provide a password for the mysql 'root' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# Figure out which options we need to disable to do the setup
local helpfile="${TMPDIR}/mysqld-help"
"${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
for opt in host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]] ; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]] ; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
echo "USE mysql;" >"${sqltmp}"
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
chown mysql "${sqltmp}" || die
# --initialize-insecure will not set root password
# --initialize would set a random one in the log which we don't need as we set it ourselves
local cmd=( "${EROOT}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}${MY_DATADIR}" "--tmpdir=${ROOT}${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [[ $? -ne 0 ]] ; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
use prefix || options="${options} --user=mysql"
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
--pid-file=${pidfile} \
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]] ; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
"${EROOT}/usr/bin/mysql" \
--no-defaults \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
eend $?
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

Binary file not shown.

@ -1,6 +1,8 @@
DIST php-5.6.40.tar.xz 12472236 BLAKE2B f41147eaec9b15e965540f9e871691cc88848dd619bae6af85e7bba0130b71ce91bad5cdbbadbb537c42df83369f5c731007339a9d9e21e689e913c135201afc SHA512 997b5a952a60cf9166671cc91fcc34c674dd62bfd5cb0a9cdf3fdf2d088b5d19943d94c1cf193f8ab71fc4957d9a9a4c7c2fb8826f937501c1c0a0858f10e329
DIST php-7.1.30.tar.xz 12221980 BLAKE2B 7b2550e8f1c3cbd40223d9ed1d3e9e7a32550a057ecf0c83ce105a5e17805a57266130830adf60adeb4bbcd4cb787539a04783b0588d84e9771ce036de8b176e SHA512 7c6654e118931a8dab4896a7b62221b863b5a235a9bbce3e0c09abf5e55b964f86b1d2b2c96683b09254829c2569e72620f4d8d50cd05153ee56617e62ad37c1
DIST php-7.2.20.tar.xz 12183712 BLAKE2B d163afbc56c0d32a3d0f24d3db2c4016a71bb745642f27a01bdfbe29015106f5708ee3aabfc482b01f48c147ca9e28e9b6d1da613284bc3d35651e2aa0862940 SHA512 7c61b7277181f70a8abae560e72f765f598712afe9be6cef0b9a50402e0eca74b773237866e0375e41a4e6f76111035c92e823120a4be2b7647517b01ef6b5c7
DIST php-7.2.21.tar.xz 12298448 BLAKE2B f82b35fd3cdf45d8c84639d044729602340c2d34695b5603a194e2d504627c0e041ab156c3720d218d8d6ca51c9ef71d8d0ee37585142aa30ed0cce51fbcb91e SHA512 c7fe01626c1e25e8882d8f2b69d77a5479567d2daa3bf25d1ce3f45314a882f79ce9914a2aa1b3052b6289b46873f466e457049ce1db6e31b60ba4995187507c
DIST php-7.3.7.tar.xz 11993760 BLAKE2B 0d634171825b9fd0a831a45486f4d67142bf592042571025a26d8a01e236ef6735af11cffb645ca19d245fe56f1b0085b32545360668b68686524f4307898d07 SHA512 583a28aa346c3322998bfda81bf00f2f2b84ff1e2311f0877288d7d4f02639e953e9bd8cb59372cd4bec9aeffa3ec00375c4b03a3ee8ec1db05a095a28164908
DIST php-7.3.8.tar.xz 12064620 BLAKE2B cfe2fde5e48080e13bd21cb2e2ca0c0ae38da03c94d0692e11bfe6722e50bd0b864d629a0ef6aed4ac5d9830ec4b4b214b9abdf917519a0c0cb70a4362fc8390 SHA512 9e9e13845350f3d4a8a80c3e2fe8291996e2749b2c862261b96346c01e5e24640cb81adad5e3b7668b56b2266c1fcbb713e8c38da4f9aa474f5f632f91378a8d
DIST php-7.4.0beta1.tar.xz 10200060 BLAKE2B f49c49fcebe0309bbe266dec5c468037499fc96908a4130454403e57caa3ef7da3c46dbc83829bb290c46edfc14921f71fafddb8b0777c23adec35fbb57ad68c SHA512 3e4307201c91cec238c9bc6c27a629a93de8baba0307f2e61cb4bb242720178382dd50b38e7a18fbd65baf25068b358faf571dcb895e7cd6fb292038dee3ed6b
DIST php-patches-7.1.30bp.tar.bz2 30698 BLAKE2B 74bbab7e3d721ce823f1820b9fad1dd61c9b109e50392ae6cf08f9ae1f6b813273d50edad2644913b016b369f6fc32ff5bf1abe0687c23876596f3f18ec20e1a SHA512 832f97636a346c88089190dc0a0d98d39ef69244b441e553a7775da602227338f1f4a6cb90295b4f5fb117f6c64b259120840dbfe0da7352819d94392aff9fd6

@ -0,0 +1,749 @@
# 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-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl 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-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[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[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 )
"
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,750 @@
# 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-fbsd ~x86-fbsd ~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-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[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[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 )
"
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
}

Binary file not shown.

@ -13,7 +13,7 @@ SRC_URI="https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz -> ${
LICENSE="|| ( public-domain MIT )"
SLOT="0/21"
KEYWORDS="alpha amd64 ~arm arm64 ~hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-fbsd"
KEYWORDS="alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-fbsd"
IUSE="doc test"
DEPEND="

@ -1,2 +1,3 @@
DIST libedit-20130712-3.1.tar.gz 483857 BLAKE2B 9120e9ac2f0d20841fea7d3a41fbfe2c1e79392d3b6dcfcd44517ee61d662427ea6cda312d2ec47ac92d61b9292684b8bbd8f92de0832909fadfb1b0cbbb4f81 SHA512 9fb3173a65ea2cd2ffa9af0666aa3e227b7d6be26f3e84f30ea3449b0c80fc5e91b618e939f7047bf885b96689ede93733f7eba614d4fdd1a4baff3f130b432e
DIST libedit-20170329-3.1.tar.gz 508504 BLAKE2B 83857f2e56c1f3857e981556c4d5bb90580293a1b9b038bd08beaa2b3954ccee0b30ccdd716cca95d1811841ab8ada010084ec5cd9ab8407e996c713d0991cd8 SHA512 597ed2282240be6dc3c4a7bb8b4ade31fe16ebfeb2229e3aec58643a65882653cc91deb300343d1b1cc588959dbf95698122c4005e47dfb947efa3e6b134bb82
DIST libedit-20190324-3.1.tar.gz 521999 BLAKE2B c48161626a5cf3140f75ec1df1d9652d961e568a0464a34f9e679f51e1e991a14c9d04a05f0de3815c4a38a9f17789a18e89ebd026450fa1053ef6420c045141 SHA512 240098989e3c5c8c5e28a61036655ad5a57f1c484e1cce2eaf3da157ff238dfb9cd81c766f82efbefa0935b7b5c07328087788cbac007b11dfb558cfaccaedf3

@ -0,0 +1,52 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit autotools multilib-minimal toolchain-funcs usr-ldscript
MY_PV=${PV/./-}
MY_P=${PN}-${MY_PV}
DESCRIPTION="BSD replacement for libreadline"
HOMEPAGE="https://thrysoee.dk/editline/"
SRC_URI="https://thrysoee.dk/editline/${MY_P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="static-libs"
DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]
!<=sys-freebsd/freebsd-lib-6.2_rc1"
RDEPEND=${DEPEND}
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/${PN}-20170329.3.1-tinfo.patch"
)
src_prepare() {
default
eautoreconf
}
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
$(use_enable static-libs static) \
--enable-widec \
--enable-fast-install
}
multilib_src_install() {
emake DESTDIR="${D}" install
gen_usr_ldscript -a edit
}
multilib_src_install_all() {
einstalldocs
find "${D}" -name '*.la' -delete || die
# file collission with sys-libs/readline
rm "${ED%/}/usr/share/man/man3/history.3" || die
}

Binary file not shown.

@ -0,0 +1 @@
DIST roswell-19.3.10.97.tar.gz 159870 BLAKE2B 3a39f2606da3e45e752490eaba2b44f2dfc369c073e65d7556d078e6b6e4e1e620b24b5ef50375d01d5cd88a68c08825bf84b953965d1409f07ed2ba92ccf64c SHA512 53265610715dcc8d5b23d10e6dff18bf7e69fd4884e45741f9165647b6003f219e0a4b3ab21c9a5bb5dd3c72240aa6e0f091a4379c792d5ed40787fa382a71af

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sheepduke@gmail.com</email>
<name>YUE Daian</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription>
Roswell is the de facto full-stack environment for Common Lisp
development. It serves as a Lisp implementation installer, manager,
launcher etc.
</longdescription>
<upstream>
<remote-id type="github">roswell/roswell</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,32 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="A lisp installer and launcher for major environment"
HOMEPAGE="https://github.com/roswell/roswell"
SRC_URI="https://github.com/roswell/roswell/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
KEYWORDS="~amd64 ~x86"
src_prepare() {
default
eautoreconf
}
src_compile() {
emake -j1
}
src_test() {
emake -j1 check
}
src_install() {
emake DESTDIR="${D}" -j1 install
}

@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="A wrapper that lets you read Zip archive members as if they were files"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND="

Binary file not shown.

@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="control superclass method dispatch"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND="

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Override subroutines in a module for unit testing"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RDEPEND="

Binary file not shown.

@ -29,7 +29,9 @@ DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
python_configure_all() {
rm tests/3proxy/bin/*/* || die
ln -s "$(type -P 3proxy)" tests/3proxy/bin/linux/ || die
if use test; then
ln -s "$(type -P 3proxy)" tests/3proxy/bin/linux/ || die
fi
}
python_test() {

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~sparc ~x86"
KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="doc test"
RDEPEND="

@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~sparc ~x86"
KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="doc test"
RDEPEND="

@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~sparc ~x86"
KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="doc test"
RDEPEND="

@ -0,0 +1,21 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1
DESCRIPTION="A plugin for reCAPTCHA and reCAPTCHA Mailhide"
HOMEPAGE="https://github.com/redhat-infosec/python-recaptcha"
SRC_URI="https://github.com/redhat-infosec/python-recaptcha/releases/download/v${PV}/${P}.tar.gz"
KEYWORDS="~amd64"
LICENSE="MIT"
SLOT="0"
RDEPEND="|| ( dev-python/pycryptodome[${PYTHON_USEDEP}] dev-python/pycrypto[${PYTHON_USEDEP}] )
dev-python/simplejson[${PYTHON_USEDEP}]
!dev-python/recaptcha-client"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"

@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~m68k ~mips ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd"
KEYWORDS="~amd64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd"
IUSE="doc test"
RDEPEND="

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~sparc ~x86"
KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="doc test"
BDEPEND="

Binary file not shown.

@ -3,3 +3,4 @@ DIST shoulda-matchers-3.1.3.gem 208384 BLAKE2B 0ce7cb91ec8a311ecd4872ca45b178686
DIST shoulda-matchers-4.0.1.tar.gz 222637 BLAKE2B 70d1aaa08f7670716f9ad385a22cbca709827f2de276d2a82ea8306ea43c44e99f9a2e698813a8c99036568a1f451a7c39d06dc5effd438d2bd31dcab32df8a8 SHA512 c2d8b80d4a0fa8d607b62f56c2718fc9922459f85ffb8a56b0c933c60fc258ce3fe75b7676fee1b178c56d1e35e28356abd855e2e7046b82268f743010c9b273
DIST shoulda-matchers-4.1.0.tar.gz 231976 BLAKE2B dc77f6c8b31209e6651b8cd277a35afb6db9d32db9ce76cdb4f7b53fcd4dcfd86fe147b2aef1cd387eac602aedd863a6c5bb478a763446c30a88bbd0ed61de73 SHA512 9688712cdb2b5440f0a0a41df1c2956d3bb6f8824a41c0c5418706fc9124296705639286e04cc4d90e083b7b44a96b10f831aab2ae382f7379054ea6adb489d1
DIST shoulda-matchers-4.1.1.tar.gz 234756 BLAKE2B 19f178b6f80bbc4439053a11772ed449186f507ee1c971a20df1c50931f6ffb3f8e1555d603a111916fb2ab18329aaf97177e2610ad9e5186bc1fcea4c09f48c SHA512 af2df1321e5421211a01fe9b3a94e2786dd7526050ecd38fd256df2c0ed8187d51423df0df8bdfeb1c3eca9eeb9dc0b757605eb6fef5c42e1895deb2fcac257c
DIST shoulda-matchers-4.1.2.tar.gz 234999 BLAKE2B eccfc9850a7e1ee7bd85575b014c372c0e48104e7792df60046006cfc8398225edd3229532632da30f40bd5b2274aa5a5ad4862edf4eb43832d010efc5ecf773 SHA512 c0b78e2cceeb3b7af9b38b248807b2f86cec85f0ad778a1b9b4e355f6d5488ef125623d9bb2fe10983dc6b6c0cae343b2497a6e438bc3f9c148ccd5462c70510

@ -0,0 +1,32 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
USE_RUBY="ruby24 ruby25 ruby26"
RUBY_FAKEGEM_RECIPE_TEST="none"
RUBY_FAKEGEM_EXTRAINSTALL="NEWS.md README.md"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
RUBY_FAKEGEM_BINWRAP=""
inherit ruby-fakegem
DESCRIPTION="Making tests easy on the fingers and eyes"
HOMEPAGE="https://github.com/thoughtbot/shoulda-matchers"
SRC_URI="https://github.com/thoughtbot/shoulda-matchers/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="3"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
IUSE=""
ruby_add_rdepend ">=dev-ruby/activesupport-4.2.0:*"
all_ruby_prepare() {
sed -i -e '/pry/ s:^:#:' spec/spec_helper.rb || die
sed -i -e '/s.files/,/^ end/ s:^:#:' ${RUBY_FAKEGEM_GEMSPEC} || die
}

Binary file not shown.

@ -16,7 +16,7 @@ SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
LICENSE="CMake"
SLOT="0"
[[ "${PV}" = *_rc* ]] || \
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="doc emacs system-jsoncpp ncurses qt5 test"
RDEPEND="

@ -1,3 +1 @@
DIST ctags-20161028.tar.xz 852108 BLAKE2B a4c954c560bb2d0165c12b4ec4f7b7c2c674acde98d438d9388f5d6102d325759faa3d4801eb0f63da70064fdeb32ef1c1cdd4124ade8d87cd9632b77c823e1a SHA512 2b991ca47fc77d26da43f55753624d1b21363dbeec4aff3daa57762ff81df97b18b067e8989f5d92d36dd8c02abc04ad42296dd5da3659ae0c8901001287c75e
DIST ctags-20170704.tar.gz 1295281 BLAKE2B b58917a876d90df528f51bcd572301dcba8fa8ce8998bdb0a245d7d58033e37c2984af963a312c83b364dafd37633270f5f5d06fdb635a927066282e9382f6a2 SHA512 6ed134347a4be16a5dcff35186bd949e73bea645908a5ac43082b92fdfa6040b0b99ea04590948ae8308d4e9eb1042c83a4f0df006709f15cebfbf0741d73641
DIST ctags-20190331.tar.gz 1537104 BLAKE2B 354ddf48cdc9421e70d9d37ec7251e51f7f78564dc4f6236d12e2e18519369c39c22585830fd301b7eff4898d550b824776541198b8c4a31425711776b14fde4 SHA512 414faef7628ecaa66fcd5f172781a32194e1d58637dded1f7e55c138239ad777796bb1510bd447af3ad8243b7178e6f4859139305b0c0efe298182408f34524c

@ -1,67 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Exuberant Ctags creates tags files for code browsing in editors"
HOMEPAGE="https://ctags.io/ https://github.com/universal-ctags/ctags"
SRC_URI="https://dev.gentoo.org/~radhermit/vim/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="json xml yaml"
COMMON_DEPEND="
json? ( dev-libs/jansson )
xml? ( dev-libs/libxml2:2 )
yaml? ( dev-libs/libyaml )
"
RDEPEND="
${COMMON_DEPEND}
app-eselect/eselect-ctags
"
DEPEND="
${COMMON_DEPEND}
dev-python/docutils
virtual/pkgconfig
"
PATCHES=( "${FILESDIR}"/${P}-automagic-deps.patch )
src_prepare() {
default
./autogen.sh || die
}
src_configure() {
econf \
$(use_enable json) \
$(use_enable xml) \
$(use_enable yaml) \
--disable-readlib \
--disable-etags \
--enable-tmpdir="${EPREFIX}"/tmp
}
src_install() {
emake prefix="${ED}"/usr mandir="${ED}"/usr/share/man install
# namepace collision with X/Emacs-provided /usr/bin/ctags -- we
# rename ctags to exuberant-ctags (Mandrake does this also).
mv "${ED}"/usr/bin/{ctags,exuberant-ctags} || die
mv "${ED}"/usr/share/man/man1/{ctags,exuberant-ctags}.1 || die
}
pkg_postinst() {
eselect ctags update
if [[ -z "$REPLACING_VERSIONS" ]]; then
elog "You can set the version to be started by /usr/bin/ctags through"
elog "the ctags eselect module. \"man ctags.eselect\" for details."
fi
}
pkg_postrm() {
eselect ctags update
}

@ -1,74 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools
COMMITHASH="0645b2c833e4ca956970cc96fab32a1b04c0c55c"
DESCRIPTION="Exuberant Ctags creates tags files for code browsing in editors"
HOMEPAGE="https://ctags.io/ https://github.com/universal-ctags/ctags"
SRC_URI="https://github.com/universal-ctags/ctags/archive/${COMMITHASH}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="json xml yaml"
CDEPEND="
json? ( dev-libs/jansson )
xml? ( dev-libs/libxml2:2 )
yaml? ( dev-libs/libyaml )
"
RDEPEND="
${CDEPEND}
app-eselect/eselect-ctags
"
DEPEND="
${CDEPEND}
dev-python/docutils
virtual/pkgconfig
"
S="${WORKDIR}/${PN}-${COMMITHASH}"
src_prepare() {
default
./misc/dist-test-cases > makefiles/test-cases.mak || die
eautoreconf
}
src_configure() {
econf \
$(use_enable json) \
$(use_enable xml) \
$(use_enable yaml) \
--disable-readlib \
--disable-etags \
--enable-tmpdir="${EPREFIX}"/tmp
}
src_install() {
emake prefix="${ED}"/usr mandir="${ED}"/usr/share/man install
# namepace collision with X/Emacs-provided /usr/bin/ctags -- we
# rename ctags to exuberant-ctags (Mandrake does this also).
mv "${ED}"/usr/bin/{ctags,exuberant-ctags} || die
mv "${ED}"/usr/share/man/man1/{ctags,exuberant-ctags}.1 || die
}
pkg_postinst() {
eselect ctags update
if [[ -z "$REPLACING_VERSIONS" ]]; then
elog "You can set the version to be started by /usr/bin/ctags through"
elog "the ctags eselect module. \"man ctags.eselect\" for details."
fi
}
pkg_postrm() {
eselect ctags update
}

@ -13,7 +13,7 @@ SRC_URI="http://ftp.rpm.org/releases/rpm-$(ver_cut 1-2).x/${MY_P}.tar.bz2"
LICENSE="GPL-2+ LGPL-2+"
SLOT="0"
KEYWORDS="amd64 ~hppa ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 hppa ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND="

Binary file not shown.

@ -1,2 +1 @@
DIST bfg-1.12.15.jar 14814817 BLAKE2B 8b7a27e3e00450ac92237dfafe2c7fe13ca61fa67b246112ad17858e89429d03517e0f08c037d9346fa570fa889a1cfe43e125c45f96b5b6da3621daa6d23cfa SHA512 79a74a534c1d7fcf0b1505b1e5286234cb5b33e7fe4f2ee1b72c1d6d591257f172a76ca56374d6eadd797a60316ae68da115929e7cb667a44a8c772f8cd8cff4
DIST bfg-1.13.0.jar 13465496 BLAKE2B 1f9eaa44f032c182a8d50dfebaee668a2d7de2361ea48336932e5168a6a3b6970bbca742943917d4ecc392586f03d19add1d1cd9772e023389b9711874871c53 SHA512 e037be1dd52bd122a57fed18ebc4923238666e9985ad2d40174344a1ca45a05abd9a59f1c2ea743be49d094fd76a5794a0e3160a9d3be04a7986c3a444df4fa8

@ -1,31 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit java-pkg-2
DESCRIPTION="a faster alternative to git-filter-branch for removing bad data from git repos"
HOMEPAGE="https://rtyley.github.io/bfg-repo-cleaner/"
SRC_URI="https://repo1.maven.org/maven2/com/madgag/${PN}/${PV}/${P}.jar"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND=">=virtual/jre-1.6"
S=${WORKDIR}
src_prepare() {
default
java-pkg-2_src_prepare
}
src_unpack() { :; }
src_compile() { :; }
src_install() {
java-pkg_newjar "${DISTDIR}"/${P}.jar
java-pkg_dolauncher ${PN}
}

@ -13,6 +13,7 @@ LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 ~x86"
DEPEND="app-arch/unzip"
RDEPEND=">=virtual/jre-1.7"
S=${WORKDIR}

@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="Subversion GPL-2"
SLOT="0"
[[ "${PV}" = *_rc* ]] || \
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring +http java kwallet nls perl python ruby sasl test vim-syntax"
COMMON_DEPEND="

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -46,7 +46,7 @@ src_compile() {
LIB="-L/usr/X11R6/lib -lX11"
else
CFLAGS="${CFLAGS} -DCURSESGRAPHX"
LIB="-lcurses"
LIB="-lcurses -ltinfo"
fi
cd src

Binary file not shown.

@ -1,45 +1,20 @@
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -437,7 +437,7 @@
if test "$FT2_CONFIG" = "no" ; then
no_ft=yes
else
- FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
+ FT2_CFLAGS="`$FT2_CONFIG $ft_config_args --cflags` `$FT2_CONFIG $ft_config_args --cflags | sed -e 's:freetype2:freetype2/freetype:'`"
FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
--- a/src/client/GLEXT/GLFont2dFreeType.h
+++ b/src/client/GLEXT/GLFont2dFreeType.h
@@ -23,10 +23,10 @@
#include <GLEXT/GLFont2dStorage.h>
#include <ft2build.h>
-#include <freetype/freetype.h>
-#include <freetype/ftglyph.h>
-#include <freetype/ftoutln.h>
-#include <freetype/fttrigon.h>
+#include <freetype.h>
+#include <ftglyph.h>
+#include <ftoutln.h>
+#include <fttrigon.h>
#include <string>
class GLFont2dFreeType
--- a/src/launcher/wxdialogs/TrueTypeFont.h
+++ b/src/launcher/wxdialogs/TrueTypeFont.h
@@ -25,10 +25,10 @@
#include <wx/image.h>
#include <ft2build.h>
#include <string>
-#include <freetype/freetype.h>
-#include <freetype/ftglyph.h>
-#include <freetype/ftoutln.h>
-#include <freetype/fttrigon.h>
+#include <freetype.h>
+#include <ftglyph.h>
+#include <ftoutln.h>
+#include <fttrigon.h>
class TrueTypeFont
{
diff --git a/configure-ft.m4 b/configure-ft.m4
index d27678ca..ce369bf4 100644
--- a/configure-ft.m4
+++ b/configure-ft.m4
@@ -1,14 +1,2 @@
dnl Check for FreeType2
-AC_CHECK_FT2(7.0.1, ftype=1)
-if test "$ftype" != 1; then
- AC_MSG_ERROR([
- FreeType2 must be installed on your system
- but freetype-config couldn't be found.
- Please check that freetype-config is in the path, the directory
- where the freetype libraries are installed (returned by
- 'freetype-config --libs' command) is in LD_LIBRARY_PATH or
- equivalent variable and freetype version is 7.0.1 or above
- Try http://www.freetype.org to download freetype.
- ])
-fi
-
+PKG_CHECK_MODULES(FT2, freetype2 >= 7.0.1)

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -85,9 +85,9 @@ src_install() {
# remove bundled fonts
rm "${ED%/}"/usr/share/${PN}/data/fonts/* || die
dosym /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/${PN}/data/fonts/dejavusans.ttf
dosym /usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf /usr/share/${PN}/data/fonts/dejavusconbd.ttf
dosym /usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf /usr/share/${PN}/data/fonts/dejavusmobd.ttf
dosym ../../../fonts/dejavu/DejaVuSans.ttf /usr/share/${PN}/data/fonts/dejavusans.ttf
dosym ../../../fonts/dejavu/DejaVuSansCondensed-Bold.ttf /usr/share/${PN}/data/fonts/dejavusconbd.ttf
dosym ../../../fonts/dejavu/DejaVuSansMono-Bold.ttf /usr/share/${PN}/data/fonts/dejavusmobd.ttf
if ! use dedicated; then
newicon data/images/tank-old.bmp ${PN}.bmp

Binary file not shown.

@ -15,7 +15,7 @@
Wayland protocols: wlr-layer-shell, wlr-input-inhibitor, xdg-output,
xdg-shell.
Swaylock is the official screen locker for <pkg>dev-libs/sway</pkg>.
Swaylock is the official screen locker for <pkg>gui-wm/sway</pkg>.
</longdescription>
<use>
<flag name="fish-completion">Enable fish completion support</flag>

Binary file not shown.

@ -18,7 +18,7 @@
excellent hardware compatibility, broad support for many wayland
interfaces, and comfortable development tools.
wlroots is developed under the direction of the <pkg>dev-libs/sway</pkg> project.
wlroots is developed under the direction of the <pkg>gui-wm/sway</pkg> project.
</longdescription>
<use>
<flag name="elogind">Enable support for rootless session via elogind</flag>

Binary file not shown.

@ -0,0 +1,47 @@
DIST aerc-0.2.1.tar.gz 89448 BLAKE2B ba2e5d7e4b2c84ebaef907e93a0c184f3839a31cc63222541ed51e595a2ca2de5d29d48280dd9867e076471c8a6a105dc7fba93a4652696b2ea67694ffbb0d2e SHA512 8d1903215d654885d5011e0408d3c15d53a3bf9ec7f9f537c9b9b560b2324fb13876ce96da0525f1d0a354e0580ad24ebc5da4f4e623403d31ecde27ee29c3ac
DIST git.sr.ht-~sircmpwn-getopt-292febf82fd0.tar.gz 8429 BLAKE2B 0a0f5382f803e658ab920ee0d4cc85727a6ae280e1a3110440b2fec2b44745782b613651881d6a789c8a00429d35ae856ec60841e084c3b05c37159f94c78e3e SHA512 625c1f1cae0f4ef02c09b4c33176d15814260b9fda2acc19da846dab2e8a1a76fda26ad8e0fddfef218a0fe0b61d7c4ef5fdda746c1c86a83c55198ef7dac924
DIST git.sr.ht-~sircmpwn-pty-3a43678975a9.tar.gz 5834 BLAKE2B f2820a23a3b96e149691683e947a8202ba0e9891a09434286edf03c2add5a84dd132c5f9836e2238b7f97f3d641a62bbabc9bd5e2c44bded3961520c37f80f7a SHA512 7c174890ab367268af6aeb5e58d1da927ea70bc0857e63fb6990556820b2f3cc5b773e0812f21ded7ff7f93889797d3444711f7db39a930a8fe6d0439f63681a
DIST git.sr.ht-~sircmpwn-tcell-0abd73a30946.tar.gz 745186 BLAKE2B 539ee0bd65606ef3d34dea0486726381c9763ba958bacbae16eb5e1b8cadcb1e21bbbf946f3c25b3b3f93bfda7745a3b567293cf3ddd56cfefe629ea7346b3e4 SHA512 44786d916dad9edd3ac7dcd8b927ddf13d8f3648946f23f59a33387b8e6dc2e46fd11ae5a0063bb9c20a3db241be440e5ff700bc9efb44e273de75a9651677d5
DIST github.com-DATA-DOG-go-sqlmock-v1.3.3.tar.gz 26572 BLAKE2B 37457107ae192758ef6595f8cef3c8479654bf1373b1205161701dd65874a079a1b6cf0ea0e9478971f60d759a8384088695196cb076dd11329786460905767b SHA512 7b238043e0b96f5b61f7cdd0a1ec3d84303502a47ec44b4340bbb35d42eb24d54bceb7613032650a6c0594db1a47127642e542bacf02065138c54857a77eceaf
DIST github.com-danwakefield-fnmatch-cbb64ac3d964.tar.gz 4952 BLAKE2B 92a7cfe2f3c07bdf2c61b445e35531150869dc181138d3438d7173ee38130d411a0de770ba40958471ea61d9aebe8881b51eb0ca9340deced89fd94df267e299 SHA512 5904008003ac80d34581dd1d33130fef27c6a523196aafef1231a2e63c5296cd30f8c3c517090b6b4c7ebb6a57d24bb0bff10cc40876e3fa1c9e74b65bc13154
DIST github.com-davecgh-go-spew-v1.1.1.tar.gz 42152 BLAKE2B 3c6689b3d2861fbc4a70b8ab25b790d132865e4ec34062fd80005fc7d62c1b4cd77df534c27a2d8b1c42c63f8a551fc7d98e3649bf902d176fd965e933faf6be SHA512 b00621d2f11c4cc858e69fda3e6975f910deb375c4f2305a45b230e2d9be73f183db5d2ce4f5e30a14b27e11e79380233ee68fceeef0d855c64fca966e68111e
DIST github.com-ddevault-go-libvterm-b7d861da3810.tar.gz 112755 BLAKE2B 6da92796ad08f92f480972e5ddb7c4e6dd5b30febc4ca40ec64d6d8b31620140b941772a94ff7f88486a838b3438f1ff87c29f238605c8197dcb5243d1784238 SHA512 eb388cbce7b0c22d02b129e60d431fc36cf6d97cc61dde6173d1fb87b3b8762547813b9657c42dbc85f0fa27159482cf9197c198b173eaad3bcfbdf66f22c799
DIST github.com-emersion-go-imap-idle-2704abd7050e.tar.gz 3632 BLAKE2B ada6936001b74372d44a428b3204b96277e4a222f4da883e4a9de8e5310be9b4886e3efda588efb772729abfbd8f6d95cbc295cc549649ba84221b09d3045325 SHA512 2c46c2eabbcff018409a32d603d823bfc7232685ef31ba44deb87bdee4098ef9fb3465d55904806c84da3375e55918dc0da95b5e3b93e26e4e1b1ecfe9dad886
DIST github.com-emersion-go-imap-v1.0.0.tar.gz 93253 BLAKE2B 82d74089b552b7d2a9ce968b0d6e6151599ad9b816bff6560909eff2d2ddf2d211bd4e21710850b486772a52f9cb1ee51e76cff6ae30c5bc8ab5206d21dde737 SHA512 63ba32b1f5ea4dd5b4085f4c292bae23657be8642d51f6228beabd9653aa9631a604ded470af304d2522d0b3eee8cda67e9ca17f60628ecd12a18ee5c501e48f
DIST github.com-emersion-go-maildir-941194b0ac70.tar.gz 6447 BLAKE2B 4f9a0c1d0815fc0323ba4ed051dde01884eab507e88da81869cabc2546c1b1078ac074311a3de5645ec96208ea7ac66078dece485413de19347fcb5cb115bbf6 SHA512 18d78d7bde1d12251214e3926e4bf488b752e30812c7de86519c26eeaf4ba8617c7ead1fac05cc5912a8f4836157b61fb8b25b4fd282f0c25f942b054a082970
DIST github.com-emersion-go-message-v0.10.5.tar.gz 25688 BLAKE2B fac678a40dd26f2123dafe52d147103a07c078ff6c0cbdedc397ee63c0688a27d9323334c2f638e7531ced4baeac7106897d58984e6edd711df0dc9fbe27efb5 SHA512 3901ee616d96423f473fc48c3eb55561759b80c1c3961920f61be5933ad70e640f85ec10f8c67302e83fb348b07434bfcd201acde1a1ea68c3c26ddf6b6f3455
DIST github.com-emersion-go-sasl-36b50694675c.tar.gz 5504 BLAKE2B d9f0912e5c72d32c9c1eb4e83fa41f9a1c1dd62e7c7cab3a065377e61712c4ab4e8f05e2ec714ea60a4d228ab3ea6ca1df2475767c89868a0ab5238f9a3ad1db SHA512 553c0a9b00820e48c6aa00add7c6376d6d53bef4040d4ec7a9b6f7d14c27325119c5508650c6d6ee3fddb595abe1c621ba82f9a1113778c965ed0d3439f36591
DIST github.com-emersion-go-smtp-v0.11.2.tar.gz 24309 BLAKE2B 2634d1bd70a2a7f58d8e0ef7e6c67bfe9ba658581c73605a5a1daf373ad45447a6d408eff9e48568028c7a6f2cd79311cfe35f1b0e02eee3f5992c63e7dcc4d0 SHA512 f3d3e2022da944c9036e480d40527bf7e820eee8f21eef9028953b771ca81b6edf88c7e125d2ff4e4b4c25b5a81304404cf4573716a667ee5b709f85c027cf2f
DIST github.com-emersion-go-textwrapper-d0e65e56babe.tar.gz 2168 BLAKE2B cb1d7530017bad89222717bcd64555198ede31e841263d4c82f60905fbc9df7cb92541c30a21556bee2f7839ebc3a342b27380e1f535d0648228350fb3922033 SHA512 9ac4f3dbf81c1844dc150928570bcd0bc3592e0b22c51da1fd905772c2c1fc0349a18d5e1a956e782db5fa08accc8ba8091f42af9c4c935b427ab18cdaeb7dbd
DIST github.com-fsnotify-fsnotify-v1.4.7.tar.gz 31139 BLAKE2B f2d0aaabfad525fb640beba78991a858ad23203a557a69fc15d2f017b2a693c64c244de435682b1cd9d59e89a97e4ba60c7f95fa99a6145a9dea73b0f334936e SHA512 840943043c49c837641f04b976f2ba610fc03bd31030ca6442744d51fa9241da1905730ea11466e249a5bd37437f1e2a433a012a64ce872a1562c941bd5bfcbf
DIST github.com-gdamore-encoding-v1.0.0.tar.gz 10886 BLAKE2B da5f463291cec9714b3212848d442f533fcc34dc587637b54dc89b12f0b026121e7571619e3713cea7c94ec4de7c94060d83a4ca658d0cb34e4b770c68a07318 SHA512 7ddfa1f796a32e7c69185e862a633513f1ff8a53dfb9333d4c4902a4f545ad570aa37e9faf473206465a487ae243d6003583d56c932ed99230f0ee5f87e6d49e
DIST github.com-go-ini-ini-v1.44.0.tar.gz 35817 BLAKE2B 1121d091a04003cf7af7774765ccbaae39a4397dece559ec5c557b0e475940ad070e4ba6c6092bd725b1df4f6d2bd35d62e131122b20e573c542024fb2b6a5f4 SHA512 ce6d143e1c804635bdfffb48ae9cb6d58a7fc8ac713fc1913f9584d24051d289bbb481d7f2b8a264b7df0ada255761c8ea2a5521ac9e18997db778f810a3ad7b
DIST github.com-golang-appengine-v1.6.1.tar.gz 333353 BLAKE2B b26431816991f0c0cd3e13b760f2a0a381f77368083e3fc063e718d5c278c413c42bbf93ef7f1271e68f9ed206328178a7b1a904aec97ee922e169ab73a904fe SHA512 86d5536e55c1fe362f06186aeef13ed3d42bf0768a88ac972626e7336c20550fb89a94eb34880fec405b86fb88f36f40fda30fef325e0d7a31b7814d6487b80c
DIST github.com-golang-crypto-f99c8df09eb5.tar.gz 1691014 BLAKE2B 435ba31ca6c5aa3d9aaecd8f1b9e21304be21d9f14b0c94fb4a4bf704505bca6f1c638b481dd038e7a1abfd4a1d632dc1ba0504430c074747241256f2e68f70a SHA512 dbc86822ca2181c60c1f610a6c10cdb8e803b3e1e3bf20b1c195764615ab5548f7a956798b31e7737b9cb9cbf659d744441a3580c6cf8cf45a45cd19bcbf8dca
DIST github.com-golang-image-f03afa92d3ff.tar.gz 4877903 BLAKE2B 8f74e889caca3511b71ba7bd332ff1efc1da04eb98b56c935737110ff6e72bb4ca5bd8d597d1169924dd26ef015858289660ad06c8472bfe7b75e8c80aa23037 SHA512 485800b8165d770a64a3ddf46bbb0866c7d9a40a40935357e89e5d476c120ca8317852dbaa067b59eb2a9c44e49a3cdd0d4cd4d0f2554b86d4d35b6f907ea5a5
DIST github.com-golang-net-ca1201d0de80.tar.gz 1099752 BLAKE2B 6300e151f53e5a5886000fa82e9567d644ce0f769588f4f8e3d443208718c36ef790ebe4fecdadc9517b232cfe881c63bba215a649e429304e612af473cce0f5 SHA512 8ba27323bcfdc8f7e5ad3061906bb993c0a91a3da1812768f5652553f9f06ebb8ba35572d5512e65f7ec10363e506779cfaeb1111f1b7db95fa012b9ff64495e
DIST github.com-golang-oauth2-0f29369cfe45.tar.gz 45476 BLAKE2B 42a97cfb38a2633d99e5995b75f055a6ae5bc3f34b3a501fd4b016c129a0e85fdf1412f5f8e5614ccaf19b1abf018e3b5da7339c9c796ed9d2bb40c25ee477fb SHA512 f7b55b531c924bcdae71beeae0191b0ba002a7551012e8a6e1c088fc74dc4c985353af362138fa9276eb5d965f25b45b3c87c8e1a756d8c0e89893816b825661
DIST github.com-golang-protobuf-v1.3.2.tar.gz 312285 BLAKE2B 381ae3c4bad3d3b3d489a3b66752e9e2405d17d9ed2c55aa1ec06ce6c18171b1c7625f6cc6e28490551a6410835f6e774a408de39f6e9ea9b3cddaf46e3b859a SHA512 ef9190f7773b18005760eb755a1dee25eff38c188687033362635e2431cf2c7372a59a3fec91acd6e4f63aa31d08391f7521a8dafef7895268b6a1a78735dd8a
DIST github.com-golang-sync-112230192c58.tar.gz 16835 BLAKE2B 51efe53ea7ab1f11f8ff078fbfa91526b97a1d918101bdbc755aa500424dda860d3a11195c1e44d033eaf7e0d09e7f327e404ad9af84f4b9747d8805b53dcf10 SHA512 bd90bb14e688fa7613d83dc8718bbb688a2f05cc8eb8c3dfbbf71daa7dc08e35044803c4bf8e5d5aab625a612e986e6f76c822c437f52132581ac37e0e2e92f9
DIST github.com-golang-sys-fc99dfbffb4e.tar.gz 1457201 BLAKE2B ccd3b08b0ae5008ea3bc73f250309bef640f18df2183d60d6a30ce746540b55ec99fe91cc5caf09707c507ce7eeb578648781ce3275d01644c56bedef7f6d155 SHA512 f79b2450543dea4387e8f0540d98f11e7d02fea0669b7e2a96726ea38d8bcd976f9dd2751f866bb5ad3554141efcd84f464bc909de11083d99197bb55e041b91
DIST github.com-golang-text-v0.3.2.tar.gz 7168069 BLAKE2B c2412f4554e2a50fe0764c24cd52a0799d526cb78952839fa1c031c43e7c34a58f6c65d2e450a0ddd0447d5f749aa5104dd47dca5a2c4964e3dd6e2eb39313c3 SHA512 48156313c3ae4c01ea3a8b790ae829f50f2a53ea9ad7c14509749405da5cb7c98e6e1a2e9f3619e01393935d452b5b5e568b29719cd1f286570272d59508da58
DIST github.com-golang-tools-d0a3d012864b.tar.gz 2124540 BLAKE2B 9b13fbb0ca6e1c47687b5650662e39fa138e55f22557e79735487062795670fd1db6b0b1ca58b5a35e1523cb3dc55ff1330dfe3106e001461121b1f8f4a17349 SHA512 9cdcadd3086778822a3bc957ec3bd6b5b82fb765cbb7fd84e3f0dc7ec5dce5e6426e0ada2b4f711cbe83543b4008da99a90de5bb9d5ff61021ba9f853b7aef2d
DIST github.com-google-shlex-c34317bd91bf.tar.gz 7237 BLAKE2B 9d401b05a59769f477be4f37af819892686d7711c11095999e2d7b4773c43a07dd95595567470a44cfaadbf9e11e648a47bbe62ffc966a04fd38ec84b0919323 SHA512 9e86e074f2f71f6e3fe01777f959b5c368929d67421a140af8e3b6e952fbc42c4c3d867791979833cec59f3d1d97c38d329e86e54e65a81326e212df36f02fcf
DIST github.com-googleapis-google-cloud-go-v0.34.0.tar.gz 2047971 BLAKE2B 941b73da86f596a4f8d0b528a383bc449c16762a5ba64e9ef5877fd0e7d9da10e1630a402ef70076499eb3dbf2abc35b37eb8d93a292343694b68e71beaa65a6 SHA512 c61639df6c7a803f83cdafb4877405c3b92c3103e473fb1ae68e85543dc3406a1c7a87aaa84dcb1f71acd8eee8217eed179dc7c1245120af82c64b1bb01f66a0
DIST github.com-gopherjs-gopherjs-3e4dfb77656c.tar.gz 228372 BLAKE2B 7f411167457cfcaeb3e2d0eddb0225755f171e37570caf077468e4a860fb8b14a069c3fb14c43a6e79d81594f426048fb9bad3e36ac9720b51098766405ab179 SHA512 f2c8b62bbb9878bc043ef579bc614b073ca142df8c31e961b360e7677b290df000cbf2ba7266280b0a7c4ef6efdc7b92a1c3f6a54b47ff1e782c67bd4f96c7a1
DIST github.com-jtolds-gls-v4.20.0.tar.gz 7306 BLAKE2B b0b744daa92cf14772541c2b16558f3223396acac49efc02d6f877a1edb0af524c40bd8327475221c731c4d69f1485f93f8b652c0a533022528755b7dbde162a SHA512 e1bf4556befebd971fcd2a39c3119e79833772404df52258dd50190d0d45e3fe7692d41e9ff91740c5c2652a55664154036b66220dd226574d77f32f18bd73a8
DIST github.com-kyoh86-xdg-v1.0.0.tar.gz 4151 BLAKE2B bc63fc117251a66a22bea4b473f203e72b4fe711bff422af3718647bcace4b36b83be316b0417fd89d984aa4f0f4af567d06fd0da29f52fd909705bf64767445 SHA512 2c4a87279009cbd0323aef01ca9df16775f023f5747fe9445d470bfe58b07c9f8d4915509536197e7ad38f20682e3b8dcd5089a9742842d6366683cb08c2942c
DIST github.com-lucasb-eyer-go-colorful-v1.0.2.tar.gz 430545 BLAKE2B aae8c623678bd8d0f1f361522cbf1591108ddf74bc75afc33788a5db02c75ba0f72b7f9a27bc21924a46faa616308ccb9d91e5daa497cf35354254b95a295aef SHA512 1e1ebf03ec1e8a8c282af46c207016ea146e70b4d8a637c5cf54807a988cc27817e5c67ffa9e725746b808499d65f98aa138e725f61a2ec229818db125f36e02
DIST github.com-martinlindhe-base36-v1.0.0.tar.gz 3161 BLAKE2B 71c40840659ee4e229e3eba2bdfc2fe6b768ad00a46329ecfa0371ace11725d014280931395570951779b019bf526de687693e46017f40687b92f435f99beeb2 SHA512 f8a5c9cb9a93df86608051da8f98e9ec073a07ef15c8347a4eff987d1375fb083af905a00cd5a056d85aa9360999f3de0b25c82e2492fc9a955ca8ff76c9e568
DIST github.com-mattn-go-isatty-v0.0.8.tar.gz 3564 BLAKE2B da50a8739bd33249bca2231509948da94d5ac61787e5ac84af17b04a5b76cc751d2d3ab00d1967e1bc71365060835c6d668a8cea607eccd5a4f95bef8cafb240 SHA512 e9dc9181dfa9780bffd5b1aefbee9028d8a38c2c8feef6a0ca28952b57948a41582dc4c372394bdc76f8081490283d055f89cb7a8792418b3ee55a85c32a5b69
DIST github.com-mattn-go-pointer-49522c3f3791.tar.gz 1321 BLAKE2B 2295f9f27a3a224c94316cd174f10e40cf30cf30051efebad1e5b89a63f6b6c0c90ecf8b254a48b507b9476ac435adfe8219fab14bc32fd07f56bf5679de3cc2 SHA512 d0352582a9e084486b5fde6523ce67cb9cd077e51a64233f993cadabe52a6faff19b3ea114a0da2d4d091d54e992440083bac5d8d96a714d16a1bf803485433e
DIST github.com-mattn-go-runewidth-v0.0.4.tar.gz 19827 BLAKE2B d2320759711986724f1feadebac45fc809a881031122585e26ab20f5144ed89101b338e5cbd736c7183d46d63f5913e291b14e035fb00a8c1d2bba21dcd0fcf7 SHA512 3f55e7cbd66014145593910a0e0fb37d0700c8ce6f1987ebefc5806626e7e5774dbce8af914ee8039cc20d38902d5cb8254a10638de3972f22131b7a058a0e64
DIST github.com-miolini-datacounter-aa48df3a02c1.tar.gz 2894 BLAKE2B 7e3eca82372ada654d8c109ff4d319b1737bf253c1705f3ae3e099917501610b49880afb24eed23af30db49b488f2b193a149c4eb23fc98fe66bf3759677da18 SHA512 0cdf83f14bf0797b027711e215f03dafa8d4252dfb4a344d850d8396ce370d691b5c955b49bd5e821e1f1229f32e6f09ac894561c6ca5c91de9b7b5be141d316
DIST github.com-mitchellh-go-homedir-v1.1.0.tar.gz 3362 BLAKE2B b3388de9230439ec591042f6a319a80216c0bd7ef055f4bee42bd9020ce8104afb1d10b6105cd2a6f431f066f78af1286537236c054c3bfe15c7ee9b10e1935f SHA512 19f3341d9b343d46a215da3d9aba8e218cd4a5e22a33bb26ee296ab3764e9ab7befa7b65f05bf7e9af8b28be1f078e7da691b68c0a7b1e0c8d853de3ba53d643
DIST github.com-pkg-errors-v0.8.1.tar.gz 11009 BLAKE2B 02adfe3cea02b0ddb7cde923c22dc8a035491098d138d6254e8b833f58f4388a7bd172a15a22f3dbd6b0ce8909b6167f62561d32ec3d21566eef00005c1a025d SHA512 8f93cdae71789e417da11a45c667954169ec4adc04fb618f938ffc2e513cb021f140bc2b94f3e634fd4f19b73be7c9bc483d541bb7baea54c7c9700becc4d438
DIST github.com-pmezard-go-difflib-v1.0.0.tar.gz 11398 BLAKE2B 8f317c172d615e07c92337dd814c07c772347de3fe81b952bbc4fd1a643d495cfb6ec5b694a531f2745e1601eca2d4977ea2c1202ac7fb1e3cdba31e90c4ea34 SHA512 283927de73a3d0405bbca8b5b0c24137dde2f1063539c6ce4437331ed99e732175b2a384e5a70cb9a87cc74da94f5347e2a9785fbf3e46ec2431dc5071c3f045
DIST github.com-riywo-loginshell-2ed199a032f6.tar.gz 2017 BLAKE2B ea822f0eed7f22a3577ad83978de235231039f412f6ae8edf99881e7775c4d9aca4b2eed213aa1e748999994f79d04fe80a5b65bbb0877cb471c18205e64be8f SHA512 80cb65104321eb1b437e0e289e58a8be0ebb9d3cb6b674800cd6ea4717d4dd8e2bc6fecaef446479bf81513ca219aa013600fdcd3579431df5dec285319f8516
DIST github.com-smartystreets-assertions-v1.0.1.tar.gz 84573 BLAKE2B c06780bdd8aa1b51aa6bfa95a905e75b0bfa1df4084a08c5c00ee3e5281801ecb1b1a400479e3c18e642724e03aefc591a1f335485be4ef8415a2b6b72bb0287 SHA512 ee5390d263a4069e6ef5a14bf55ea405c270cb4d1108c0688254f7b6d5134f3afc67f633a6e1e5ddb197c0912019e01bdd69754e0914f054c748a3ed78860346
DIST github.com-smartystreets-goconvey-9d28bd7c0945.tar.gz 1479148 BLAKE2B 04aaa225e58b6da29c2a557b80e50bb1932779d8c24d29b5bb8eed80b63d8d2b112019712c63ce37d95c1a4f7e6441f692bee5c05d5bff498ec3f92228133cc1 SHA512 7694c5a68f203af7f45593b1a013ac8c0e9cae6c089aed35fc9cd4e2b1475b0e20d618719644c189c688a9ece6be433475379ed3fcaddbb122ca041463fad425
DIST github.com-stretchr-objx-v0.1.0.tar.gz 109451 BLAKE2B 4283e5260eac80654b310c02660973644f2f8a4520e8ff4f58d34c0be34938ab7da2a56a807d0661f66c322555277e10f43a2d4cefdc282fcc54fe97a9ebbff4 SHA512 206d0c5cb6b4879d3eafeacfae6d0bd9e6f2372eb3e48d62fc57e4f6b0680253b70326ee1d68d55024a1b8c6ffa8a0007eaff91dd3a75ff7096ac8b885889bf9
DIST github.com-stretchr-testify-v1.3.0.tar.gz 102859 BLAKE2B 0b590484005372f6c1a8c591c6439d1072c53299db1508495c02712b187623552196421321c5e64aedc0fba6acdbd68db53ddbc8e5d6a78fd783e6f7344783b1 SHA512 29dc8389f0efba9caeb2d2d5704878c93f3b00c21e6ad2712bac52bbc09c460d9028aecbfd5430f200a15fd0e8c8d0157e084b72463d82ceecc5459d93d4d896

@ -0,0 +1,95 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# go list -m all | magic
EGO_PN="git.sr.ht/~sircmpwn/aerc"
EGO_VENDOR=(
"cloud.google.com/go v0.34.0 github.com/googleapis/google-cloud-go"
"git.sr.ht/~sircmpwn/getopt 292febf82fd0"
"git.sr.ht/~sircmpwn/pty 3a43678975a9"
"github.com/DATA-DOG/go-sqlmock v1.3.3"
"github.com/danwakefield/fnmatch cbb64ac3d964"
"github.com/davecgh/go-spew v1.1.1"
"github.com/ddevault/go-libvterm b7d861da3810"
"github.com/emersion/go-imap v1.0.0"
"github.com/emersion/go-imap-idle 2704abd7050e"
"github.com/emersion/go-maildir 941194b0ac70"
"github.com/emersion/go-message v0.10.5"
"github.com/emersion/go-sasl 36b50694675c"
"github.com/emersion/go-smtp v0.11.2"
"github.com/emersion/go-textwrapper d0e65e56babe"
"github.com/fsnotify/fsnotify v1.4.7"
"github.com/gdamore/encoding v1.0.0"
"github.com/gdamore/tcell 0abd73a30946 git.sr.ht/~sircmpwn/tcell" # fork
"github.com/go-ini/ini v1.44.0"
"github.com/golang/protobuf v1.3.2"
"github.com/google/shlex c34317bd91bf"
"github.com/gopherjs/gopherjs 3e4dfb77656c"
"github.com/jtolds/gls v4.20.0"
"github.com/kyoh86/xdg v1.0.0"
"github.com/lucasb-eyer/go-colorful v1.0.2"
"github.com/martinlindhe/base36 v1.0.0"
"github.com/mattn/go-isatty v0.0.8"
"github.com/mattn/go-pointer 49522c3f3791"
"github.com/mattn/go-runewidth v0.0.4"
"github.com/miolini/datacounter aa48df3a02c1"
"github.com/mitchellh/go-homedir v1.1.0"
"github.com/pkg/errors v0.8.1"
"github.com/pmezard/go-difflib v1.0.0"
"github.com/riywo/loginshell 2ed199a032f6"
"github.com/smartystreets/assertions v1.0.1"
"github.com/smartystreets/goconvey 9d28bd7c0945"
"github.com/stretchr/objx v0.1.0"
"github.com/stretchr/testify v1.3.0"
"golang.org/x/crypto f99c8df09eb5 github.com/golang/crypto"
"golang.org/x/image f03afa92d3ff github.com/golang/image"
"golang.org/x/net ca1201d0de80 github.com/golang/net"
"golang.org/x/oauth2 0f29369cfe45 github.com/golang/oauth2"
"golang.org/x/sync 112230192c58 github.com/golang/sync"
"golang.org/x/sys fc99dfbffb4e github.com/golang/sys"
"golang.org/x/text v0.3.2 github.com/golang/text"
"golang.org/x/tools d0a3d012864b github.com/golang/tools"
"google.golang.org/appengine v1.6.1 github.com/golang/appengine"
"gopkg.in/ini.v1 v1.44.0 github.com/go-ini/ini"
)
inherit golang-vcs-snapshot
DESCRIPTION="Email client for your terminal"
HOMEPAGE="https://aerc-mail.org"
SRC_URI="https://git.sr.ht/~sircmpwn/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
${EGO_VENDOR_URI}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RDEPEND="
net-proxy/dante
www-client/w3m
"
BDEPEND="
app-text/scdoc
>=dev-lang/go-1.12
"
src_prepare() {
# needed to workaround go's assumptions about modules, GOPATH and dir sctructure
mv -v "src/${EGO_PN}"/* ./ || die
rm -rv src || die
eapply_user
}
src_compile() {
GOFLAGS="-mod=vendor -v -work -x" emake PREFIX="${EPREFIX}/usr"
}
src_install() {
emake PREFIX="${EPREFIX}/usr" DESTDIR="${ED}" install
einstalldocs
}

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<longdescription lang="en">
Terminal email client with Vim-style keybindings, git awareness and other advanced features.
</longdescription>
</pkgmetadata>

Binary file not shown.

@ -16,7 +16,7 @@ SRC_URI="${MY_URI}/${MY_SRC}.tar.gz"
LICENSE="|| ( IBM EPL-2.0 )"
SLOT="0"
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd"
IUSE="+berkdb cdb dovecot-sasl +eai hardened ldap ldap-bind libressl lmdb memcached mbox mysql nis pam postgres sasl selinux sqlite ssl"
DEPEND=">=dev-libs/libpcre-3.4

Binary file not shown.

@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
IUSE=""
RDEPEND="sys-libs/zlib

Binary file not shown.

@ -1,64 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit libtool multilib-minimal
DESCRIPTION="Graphics library for fast image creation"
HOMEPAGE="https://libgd.org/ https://www.boutell.com/gd/"
SRC_URI="https://github.com/libgd/libgd/releases/download/${P}/lib${P}.tar.xz"
LICENSE="gd IJG HPND BSD"
SLOT="2/3"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="fontconfig jpeg png static-libs tiff truetype webp xpm zlib"
# fontconfig has prefixed font paths, details see bug #518970
REQUIRED_USE="prefix? ( fontconfig )"
RDEPEND="fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
jpeg? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] )
png? ( >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] )
tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.5.0.1[${MULTILIB_USEDEP}] )
webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
xpm? ( >=x11-libs/libXpm-3.5.10-r1[${MULTILIB_USEDEP}] >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}] )
zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
S="${WORKDIR}/lib${P}"
PATCHES=( "${FILESDIR}/${P}-CVE-2018-1000222.patch" )
src_prepare() {
default
elibtoolize # for shared library on Solaris
}
multilib_src_configure() {
# we aren't actually {en,dis}abling X here ... the configure
# script uses it just to add explicit -I/-L paths which we
# don't care about on Gentoo systems.
local myeconfargs=(
--disable-werror
--without-x
--without-liq
$(use_enable static-libs static)
$(use_with fontconfig)
$(use_with png)
$(use_with tiff)
$(use_with truetype freetype)
$(use_with jpeg)
$(use_with webp)
$(use_with xpm)
$(use_with zlib)
)
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_install_all() {
dodoc README.md
find "${D}" -name '*.la' -delete || die
}

@ -11,7 +11,7 @@ SRC_URI="https://github.com/g-truc/glm/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="|| ( HappyBunny MIT )"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~x86"
IUSE="test cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_avx cpu_flags_x86_avx2"
RDEPEND="virtual/opengl"

@ -1,89 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-multilib
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://aomedia.googlesource.com/aom"
else
if [[ ${PV} == *pre* ]]; then
SRC_URI="mirror://gentoo/${P}.tar.xz"
S="${WORKDIR}/${PN}"
else
# SRC_URI="https://aomedia.googlesource.com/aom/+archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="mirror://gentoo/${P}.tar.gz"
S="${WORKDIR}"
fi
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="Alliance for Open Media AV1 Codec SDK"
HOMEPAGE="https://aomedia.org"
LICENSE="BSD-2"
SLOT="0/0"
IUSE="doc examples"
IUSE="${IUSE} cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_avx cpu_flags_x86_avx2"
IUSE="${IUSE} cpu_flags_arm_neon"
RDEPEND=""
DEPEND="abi_x86_32? ( dev-lang/yasm )
abi_x86_64? ( dev-lang/yasm )
abi_x86_x32? ( dev-lang/yasm )
x86-fbsd? ( dev-lang/yasm )
amd64-fbsd? ( dev-lang/yasm )
doc? ( app-doc/doxygen )
"
REQUIRED_USE="
cpu_flags_x86_sse2? ( cpu_flags_x86_mmx )
cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 )
"
PATCHES=(
"${FILESDIR}/libdirpc2.patch"
"${FILESDIR}/pthread_lib2.patch"
"${FILESDIR}/${P}-version.patch"
"${FILESDIR}/${P}-armv7l.patch"
)
src_prepare() {
sed -e 's/lib"/lib${LIB_SUFFIX}"/' -i CMakeLists.txt || die
cmake-utils_src_prepare
}
multilib_src_configure() {
local mycmakeargs=(
-DENABLE_DOCS=$(multilib_native_usex doc ON OFF)
-DENABLE_EXAMPLES=$(multilib_native_usex examples ON OFF)
-DENABLE_NASM=OFF
-DENABLE_TOOLS=ON
-DENABLE_WERROR=OFF
-DENABLE_NEON=$(usex cpu_flags_arm_neon ON OFF)
-DENABLE_NEON_ASM=$(usex cpu_flags_arm_neon ON OFF)
# ENABLE_DSPR2 / ENABLE_MSA for mips
-DENABLE_MMX=$(usex cpu_flags_x86_mmx ON OFF)
-DENABLE_SSE=$(usex cpu_flags_x86_sse ON OFF)
-DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)
-DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)
-DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3 ON OFF)
-DENABLE_SSE4_1=$(usex cpu_flags_x86_sse4_1 ON OFF)
-DENABLE_AVX=$(usex cpu_flags_x86_avx ON OFF)
-DENABLE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
-DBUILD_SHARED_LIBS=ON
)
cmake-utils_src_configure
rm aom.pc # ensure it is rebuilt with proper libdir
}
multilib_src_install() {
cmake-utils_src_install
if multilib_is_native_abi && use doc ; then
docinto html
dodoc docs/html/*
fi
}

@ -16,7 +16,7 @@ else
SRC_URI="mirror://gentoo/${P}.tar.gz"
S="${WORKDIR}"
fi
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 x86"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 x86"
fi
DESCRIPTION="Alliance for Open Media AV1 Codec SDK"

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -15,7 +15,7 @@ HOMEPAGE="https://wiki.documentfoundation.org/DLP/Libraries/libfreehand"
LICENSE="MPL-2.0"
SLOT="0"
[[ ${PV} == 9999 ]] || \
KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~sparc x86"
KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86"
IUSE="doc static-libs test"
RDEPEND="

@ -1,2 +1 @@
DIST liblo-0.29.tar.gz 645313 BLAKE2B 2ef68c49446c83e13541e626eb666360f4b1b579abd2685a9eeaf18989e0252860a7c2eb99e9f6991210873b60dd4b0a62f4f2adfe88c8ac2e069b41fea0e2d4 SHA512 11e20725a049c55c02ef8cd106be5802507f3df95422d8dad10009bdd1237af7517e3261c7336c3005e21ae8fd1e663badef46e4bae006c7af70520bdb336c7c
DIST liblo-0.30.tar.gz 641498 BLAKE2B d884cc723d770f45414e838b6f2520c1f3b2a11972a9977d19b20ba68bc653f895eeb21ba0182a09fde1f096c9be084def1572f747463cd71e96bf0022ef7549 SHA512 51132933cc23237b70ed08fa7986a4a9f838529b83807746b358bcc171f8bbce7f37115b7c855520c9219bae93c74e502aebfb90e44dabdc6d0a00b8335336e3

@ -1,133 +0,0 @@
From 968dff4d576ca102525c81beddb36a623890424b Mon Sep 17 00:00:00 2001
From: Stephen Sinclair <radarsat1@gmail.com>
Date: Tue, 29 Aug 2017 14:32:24 -0300
Subject: [PATCH] Resolve hostname using getnameinfo for ipv6 support.
Iterates on interfaces, possibly searching for a pre-selected
interface, and resolves the hostname associated with non-localhost
addresses.
Fixes #56, fix compilation with --enable-ipv6.
---
src/server.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++--------
src/testlo.c | 7 ++++++
2 files changed, 72 insertions(+), 9 deletions(-)
diff --git a/src/server.c b/src/server.c
index cf20495..4aff673 100644
--- a/src/server.c
+++ b/src/server.c
@@ -55,6 +55,10 @@
#endif
#include <sys/un.h>
#include <arpa/inet.h>
+#include <netinet/in.h>
+#ifdef HAVE_GETIFADDRS
+#include <ifaddrs.h>
+#endif
#endif
#if defined(WIN32) || defined(_MSC_VER)
@@ -298,20 +302,72 @@ void lo_server_resolve_hostname(lo_server s)
/* Set hostname to empty string */
hostname[0] = '\0';
-#ifdef ENABLE_IPV6
+#if defined(ENABLE_IPV6) && defined(HAVE_GETIFADDRS)
/* Try it the IPV6 friendly way first */
- for (it = ai; it; it = it->ai_next) {
- if (getnameinfo(it->ai_addr, it->ai_addrlen, hostname,
- sizeof(hostname), NULL, 0, NI_NAMEREQD) == 0) {
+ do {
+ struct ifaddrs *ifa, *ifa_list;
+ if (getifaddrs(&ifa_list))
break;
+ ifa = ifa_list;
+
+ while (ifa) {
+ if (!ifa->ifa_addr) {
+ ifa = ifa->ifa_next;
+ continue;
+ }
+
+ if (s->addr_if.iface) {
+ if (s->addr_if.size == sizeof(struct in_addr)
+ && (ifa->ifa_addr->sa_family == AF_INET))
+ {
+ struct sockaddr_in *sin = (struct sockaddr_in*)ifa->ifa_addr;
+ if (memcmp(&sin->sin_addr, &s->addr_if.a.addr, sizeof(struct in_addr))!=0
+ || (s->addr_if.iface && ifa->ifa_name
+ && strcmp(s->addr_if.iface, ifa->ifa_name)!=0))
+ {
+ ifa = ifa->ifa_next;
+ continue;
+ }
+ }
+ else if (s->addr_if.size == sizeof(struct in6_addr)
+ && (ifa->ifa_addr->sa_family == AF_INET6))
+ {
+ struct sockaddr_in6 *sin = (struct sockaddr_in6*)ifa->ifa_addr;
+ if (memcmp(&sin->sin6_addr, &s->addr_if.a.addr6,
+ sizeof(struct in6_addr))!=0
+ || (s->addr_if.iface && ifa->ifa_name
+ && strcmp(s->addr_if.iface, ifa->ifa_name)!=0))
+ {
+ ifa = ifa->ifa_next;
+ continue;
+ }
+ }
+ }
+
+ if ((ifa->ifa_addr->sa_family == AF_INET
+ && (!s->addr_if.iface || s->addr_if.size == sizeof(struct in_addr))
+ && (getnameinfo(ifa->ifa_addr, sizeof(struct sockaddr_in), hostname,
+ sizeof(hostname), NULL, 0, NI_NAMEREQD) == 0))
+ || (ifa->ifa_addr->sa_family == AF_INET6
+ && (!s->addr_if.iface || s->addr_if.size == sizeof(struct in6_addr))
+ && (getnameinfo(ifa->ifa_addr, sizeof(struct sockaddr_in6), hostname,
+ sizeof(hostname), NULL, 0, NI_NAMEREQD) == 0)))
+ {
+ /* check to make sure getnameinfo() didn't just set the hostname to "::".
+ Needed on Darwin. */
+ if (hostname[0] == ':')
+ hostname[0] = '\0';
+ else if (strcmp(hostname, "localhost")==0)
+ hostname[0] = '\0';
+ else
+ break;
+ }
+ ifa = ifa->ifa_next;
}
- }
- /* check to make sure getnameinfo() didn't just set the hostname to "::".
- Needed on Darwin. */
- if (hostname[0] == ':') {
- hostname[0] = '\0';
+ freeifaddrs(ifa_list);
}
+ while (0);
#endif
/* Fallback to the oldschool (i.e. more reliable) way */
diff --git a/src/testlo.c b/src/testlo.c
index c128d10..c69570c 100644
--- a/src/testlo.c
+++ b/src/testlo.c
@@ -704,6 +704,13 @@ void test_multicast(lo_server_thread st)
DOING("test_multicast");
+#ifdef ENABLE_IPV6
+ // Print a warning but we let it fail, prefer to actually fix IPv6
+ // support rather than just skip the test!
+ printf("WARNING: Compiled with --enable-ipv6, multicast not supported;"
+ "failure expected.\n");
+#endif
+
/* test multicast server and sender */
/* message is sent from st otherwise reply doesn't work */
ms = lo_server_new_multicast("224.0.1.1", "15432", error);
--
2.14.1

@ -1,48 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools ltprune
DESCRIPTION="Lightweight OSC (Open Sound Control) implementation"
HOMEPAGE="http://plugin.org.uk/liblo"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ppc ppc64 x86 ~ppc-macos"
IUSE="doc ipv6 static-libs"
RESTRICT="test"
DEPEND="doc? ( app-doc/doxygen )"
PATCHES=(
"${FILESDIR}/${P}-ipv6_build_fix.patch" #627832
)
src_prepare() {
default
# don't build examples by default
sed -i '/^SUBDIRS =/s/examples//' Makefile.am || die
eautoreconf
}
src_configure() {
use doc || export ac_cv_prog_HAVE_DOXYGEN=false
# switching threads on/off breaks ABI, bugs #473282, #473286 and #473356
myeconfargs=(
--enable-threads
$(use_enable ipv6)
$(use_enable static-libs static)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
prune_libtool_files
}

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

Loading…
Cancel
Save