Sync with portage [Thu Jun 11 09:15:59 MSK 2020].

develop 1684
root 4 years ago
parent d5ad4703d8
commit e69b7c878c

Binary file not shown.

Binary file not shown.

@ -2,6 +2,7 @@ DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa62
DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.zip 2508208 BLAKE2B d17c22f3d8e3f0b52bab350e86c8fe29ea474e104ba89e3238e71dbd29139717a0d26586589f47303da4eb743fe86a76f727b772707584aba5bf76d8f5ef1969 SHA512 6dc6f4229011d8606e1eb3c046640f6938dae2e12a1b0a9e2a22b7d26b4ab50051cee09d17fc05298ef5d4901a6b7e12d4b06b8b8eac6b1e71442653eb25b541
DIST consul-1.7.2.tar.gz 22755052 BLAKE2B d863ac756f487004d0c1361bf470c1202bc2e2d1364414d4aad16dc313c7bb5021c45b1c8080ded707d67120ac009afcfc0bba37ccc99eb474049e57779f3db1 SHA512 d13d7750c745aeeb2577ed334bfef1ac8a4e0c6f671a6705c0b8978217d071ebcf32455c0bfc83a77fd03caef68a6e256d95b48d5406deaaaba263f1a97b23c2
DIST consul-1.7.3.tar.gz 22785232 BLAKE2B fde414c0f76dcd2aa267114a6ebe12f57e5165d67a581fbc2fa1eda6a50e67ff81f993c5e9898975e21a66942526a0460f47a0fc5f90062fa345dfbef5a77ca1 SHA512 6cbc4f3fce613b3f8ac220038cd013ce14801ccc6c999b12e42f2149277f845531932243b063fbd83d92b84ed75000c47636f7883bd04079c0b82c642e021c01
DIST consul-1.7.4.tar.gz 22787889 BLAKE2B cb7a813beac2fd752858046d5a92f898662ea986f09d660c65173eb68e7523e9f1c6a8fc267275b2170490dc1e897d9c8d0df57dd898e58f0197e835c759919a SHA512 50466c6ded9d46ade57df252cda3cfc24ff321c13455d789dc7ea300ba037386aca73c6a47be9c5817985ff9678e04daa3295aff5ae83c97afa297451456bc4b
DIST github.com%2F!azure%2Fazure-sdk-for-go%2F@v%2Fv16.0.0+incompatible.mod 41 BLAKE2B de145bd0fb63d51b475e0f5d293b9957a170a7c7c206f1cf2d8eb9abdb67a80051b25116b68c5f450bcc8163bb942d34d9bd4ed0b41f4e06d0d510d9b1aeff55 SHA512 be976846ed78cec5b19618c7364c47e66c3475519bed166ad1e6b666399ea08028fa621869ab4980981fc70256acc9a7dd1c1e52c8d3d44cb0ac75f9907b6d3e
DIST github.com%2F!azure%2Fazure-sdk-for-go%2F@v%2Fv16.0.0+incompatible.zip 16060635 BLAKE2B 6c358031305d8c8245b52bc58ed08cea5cb07c3e80cb3043f369ac6faf893a95d66c31fec38f07fe9029f53239c509bc060cfdebda8ac8d5ae556dfa0d6851e3 SHA512 bfd8f9859e519d6e45f2324e3907f88a1e661ca597f8bb3b7ae772246ba9972e09d0883abc887346fed55928f5d8422cf4212e32377e9900137cd63f0f9a93b8
DIST github.com%2F!azure%2Fgo-autorest%2F@v%2Fv10.15.3+incompatible.mod 36 BLAKE2B 71643bf27cc23617d54777e18c77d9015af83e9e9c1ec846c333d91760e70e57e51e3b9fb0b6ec8bae5140893237ae6f08bfd6a50b452145d6bd635a4abfec12 SHA512 d7c80a07fa3633acb681d54fae5743c6aab0d5f1f9e1edc3f7037a7abcf12c5536c524e856f9ea3d876b2b0fdf2884fa307ed16fd9758aba17a3d28766df1377

@ -0,0 +1,513 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module systemd
GIT_COMMIT=d149d7e9f
DESCRIPTION="A tool for service discovery, monitoring and configuration"
HOMEPAGE="https://www.consul.io"
# Upstream doesn't use "-mod=vendor" in their build system, and the
# vendor directory is incomplete.
# On the next bump, remove this if they have added "-mod=vendor"
EGO_SUM=(
"cloud.google.com/go v0.26.0"
"cloud.google.com/go v0.26.0/go.mod"
"github.com/Azure/azure-sdk-for-go v16.0.0+incompatible"
"github.com/Azure/azure-sdk-for-go v16.0.0+incompatible/go.mod"
"github.com/Azure/go-autorest v10.7.0+incompatible/go.mod"
"github.com/Azure/go-autorest v10.15.3+incompatible"
"github.com/Azure/go-autorest v10.15.3+incompatible/go.mod"
"github.com/BurntSushi/toml v0.3.1/go.mod"
"github.com/DataDog/datadog-go v2.2.0+incompatible"
"github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod"
"github.com/Microsoft/go-winio v0.4.3"
"github.com/Microsoft/go-winio v0.4.3/go.mod"
"github.com/NYTimes/gziphandler v1.0.1"
"github.com/NYTimes/gziphandler v1.0.1/go.mod"
"github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6"
"github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod"
"github.com/abdullin/seq v0.0.0-20160510034733-d5467c17e7af"
"github.com/abdullin/seq v0.0.0-20160510034733-d5467c17e7af/go.mod"
"github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e"
"github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod"
"github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da"
"github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod"
"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878"
"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod"
"github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310"
"github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod"
"github.com/armon/go-radix v1.0.0"
"github.com/armon/go-radix v1.0.0/go.mod"
"github.com/aws/aws-sdk-go v1.25.41"
"github.com/aws/aws-sdk-go v1.25.41/go.mod"
"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973"
"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
"github.com/bgentry/speakeasy v0.1.0"
"github.com/bgentry/speakeasy v0.1.0/go.mod"
"github.com/boltdb/bolt v1.3.1"
"github.com/boltdb/bolt v1.3.1/go.mod"
"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible"
"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod"
"github.com/circonus-labs/circonusllhist v0.1.3"
"github.com/circonus-labs/circonusllhist v0.1.3/go.mod"
"github.com/client9/misspell v0.3.4/go.mod"
"github.com/coredns/coredns v1.1.2"
"github.com/coredns/coredns v1.1.2/go.mod"
"github.com/davecgh/go-spew v1.1.0/go.mod"
"github.com/davecgh/go-spew v1.1.1"
"github.com/davecgh/go-spew v1.1.1/go.mod"
"github.com/denverdino/aliyungo v0.0.0-20170926055100-d3308649c661"
"github.com/denverdino/aliyungo v0.0.0-20170926055100-d3308649c661/go.mod"
"github.com/dgrijalva/jwt-go v3.2.0+incompatible"
"github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
"github.com/digitalocean/godo v1.1.1"
"github.com/digitalocean/godo v1.1.1/go.mod"
"github.com/digitalocean/godo v1.10.0"
"github.com/digitalocean/godo v1.10.0/go.mod"
"github.com/dimchansky/utfbom v1.1.0"
"github.com/dimchansky/utfbom v1.1.0/go.mod"
"github.com/dnaeon/go-vcr v1.0.1"
"github.com/dnaeon/go-vcr v1.0.1/go.mod"
"github.com/docker/go-connections v0.3.0"
"github.com/docker/go-connections v0.3.0/go.mod"
"github.com/elazarl/go-bindata-assetfs v0.0.0-20160803192304-e1a2a7ec64b0"
"github.com/elazarl/go-bindata-assetfs v0.0.0-20160803192304-e1a2a7ec64b0/go.mod"
"github.com/envoyproxy/go-control-plane v0.8.0"
"github.com/envoyproxy/go-control-plane v0.8.0/go.mod"
"github.com/envoyproxy/protoc-gen-validate v0.0.14"
"github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod"
"github.com/fatih/color v1.7.0"
"github.com/fatih/color v1.7.0/go.mod"
"github.com/fatih/color v1.9.0"
"github.com/fatih/color v1.9.0/go.mod"
"github.com/fatih/structs v1.1.0/go.mod"
"github.com/fsnotify/fsnotify v1.4.7"
"github.com/fsnotify/fsnotify v1.4.7/go.mod"
"github.com/ghodss/yaml v1.0.0"
"github.com/ghodss/yaml v1.0.0/go.mod"
"github.com/go-check/check v0.0.0-20140225173054-eb6ee6f84d0a/go.mod"
"github.com/go-ldap/ldap v3.0.2+incompatible"
"github.com/go-ldap/ldap v3.0.2+incompatible/go.mod"
"github.com/go-ole/go-ole v1.2.1"
"github.com/go-ole/go-ole v1.2.1/go.mod"
"github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod"
"github.com/go-test/deep v1.0.2"
"github.com/go-test/deep v1.0.2/go.mod"
"github.com/gogo/googleapis v1.1.0"
"github.com/gogo/googleapis v1.1.0/go.mod"
"github.com/gogo/protobuf v1.1.1"
"github.com/gogo/protobuf v1.1.1/go.mod"
"github.com/gogo/protobuf v1.2.1"
"github.com/gogo/protobuf v1.2.1/go.mod"
"github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
"github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
"github.com/golang/mock v1.1.1"
"github.com/golang/mock v1.1.1/go.mod"
"github.com/golang/protobuf v1.2.0"
"github.com/golang/protobuf v1.2.0/go.mod"
"github.com/golang/protobuf v1.3.1"
"github.com/golang/protobuf v1.3.1/go.mod"
"github.com/golang/snappy v0.0.1"
"github.com/golang/snappy v0.0.1/go.mod"
"github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c"
"github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
"github.com/google/go-cmp v0.2.0"
"github.com/google/go-cmp v0.2.0/go.mod"
"github.com/google/go-querystring v0.0.0-20170111101155-53e6ce116135"
"github.com/google/go-querystring v0.0.0-20170111101155-53e6ce116135/go.mod"
"github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf"
"github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod"
"github.com/googleapis/gnostic v0.2.0"
"github.com/googleapis/gnostic v0.2.0/go.mod"
"github.com/gophercloud/gophercloud v0.0.0-20180828235145-f29afc2cceca"
"github.com/gophercloud/gophercloud v0.0.0-20180828235145-f29afc2cceca/go.mod"
"github.com/gopherjs/gopherjs v0.0.0-20180825215210-0210a2f0f73c"
"github.com/gopherjs/gopherjs v0.0.0-20180825215210-0210a2f0f73c/go.mod"
"github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7"
"github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod"
"github.com/hashicorp/errwrap v1.0.0"
"github.com/hashicorp/errwrap v1.0.0/go.mod"
"github.com/hashicorp/go-bexpr v0.1.2"
"github.com/hashicorp/go-bexpr v0.1.2/go.mod"
"github.com/hashicorp/go-checkpoint v0.0.0-20171009173528-1545e56e46de"
"github.com/hashicorp/go-checkpoint v0.0.0-20171009173528-1545e56e46de/go.mod"
"github.com/hashicorp/go-cleanhttp v0.5.0/go.mod"
"github.com/hashicorp/go-cleanhttp v0.5.1"
"github.com/hashicorp/go-cleanhttp v0.5.1/go.mod"
"github.com/hashicorp/go-connlimit v0.2.0"
"github.com/hashicorp/go-connlimit v0.2.0/go.mod"
"github.com/hashicorp/go-discover v0.0.0-20191202160150-7ec2cfbda7a2"
"github.com/hashicorp/go-discover v0.0.0-20191202160150-7ec2cfbda7a2/go.mod"
"github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod"
"github.com/hashicorp/go-hclog v0.8.0/go.mod"
"github.com/hashicorp/go-hclog v0.9.1"
"github.com/hashicorp/go-hclog v0.9.1/go.mod"
"github.com/hashicorp/go-hclog v0.12.0"
"github.com/hashicorp/go-hclog v0.12.0/go.mod"
"github.com/hashicorp/go-immutable-radix v1.0.0"
"github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
"github.com/hashicorp/go-immutable-radix v1.1.0"
"github.com/hashicorp/go-immutable-radix v1.1.0/go.mod"
"github.com/hashicorp/go-memdb v1.0.3"
"github.com/hashicorp/go-memdb v1.0.3/go.mod"
"github.com/hashicorp/go-msgpack v0.5.3/go.mod"
"github.com/hashicorp/go-msgpack v0.5.5"
"github.com/hashicorp/go-msgpack v0.5.5/go.mod"
"github.com/hashicorp/go-multierror v1.0.0"
"github.com/hashicorp/go-multierror v1.0.0/go.mod"
"github.com/hashicorp/go-multierror v1.1.0"
"github.com/hashicorp/go-multierror v1.1.0/go.mod"
"github.com/hashicorp/go-plugin v1.0.1/go.mod"
"github.com/hashicorp/go-raftchunking v0.6.1"
"github.com/hashicorp/go-raftchunking v0.6.1/go.mod"
"github.com/hashicorp/go-retryablehttp v0.5.3/go.mod"
"github.com/hashicorp/go-retryablehttp v0.5.4"
"github.com/hashicorp/go-retryablehttp v0.5.4/go.mod"
"github.com/hashicorp/go-rootcerts v1.0.1/go.mod"
"github.com/hashicorp/go-rootcerts v1.0.2"
"github.com/hashicorp/go-rootcerts v1.0.2/go.mod"
"github.com/hashicorp/go-sockaddr v1.0.0/go.mod"
"github.com/hashicorp/go-sockaddr v1.0.2"
"github.com/hashicorp/go-sockaddr v1.0.2/go.mod"
"github.com/hashicorp/go-syslog v1.0.0"
"github.com/hashicorp/go-syslog v1.0.0/go.mod"
"github.com/hashicorp/go-uuid v1.0.0/go.mod"
"github.com/hashicorp/go-uuid v1.0.1"
"github.com/hashicorp/go-uuid v1.0.1/go.mod"
"github.com/hashicorp/go-version v1.1.0"
"github.com/hashicorp/go-version v1.1.0/go.mod"
"github.com/hashicorp/go.net v0.0.1/go.mod"
"github.com/hashicorp/golang-lru v0.5.0/go.mod"
"github.com/hashicorp/golang-lru v0.5.1"
"github.com/hashicorp/golang-lru v0.5.1/go.mod"
"github.com/hashicorp/hcl v1.0.0"
"github.com/hashicorp/hcl v1.0.0/go.mod"
"github.com/hashicorp/hil v0.0.0-20160711231837-1e86c6b523c5"
"github.com/hashicorp/hil v0.0.0-20160711231837-1e86c6b523c5/go.mod"
"github.com/hashicorp/logutils v1.0.0/go.mod"
"github.com/hashicorp/mdns v1.0.0/go.mod"
"github.com/hashicorp/mdns v1.0.1"
"github.com/hashicorp/mdns v1.0.1/go.mod"
"github.com/hashicorp/memberlist v0.1.3/go.mod"
"github.com/hashicorp/memberlist v0.2.2"
"github.com/hashicorp/memberlist v0.2.2/go.mod"
"github.com/hashicorp/net-rpc-msgpackrpc v0.0.0-20151116020338-a14192a58a69"
"github.com/hashicorp/net-rpc-msgpackrpc v0.0.0-20151116020338-a14192a58a69/go.mod"
"github.com/hashicorp/raft v1.1.1/go.mod"
"github.com/hashicorp/raft v1.1.2"
"github.com/hashicorp/raft v1.1.2/go.mod"
"github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea"
"github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea/go.mod"
"github.com/hashicorp/serf v0.8.2/go.mod"
"github.com/hashicorp/serf v0.9.2"
"github.com/hashicorp/serf v0.9.2/go.mod"
"github.com/hashicorp/vault/api v1.0.4"
"github.com/hashicorp/vault/api v1.0.4/go.mod"
"github.com/hashicorp/vault/sdk v0.1.13"
"github.com/hashicorp/vault/sdk v0.1.13/go.mod"
"github.com/hashicorp/vic v1.5.1-0.20190403131502-bbfe86ec9443"
"github.com/hashicorp/vic v1.5.1-0.20190403131502-bbfe86ec9443/go.mod"
"github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod"
"github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d"
"github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod"
"github.com/hpcloud/tail v1.0.0"
"github.com/hpcloud/tail v1.0.0/go.mod"
"github.com/imdario/mergo v0.3.6"
"github.com/imdario/mergo v0.3.6/go.mod"
"github.com/istio/gogo-genproto v0.0.0-20190124151557-6d926a6e6feb/go.mod"
"github.com/jarcoal/httpmock v0.0.0-20180424175123-9c70cfe4a1da"
"github.com/jarcoal/httpmock v0.0.0-20180424175123-9c70cfe4a1da/go.mod"
"github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af"
"github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod"
"github.com/joyent/triton-go v0.0.0-20180628001255-830d2b111e62"
"github.com/joyent/triton-go v0.0.0-20180628001255-830d2b111e62/go.mod"
"github.com/json-iterator/go v1.1.5"
"github.com/json-iterator/go v1.1.5/go.mod"
"github.com/jtolds/gls v4.2.1+incompatible/go.mod"
"github.com/kisielk/errcheck v1.1.0/go.mod"
"github.com/kisielk/gotool v1.0.0/go.mod"
"github.com/kr/pretty v0.1.0/go.mod"
"github.com/kr/pretty v0.2.0"
"github.com/kr/pretty v0.2.0/go.mod"
"github.com/kr/pty v1.1.1/go.mod"
"github.com/kr/text v0.1.0"
"github.com/kr/text v0.1.0/go.mod"
"github.com/likexian/gokit v0.0.0-20190309162924-0a377eecf7aa/go.mod"
"github.com/likexian/gokit v0.0.0-20190418170008-ace88ad0983b/go.mod"
"github.com/likexian/gokit v0.0.0-20190501133040-e77ea8b19cdc/go.mod"
"github.com/likexian/gokit v0.20.16/go.mod"
"github.com/likexian/simplejson-go v0.0.0-20190409170913-40473a74d76d/go.mod"
"github.com/likexian/simplejson-go v0.0.0-20190419151922-c1f9f0b4f084/go.mod"
"github.com/likexian/simplejson-go v0.0.0-20190502021454-d8787b4bfa0b/go.mod"
"github.com/linode/linodego v0.7.1"
"github.com/linode/linodego v0.7.1/go.mod"
"github.com/mattn/go-colorable v0.0.9/go.mod"
"github.com/mattn/go-colorable v0.1.4/go.mod"
"github.com/mattn/go-colorable v0.1.6"
"github.com/mattn/go-colorable v0.1.6/go.mod"
"github.com/mattn/go-isatty v0.0.3/go.mod"
"github.com/mattn/go-isatty v0.0.8/go.mod"
"github.com/mattn/go-isatty v0.0.10/go.mod"
"github.com/mattn/go-isatty v0.0.11/go.mod"
"github.com/mattn/go-isatty v0.0.12"
"github.com/mattn/go-isatty v0.0.12/go.mod"
"github.com/matttproud/golang_protobuf_extensions v1.0.1"
"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
"github.com/miekg/dns v1.0.14/go.mod"
"github.com/miekg/dns v1.1.26"
"github.com/miekg/dns v1.1.26/go.mod"
"github.com/mitchellh/cli v1.0.0/go.mod"
"github.com/mitchellh/cli v1.1.0"
"github.com/mitchellh/cli v1.1.0/go.mod"
"github.com/mitchellh/copystructure v1.0.0"
"github.com/mitchellh/copystructure v1.0.0/go.mod"
"github.com/mitchellh/go-homedir v1.0.0/go.mod"
"github.com/mitchellh/go-homedir v1.1.0"
"github.com/mitchellh/go-homedir v1.1.0/go.mod"
"github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod"
"github.com/mitchellh/go-testing-interface v1.0.0"
"github.com/mitchellh/go-testing-interface v1.0.0/go.mod"
"github.com/mitchellh/go-testing-interface v1.0.3"
"github.com/mitchellh/go-testing-interface v1.0.3/go.mod"
"github.com/mitchellh/go-wordwrap v1.0.0/go.mod"
"github.com/mitchellh/gox v0.4.0/go.mod"
"github.com/mitchellh/hashstructure v0.0.0-20170609045927-2bca23e0e452"
"github.com/mitchellh/hashstructure v0.0.0-20170609045927-2bca23e0e452/go.mod"
"github.com/mitchellh/iochan v1.0.0/go.mod"
"github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod"
"github.com/mitchellh/mapstructure v1.1.2/go.mod"
"github.com/mitchellh/mapstructure v1.2.3"
"github.com/mitchellh/mapstructure v1.2.3/go.mod"
"github.com/mitchellh/reflectwalk v1.0.0/go.mod"
"github.com/mitchellh/reflectwalk v1.0.1"
"github.com/mitchellh/reflectwalk v1.0.1/go.mod"
"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd"
"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
"github.com/modern-go/reflect2 v1.0.1"
"github.com/modern-go/reflect2 v1.0.1/go.mod"
"github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2"
"github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2/go.mod"
"github.com/oklog/run v1.0.0/go.mod"
"github.com/onsi/ginkgo v1.6.0"
"github.com/onsi/ginkgo v1.6.0/go.mod"
"github.com/onsi/gomega v1.4.1/go.mod"
"github.com/onsi/gomega v1.4.2"
"github.com/onsi/gomega v1.4.2/go.mod"
"github.com/packethost/packngo v0.1.1-0.20180711074735-b9cb5096f54c"
"github.com/packethost/packngo v0.1.1-0.20180711074735-b9cb5096f54c/go.mod"
"github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod"
"github.com/pascaldekloe/goe v0.1.0"
"github.com/pascaldekloe/goe v0.1.0/go.mod"
"github.com/peterbourgon/diskv v2.0.1+incompatible"
"github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod"
"github.com/pierrec/lz4 v2.0.5+incompatible"
"github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
"github.com/pkg/errors v0.8.0/go.mod"
"github.com/pkg/errors v0.8.1"
"github.com/pkg/errors v0.8.1/go.mod"
"github.com/pmezard/go-difflib v1.0.0"
"github.com/pmezard/go-difflib v1.0.0/go.mod"
"github.com/posener/complete v1.1.1/go.mod"
"github.com/posener/complete v1.2.3"
"github.com/posener/complete v1.2.3/go.mod"
"github.com/prometheus/client_golang v0.9.2"
"github.com/prometheus/client_golang v0.9.2/go.mod"
"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910"
"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275"
"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod"
"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a"
"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod"
"github.com/rboyer/safeio v0.2.1"
"github.com/rboyer/safeio v0.2.1/go.mod"
"github.com/renier/xmlrpc v0.0.0-20170708154548-ce4a1a486c03"
"github.com/renier/xmlrpc v0.0.0-20170708154548-ce4a1a486c03/go.mod"
"github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod"
"github.com/ryanuber/columnize v2.1.0+incompatible"
"github.com/ryanuber/columnize v2.1.0+incompatible/go.mod"
"github.com/ryanuber/go-glob v1.0.0"
"github.com/ryanuber/go-glob v1.0.0/go.mod"
"github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529"
"github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod"
"github.com/shirou/gopsutil v0.0.0-20181107111621-48177ef5f880"
"github.com/shirou/gopsutil v0.0.0-20181107111621-48177ef5f880/go.mod"
"github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4"
"github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod"
"github.com/sirupsen/logrus v1.0.6"
"github.com/sirupsen/logrus v1.0.6/go.mod"
"github.com/smartystreets/assertions v0.0.0-20180820201707-7c9eb446e3cf/go.mod"
"github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod"
"github.com/softlayer/softlayer-go v0.0.0-20180806151055-260589d94c7d"
"github.com/softlayer/softlayer-go v0.0.0-20180806151055-260589d94c7d/go.mod"
"github.com/spf13/pflag v1.0.2/go.mod"
"github.com/spf13/pflag v1.0.3"
"github.com/spf13/pflag v1.0.3/go.mod"
"github.com/stretchr/objx v0.1.0/go.mod"
"github.com/stretchr/objx v0.1.1"
"github.com/stretchr/objx v0.1.1/go.mod"
"github.com/stretchr/testify v1.2.2/go.mod"
"github.com/stretchr/testify v1.3.0/go.mod"
"github.com/stretchr/testify v1.4.0"
"github.com/stretchr/testify v1.4.0/go.mod"
"github.com/tencentcloud/tencentcloud-sdk-go v3.0.83+incompatible"
"github.com/tencentcloud/tencentcloud-sdk-go v3.0.83+incompatible/go.mod"
"github.com/tent/http-link-go v0.0.0-20130702225549-ac974c61c2f9/go.mod"
"github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926"
"github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod"
"github.com/vmware/govmomi v0.18.0"
"github.com/vmware/govmomi v0.18.0/go.mod"
"golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod"
"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
"golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod"
"golang.org/x/crypto v0.0.0-20191106202628-ed6320f186d4"
"golang.org/x/crypto v0.0.0-20191106202628-ed6320f186d4/go.mod"
"golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
"golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
"golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
"golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
"golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
"golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
"golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod"
"golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod"
"golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
"golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod"
"golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
"golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
"golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
"golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
"golang.org/x/net v0.0.0-20190923162816-aa69164e4478"
"golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod"
"golang.org/x/oauth2 v0.0.0-20170807180024-9a379c6b3e95/go.mod"
"golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be"
"golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
"golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
"golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
"golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
"golang.org/x/sync v0.0.0-20190423024810-112230192c58"
"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
"golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod"
"golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
"golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod"
"golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod"
"golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod"
"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
"golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod"
"golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod"
"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
"golang.org/x/sys v0.0.0-20190508220229-2d0786266e9c/go.mod"
"golang.org/x/sys v0.0.0-20190523142557-0e01d883c5c5/go.mod"
"golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod"
"golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod"
"golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod"
"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
"golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod"
"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae"
"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
"golang.org/x/text v0.3.0/go.mod"
"golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod"
"golang.org/x/text v0.3.2"
"golang.org/x/text v0.3.2/go.mod"
"golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod"
"golang.org/x/time v0.0.0-20190308202827-9d24e82272b4"
"golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
"golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod"
"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
"golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
"golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
"golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
"golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
"golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod"
"golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
"google.golang.org/api v0.0.0-20180829000535-087779f1d2c9"
"google.golang.org/api v0.0.0-20180829000535-087779f1d2c9/go.mod"
"google.golang.org/appengine v1.1.0/go.mod"
"google.golang.org/appengine v1.4.0"
"google.golang.org/appengine v1.4.0/go.mod"
"google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
"google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107"
"google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod"
"google.golang.org/grpc v1.14.0/go.mod"
"google.golang.org/grpc v1.19.0/go.mod"
"google.golang.org/grpc v1.19.1/go.mod"
"google.golang.org/grpc v1.22.0/go.mod"
"google.golang.org/grpc v1.23.0"
"google.golang.org/grpc v1.23.0/go.mod"
"gopkg.in/airbrake/gobrake.v2 v2.0.9"
"gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod"
"gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod"
"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15"
"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
"gopkg.in/fsnotify.v1 v1.4.7"
"gopkg.in/fsnotify.v1 v1.4.7/go.mod"
"gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2"
"gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod"
"gopkg.in/inf.v0 v0.9.1"
"gopkg.in/inf.v0 v0.9.1/go.mod"
"gopkg.in/resty.v1 v1.12.0"
"gopkg.in/resty.v1 v1.12.0/go.mod"
"gopkg.in/square/go-jose.v2 v2.3.1"
"gopkg.in/square/go-jose.v2 v2.3.1/go.mod"
"gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7"
"gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
"gopkg.in/yaml.v2 v2.2.1/go.mod"
"gopkg.in/yaml.v2 v2.2.2/go.mod"
"gopkg.in/yaml.v2 v2.2.8"
"gopkg.in/yaml.v2 v2.2.8/go.mod"
"honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
"honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
"k8s.io/api v0.0.0-20180806132203-61b11ee65332/go.mod"
"k8s.io/api v0.0.0-20190325185214-7544f9db76f6"
"k8s.io/api v0.0.0-20190325185214-7544f9db76f6/go.mod"
"k8s.io/apimachinery v0.0.0-20180821005732-488889b0007f/go.mod"
"k8s.io/apimachinery v0.0.0-20190223001710-c182ff3b9841"
"k8s.io/apimachinery v0.0.0-20190223001710-c182ff3b9841/go.mod"
"k8s.io/client-go v8.0.0+incompatible"
"k8s.io/client-go v8.0.0+incompatible/go.mod"
)
go-module_set_globals
SRC_URI="https://github.com/hashicorp/consul/archive/v${PV}.tar.gz -> ${P}.tar.gz
${EGO_SUM_SRC_URI}"
LICENSE="MPL-2.0 Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT"
SLOT="0"
KEYWORDS="~amd64"
BDEPEND="dev-go/gox"
COMMON_DEPEND="
acct-group/consul
acct-user/consul"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
src_compile() {
# The dev target sets causes build.sh to set appropriate XC_OS
# and XC_ARCH, and skips generation of an unused zip file,
# avoiding a dependency on app-arch/zip.
GIT_DESCRIBE="v${PV}" \
GIT_DIRTY="" \
GIT_COMMIT="${GIT_COMMIT}" \
emake dev-build
}
src_install() {
dobin bin/consul
keepdir /etc/consul.d
insinto /etc/consul.d
doins "${FILESDIR}/"*.json.example
keepdir /var/log/consul
fowners consul:consul /var/log/consul
newinitd "${FILESDIR}/consul.initd" "${PN}"
newconfd "${FILESDIR}/consul.confd" "${PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
systemd_dounit "${FILESDIR}/consul.service"
}

@ -1,2 +1,4 @@
DIST vault-1.4.0-webui.tar.xz 1211468 BLAKE2B 5a7b221f2339ca451f6bc2df7b1a4611a9f7786305ec0631d0e7130fb0287f764553d8a8a99ade5d28a2ae39fca1028b5a3c7299a5049acff0d1a3c1e9b8124f SHA512 3b17221e189f9e5fa73afbae3496e4d1105401a94ce5f99ff1c6975ca25b20485a05dc7f0b0c469d29d896524370d8fa23157d401d28e2e92a71a4813a4d9ba6
DIST vault-1.4.0.tar.gz 33097110 BLAKE2B 837f23a50128b0fab6542fc6a596d911267a1e14453091f22171db2ccf6a1a3d0aacdb3f210ac0d07efc7ed5ce845a197f61dd4dab37c35ad6f0f47cefc09c9d SHA512 13c1fb901fe577d91f2734f8a0ae5e51083e1307e7fc32a4388a1be48f2c46cd3d121432fa7450d6f9b439285d3ad5819b123631f41bb347e8d75ce683d24a7e
DIST vault-1.4.2-webui.tar.xz 1208924 BLAKE2B 5177afc91e7bc774b7d78e5e344d7c8310a13a592c57768ac6a0c8e12ef6e7ac8b6dbc975e5e9131888478a7fb18ad9ef1ee9b1da43c2899fcf636e99d049078 SHA512 ab462bebfa38102e354938e9b8c6990b6bb19b29dd0da96d65f290394a987d89063800247c1d751a8f7ba7c3fa6645aab9383a5455444244adb5f40528408b17
DIST vault-1.4.2.tar.gz 33158384 BLAKE2B 263f20419c210b83448907b1e95464fb139f52f4f7347eb01803b5aa487797c191f1e61a9fb77321f776ea70feb83a741f10c79400fdd471b790fe37a6404a9c SHA512 d4f2a426a4c0531cca0d3812c2e29ebc5ebbd6da2897d3ee57fe57d4dfde0395f30713cfe21600b4dd51fdc90bf2a10527957b04c8215bd185bd502267f93503

@ -0,0 +1,72 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit fcaps go-module systemd
DESCRIPTION="A tool for managing secrets"
HOMEPAGE="https://vaultproject.io/"
VAULT_WEBUI_ARCHIVE="${P}-webui.tar.xz"
SRC_URI="https://github.com/hashicorp/vault/archive/v${PV}.tar.gz -> ${P}.tar.gz
webui? (
https://dev.gentoo.org/~zmedico/dist/${VAULT_WEBUI_ARCHIVE}
)"
LICENSE="MPL-2.0 Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+webui"
BDEPEND="dev-go/gox"
COMMON_DEPEND="acct-group/vault
acct-user/vault"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
FILECAPS=(
-m 755 'cap_ipc_lock=+ep' usr/bin/${PN}
)
RESTRICT+=" test"
src_prepare() {
default
# Avoid the need to have a git checkout
sed -e 's:^\(GIT_COMMIT=\).*:\1:' \
-e 's:^\(GIT_DIRTY=\).*:\1:' \
-e s:\'\${GIT_COMMIT}\${GIT_DIRTY}\':: \
-i scripts/build.sh || die
sed -e "/hooks/d" \
-e 's|^\([[:space:]]*\)goimports .*)|\1true|' \
-i Makefile || die
if [[ -f "${WORKDIR}/http/bindata_assetfs.go" ]]; then
mv "${WORKDIR}/http/bindata_assetfs.go" "${S}/http" ||
die "mv failed"
fi
}
src_compile() {
mkdir "${T}"/bin || die
BUILD_TAGS="$(usex webui ui '')" \
GOFLAGS="-mod=vendor" \
GOPATH="${T}" \
XC_ARCH=$(go env GOARCH) \
XC_OS=$(go env GOOS) \
XC_OSARCH=$(go env GOOS)/$(go env GOARCH) \
emake
}
src_install() {
dobin bin/${PN}
dodoc CHANGELOG.md CONTRIBUTING.md README.md
insinto /etc/${PN}.d
doins "${FILESDIR}/"*.json.example
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
systemd_dounit "${FILESDIR}/${PN}.service"
keepdir /var/log/${PN}
fowners ${PN}:${PN} /var/log/${PN}
}

Binary file not shown.

@ -1 +1 @@
DIST moolticute-0.43.3.tar.gz 5667511 BLAKE2B 7509a7e84979a4bd4d36728f67b9d4cdf5df74255f4f8091a647d2d7c9a3e6dc2ef1c72fe1cadcdab47ac99a7a682287c629e0e077c031ad27acde66c53ceb6d SHA512 4ea61da5068079e01ba6e6adacc87714f3fb28a2f231fad3359d88c8697b0a804005bf73b5ca9c3e48acb9cf72b21a3791752c8d747869b48b02c1b651a92f19
DIST moolticute-0.43.19.tar.gz 5675421 BLAKE2B 8fbe68a86978970768870ac334c38b5cd532e97cb29e03975d6700a98074c51959747c35dee528275b41ef08cf42817f69337c8b93b8c2554729754d4ee818dd SHA512 fb343411854490f8e9bf937728889fc329d2f90274a34bafebacf711b02b3ff04ecad34480b786a59fda07a50f12f572b58fd2c397d46b63dc76df9228ad8711

Binary file not shown.

@ -1,2 +1 @@
DIST binwalk-2.1.1.tar.gz 263977 BLAKE2B 8fd5f20dcdb22a6528131fbebc1454cc496079bfeafa63ddb0679c7c7b5d5c29d81dccd4f52e8f6f7d8881d9e672d691c2b2ef367f2bf3180ffbb4ad22dca021 SHA512 373e276a4d6ec845952f1091f85f953d3b0d52d561d9b74a54000ebdef85d13cafc997a4f8f76f25842db8b76fdcd1e602d4d81792a3ea01c9dea6c6ed5c2168
DIST binwalk-2.2.0.tar.gz 39594514 BLAKE2B 899a919647258759f16c2e59766b0db68d1a78edf0f5c3755c2a987695199a1851deed2820e6323d82d8af85d294a6f1fcafb655e5d2257d49b673ddae49da67 SHA512 5f3ed31c0b5f9ca3057f86e82787a73b06f9f73747b51dd72130a78e4d69cf43a0207bffc495d177e97811de5bf835b3d0507f314b7a0c960eddf6d1efe0f0f9

@ -1,40 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/ReFirmLabs/binwalk.git"
inherit git-r3
else
SRC_URI="https://github.com/ReFirmLabs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 x86 ~x64-macos"
fi
DESCRIPTION="A tool for identifying files embedded inside firmware images"
HOMEPAGE="https://github.com/ReFirmLabs/binwalk"
LICENSE="MIT"
SLOT="0"
IUSE="graph"
RDEPEND="
graph? ( dev-python/pyqtgraph[opengl,${PYTHON_USEDEP}] )
"
PATCHES=( "${FILESDIR}"/0001-Added-check-for-backports.lzma-when-importing-lzma-m.patch )
python_install_all() {
local DOCS=( API.md INSTALL.md README.md )
distutils-r1_python_install_all
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog "binwalk has many optional dependencies to automatically"
elog "extract/decompress data, see INSTALL.md for more details."
fi
}

@ -11,7 +11,7 @@ if [[ ${PV} == "9999" ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/ReFirmLabs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~ppc64 x86 ~x64-macos"
KEYWORDS="amd64 ppc64 x86 ~x64-macos"
fi
DESCRIPTION="A tool for identifying files embedded inside firmware images"

@ -1,67 +0,0 @@
From 95bce4edcc6e92c9517b80ccb1fb956f591e0738 Mon Sep 17 00:00:00 2001
From: Craig Heffner <heffnercj@gmail.com>
Date: Tue, 5 Jan 2016 13:28:24 -0500
Subject: [PATCH] Added check for backports.lzma when importing lzma module
---
src/binwalk/modules/compression.py | 5 ++++-
src/binwalk/plugins/lzmaextract.py | 6 +++++-
src/binwalk/plugins/lzmavalid.py | 5 ++++-
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/binwalk/modules/compression.py b/src/binwalk/modules/compression.py
index 97ca68d..e919f7e 100644
--- a/src/binwalk/modules/compression.py
+++ b/src/binwalk/modules/compression.py
@@ -2,11 +2,14 @@
import os
import zlib
-import lzma
import struct
import binwalk.core.compat
import binwalk.core.common
from binwalk.core.module import Option, Kwarg, Module
+try:
+ import lzma
+except ImportError:
+ from backports import lzma
class LZMAHeader(object):
def __init__(self, **kwargs):
diff --git a/src/binwalk/plugins/lzmaextract.py b/src/binwalk/plugins/lzmaextract.py
index 137b4cc..93f6240 100755
--- a/src/binwalk/plugins/lzmaextract.py
+++ b/src/binwalk/plugins/lzmaextract.py
@@ -12,7 +12,11 @@ class LZMAExtractPlugin(binwalk.core.plugin.Plugin):
# lzma package in Python 2.0 decompress() does not handle multiple
# compressed streams, only first stream is extracted.
# backports.lzma package could be used to keep consistent behaviour.
- import lzma
+ try:
+ import lzma
+ except ImportError:
+ from backports import lzma
+
self.decompressor = lzma.decompress
# If the extractor is enabled for the module we're currently loaded
diff --git a/src/binwalk/plugins/lzmavalid.py b/src/binwalk/plugins/lzmavalid.py
index a343656..62e15b9 100644
--- a/src/binwalk/plugins/lzmavalid.py
+++ b/src/binwalk/plugins/lzmavalid.py
@@ -17,7 +17,10 @@ class LZMAPlugin(binwalk.core.plugin.Plugin):
def init(self):
try:
- import lzma
+ try:
+ import lzma
+ except ImportError:
+ from backports import lzma
self.decompressor = lzma.decompress
except ImportError as e:
self.decompressor = None
--
2.12.2

@ -18,7 +18,4 @@
<upstream>
<remote-id type="github">ReFirmLabs/binwalk</remote-id>
</upstream>
<use>
<flag name="graph">Enable support for generating entropy graphs</flag>
</use>
</pkgmetadata>

Binary file not shown.

@ -1,2 +1 @@
DIST loksh-6.6.tar.gz 251931 BLAKE2B 8671b2a7b5f4d8247c8572a925a078a7bbf7e6f0ae11b9198798c66def35c5bdb5c3b39e5c37e0dcbc068a1757e6cdcb667088640c6c9a556c64a9a4c0582102 SHA512 7f5188b3f0af3167f1c5847043689a35f22d5075cee2ec4ce3ebd324a59233e89db1c864dc62a05ad036ddd541ee89c680fa82e22b85cd2c82ad32c5ebad51be
DIST loksh-6.7.2.tar.xz 209520 BLAKE2B 37635721b4ed99b3a8ffd0bc6806e29e96c68618db32d8aad32e8cafb2c669ff44e0228588631478c189fb804a790245a66abe700bd78d06f3fdbd3baaa03778 SHA512 0008905c97c0d65ab246c05ddcd733925cdf2e35bc0eb09dd4301718236cab3f2682bee250e3630f3f9d801c1e20ee2db71194ac01f9ea4c2c8ff437328f5d08

@ -1,34 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Linux port of OpenBSD's ksh"
HOMEPAGE="https://github.com/dimkr/loksh"
SRC_URI="https://github.com/dimkr/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
DEPEND="sys-libs/ncurses:0="
BDEPEND="virtual/pkgconfig"
RDEPEND="${DEPEND}
!app-shells/ksh"
src_prepare() {
default
tc-export CC
}
src_install() {
emake \
BIN_DIR="${EROOT}/bin" \
DESTDIR="${D}" \
DOC_DIR="${EPREFIX}/usr/share/doc/${PF}" \
install
dodoc NOTES
}

Binary file not shown.

@ -1 +1,2 @@
DIST podofo-0.9.6_p20180715.tar.xz 747444 BLAKE2B 96d90add6d290d6722cd7412fd75433f87303bac385964f0967b4f119db4962f6ddbd93b49af8454051f421d77de70ad7ea0f5b01a66eeb690a75dbeec256eff SHA512 4c9b09c716128110b47d6a02f118eb80b6009e9e79dbc83ff804a57f0abc011b789de9287b68a6c1d6704ef386f8062a3a495408af8a832782f0bf0128190a1f
DIST podofo-0.9.6_p20200526.tar.xz 752264 BLAKE2B 52eb40a63e8462b6d1f975c76c2112b93ae98c19ad6cb65906bef018e99a3d92e26781cee9d4ef1c4de74779db7eca6589c320849be84b70c20d5c7d988c0a49 SHA512 7baa58c9a524ccc5aa954bd5fe891b9add8b8f4ec29e3ebbc1c8a467d2787e6c3f9e4652db08e50cb4c28a73691215947940634975e292ec01fb57e2e45efbe4

@ -0,0 +1,141 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake-utils flag-o-matic multilib toolchain-funcs
DESCRIPTION="PoDoFo is a C++ library to work with the PDF file format"
HOMEPAGE="https://sourceforge.net/projects/podofo/"
SRC_URI="https://dev.gentoo.org/~zmedico/dist/podofo-0.9.6_p20200526.tar.xz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0/${PV%_*}"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
IUSE="+boost idn libressl debug test +tools"
RESTRICT="test"
REQUIRED_USE="test? ( tools )"
RDEPEND="dev-lang/lua:=
idn? ( net-dns/libidn:= )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
media-libs/fontconfig:=
media-libs/freetype:2=
virtual/jpeg:0=
media-libs/libpng:0=
media-libs/tiff:0=
sys-libs/zlib:="
DEPEND="${RDEPEND}
virtual/pkgconfig
boost? ( dev-util/boost-build )
test? ( dev-util/cppunit )"
DOCS="AUTHORS ChangeLog TODO"
src_prepare() {
cmake-utils_src_prepare
local x sed_args
if use libressl; then
sed -e 's:^#ifdef PODOFO_HAVE_OPENSSL_1_1$:#ifndef PODOFO_HAVE_OPENSSL_1_1:' \
-i tools/podofosign/podofosign.cpp || die #663602
fi
# bug 620934 - Disable linking with cppunit when possible, since it
# triggers errors with some older compilers.
use test || sed -e 's:^FIND_PACKAGE(CppUnit):#\0:' -i CMakeLists.txt || die
# bug 556962
sed -i -e 's|Decrypt( pEncryptedBuffer, nOutputLen, pDecryptedBuffer, m_lLen );|Decrypt( pEncryptedBuffer, (pdf_long)nOutputLen, pDecryptedBuffer, (pdf_long\&)m_lLen );|' \
test/unit/EncryptTest.cpp || die
sed -i \
-e "s:LIBDIRNAME \"lib\":LIBDIRNAME \"$(get_libdir)\":" \
-e "s:LIBIDN_FOUND:HAVE_LIBIDN:g" \
CMakeLists.txt || die
# Use pkg-config to find headers for bug #459404.
sed_args=
for x in $($(tc-getPKG_CONFIG) --cflags freetype2) ; do
[[ ${x} == -I* ]] || continue
x=${x#-I}
if [[ -f ${x}/ft2build.h ]] ; then
sed_args+=" -e s:/usr/include/\\r\$:${x}:"
elif [[ -f ${x}/freetype/config/ftheader.h ]] ; then
sed_args+=" -e s:/usr/include/freetype2\\r\$:${x}:"
fi
done
[[ -n ${sed_args} ]] && \
{ sed -i ${sed_args} cmake/modules/FindFREETYPE.cmake || die; }
# Bug #439784: Add missing unistd include for close() and unlink().
sed -i 's:^#include <stdio.h>$:#include <unistd.h>\n\0:' -i \
test/unit/TestUtils.cpp || die
# TODO: fix these test cases
# ColorTest.cpp:62:Assertion
# Test name: ColorTest::testDefaultConstructor
# expected exception not thrown
# - Expected: PdfError
sed -e 's:CPPUNIT_TEST( testDefaultConstructor ://\0:' \
-e 's:CPPUNIT_TEST( testGreyConstructor ://\0:' \
-e 's:CPPUNIT_TEST( testRGBConstructor ://\0:' \
-e 's:CPPUNIT_TEST( testCMYKConstructor ://\0:' \
-e 's:CPPUNIT_TEST( testColorSeparationAllConstructor ://\0:' \
-e 's:CPPUNIT_TEST( testColorSeparationNoneConstructor ://\0:' \
-e 's:CPPUNIT_TEST( testColorSeparationConstructor ://\0:' \
-e 's:CPPUNIT_TEST( testColorCieLabConstructor ://\0:' \
-i test/unit/ColorTest.h || die
# ColorTest.cpp:42:Assertion
# Test name: ColorTest::testHexNames
# assertion failed
# - Expression: static_cast<int>(rgb.GetGreen() * 255.0) == 0x0A
sed -e 's:CPPUNIT_TEST( testHexNames ://\0:' \
-i test/unit/ColorTest.h || die
# Bug #352125: test failure, depending on installed fonts
# ##Failure Location unknown## : Error
# Test name: FontTest::testFonts
# uncaught exception of type PoDoFo::PdfError
# - ePdfError_UnsupportedFontFormat
sed -e 's:CPPUNIT_TEST( testFonts ://\0:' \
-i test/unit/FontTest.h || die
# Test name: EncodingTest::testDifferencesEncoding
# equality assertion failed
# - Expected: 1
# - Actual : 0
sed -e 's:CPPUNIT_TEST( testDifferencesEncoding ://\0:' \
-i test/unit/EncodingTest.h || die
# Bug #407015: fix to compile with Lua 5.2
if has_version '>=dev-lang/lua-5.2' ; then
sed -e 's: lua_open(: luaL_newstate(:' \
-e 's: luaL_getn(: lua_rawlen(:' -i \
tools/podofocolor/luaconverter.cpp \
tools/podofoimpose/planreader_lua.cpp || die
fi
}
src_configure() {
# Bug #381359: undefined reference to `PoDoFo::PdfVariant::DelayedLoadImpl()'
filter-flags -fvisibility-inlines-hidden
mycmakeargs+=(
"-DPODOFO_BUILD_SHARED=1"
"-DPODOFO_HAVE_JPEG_LIB=1"
"-DPODOFO_HAVE_PNG_LIB=1"
"-DPODOFO_HAVE_TIFF_LIB=1"
"-DWANT_FONTCONFIG=1"
"-DUSE_STLPORT=0"
-DWANT_BOOST=$(usex boost ON OFF)
-DHAVE_LIBIDN=$(usex idn ON OFF)
-DPODOFO_HAVE_CPPUNIT=$(usex test ON OFF)
-DPODOFO_BUILD_LIB_ONLY=$(usex tools OFF ON)
)
cmake-utils_src_configure
mkdir -p "${S}/test/TokenizerTest/objects" || die
}

@ -1,3 +1,4 @@
DIST xapian-omega-1.2.25.tar.xz 440224 BLAKE2B 1e67cff0ed1796349df5da7d33c07febba2d8c79906fd98c66becd59d7d387174728551785ca42db1f69662cc157bbfc35c0e29f96958ddb76670797d9a4bcf7 SHA512 f412538cd50c82d7af28f2620c1e377afd3f03186259a145f9a37cd64d05837b7cc6f205627a3c8e4c25ec19efc2a81a6fe3a415d00b7a6f4df847d6ff2d453c
DIST xapian-omega-1.4.14.tar.xz 540532 BLAKE2B 193e03bfea5cf7cb5fc5bfca57f80b1390ba63ca999f235a10a7ab9bf4db378273cf6f7f6b3107c80c1ebb44bdb1a94ce3c00585f83ac0bec188163633be843b SHA512 27059d13bbdfc2ee9e8f4f6e74479bac0885cabab97d7eb1ebdc57eacbff1724b2684ba72efdf6d35f608e2e8f0891d47c626aaa100c713f4c2f66f923d841b7
DIST xapian-omega-1.4.15.tar.xz 545916 BLAKE2B be89c817d13888bc8de28973be15a512992dc1e6c23ea55f0470b179c9b29b82f2f2988c6ac430d62c3e45e6502555a3497bf3f3ce7bebf832fc8cf8e3dc9f1d SHA512 99ffe32c37b22db4557cae214a157d3b1bda27b2eb86f99862ca59ac326e5ba3f044fbd58a0ec9db7098700dd6a2422634c80987c9152536ec217e48d9694679
DIST xapian-omega-1.4.16.tar.xz 546360 BLAKE2B 990eab976833854d2a172e1584383b71375fe2e0b83a8ff0a150f4c9fdb6e99cbd42e58720e81698292843918112426d3b445efe14d9ee5f76e85304439475de SHA512 7f8c3d4e372c49f89e28da999ee49f0754052a339bbc4492b50f8134cf29b2c433ddae9e58ef3a2468898b711b4510ea87687a247ce21e83eba2f8daaa2910c4

@ -0,0 +1,42 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
DESCRIPTION="An application built on Xapian, consisting of indexers and a CGI search frontend"
SRC_URI="http://www.oligarchy.co.uk/xapian/${PV}/xapian-omega-${PV}.tar.xz"
HOMEPAGE="https://xapian.org/"
S="${WORKDIR}/xapian-omega-${PV}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE=""
DEPEND="dev-libs/xapian:0/30
dev-lang/perl
dev-libs/libpcre
sys-libs/zlib"
RDEPEND="${DEPEND}"
src_install() {
emake DESTDIR="${D}" install
# Protect /etc/omega.conf
echo "CONFIG_PROTECT=\"/etc/omega.conf\"" > "${T}"/20xapian-omega
doenvd "${T}"/20xapian-omega
dodoc AUTHORS ChangeLog INSTALL NEWS README TODO
# Directory containing Xapian databases:
keepdir /var/lib/omega/data
# Directory containing OmegaScript templates:
keepdir /var/lib/omega/templates
mv "${S}"/templates/* "${D}"/var/lib/omega/templates || die
# Directory to write Omega logs to:
keepdir /var/log/omega
# Directory containing any cdb files for the $lookup OmegaScript command:
keepdir /var/lib/omega/cdb
}

Binary file not shown.

@ -1 +1,2 @@
DIST xmlada-2019-20190429-19B9D-src.tar.gz 1582603 BLAKE2B e2be3e7c0c8b843bfc808a3dd726235a82588caed8c919975a97ce34c72d6d634361bbc34208590210936add9e2f881b59d01168ef79abed1e489c50b27094d8 SHA512 f8e0e25b0aee9a7a18223ae7761603082af55134f062c767d0cd0dbf0dbcb2058fc7c57532b567fb2c6efa464a53ead57b300578e98962025866e5c3ad73e380
DIST xmlada-2020-20200429-19A99-src.tar.gz 1533111 BLAKE2B e2c25e103c5c560cf7c9580118580e2952f3ef56c244b0f76c7f484e5629b684d5ee546d2d40520e1a4bf963271d360522423f4e7d81570f7dc1dbc8424c9147 SHA512 e53dd1fba504d2aa91ce29ea381c62adea12c5d8c72cd87396b903143279456cc6547c18035f6e988e95bd93607360075789532378f33cbe23bef9b49c8d984c

@ -0,0 +1,93 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
ADA_COMPAT=( gnat_201{6,7,8,9} )
inherit ada multiprocessing
MYP=${P}-20200429-19A99-src
DESCRIPTION="Set of modules that provide a simple manipulation of XML streams"
HOMEPAGE="http://libre.adacore.com/"
SRC_URI="https://community.download.adacore.com/v1/c799502295baf074ad17b48c50f621879c392c57?filename=${MYP}.tar.gz
-> ${MYP}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+shared static-libs static-pic"
REQUIRED_USE="|| ( shared static-libs static-pic )
${ADA_REQUIRED_USE}"
RDEPEND="${ADA_DEPS}"
DEPEND="${RDEPEND}
dev-ada/gprbuild[${ADA_USEDEP}]"
S="${WORKDIR}"/${MYP}
PATCHES=( "${FILESDIR}"/${PN}-2019-gentoo.patch )
QA_FLAGS_IGNORED=(
/usr/lib/xmlada/xmlada_dom.relocatable/libxmlada_dom.so.2020
/usr/lib/xmlada/xmlada_input.relocatable/libxmlada_input_sources.so.2020
/usr/lib/xmlada/xmlada_sax.relocatable/libxmlada_sax.so.2020
/usr/lib/xmlada/xmlada_schema.relocatable/libxmlada_schema.so.2020
/usr/lib/xmlada/xmlada_unicode.relocatable/libxmlada_unicode.so.2020
)
src_configure() {
econf --prefix="${D}"/usr
}
src_compile() {
build () {
echo gprbuild -j$(makeopts_jobs) -m -p -v -XLIBRARY_TYPE=$1 \
-XBUILD=Production -XPROCESSORS=$(makeopts_jobs) xmlada.gpr \
-largs ${LDFLAGS} \
-cargs ${ADAFLAGS}
gprbuild -j$(makeopts_jobs) -m -p -v -XLIBRARY_TYPE=$1 \
-XBUILD=Production -XPROCESSORS=$(makeopts_jobs) xmlada.gpr \
-largs ${LDFLAGS} \
-cargs ${ADAFLAGS} || die "gprbuild failed"
}
if use shared; then
build relocatable
fi
if use static-libs; then
build static
fi
if use static-pic; then
build static-pic
fi
}
src_test() {
emake test
emake run_test | tee xmlada.testLog
grep -q DIFF xmlada.testLog && die
}
src_install() {
build () {
gprinstall -XLIBRARY_TYPE=$1 -f -p -XBUILD=Production \
-XPROCESSORS=$(makeopts_jobs) --prefix="${D}"/usr \
--install-name=xmlada --build-var=LIBRARY_TYPE \
--build-var=XMLADA_BUILD \
--build-name=$1 xmlada.gpr || die "gprinstall failed"
}
if use shared; then
build relocatable
fi
if use static-libs; then
build static
fi
if use static-pic; then
build static-pic
fi
einstalldocs
dodoc xmlada-roadmap.txt
rm -f "${D}"/usr/share/doc/${PN}/.buildinfo
rm -rf "${D}"/usr/share/gpr/manifests
}

Binary file not shown.

@ -10,7 +10,7 @@
EAPI="6"
SLOT="8"
inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils prefix versionator xdg-utils
inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils prefix toolchain-funcs versionator xdg-utils
ICEDTEA_VER=$(get_version_component_range 1-3)
ICEDTEA_BRANCH=$(get_version_component_range 1-2)
@ -195,8 +195,11 @@ src_unpack() {
}
src_configure() {
# GCC10/-fno-common handling
append-flags -fcommon
# GCC10/-fno-common handling, #723102
if [[ $(gcc-major-version) -ge 10 ]]; then
append-flags -fcommon
append-flags -fno-delete-null-pointer-checks -fno-lifetime-dse
fi
# For bootstrap builds as the sandbox control file might not yet exist.
addpredict /proc/self/coredump_filter #nowarn

Binary file not shown.

@ -42,7 +42,7 @@ HOMEPAGE="http://libre.adacore.com/"
LICENSE+=" GPL-2 GPL-3"
KEYWORDS="~amd64 ~x86"
IUSE="+ada +bootstrap"
RESTRICT="!test? ( test )"
RESTRICT="test"
RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
DEPEND="${RDEPEND}

@ -1,6 +1,3 @@
DIST php-7.2.30.tar.xz 12283804 BLAKE2B f5d5c9bc56e3c3f32ebc0d830b826d98cd06992573c9cffa2c9bff35c161273079d0d08c1b289129cd8bd5d1f1da106bfee2d0e1c40c3d64b0e12b2452d3512a SHA512 92e79cdd0e8b925012235375ebece19038b42f3751e9623beda5807e3a07484d0faaabb58227c67abb515c188c09c215c9b00cc8dadffc90f0dd09f8f5dd126f
DIST php-7.2.31.tar.xz 12309936 BLAKE2B fc81f41dd4ec8695029bfe1993d76b1fdfe7f16d926f57302b9e85f3acd250967db9b9f0597c47589ae553d5faaaf0266e24b5b64247e017361d991bf96cd4de SHA512 b21c504d0af2c095e4ae5a62c810af96171b927a27ea4694f59555c0d47798d61c3491a92941099cd9c978b3b0f41852ca2cf745e42ee3d9a6d107a5a884c9ee
DIST php-7.3.17.tar.xz 12116072 BLAKE2B 5f8a0b1a3de9b7e750d249593be0a3eb9e62040691ebe4549da74d8c321dcd88e970d92285f49a924ef0f38118779d540a94810c08ece2df7dbd8584a8f83c56 SHA512 ac99a645a7442c322b8334cb4d091474bb0486b5efe11f8ffc16e4a2c0ecf8dbb5d958206372617350ec70b579dd4756f4d166c2863f3892db480e9bfbd14837
DIST php-7.3.18.tar.xz 12116280 BLAKE2B 73d82e4a22f29dbeec221ef3109592a40e559238a0093e80e8e10bcd7de64f3bd58dd6f0835ddf3d9c2323fc37d738301b07291ca11a84c70ddced172676bc20 SHA512 e626091c835f6d165ff48ae3be8ddf7a66b0a320c6d77dc98fb73235d560814c180112a9e5478a5b3b6bb01ed99a50f8025fdc3d1ef80cca59e04ac248f9b0bf
DIST php-7.4.5.tar.xz 10271296 BLAKE2B 396044265c810732fe7012375602faeb3477b8405d2264a17b29ac0783c0734c2fc1070b1532ea75a716a62c0dfcb01b861a22ebc6fb2e13efef20c40b62530d SHA512 c40070a91d5cab44df9b33d7259dcfb9824efb305a659d075b68695b3c5cebb915f43ce3edc45c9ee8b17a5c558e154842a1a63ac594438ce7adce48c58430fe
DIST php-7.4.6.tar.xz 10284824 BLAKE2B 83bbbb536e48c6ab6ef357283d2f99a0f1825fdbb1867598514dc87cb8a7181298aa1e6d45659b7a4343fdacdacbbfec9e4cca89f85fe53c9e48696e534da710 SHA512 786634d53ed100cc7638e64ca340efdd42405c258638f3f97fcd1816d4f0c643dc8d8b2b0f60d36904343dc8c2af7f9b8e4a652ea66ec2fe324290c72bc09c13

@ -1,755 +0,0 @@
# Copyright 1999-2020 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://www.php.net/"
SRC_URI="https://www.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( <app-text/enchant-2.0:0 )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
recode? ( app-text/recode )
session-mm? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
sodium? ( dev-libs/libsodium:= )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
wddx? ( >=dev-libs/libxml2-2.6.8 )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib:0= )
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( sys-libs/zlib:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysqli !mysql )
session-mm? ( session !threads )
mysql? ( hash || ( mysqli pdo ) )
mysqli? ( hash )
zip-encryption? ( zip )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/php-freetype-2.9.1.patch"
"${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch"
)
PHP_MV="$(ver_cut 1)"
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
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 "../ext/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"
# Install the "phar" archive utility.
if use phar ; then
emake INSTALL_ROOT="${D}" install-pharcmd
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
fi
;;
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#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -1,756 +0,0 @@
# Copyright 1999-2020 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://www.php.net/"
SRC_URI="https://www.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[unicode]
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( <app-text/enchant-2.0:0 )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
recode? ( app-text/recode )
session-mm? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
sodium? ( dev-libs/libsodium:= )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
libressl? ( dev-libs/libressl:0= )
)
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
wddx? ( >=dev-libs/libxml2-2.6.8 )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( >=sys-libs/zlib-1.2.0.4:0= )
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysqli !mysql )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
zip-encryption? ( zip )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/php-freetype-2.9.1.patch"
)
PHP_MV="$(ver_cut 1)"
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
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 "../ext/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"
# Install the "phar" archive utility.
if use phar ; then
emake INSTALL_ROOT="${D}" install-pharcmd
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
fi
;;
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#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -1,746 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_AUTOMAKE="none"
inherit flag-o-matic systemd autotools
MY_PV=${PV/_rc/RC}
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://www.php.net/"
SRC_URI="https://www.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
coverage +ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[unicode]
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
coverage? ( dev-util/lcov )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( <app-text/enchant-2.0:0 )
ffi? ( >=dev-libs/libffi-3.0.11 )
firebird? ( dev-db/firebird )
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
sodium? ( dev-libs/libsodium:= )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
libressl? ( dev-libs/libressl:0= )
)
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.7.6 )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
PHP_MV="$(ver_cut 1)"
PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" )
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
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 "../ext/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config files php-fpm.conf and www.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
doins sapi/fpm/www.conf
fi
dodoc php.ini-{development,production}
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
default
# In php-7.x, the FPM pool configuration files have been split off
# of the main config. By default the pool config files go in
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
# we'll install the pool configuration file "www.conf" there.
php_set_ini_dir fpm
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable coverage gcov)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_enable json)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xmlrpc)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
our_conf+=( "--enable-dba" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-external-pcre affects ext/pcre
# Many arches don't support pcre-jit
our_conf+=(
--with-external-pcre
--without-pcre-jit
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Cache the ./configure test results between SAPIs.
our_conf+=( --cache-file="${T}/config.cache" )
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -a "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm|phpdbg)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
if [[ "fpm" == "${sapi}" ]] ; then
sapi_conf+=(
$(use_with acl fpm-acl)
$(use_with systemd fpm-systemd)
)
fi
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index #nowarn
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp${PHP_MV}$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
# Install the "phar" archive utility.
if use phar ; then
emake INSTALL_ROOT="${D}" install-pharcmd
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
fi
;;
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#/usr}/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
}

@ -7,6 +7,7 @@ DIST Python-3.8.3.tar.xz 17912964 BLAKE2B 9c415823f70bad97936e0472fc53a1b7650cbf
DIST Python-3.9.0a6.tar.xz 18202376 BLAKE2B 32f04613a3b11341759eb98fd4b16edcb890a9ce19a4d5031aecdccd985a5462248fcd0e7bf478e2f23490ad85b36c760c14398f2b238e26038a476831f004d2 SHA512 edb71840347ab2b5e18b3a2b831a3d9a26e1af52de9b1c6c088ce2d20f8e96a22c87fc3677b62e49c91a00d8b531028bdc739f00fe220dbdeb343daf17829be4
DIST Python-3.9.0b1.tar.xz 18443584 BLAKE2B 156f128fccb045f7d367f3f7c4c8ba3dc5b0e232c551bc24ed3a8be8b2199a66cde3671d6b1c4b75286618ed7af81ae60bf7db4a05c6de7c799a5f5c48b2f2ac SHA512 ed82ed2ef58940129d940b613c6495517741ebf3d6834b1e2498b294f1c4485d1cb180455d345937fe5a1da529a9df6278a17e7fe6aa5a4c6151745119b866bb
DIST Python-3.9.0b2.tar.xz 18489152 BLAKE2B e72afe6bd3a338d313a226f9c4055973cb7fb5de5581df48cb48e62bd0762edc712c94eee01465eaf522b5926a0546383bba797f7a7d2dbe09ea01ada843b7f4 SHA512 adf444c2884eab3df3682a0af4f852c375868b6a9718c9fb87fe7419ec46371b1cbd499abae3f04f72d42b864b7ad86f7ae9890658b8ee75987f4cc675d97ab9
DIST Python-3.9.0b3.tar.xz 18518204 BLAKE2B fa1707f0d55a83e739e9ad51979f8aff9720588a8a77b7ce8beb9ecf599955677758dec1551a0549b010f86c1f8fbc5915cef34d63097534d1c512c92fad5bd1 SHA512 c06a6b874fbce93ec37402034158a7bab44cab775d6da467eaddc1eb402663415f9d788e657a204f17dffe5fa6f379379f9215b5198ec5071565486b6f0e4a2a
DIST python-gentoo-patches-2.7.17-r1.tar.xz 14708 BLAKE2B f6e25236a471649de122d0f29506f7a4f34044a568ead47a68980411d9722b761fe1f9d653d5edccb6978b65c8c1eecbef55f403b94f32b37c0ad68e061505a8 SHA512 ecdde5e38c6fe5e69691fb3a68c8f4f43da7857d4abaff763d3cf6ad864ba43c769c03b186b60f2736a1ffb1e3e4c9982715d1b8a99ff3f5740096153bb8a90f
DIST python-gentoo-patches-2.7.18.tar.xz 15012 BLAKE2B f691e231c793bb8f11fb64c89b90e022af8e0fe0e28839822c2ae6214fdab6c6fd9c07466c4b5797d3964b7db09fd979597774fb7872dc674e8df59321b6bf95 SHA512 a2952b27bfc0a52f322b2f3e177cbe09fa288c9ca5967c13fb9c2d45d3e81033407e30e86bdaaaa258f0b3cfa2cef6eda5502bddb6390f9512a493d145d34e03
DIST python-gentoo-patches-3.6.10-r1.tar.xz 15556 BLAKE2B 3d4755a083172fc878d3454797a4a7fa809c7767b7f2ba0919b95076b8ecba62ac604a7db349d8dd71f83aa44d4580d0c433ae6cd2027078e7779cec79185ba2 SHA512 b361ff3fe9545bb59a7e85f179a094d58219be35d20cef83db02672d0a9a58fccfda62fbe8c2bf64250c4043b8517cbc2091380611c5f1e63bfac9ca7c4e47b0
@ -17,3 +18,4 @@ DIST python-gentoo-patches-3.8.1-r2.tar.xz 10108 BLAKE2B 02d3e2ae95b5cfa67c0ba4f
DIST python-gentoo-patches-3.8.2-r1.tar.xz 16112 BLAKE2B 9ae197a56bbd96afa11c4312c68ac030138773df22dedc3a3e6fb9e81b366d6522fb2c147946eb604a87d749cbea7e5e5eed8ae0e737294c0949a8c2791dd327 SHA512 00f31c3b7227dd443f05234fbb7744338ce687e1ea4d236a6b1d386d76082acb34259f59442018c9ace54e0004dea9ac822ae2a4470159b83d00112e258baff0
DIST python-gentoo-patches-3.8.3.tar.xz 10704 BLAKE2B 6fdd13139b1132313153af2de774abeca7c1fe9acb34a87e5d96875a4cbe8c22c201acbb11c15eeaf828493c32f6acd89e3b5d4012fa2c9d216da556aadb9f01 SHA512 6f67d77e8240983c0dd749620e5df81df5816b831032e190c82c8d73ea8a995daf2631640234a1350e483bd13276466457d110176612bfde3281d1b6a8bf97bb
DIST python-gentoo-patches-3.9.0_alpha6.tar.xz 8916 BLAKE2B ca611dd96e6fca625def6affeb35daa1c869ffa3b84bd13d5cc2dff7ffe4e0aaf4a76b3ed35d4520fe64f1905a644ecc2dcd80259f88264adeff926d728df76e SHA512 b3cd6619d998db8c828fc05eeba74d644ead60d34c279943725ea94ee9e5d45a07d481af62b8589336c55bb8baa23d6559aa57a73d11bf2364b6e9b839e0a4be
DIST python-gentoo-patches-3.9.0b3.tar.xz 8592 BLAKE2B 261dc9a5c7b370eb3f693f5bfb15562a5ee8b24b038db1b16571f096ff0d451ef8830c7f51db53366ebcf6e378dfab57e186f1789dc3ecc95e65595708f4428e SHA512 4c630b1b15e752ae154bfc9d0f5c8a17ac02127f96ccf114469bb92d02fe7d2ac13acd2415bfe6af0169c823b4aec09e2d6886c031df8e8c809ccb94efa60b62

@ -0,0 +1,323 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic pax-utils python-utils-r1 \
toolchain-funcs
MY_P="Python-${PV/_beta/b}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-3.9.0b3"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="app-arch/bzip2:=
app-arch/xz-utils:=
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? (
!libressl? ( dev-libs/openssl:= )
libressl? ( dev-libs/libressl:= )
)
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )"
# bluetooth requires headers from bluez
DEPEND="${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
virtual/pkgconfig
!sys-devel/gcc[libffi(-)]"
RDEPEND+=" !build? ( app-misc/mime-types )"
PDEPEND=">=app-eselect/eselect-python-20140125-r1"
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -fr Modules/expat || die
rm -fr Modules/_ctypes/libffi* || die
rm -fr Modules/zlib || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
if [[ "$(gcc-major-version)" -ge 4 ]]; then
append-flags -fwrapv
fi
filter-flags -malign-double
# https://bugs.gentoo.org/show_bug.cgi?id=50309
if is-flagq -O3; then
is-flagq -fstack-protector-all && replace-flags -O3 -O2
use hardened && replace-flags -O3 -O2
fi
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
tc-export CXX
# Set LDFLAGS so we link modules with -lpython3.2 correctly.
# Needed on FreeBSD unless Python 3.2 is already installed.
# Please query BSD team before removing this!
append-ldflags "-L."
# Fix implicit declarations on cross and prefix builds. Bug #674070.
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
$(use_enable ipv6)
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
)
OPT="" econf "${myeconfargs[@]}"
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax_kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# Skip failing tests.
local skipped_tests="gdb"
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local result=$?
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
elog "and run the tests separately."
if [[ ${result} -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
sed \
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
-e "s/\(PY_LDFLAGS=\).*/\1/" \
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax_kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
local -x EPYTHON=python${PYVER}
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
local -x PYTHON=./python
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
else
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
fi
echo "EPYTHON='${EPYTHON}'" > epython.py || die
python_domodule epython.py
# python-exec wrapping support
local pymajor=${PYVER%.*}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" \
"${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" \
"${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" \
"${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" \
"${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" \
"${scriptdir}/idle" || die
fi
}

Binary file not shown.

@ -1 +1,2 @@
DIST c-blosc-1.11.2.tar.gz 633280 BLAKE2B 426de12ffa0db784fc26316e5758836517f3b3498111cfea64ebd2bc4582ebc6236f64845d41e75db272d3741ab8a7f22a12e0847fb7c98ba10a3ae2c2906e22 SHA512 c1282f60f4ef9d24844be225587e7f46c43ba8a5071f5ee49a7326bce9e84b65312c4f9606e78fd3d1209a4ca50f1c31312a7c377caf9522c9915177c92a4d7b
DIST c-blosc-1.19.0.tar.gz 875356 BLAKE2B 046134e10fec639f1271d9c7cc15dcd239f9f0875f7ad324144338072e6fa006612f7d154ccde11a5dd7ee60471380aab4a60ae332cf1de4a7b773ae354c494a SHA512 15bc009f8880630c531ccd36544869d59b69d21f10c08eebf3c2983d203697429649a1b56b044e28342ec620c6f5850ee9da783005ce83f23e783f091289498c

@ -0,0 +1,50 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake
DESCRIPTION="Blocking, shuffling and lossless compression library"
HOMEPAGE="https://www.blosc.org/"
SRC_URI="https://github.com/Blosc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0/1"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="+lz4 +snappy test zlib zstd"
RESTRICT="!test? ( test )"
RDEPEND="
lz4? ( >=app-arch/lz4-1.7.5:= )
snappy? ( app-arch/snappy )
zlib? ( sys-libs/zlib )
zstd? ( app-arch/zstd )"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-xgetbv.patch
)
src_prepare() {
cmake_src_prepare
# remove bundled libs
rm -rf internal-complibs || die
}
src_configure() {
local mycmakeargs=(
-DBUILD_STATIC=OFF
-DBUILD_TESTS=$(usex test)
-DBUILD_BENCHMARKS=OFF
-DDEACTIVATE_LZ4=$(usex !lz4)
-DDEACTIVATE_SNAPPY=$(usex !snappy)
-DDEACTIVATE_ZLIB=$(usex !zlib)
-DDEACTIVATE_ZSTD=$(usex !zstd)
-DPREFER_EXTERNAL_LZ4=ON
# snappy is always external
-DPREFER_EXTERNAL_ZLIB=ON
-DPREFER_EXTERNAL_ZSTD=ON
)
cmake_src_configure
}

@ -0,0 +1,33 @@
From 14d2d561795c276fc33c8cb54781dff76b398906 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Wed, 10 Jun 2020 12:13:39 +0200
Subject: [PATCH] Redefine blosc_internal_xgetbv for platforms with immintrin.h
Commit 2f2d876 renamed _xgetbv to blosc_internal_xgetbv. Commit 0b8608b
made it conditional to immintrin.h not being included, apparently
in order to prevent _xgetbv collision. However, since the block
no longer defined _xgetbv but blosc_internal_xgetbv, it means that
the latter is not defined if the condition is false. #define it to
_xgetbv to fix missing symbol.
---
blosc/shuffle.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/blosc/shuffle.c b/blosc/shuffle.c
index fc2ca64..7a03bf1 100644
--- a/blosc/shuffle.c
+++ b/blosc/shuffle.c
@@ -195,6 +195,10 @@ blosc_internal_xgetbv(uint32_t xcr) {
return ((uint64_t)edx << 32) | eax;
}
+#else
+
+#define blosc_internal_xgetbv _xgetbv
+
#endif // !(defined(_IMMINTRIN_H_INCLUDED) && (BLOSC_GCC_VERSION >= 900))
#endif /* defined(_MSC_FULL_VER) */
--
2.27.0

@ -5,6 +5,10 @@
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
<longdescription lang="en">
Blosc is a compression library designed to transmit data to the
processor cache faster than the traditional non-compressed memory fetch.

@ -80,6 +80,7 @@ multilib_src_configure() {
# and without TEXTRELs. musl does not support TEXTRELs: bug #707332
tc-export CC
ECONF_SOURCE="${S}" econf \
CC_FOR_BUILD="$(tc-getBUILD_CC)" \
--localstatedir="${EPREFIX}"/var/state/gmp \
--enable-shared \
$(use_enable asm assembly) \

@ -1 +1,2 @@
DIST hyperscan-5.2.1.tar.gz 1818935 BLAKE2B 8b073c946b970867221043b88f36203a0bfa3f2b94002ce2e46f0aa5c616d3e09f19a750510bd88ed30d0aa4324c0d0f04d6a816775b4bed2c246bbc1548b2f0 SHA512 e6ac2aef1f3efa1535c00d73fa590ea62fff4686c4ad3ee023d2e72c51896ca4616ec1b85d7c6f88ac7b42d92c3557b9c4bb3b51cfb796e20a79d53b28e53b6c
DIST hyperscan-5.3.0.tar.gz 1824077 BLAKE2B 6d1c8ac8df32e8e4ac09f51ad292e566c2af2b7de9fb1f0bf99b233b9647b527ea115b6bdace5533927bc7a0eace626921b391ad3e78d62fe54636ae13b9f26e SHA512 a4d85ffd2264e8e6745340ba51431361775a1e7a2da78edd31f6f53552ac61fdef718710ae53a254b7d5000f9ec1aafe7a48d9c55e76f5c6822486150bbc6c56

@ -0,0 +1,20 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 83197af..297a3b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -187,9 +187,9 @@ else()
set (EXEC_ARGS ${CC_ARG1} -c -Q --help=target -march=native -mtune=native)
execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS}
OUTPUT_VARIABLE _GCC_OUTPUT)
- string(FIND "${_GCC_OUTPUT}" "Known" POS)
- string(SUBSTRING "${_GCC_OUTPUT}" 0 ${POS} _GCC_OUTPUT)
- string(REGEX REPLACE ".*march=[ \t]*([^ \n]*)[ \n].*" "\\1"
+ string(FIND "${_GCC_OUTPUT}" "march" POS)
+ string(SUBSTRING "${_GCC_OUTPUT}" ${POS} -1 _GCC_OUTPUT)
+ string(REGEX REPLACE "march=[ \t]*([^ \n]*)[ \n].*" "\\1"
GNUCC_ARCH "${_GCC_OUTPUT}")
# test the parsed flag
--
2.26.2

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6..8} )
PYTHON_COMPAT=( python3_{6..9} )
inherit cmake flag-o-matic python-any-r1
@ -14,7 +14,7 @@ HOMEPAGE="https://www.hyperscan.io/ https://github.com/intel/hyperscan"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+cpu_flags_x86_ssse3 static-libs"
IUSE="cpu_flags_x86_avx2 +cpu_flags_x86_ssse3 static-libs"
RDEPEND="dev-libs/boost"
DEPEND="${RDEPEND}"
@ -25,16 +25,29 @@ BDEPEND="
REQUIRED_USE="cpu_flags_x86_ssse3"
PATCHES=(
"${FILESDIR}/${P}-locales.patch"
)
src_prepare() {
# Respect user -O flags
sed -i '/set(OPT_CX*_FLAG/d' CMakeLists.txt || die
# upstream workaround
append-cxxflags -Wno-redundant-move
cmake_src_prepare
}
src_configure() {
CMAKE_BUILD_TYPE=Release
use cpu_flags_x86_ssse3 && append-flags -mssse3
use cpu_flags_x86_avx2 && append-flags -mavx2
local mycmakeargs=(
-DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
-DBUILD_STATIC_AND_SHARED=$(usex static-libs ON OFF)
-DFAT_RUNTIME=false
)
cmake_src_configure
}

@ -0,0 +1,53 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
inherit cmake flag-o-matic python-any-r1
DESCRIPTION="High-performance regular expression matching library"
SRC_URI="https://github.com/intel/hyperscan/archive/v${PV}.tar.gz -> ${P}.tar.gz"
HOMEPAGE="https://www.hyperscan.io/ https://github.com/intel/hyperscan"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="cpu_flags_x86_avx2 +cpu_flags_x86_ssse3 static-libs"
RDEPEND="dev-libs/boost"
DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
dev-util/ragel
"
REQUIRED_USE="cpu_flags_x86_ssse3"
src_prepare() {
# Respect user -O flags
sed -i '/set(OPT_CX*_FLAG/d' CMakeLists.txt || die
# upstream workaround
append-cxxflags -Wno-redundant-move
cmake_src_prepare
}
src_configure() {
CMAKE_BUILD_TYPE=Release
use cpu_flags_x86_ssse3 && append-flags -mssse3
use cpu_flags_x86_avx2 && append-flags -mavx2
local mycmakeargs=(
-DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
-DBUILD_STATIC_AND_SHARED=$(usex static-libs ON OFF)
-DFAT_RUNTIME=false
)
cmake_src_configure
}
src_test() {
"${BUILD_DIR}"/bin/unit-hyperscan || die
}

@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3 LGPL-2.1"
SLOT="0/6" # subslot = libtasn1 soname version
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc static-libs test valgrind"
RESTRICT="!test? ( test )"

@ -15,7 +15,7 @@ SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/$
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 s390 sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="cacert utils"
# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
RDEPEND="

@ -11,7 +11,7 @@ SRC_URI="http://bugseng.com/products/ppl/download/ftp/releases/${PV}/${P}.tar.xz
LICENSE="GPL-3"
SLOT="0/4.14" # SONAMEs
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~sparc-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~sparc-solaris"
IUSE="cdd +cxx doc lpsol pch static-libs test"
RDEPEND=">=dev-libs/gmp-6[cxx]

@ -1,2 +1 @@
DIST serd-0.28.0.tar.bz2 371592 BLAKE2B 143e858b5947cd52d01341ec7ff5fb36f98aefceda4e748b2a999c2e6d2c972b2f5d30053d8538f04f236597da93a595d0fabbfa4c667397e27d4c897458d1ee SHA512 b25cc70af17ff821812ab2a70c2812c1713ff811a0f18fb5d5c54f3b67e0c68293aabedfacd687afe6b7acdfd81602ef81764d7e11bc0d933de738bc6d4fce3e
DIST serd-0.30.2.tar.bz2 590337 BLAKE2B 7b47f4f9940d9d2d37772c034c3f15801fff2bc8a058d30b40891ae900bdee3a631803e25505230a853e4beb083be4c854c627074eb89c0b23781da42fbde2d5 SHA512 b1e18ac883aac2a8146ee0e1de553ac2b512deba5307e5c9fa2733d9011ed0777d67790aa6527e73b3f11c9da0d8c9a98227457bb412897296f4464228cac0f7

@ -1,53 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
PYTHON_REQ_USE='threads(+)'
inherit python-any-r1 waf-utils multilib-build multilib-minimal
DESCRIPTION="Library for RDF syntax which supports reading and writing Turtle and NTriples"
HOMEPAGE="http://drobilla.net/software/serd/"
SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
RDEPEND=""
DEPEND="${RDEPEND}
${PYTHON_DEPS}
doc? ( app-doc/doxygen )"
DOCS=( "AUTHORS" "NEWS" "README.md" )
src_prepare() {
sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
default
multilib_copy_sources
}
multilib_src_configure() {
waf-utils_src_configure \
--docdir=/usr/share/doc/${PF} \
$(multilib_native_usex doc --docs "") \
$(usex test --test "") \
$(usex static-libs --static "")
}
multilib_src_test() {
./waf test || die
}
multilib_src_compile() {
waf-utils_src_compile
default
}
multilib_src_install() {
waf-utils_src_install
default
}

@ -1,2 +1 @@
DIST sord-0.16.0.tar.bz2 316331 BLAKE2B 27702600e48e14c75be18cc2b83705cdea1eed7158223ee685821ae80b18b61f5db82f804ee6a32236143cf8287ee875c3b3354edc6ccd1d4f25eaa3a04c785b SHA512 e18c6de62f2cbffedd4c200f6452f4fd37f719aed764ccc1b77c8da04a0f3394d47e8b57e19eefd6d600770926f505fdfa5da91564bbff5f4ead49f1adaba249
DIST sord-0.16.4.tar.bz2 510920 BLAKE2B e52b659e8070dc63188225741d1bfa31480214e47b53b4834dd0bccc5dcd688b93fc65c894b25540d89dbb20b04d8fd1952dcc65999c2ae7b650065c80b387dc SHA512 98bb102cff5ab38d999c2f966597508076ccce54583a739810b0c28b4f3d570b2ef414605fc08361ecb11ac3184d3176f2f50c7c59c06cc50c3d522e26ed5576

@ -1,54 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
PYTHON_REQ_USE='threads(+)'
inherit python-any-r1 waf-utils multilib-build multilib-minimal
DESCRIPTION="Library for storing RDF data in memory"
HOMEPAGE="http://drobilla.net/software/sord/"
SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
RDEPEND=">=dev-libs/serd-0.28.0-r1"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
doc? ( app-doc/doxygen )
virtual/pkgconfig"
DOCS=( "AUTHORS" "NEWS" "README" )
src_prepare() {
sed -i -e 's/^.*run_ldconfig/#\0/' wscript || die
default
multilib_copy_sources
}
multilib_src_configure() {
waf-utils_src_configure \
--docdir=/usr/share/doc/${PF} \
$(multilib_native_usex doc --docs "") \
$(usex test --test "") \
$(usex static-libs --static "")
}
multilib_src_test() {
./waf test || die
}
multilib_src_compile() {
waf-utils_src_compile
default
}
multilib_src_install() {
waf-utils_src_install
default
}

@ -1,3 +1,4 @@
DIST xapian-bindings-1.2.25.tar.xz 1711860 BLAKE2B 66367dbc503333c4f59da8bb5bd4885fe9678aace45365573bac8e0e8e2c712795af2021ff52de9eeabb91f65a2f0447d1963424b1ae6558be95b737d1279e98 SHA512 5d27b2ae2722409ea99a1b9e6bf3f5c61ed9195b67121c090f1533340d3b11c546014985d0989a0725b60a07b392b9705bce054495f423bd3a7c99835aa336c7
DIST xapian-bindings-1.4.14.tar.xz 1132008 BLAKE2B 3057f8f98cfd11e82555df4b554ad1ffed793ea92bf0f077ef4a495d09250da47116d76ded0deb07621f3b14ddd7f653aa0bb19add01d88fe077e637bee21ec4 SHA512 6d35c6c011c6d841254934f4dd59f4a2b842fe826af108e526cde9acbccec67b43517974331b21cbee5e828d0743aa5b9b973a96e1940065fbcfc342b8f23ead
DIST xapian-bindings-1.4.15.tar.xz 1132248 BLAKE2B ba9f60263881ca558f9d3deab09bd07271e6f54e06a13d09bcb59bfaf9a637e959b3a62a9e9db0724ae2262e605fc3fd2160559d53702b2af5012f47177ea66a SHA512 dec8a0431c9070fc70d79b67bddc2e0adb10ef5366c4b9d7a135365ea6c6680d2e7682dbfd60c29eca51da48eaa0715509e30b13d5482d5a38bfd0d0156c43f9
DIST xapian-bindings-1.4.16.tar.xz 1133900 BLAKE2B cea310cea777f665feac3b0cac7189da66e596d245af0a3a6cc40d01e6b9862bae2b61d5b21e7d742c1e0eb1424603a47c44a4fab9d17125820ab793360a85f9 SHA512 afdc4379c8dc8381813eefcaf761ea560a23ba6718a54c61874c0d29786b9f49dd548ed3854fee38689c273acebb4637833b8cf5c75d0c2ed05df83384e59113

@ -6,7 +6,7 @@ EAPI="7"
PYTHON_COMPAT=( python{2_7,3_6,3_7,3_8} )
PYTHON_REQ_USE="threads(+)"
USE_PHP="php7-1 php7-2 php7-3 php7-4"
USE_PHP="php7-2 php7-3 php7-4"
PHP_EXT_NAME="xapian"
PHP_EXT_INI="yes"

@ -6,7 +6,7 @@ EAPI="7"
PYTHON_COMPAT=( python{2_7,3_6,3_7,3_8} )
PYTHON_REQ_USE="threads(+)"
USE_PHP="php7-1 php7-2 php7-3 php7-4"
USE_PHP="php7-2 php7-3 php7-4"
PHP_EXT_NAME="xapian"
PHP_EXT_INI="yes"

@ -0,0 +1,306 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python{2_7,3_6,3_7,3_8} )
PYTHON_REQ_USE="threads(+)"
USE_PHP="php7-2 php7-3 php7-4"
PHP_EXT_NAME="xapian"
PHP_EXT_INI="yes"
PHP_EXT_OPTIONAL_USE="php"
USE_RUBY="ruby24 ruby25 ruby26"
RUBY_OPTIONAL="yes"
inherit java-pkg-opt-2 mono-env multibuild php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
DESCRIPTION="SWIG and JNI bindings for Xapian"
HOMEPAGE="https://www.xapian.org/"
SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="java lua mono perl php python ruby tcl"
REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )
python? ( ${PYTHON_REQUIRED_USE} )
ruby? ( || ( $(ruby_get_use_targets) ) )"
COMMONDEPEND=">=dev-libs/xapian-1.4.15
lua? ( dev-lang/lua:= )
perl? ( dev-lang/perl:= )
php? ( dev-lang/php:=[-threads] )
python? (
dev-python/sphinx[${PYTHON_USEDEP}]
${PYTHON_DEPS}
)
ruby? ( $(ruby_implementations_depend) )
tcl? ( dev-lang/tcl:= )
mono? ( dev-lang/mono )"
DEPEND="${COMMONDEPEND}
virtual/pkgconfig
java? ( >=virtual/jdk-1.6 )"
RDEPEND="${COMMONDEPEND}
java? ( >=virtual/jre-1.6 )"
S="${WORKDIR}/${P}"
has_basic_bindings() {
# Update this list if new bindings are added that are not built
# multiple times for multiple versions like php, python and ruby are
return $(use mono || use java || use lua || use perl || use tcl)
}
php_copy_sources() {
local MULTIBUILD_VARIANTS=($(php_get_slots))
multibuild_copy_sources
}
php_foreach_impl() {
local MULTIBUILD_VARIANTS=($(php_get_slots))
multibuild_foreach_variant "$@"
}
ruby_copy_sources() {
local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
multibuild_copy_sources
}
ruby_foreach_impl() {
local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
multibuild_foreach_variant "$@"
}
pkg_setup() {
use mono && mono-env_pkg_setup
use java && java-pkg-opt-2_pkg_setup
}
src_unpack() {
default
if use php; then
local php_slot
for php_slot in $(php_get_slots); do
# Unfortunately required for php-ext-source-r3_createinifiles().
mkdir "${WORKDIR}/${php_slot}"
done
fi
}
src_prepare() {
use java && java-pkg-opt-2_src_prepare
# https://trac.xapian.org/ticket/702
export XAPIAN_CONFIG="/usr/bin/xapian-config"
if use php; then
php_copy_sources
fi
if use python; then
python_copy_sources
fi
if use ruby; then
ruby_copy_sources
fi
eapply_user
}
src_configure() {
if has_basic_bindings ; then
local conf=(
--disable-documentation
$(use_with mono csharp)
$(use_with java)
$(use_with lua)
$(use_with perl)
$(use_with tcl)
--without-php
--without-php7
--without-python
--without-python3
--without-ruby
)
if use java; then
local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
fi
if use perl; then
local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
fi
if use lua; then
local -x LUA_INC="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_INC lua)"
local -x LUA_LIB="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_CMOD lua)"
fi
econf "${conf[@]}"
fi
php_configure() {
local myconf=(
--disable-documentation
--without-java
--without-lua
--without-csharp
--without-perl
--without-python
--without-python3
--without-ruby
--without-tcl
)
if [[ ${MULTIBUILD_VARIANT} == php5.* ]]; then
myconf+=(
--with-php
--without-php7
)
local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
elif [[ ${MULTIBUILD_VARIANT} == php7.* ]]; then
myconf+=(
--without-php
--with-php7
)
local -x PHP_CONFIG7="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
fi
econf "${myconf[@]}"
}
if use php; then
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
php_foreach_impl run_in_build_dir php_configure
fi
python_configure() {
local myconf=(
--disable-documentation
--without-java
--without-lua
--without-csharp
--without-perl
--without-php
--without-php7
--without-ruby
--without-tcl
)
if python_is_python3; then
myconf+=( --with-python3 )
else
myconf+=( --with-python )
fi
# Avoid sandbox failures when compiling modules
addpredict "$(python_get_sitedir)"
econf "${myconf[@]}"
}
if use python; then
python_foreach_impl run_in_build_dir python_configure
fi
ruby_configure() {
local myconf=(
--disable-documentation
--without-java
--without-lua
--without-csharp
--without-perl
--without-php
--without-php7
--without-python
--without-python3
--with-ruby
--without-tcl
)
local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
econf "${myconf[@]}"
}
if use ruby; then
ruby_foreach_impl run_in_build_dir ruby_configure
fi
}
src_compile() {
if has_basic_bindings ; then
default
fi
if use php; then
php_foreach_impl run_in_build_dir emake
fi
if use python; then
unset PYTHONDONTWRITEBYTECODE
python_foreach_impl run_in_build_dir emake
fi
if use ruby; then
ruby_foreach_impl run_in_build_dir emake
fi
}
src_test() {
if has_basic_bindings ; then
default
fi
if use php; then
php_foreach_impl run_in_build_dir emake check
fi
if use python; then
python_foreach_impl run_in_build_dir emake check
fi
if use ruby; then
ruby_foreach_impl run_in_build_dir emake check
fi
}
src_install() {
if has_basic_bindings ; then
emake DESTDIR="${D}" install
fi
if use java; then
java-pkg_dojar java/built/xapian.jar
# TODO: make the build system not install this...
java-pkg_doso java/.libs/libxapian_jni.so
rm -rf "${D}var" || die "could not remove java cruft!"
fi
if use php; then
php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
php-ext-source-r3_createinifiles
# php-ext-source-r3_createinifiles() changes current directory.
cd "${S}"
fi
if use python; then
python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
fi
if use ruby; then
ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
fi
# For some USE combinations this directory is not created
if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}" || die
fi
dodoc AUTHORS HACKING NEWS TODO README
}

@ -1,3 +1,4 @@
DIST xapian-core-1.2.25.tar.xz 3253292 BLAKE2B a130e26188c949d0433d017e8d13e7ecf6241a232d00125699ba8ed63eab9cb1651e02182fcc152f960f4e122709958632779daaaf5760fe50953a3b5b07a243 SHA512 a15b5d9b5770337519f671732f53f0642b31f08206824500d589ba309c9e91a05a30353d66ebf70a4c1cb1824b44e1c7b7630e799de3b15d645cf951a6017bfe
DIST xapian-core-1.4.14.tar.xz 2970624 BLAKE2B 5bfa5ab36ad4626fcc9a214427f88bdf55e60166939db3a65d3118b426b0ec6754efc10dbcf32456e033292eba3b29f7500679f69a49df15d40c4111322249ed SHA512 c08c9abe87e08491566b7cfa8cda9e2a80e4959a647428b6d82bce7af1c967b4cb463607ffb8976372a980c163923ced36117a66e0b5a1f35659393def3d371b
DIST xapian-core-1.4.15.tar.xz 2988752 BLAKE2B d68d69cdc55c1b62a746620fc90f028819813bb98c0ad0cc130c399a4dd62231b920d24363b61e58d002f65a79a117598455779028de1b26b7a808367f5f2de4 SHA512 f28209acae12a42a345382668f7f7da7a2ce5a08362d0e2af63c9f94cb2adca95366499a7afa0bd9008fbfcca4fd1f2c9221e594fc2a2c740f5899e9f03ecad3
DIST xapian-core-1.4.16.tar.xz 3041132 BLAKE2B 2c009bcdec05542ceae9354e47e8ff9b971ec87d04caf8058711fd6952135620c353f2feabcd869313f55194409944bc7374ce69d626f948461963a7790c3953 SHA512 3d319ab672485e840019ee28b54b1c59bbd535c1802874f58593fb999681c19bff3e776dc19ab5d5bd97734bf01f1408f36ae49e21ca9706ca187db49f8a18a6

@ -0,0 +1,74 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit eutils multilib-minimal
MY_P="${PN}-core-${PV}"
DESCRIPTION="Xapian Probabilistic Information Retrieval library"
HOMEPAGE="https://www.xapian.org/"
SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0/30" # ABI version of libxapian.so
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-solaris"
IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +inmemory +remote"
DEPEND="sys-libs/zlib"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"
multilib_src_configure() {
local myconf=""
if use cpu_flags_x86_sse2; then
myconf="${myconf} --enable-sse=sse2"
else
if use cpu_flags_x86_sse; then
myconf="${myconf} --enable-sse=sse"
else
myconf="${myconf} --disable-sse"
fi
fi
myconf="${myconf} $(use_enable static-libs static)"
use inmemory || myconf="${myconf} --disable-backend-inmemory"
use remote || myconf="${myconf} --disable-backend-remote"
myconf="${myconf} --enable-backend-glass --enable-backend-chert --program-suffix="
ECONF_SOURCE=${S} econf $myconf
}
MULTILIB_WRAPPED_HEADERS=(
/usr/include/xapian/postingsource.h
/usr/include/xapian/attributes.h
/usr/include/xapian/valuesetmatchdecider.h
/usr/include/xapian/version.h
/usr/include/xapian/version.h
/usr/include/xapian/types.h
/usr/include/xapian/positioniterator.h
/usr/include/xapian/registry.h
)
multilib_src_test() {
emake check VALGRIND=
}
multilib_src_install() {
emake DESTDIR="${D}" install
}
multilib_src_install_all() {
if use doc; then
rm -rf "${D}/usr/share/doc/xapian-core-${PV}" || die
fi
dodoc AUTHORS HACKING PLATFORMS README NEWS
find "${D}" -name "*.la" -type f -delete || die
}

Binary file not shown.

@ -1,7 +1,2 @@
DIST PHPMailer-5.2.27.tar.gz 159227 BLAKE2B e5ff2dd62cb12396bee58f0dce2fec3148dcf425cd91d69b76659ded7c38d8d5dea4830649dbeaa4732e098deecfe7ee77e338497b080997a44fbcf28d0833c7 SHA512 5a466133feec323d3739b9a1bde36731f5e65ecf61aa3f2fa6cc4ed0bd6f9280f8e2a17b6b7ac481846509ba3e8b0b97062f0dbbd644ccec3884b7a03f489a1b
DIST PHPMailer-5.2.28.tar.gz 159284 BLAKE2B 866a38c60ac55cbd8aefec5ad82211575e672578ddff1af435e676c7058b0a090884f3e5f2c1e6f30c94b01e393f982f644e578ea22c931ffb8a93be717e379b SHA512 c2dd762b8958d1dc68fec52d7daae7337e05cadcbcf9e67c27247c808877cf3132e80cf6d4c9c577f8ad9203e433282e45f2166bccce025bcc4477724eb7036f
DIST PHPMailer-6.0.7.tar.gz 91706 BLAKE2B 1d3d22dea463040840c1259cfbdbcf2da59cd31e915ea8a73bb9981844e9ae6e32ca1e9a40a576fedcd8c0a049f92f9b5422040e12dcc66b2c555dbd36126c67 SHA512 0d00ff177fc82c3cc54ed04cfd333739c9346f89dba1ccb8bdcccc01abd3de4c55c96dbd51cc0f4cc76d6690acd22c6bb4f632dcfb785ec1d0a32a8751ddf6e9
DIST PHPMailer-6.1.2.tar.gz 93635 BLAKE2B f8a12415a0e24697c84de06782f78a1cc37785ad0a1764dfd53470ca1ac5a8d4dffc418794b7627d2702b16f68ea83a93b362b7659a95e0c0a84e1a9b66b7b9b SHA512 3192f77f7d0158f30c7ea4484c86c279e0563e629702901f66901003c384101c57f7482feb14fc61927afaae8adea5d8fc34bd07c7058f68f6144303ce235fd5
DIST PHPMailer-6.1.3.tar.gz 93690 BLAKE2B 08f653520a2b7819470cbb5cf1f43480cdcab51fe452f4831df47269f4223cfeb7016e41e8de75c11b15a04fa278fe08439f3c022af9088a5c8f5e4259ae7ebb SHA512 195155e49b29740422e75d7dbcf082cf8b26c87dad7b5473b9d55267e31af3847cb65a1c79f73225fa79080428d8c7516f5cd4d083824fa42f3b22a3bec8c34e
DIST PHPMailer-6.1.4.tar.gz 93915 BLAKE2B 9f4ec584c57d70c4cbbc33c4ba85469579a00ebbf4aa4680b6f965ad37339b923386e371c01b673bca8c0de6f6ed123b6a1456541b1c472c6f0c93592c7c9e96 SHA512 f13cb959d89c64392ecff4cceaa650c80310f854aaff1c09144727aeb7f50c7ebeaaf7a2be488fa796b5acd1c42c4d13204b0410bc579d2e6aec98feee3b21ef
DIST PHPMailer-6.1.5.tar.gz 94435 BLAKE2B 8c4f515af8260d20524636be6c89a3d6a8824691037d956141a2822163d1e59676c0dcf96683b0e4434e94ffb3f57235afc758840920156a7aa664290ad04b65 SHA512 a741dd4fa585619892cc1d8b4ce35fee7c1f5f44d946b368e1a363eff77e5afe1553ac295db49c6110131561c1124b1dc184c9a405fb1652e7aeab9d7b0323a8
DIST PHPMailer-6.1.6.tar.gz 94769 BLAKE2B 6689f4429c0847de41016325553d58d544f78d5f8a94d9014841435a3cf161e4e10b14fe2cbb61c737bf75d87f2dc4cde66885c06a0b6992a472f0f46fe5dd6b SHA512 25530e6c5513e89729a5b253565143a5a9a35ee5f7813637eee18ca1d604cb83625f7beb106e56536f681d7ec4332fcd3cddcac5da7c73f730db1b056ba5b2e4

@ -1,64 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
DESCRIPTION="Full-featured email creation and transfer class for PHP"
HOMEPAGE="https://github.com/PHPMailer/PHPMailer"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc examples idn ssl"
# The ctype and filter extensions get used unconditionally, with no
# fallback and no "extension missing" exception. All of the other
# extensions are technically optional, depending on how you use
# PHPMailer and whether or not you're willing to settle for fallback
# implementations.
#
# The insane dependency string is to prevent the ctype and filter
# extensions from being provided by one version (i.e. slot) of PHP,
# while intl and unicode are provided by another.
RDEPEND="
ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,ssl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter,ssl] )
)
!ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter] )
)"
DEPEND="${RDEPEND}
doc? ( dev-php/phpDocumentor )"
src_compile() {
if use doc; then
phpdoc --filename="class.*.php" \
--target="./html" \
--cache-folder="${T}" \
--title="${PN}" \
--sourcecode \
--force \
--progressbar \
|| die "failed to generate API documentation"
fi
}
src_install() {
# To help out the Composer kids, most of the documentation and
# tests are missing from the release tarballs.
insinto "/usr/share/php/${PN}"
doins -r *.php language extras
use examples && dodoc -r examples
use doc && dodoc -r html/*
}
pkg_postinst() {
elog "${PN} has been installed in /usr/share/php/${PN}/."
elog "To use it in a script, require('${PN}/${PN}Autoload.php'),"
elog "and then use the ${PN} class normally. Most of the examples in"
elog "the documentation should work without further modification."
}

@ -1,73 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Full-featured email creation and transfer class for PHP"
HOMEPAGE="https://github.com/PHPMailer/PHPMailer"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# To help out the Composer children, the tests and examples are missing
# from the release tarballs.
IUSE="doc idn ssl"
# The ctype and filter extensions get used unconditionally, with no
# fallback and no "extension missing" exception. All of the other
# extensions are technically optional, depending on how you use
# PHPMailer and whether or not you're willing to settle for fallback
# implementations.
#
# The insane dependency string is to prevent the ctype and filter
# extensions from being provided by one version (i.e. slot) of PHP,
# while intl and unicode are provided by another.
RDEPEND="
ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,ssl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter,ssl] )
)
!ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter] )
)"
BDEPEND="doc? ( dev-php/phpDocumentor )"
src_prepare() {
# OAuth.php relies on a (now non-nonexistent) autoloader. We remove
# it early so that we don't generate documentation for it later on.
rm src/OAuth.php || die 'failed to remove src/OAuth.php'
eapply_user
}
src_compile() {
if use doc; then
phpdoc --filename="src/*.php" \
--target="./html" \
--cache-folder="${T}" \
--title="${PN}" \
--sourcecode \
--force \
--progressbar \
|| die "failed to generate API documentation"
fi
}
src_install() {
# The PHPMailer class loads its language files
# using a relative path, so we need to keep the "src" here.
insinto "/usr/share/php/${PN}"
doins -r language src
dodoc README.md SECURITY.md
use doc && dodoc -r html/*
}
pkg_postinst() {
elog "${PN} has been installed in /usr/share/php/${PN}/."
elog "Upstream no longer provides an autoloader, so you will need"
elog "to include each source file (for example: PHPMailer.php,"
elog "Exception.php,...) that you need."
}

@ -1,73 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Full-featured email creation and transfer class for PHP"
HOMEPAGE="https://github.com/PHPMailer/PHPMailer"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# To help out the Composer children, the tests and examples are missing
# from the release tarballs.
IUSE="doc idn ssl"
# The ctype and filter extensions get used unconditionally, with no
# fallback and no "extension missing" exception. All of the other
# extensions are technically optional, depending on how you use
# PHPMailer and whether or not you're willing to settle for fallback
# implementations.
#
# The insane dependency string is to prevent the ctype and filter
# extensions from being provided by one version (i.e. slot) of PHP,
# while intl and unicode are provided by another.
RDEPEND="
ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,ssl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter,ssl] )
)
!ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter] )
)"
BDEPEND="doc? ( dev-php/phpDocumentor )"
src_prepare() {
# OAuth.php relies on a (now non-nonexistent) autoloader. We remove
# it early so that we don't generate documentation for it later on.
rm src/OAuth.php || die 'failed to remove src/OAuth.php'
eapply_user
}
src_compile() {
if use doc; then
phpdoc --filename="src/*.php" \
--target="./html" \
--cache-folder="${T}" \
--title="${PN}" \
--sourcecode \
--force \
--progressbar \
|| die "failed to generate API documentation"
fi
}
src_install() {
# The PHPMailer class loads its language files
# using a relative path, so we need to keep the "src" here.
insinto "/usr/share/php/${PN}"
doins -r language src
dodoc README.md SECURITY.md
use doc && dodoc -r html/*
}
pkg_postinst() {
elog "${PN} has been installed in /usr/share/php/${PN}/."
elog "Upstream no longer provides an autoloader, so you will need"
elog "to include each source file (for example: PHPMailer.php,"
elog "Exception.php,...) that you need."
}

@ -1,73 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Full-featured email creation and transfer class for PHP"
HOMEPAGE="https://github.com/PHPMailer/PHPMailer"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# To help out the Composer children, the tests and examples are missing
# from the release tarballs.
IUSE="doc idn ssl"
# The ctype and filter extensions get used unconditionally, with no
# fallback and no "extension missing" exception. All of the other
# extensions are technically optional, depending on how you use
# PHPMailer and whether or not you're willing to settle for fallback
# implementations.
#
# The insane dependency string is to prevent the ctype and filter
# extensions from being provided by one version (i.e. slot) of PHP,
# while intl and unicode are provided by another.
RDEPEND="
ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,ssl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter,ssl] )
)
!ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter] )
)"
BDEPEND="doc? ( dev-php/phpDocumentor )"
src_prepare() {
# OAuth.php relies on a (now non-nonexistent) autoloader. We remove
# it early so that we don't generate documentation for it later on.
rm src/OAuth.php || die 'failed to remove src/OAuth.php'
eapply_user
}
src_compile() {
if use doc; then
phpdoc --filename="src/*.php" \
--target="./html" \
--cache-folder="${T}" \
--title="${PN}" \
--sourcecode \
--force \
--progressbar \
|| die "failed to generate API documentation"
fi
}
src_install() {
# The PHPMailer class loads its language files
# using a relative path, so we need to keep the "src" here.
insinto "/usr/share/php/${PN}"
doins -r language src
dodoc README.md SECURITY.md
use doc && dodoc -r html/*
}
pkg_postinst() {
elog "${PN} has been installed in /usr/share/php/${PN}/."
elog "Upstream no longer provides an autoloader, so you will need"
elog "to include each source file (for example: PHPMailer.php,"
elog "Exception.php,...) that you need."
}

@ -1,73 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Full-featured email creation and transfer class for PHP"
HOMEPAGE="https://github.com/PHPMailer/PHPMailer"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# To help out the Composer children, the tests and examples are missing
# from the release tarballs.
IUSE="doc idn ssl"
# The ctype and filter extensions get used unconditionally, with no
# fallback and no "extension missing" exception. All of the other
# extensions are technically optional, depending on how you use
# PHPMailer and whether or not you're willing to settle for fallback
# implementations.
#
# The insane dependency string is to prevent the ctype and filter
# extensions from being provided by one version (i.e. slot) of PHP,
# while intl and unicode are provided by another.
RDEPEND="
ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,ssl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter,ssl] )
)
!ssl? (
idn? ( dev-lang/php:*[ctype,filter,intl,unicode] )
!idn? ( dev-lang/php:*[ctype,filter] )
)"
BDEPEND="doc? ( dev-php/phpDocumentor )"
src_prepare() {
# OAuth.php relies on a (now non-nonexistent) autoloader. We remove
# it early so that we don't generate documentation for it later on.
rm src/OAuth.php || die 'failed to remove src/OAuth.php'
eapply_user
}
src_compile() {
if use doc; then
phpdoc --filename="src/*.php" \
--target="./html" \
--cache-folder="${T}" \
--title="${PN}" \
--sourcecode \
--force \
--progressbar \
|| die "failed to generate API documentation"
fi
}
src_install() {
# The PHPMailer class loads its language files
# using a relative path, so we need to keep the "src" here.
insinto "/usr/share/php/${PN}"
doins -r language src
dodoc README.md SECURITY.md
use doc && dodoc -r html/*
}
pkg_postinst() {
elog "${PN} has been installed in /usr/share/php/${PN}/."
elog "Upstream no longer provides an autoloader, so you will need"
elog "to include each source file (for example: PHPMailer.php,"
elog "Exception.php,...) that you need."
}

Binary file not shown.

@ -1,3 +1,2 @@
DIST sip-4.19.19.tar.gz 1058422 BLAKE2B 9c27e636a55699e8bf9c9caba9227e3ff9c8476dfd86d4bb8b0b53c9db95d28441d1ac03a0d20a71468d39e5f21066475018cff93b96281b3904f6a619304f92 SHA512 396c625f59ccef67c2e94221b26dd4ed5d536652a9b63a9f23b340ddf16adf34c6bdb0fbd7c0c1cc403e1d59e8ebf716b478a24bade66a2703fcc5f00b62533d
DIST sip-4.19.22.tar.gz 1050805 BLAKE2B 7382fdf74c5bb8b55bcedae74acdcb7b81ef06a64d129a9e6f11a5eb293900e37df513f1c4290f2299f49a5bd97e2a6b3c6bc32ddbf2eaf848bd5e5c5dc25edc SHA512 4d366e589945e589f69a3caf979076ef37e319ac0efdd8ec3cee4869da89e112832462215ca2e235036bacfade7efc4d530aa93e7492c283dc1b2503e08feea5
DIST sip-4.19.23.tar.gz 1053640 BLAKE2B 316c972a5cf7dd6464a418702e7d91192202330cf89a78d6ef480034ac8fc2f3f4cfedb85e6bc7d3d018bfe3d29ea767133db008dbfa521312e3aea2b96cff74 SHA512 a50c6202ebb6a5d1c98b6fc79925fa5d82236a944003854b057be9e2f7340d5cd689ba0e08f46f521736f3574c4089768c869bb8921e66b23944a31a832770f1

@ -1,94 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7,8} )
inherit python-r1 toolchain-funcs
DESCRIPTION="Private sip module for PyQt5"
HOMEPAGE="https://www.riverbankcomputing.com/software/sip/intro"
MY_PN=sip
MY_P=${MY_PN}-${PV/_pre/.dev}
if [[ ${PV} == *_pre* ]]; then
SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
else
SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz"
fi
# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h
SLOT="0/12"
LICENSE="|| ( GPL-2 GPL-3 SIP )"
KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}"
RDEPEND="${DEPEND}
!<dev-python/PyQt5-5.12.2
"
S=${WORKDIR}/${MY_P}
src_prepare() {
# Sub-slot sanity check
local sub_slot=${SLOT#*/}
local sip_api_major_nr=$(sed -nre 's:^#define SIP_API_MAJOR_NR\s+([0-9]+):\1:p' siplib/sip.h || die)
if [[ ${sub_slot} != ${sip_api_major_nr} ]]; then
eerror
eerror "Ebuild sub-slot (${sub_slot}) does not match SIP_API_MAJOR_NR (${sip_api_major_nr})"
eerror "Please update SLOT variable as follows:"
eerror " SLOT=\"${SLOT%%/*}/${sip_api_major_nr}\""
eerror
die "sub-slot sanity check failed"
fi
default
}
src_configure() {
configuration() {
if ! python_is_python3; then
local CFLAGS="${CFLAGS} -fno-strict-aliasing"
fi
local myconf=(
"${PYTHON}"
"${S}"/configure.py
--sip-module PyQt5.sip
--sysroot="${ESYSROOT}/usr"
--no-tools
AR="$(tc-getAR) cqs"
CC="$(tc-getCC)"
CFLAGS="${CFLAGS}"
CFLAGS_RELEASE=
CXX="$(tc-getCXX)"
CXXFLAGS="${CXXFLAGS}"
CXXFLAGS_RELEASE=
LINK="$(tc-getCXX)"
LINK_SHLIB="$(tc-getCXX)"
LFLAGS="${LDFLAGS}"
LFLAGS_RELEASE=
RANLIB=
STRIP=
)
echo "${myconf[@]}"
"${myconf[@]}" || die
}
python_foreach_impl run_in_build_dir configuration
}
src_compile() {
python_foreach_impl run_in_build_dir default
}
src_install() {
installation() {
emake DESTDIR="${D}" install
}
python_foreach_impl run_in_build_dir installation
einstalldocs
}

@ -1,3 +1,2 @@
DIST PyQt5-5.13.2.tar.gz 3162810 BLAKE2B 383aaa3f1f51ed618a3b6475432a96f6a8f89ad4d97197fe87469e0a69e1db79c762965adfacdf92cc43d1bb2eb5e2790f6bdb7e8b288f0feade828bf8e30090 SHA512 9a16450d8fe2a7e94e182ebb03cc785c6de516e356251753abfb79af3958230043f2db59750cde0a6f1fd6cf5568eb8b7ae76d5a3fbcfe9f7807e02867973b55
DIST PyQt5-5.14.1.tar.gz 3241571 BLAKE2B c4f6ab8b5c955186c71e0f6c1ac75fc559839c52374e8ce400c823a813c0c646ed60b5f496145114e5480bd2e4c057d52181b81d79fd01fe5dcd9e4c537118ff SHA512 10b6abb6fdac64233041b0ee91c9f25cfd2a759ec5bde239c87ca9df8176cdd4fcabf6deb8db2dd9bbd911a040d5c476744f1b55aded9c66eb8b5182f99ddc86
DIST PyQt5-5.14.2.tar.gz 3246557 BLAKE2B 0dd57da76dede97349c1af1d97cebad430dd5ae03c99b71de2e1ef1c41c1503820b0c0b1af8ddb507ffa5d6f466f7d3012db2cf625dad949dc4c962fb9e8a6a3 SHA512 56d9b2970ff50f2af0bfd889ad1226bf64087a6210cc545c5a0188352d1651343fcda9d53f04b041273f61bf31baf43af4a1854c1b580d50c28cff82f59c24ec
DIST PyQt5-5.15.0.tar.gz 3262004 BLAKE2B 6f9751bb00a8099555da89cc0df26d36906fabaf12eba60d11479152ad78805ba84d6de9c32b6212a19edb38b10c2253976a964bdcfaf18b8b8aa3656126b73f SHA512 35bcfef4d7ccfee04c1c4409d2af3d862f1e8e46d6ce743bfcfbaf43d2046bc58317824b0840f3db460ad280d1b7e896812268b36225198e916a1d9ea86823a9

@ -1,206 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7,8} )
inherit multibuild python-r1 qmake-utils
DESCRIPTION="Python bindings for the Qt framework"
HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/intro"
MY_P=${PN}-${PV/_pre/.dev}
if [[ ${PV} == *_pre* ]]; then
SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
else
SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${PN}/${PV}/${MY_P}.tar.gz"
fi
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
# TODO: QtNfc, QtRemoteObjects (Qt >= 5.12)
IUSE="bluetooth dbus debug declarative designer examples gles2-only gui help location multimedia
network networkauth opengl positioning printsupport sensors serialport sql +ssl svg
testlib webchannel webkit websockets widgets x11extras xmlpatterns"
# The requirements below were extracted from configure.py
# and from the output of 'grep -r "%Import " "${S}"/sip'
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
bluetooth? ( gui )
declarative? ( gui network )
designer? ( widgets )
help? ( gui widgets )
location? ( positioning )
multimedia? ( gui network )
networkauth? ( network )
opengl? ( gui widgets )
positioning? ( gui )
printsupport? ( gui widgets )
sensors? ( gui )
serialport? ( gui )
sql? ( widgets )
svg? ( gui widgets )
testlib? ( widgets )
webchannel? ( network )
webkit? ( gui network printsupport widgets )
websockets? ( network )
widgets? ( gui )
xmlpatterns? ( network )
"
# Minimal supported version of Qt.
QT_PV="5.10:5"
RDEPEND="
${PYTHON_DEPS}
>=dev-python/PyQt5-sip-4.19.19:=[${PYTHON_USEDEP}]
>=dev-qt/qtcore-${QT_PV}
>=dev-qt/qtxml-${QT_PV}
$(python_gen_cond_dep '
dev-python/enum34[${PYTHON_USEDEP}]
' -2)
bluetooth? ( >=dev-qt/qtbluetooth-${QT_PV} )
dbus? (
dev-python/dbus-python[${PYTHON_USEDEP}]
>=dev-qt/qtdbus-${QT_PV}
)
declarative? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
designer? ( >=dev-qt/designer-${QT_PV} )
gui? ( >=dev-qt/qtgui-${QT_PV}[gles2-only=] )
help? ( >=dev-qt/qthelp-${QT_PV} )
location? ( >=dev-qt/qtlocation-${QT_PV} )
multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[widgets?] )
network? ( >=dev-qt/qtnetwork-${QT_PV}[ssl=] )
networkauth? ( >=dev-qt/qtnetworkauth-${QT_PV} )
opengl? ( >=dev-qt/qtopengl-${QT_PV} )
positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} )
sensors? ( >=dev-qt/qtsensors-${QT_PV} )
serialport? ( >=dev-qt/qtserialport-${QT_PV} )
sql? ( >=dev-qt/qtsql-${QT_PV} )
svg? ( >=dev-qt/qtsvg-${QT_PV} )
testlib? ( >=dev-qt/qttest-${QT_PV} )
webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
webkit? ( dev-qt/qtwebkit:5[printsupport] )
websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
widgets? ( >=dev-qt/qtwidgets-${QT_PV} )
x11extras? ( >=dev-qt/qtx11extras-${QT_PV} )
xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
"
DEPEND="${RDEPEND}
>=dev-python/sip-4.19.19[${PYTHON_USEDEP}]
dbus? ( virtual/pkgconfig )
"
S=${WORKDIR}/${MY_P}
pyqt_use_enable() {
use "$1" || return
if [[ $# -eq 1 ]]; then
echo --enable=Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}
else
shift
echo ${@/#/--enable=}
fi
}
src_configure() {
configuration() {
local myconf=(
"${PYTHON}"
"${S}"/configure.py
$(usex debug '--debug --qml-debug --trace' '')
--verbose
--confirm-license
--qmake="$(qt5_get_bindir)"/qmake
--bindir="${EPREFIX}/usr/bin"
--qsci-api
--enable=QtCore
--enable=QtXml
$(pyqt_use_enable bluetooth)
$(pyqt_use_enable dbus QtDBus)
$(usex dbus '' --no-python-dbus)
$(pyqt_use_enable declarative QtQml QtQuick $(usex widgets QtQuickWidgets ''))
$(usex declarative '' --no-qml-plugin)
$(pyqt_use_enable designer)
$(usex designer '' --no-designer-plugin)
$(usex gles2-only '--disable-feature=PyQt_Desktop_OpenGL' '')
$(pyqt_use_enable gui)
$(pyqt_use_enable gui $(use gles2-only && echo _QOpenGLFunctions_ES2 || echo _QOpenGLFunctions_{2_0,2_1,4_1_Core}))
$(pyqt_use_enable help)
$(pyqt_use_enable location)
$(pyqt_use_enable multimedia QtMultimedia $(usex widgets QtMultimediaWidgets ''))
$(pyqt_use_enable network)
$(pyqt_use_enable networkauth QtNetworkAuth)
$(pyqt_use_enable opengl QtOpenGL)
$(pyqt_use_enable positioning)
$(pyqt_use_enable printsupport QtPrintSupport)
$(pyqt_use_enable sensors)
$(pyqt_use_enable serialport QtSerialPort)
$(pyqt_use_enable sql)
$(usex ssl '' '--disable-feature=PyQt_SSL')
$(pyqt_use_enable svg)
$(pyqt_use_enable testlib QtTest)
$(pyqt_use_enable webchannel QtWebChannel)
$(pyqt_use_enable webkit QtWebKit QtWebKitWidgets)
$(pyqt_use_enable websockets QtWebSockets)
$(pyqt_use_enable widgets)
$(pyqt_use_enable x11extras QtX11Extras)
$(pyqt_use_enable xmlpatterns QtXmlPatterns)
)
echo "${myconf[@]}"
"${myconf[@]}" || die
# Fix parallel install failure
if python_is_python3; then
sed -i -e '/INSTALLS += distinfo/i distinfo.depends = install_subtargets install_pep484_stubs install_qscintilla_api' \
${PN}.pro || die
else
sed -i -e '/INSTALLS += distinfo/i distinfo.depends = install_subtargets install_qscintilla_api' \
${PN}.pro || die
fi
# Run eqmake to respect toolchain and build flags
eqmake5 -recursive ${PN}.pro
}
python_foreach_impl run_in_build_dir configuration
}
src_compile() {
python_foreach_impl run_in_build_dir default
}
src_install() {
installation() {
local tmp_root=${D}/${PN}_tmp_root
emake INSTALL_ROOT="${tmp_root}" install
local bin_dir=${tmp_root}${EPREFIX}/usr/bin
local exe
for exe in pylupdate5 pyrcc5 pyuic5; do
python_doexe "${bin_dir}/${exe}"
rm "${bin_dir}/${exe}" || die
done
local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic
if python_is_python3; then
rm -r "${uic_dir}"/port_v2 || die
else
rm -r "${uic_dir}"/port_v3 || die
fi
multibuild_merge_root "${tmp_root}" "${D}"
python_optimize
}
python_foreach_impl run_in_build_dir installation
einstalldocs
if use examples; then
dodoc -r examples
fi
}

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7,8} )
PYTHON_COMPAT=( python2_7 python3_{6..9} )
inherit multibuild python-r1 qmake-utils
DESCRIPTION="Python bindings for the Qt framework"
@ -18,12 +18,12 @@ fi
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
# TODO: QtNfc, QtRemoteObjects (Qt >= 5.12)
IUSE="bluetooth dbus debug declarative designer examples gles2-only gui help location multimedia
network networkauth opengl positioning printsupport sensors serialport sql +ssl svg
testlib webchannel webkit websockets widgets x11extras xmlpatterns"
# TODO: QtNfc, QtQuick3D, QtRemoteObjects
IUSE="bluetooth dbus debug declarative designer examples gles2-only gui help location
multimedia network networkauth opengl positioning printsupport sensors serialport
sql +ssl svg testlib webchannel webkit websockets widgets x11extras xmlpatterns"
# The requirements below were extracted from configure.py
# and from the output of 'grep -r "%Import " "${S}"/sip'
@ -52,16 +52,16 @@ REQUIRED_USE="
"
# Minimal supported version of Qt.
QT_PV="5.10:5"
QT_PV="5.12:5"
RDEPEND="
${PYTHON_DEPS}
>=dev-python/PyQt5-sip-4.19.20:=[${PYTHON_USEDEP}]
>=dev-qt/qtcore-${QT_PV}
>=dev-qt/qtxml-${QT_PV}
$(python_gen_cond_dep '
dev-python/enum34[${PYTHON_USEDEP}]
' -2)
>=dev-python/PyQt5-sip-4.19.23:=[${PYTHON_USEDEP}]
>=dev-qt/qtcore-${QT_PV}
>=dev-qt/qtxml-${QT_PV}
bluetooth? ( >=dev-qt/qtbluetooth-${QT_PV} )
dbus? (
dev-python/dbus-python[${PYTHON_USEDEP}]
@ -91,7 +91,7 @@ RDEPEND="
xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
"
DEPEND="${RDEPEND}
>=dev-python/sip-4.19.20[${PYTHON_USEDEP}]
>=dev-python/sip-4.19.23[${PYTHON_USEDEP}]
dbus? ( virtual/pkgconfig )
"

@ -1,2 +1,2 @@
DIST PyQtWebEngine-5.13.2.tar.gz 45234 BLAKE2B 4ad3aa63856cf3627c2f4ba29d93394f13297deb5e54bdd200bd419f71322d541ae72e45d70cff09cc53808f0d2430f8922d44f18bbf177c42a6b9c827854d6e SHA512 778aff78ea731230029e8dd993f4bc59a32bf74d65f06a8b3d1467efdc67e3b3caf0d9a968682c6c275c8ffdb8d85d9c756cb51727769949656620e944c736d3
DIST PyQtWebEngine-5.14.0.tar.gz 47794 BLAKE2B 28f4a577ab5d8c1bea439b11e836008d27b4a49f31f230885013b515147a95c97e398328d1fc3a99619c3fd6eca3da7e94bf5873de9ac6511e0f59e467d4490c SHA512 c5274ce5ba1c80c6851971c3e18acf33121cd5863f613bd1789fdb40323b52429b55b54f3dcbb3127c85343e11f14c004ad54711b2b59cab95fd440f90fe5f2e
DIST PyQtWebEngine-5.15.0.tar.gz 48308 BLAKE2B 18a0b83c245a738f144cb21ddc483646099dc6469b0ecfe634d0341c555db17724cb97901082d2d93668a9e64b9163496afba8d7928f8e49013bcdcdb3747105 SHA512 9bc74e4c7c49a42a5a1a75c75cf14d30e7e9202b6f98591d79dd7f47d44909a1c95a1b38cd47adc8182429c43d1d45d90b2c3d0f105b90ed7ebfbb33a2622322

@ -28,12 +28,12 @@ REQUIRED_USE="
RDEPEND="
${PYTHON_DEPS}
>=dev-python/PyQt5-5.13.1[gui,network,printsupport,ssl,webchannel,widgets,${PYTHON_USEDEP}]
>=dev-python/PyQt5-sip-4.19.20:=[${PYTHON_USEDEP}]
>=dev-python/PyQt5-sip-4.19.22:=[${PYTHON_USEDEP}]
dev-qt/qtcore:5
dev-qt/qtwebengine:5[widgets]
"
DEPEND="${RDEPEND}
>=dev-python/sip-4.19.20[${PYTHON_USEDEP}]
~dev-python/sip-4.19.22[${PYTHON_USEDEP}]
"
S=${WORKDIR}/${MY_P}

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{6,7,8} )
PYTHON_COMPAT=( python2_7 python3_{6..9} )
inherit python-r1 qmake-utils
DESCRIPTION="Python bindings for QtWebEngine"
@ -13,12 +13,12 @@ MY_P=${PN}-${PV/_pre/.dev}
if [[ ${PV} == *_pre* ]]; then
SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
else
SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${PN}/${PV}/${MY_P}.tar.gz"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
fi
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 x86"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="debug"
REQUIRED_USE="
@ -27,13 +27,13 @@ REQUIRED_USE="
RDEPEND="
${PYTHON_DEPS}
>=dev-python/PyQt5-5.13.1[gui,network,printsupport,ssl,webchannel,widgets,${PYTHON_USEDEP}]
>=dev-python/PyQt5-sip-4.19.14:=[${PYTHON_USEDEP}]
>=dev-python/PyQt5-5.14[gui,network,printsupport,ssl,webchannel,widgets,${PYTHON_USEDEP}]
>=dev-python/PyQt5-sip-4.19.22:=[${PYTHON_USEDEP}]
dev-qt/qtcore:5
dev-qt/qtwebengine:5[widgets]
"
DEPEND="${RDEPEND}
>=dev-python/sip-4.19.14[${PYTHON_USEDEP}]
>=dev-python/sip-4.19.22[${PYTHON_USEDEP}]
"
S=${WORKDIR}/${MY_P}

@ -32,6 +32,7 @@ S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/automat-0.8.0-no-setup-py-m2r-import.patch"
"${FILESDIR}/test_visualize-twisted-import-errors.patch"
)
distutils_enable_tests pytest
@ -59,7 +60,7 @@ python_install_all() {
}
pkg_postinst() {
einfo "For additional visualization functionality install these optional dependencies"
einfo "For additional visualization functionality install both these optional dependencies"
einfo " >=dev-python/twisted-16.1.1"
einfo " media-gfx/graphviz[python]"
}

@ -32,6 +32,7 @@ S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/automat-0.8.0-no-setup-py-m2r-import.patch"
"${FILESDIR}/test_visualize-twisted-import-errors.patch"
)
distutils_enable_tests pytest
@ -59,7 +60,7 @@ python_install_all() {
}
pkg_postinst() {
einfo "For additional visualization functionality install these optional dependencies"
einfo "For additional visualization functionality install both these optional dependencies"
einfo " >=dev-python/twisted-16.1.1"
einfo " media-gfx/graphviz[python]"
}

@ -0,0 +1,52 @@
From 9f6312e0c2504c27b72bb228a37ed5ac58776e94 Mon Sep 17 00:00:00 2001
From: Brian Dolbec <dolsen@gentoo.org>
Date: Wed, 10 Jun 2020 07:31:45 -0700
Subject: [PATCH] Fix _test_visualize.py twisted import errors
When graphviz modules are installed but not twisted, this creates test failures
in _discover.py which hard depends on twisted being installed.
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
---
automat/_test/test_visualize.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/automat/_test/test_visualize.py b/automat/_test/test_visualize.py
index 987eb3c..142c4bf 100644
--- a/automat/_test/test_visualize.py
+++ b/automat/_test/test_visualize.py
@@ -62,6 +62,7 @@ def sampleMachine():
@skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.")
+@skipIf(not isTwistedInstalled(), "Twisted is not installed.")
class ElementMakerTests(TestCase):
"""
L{elementMaker} generates HTML representing the specified element.
@@ -134,6 +135,7 @@ def isLeaf(element):
@skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.")
+@skipIf(not isTwistedInstalled(), "Twisted is not installed.")
class TableMakerTests(TestCase):
"""
Tests that ensure L{tableMaker} generates HTML tables usable as
@@ -214,6 +216,7 @@ class TableMakerTests(TestCase):
@skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.")
@skipIf(not isGraphvizInstalled(), "Graphviz tools are not installed.")
+@skipIf(not isTwistedInstalled(), "Twisted is not installed.")
class IntegrationTests(TestCase):
"""
Tests which make sure Graphviz can understand the output produced by
@@ -232,6 +235,7 @@ class IntegrationTests(TestCase):
@skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.")
+@skipIf(not isTwistedInstalled(), "Twisted is not installed.")
class SpotChecks(TestCase):
"""
Tests to make sure that the output contains salient features of the machine
--
libgit2 0.99.0

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<maintainer>
<email>glyph@twistedmatrix.com</email>

@ -1,2 +1,3 @@
DIST aws-sam-translator-1.11.0.tar.gz 96492 BLAKE2B 4025492501d17699b64041a94704d0ec491ffb02a4b7e48c2647101be4d504b6a8c08a9a043c2d964a51d1ef7b40e4fd1d993f9d3b38b5b75460a7d0117b9f49 SHA512 e008248ef3401ffe58590c6d68667f67e5963e416656daea545c8d938ab8cb5d8b1c9c7f5aea2d53cedfd74b1fb8677e99a93a8a78235198b18c14df957d0c74
DIST aws-sam-translator-1.22.0.tar.gz 5092855 BLAKE2B 596d4162938889fd7fc1dcddfa7317bc772b2a5629940a2a0ce1329c8e05c063872ce15dce95d99aadbb80409c015c00a5ce0e4f066de2609f21008e3c5c1faa SHA512 070a9d72683251d11c3f3d41d5ae5e51249f27bd8c7890fb77254b81e9e1267fd2324dac7a246b2b1067210da9beb78cb97dc0f4a31b29e3990a300a05bd4a4a
DIST aws-sam-translator-1.24.0.tar.gz 5142130 BLAKE2B 43c1f3741296a70af6560655363d144bd654d7184d3654b9aaee6dece52a2a5fd557f605040d46f530886abc9cb4ae55703f588bdfbf70e5eabedfda3f5e0d56 SHA512 f5278be23e9426c5b9be8960cfce442e8f1302afbe99aa76c119ed11b9de40151195534cdb8d72e3eb13f40af2f2efe54dfbd55c6bf3c5f8ce2450848bc047a5

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_COMPAT=( python3_{6..9} )
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1
@ -14,7 +14,6 @@ S="${WORKDIR}/serverless-application-model-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RDEPEND="
>=dev-python/boto3-1.5[${PYTHON_USEDEP}]
@ -22,12 +21,11 @@ RDEPEND="
>=dev-python/six-1.11[${PYTHON_USEDEP}]
"
BDEPEND="
test? ( ${RDEPEND}
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/parameterized[${PYTHON_USEDEP}]
)
"
RESTRICT="!test? ( test )"
distutils_enable_tests pytest

@ -0,0 +1,44 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1
DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
HOMEPAGE="https://github.com/awslabs/serverless-application-model https://pypi.org/project/aws-sam-translator/"
SRC_URI="https://github.com/awslabs/serverless-application-model/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/serverless-application-model-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/boto3-1.5[${PYTHON_USEDEP}]
>=dev-python/jsonschema-2.6[${PYTHON_USEDEP}]
>=dev-python/six-1.11[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/parameterized[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
python_prepare_all() {
# remove pytest-cov dependency
sed -r -e 's:--cov(-[[:graph:]]+|)[[:space:]]+[[:graph:]]+::g' \
-i pytest.ini || die
# don't install tests
sed -e 's:"tests",:"tests", "tests.*",:' -i setup.py || die
# deps are installed by ebuild, don't try to reinstall them via pip
truncate --size=0 requirements/*.txt || die
distutils-r1_python_prepare_all
}

@ -5,6 +5,10 @@
<email>zmedico@gentoo.org</email>
<name>Zac Medico</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="github">awslabs/serverless-application-model</remote-id>
<remote-id type="pypi">aws-sam-translator</remote-id>

@ -1 +1,2 @@
DIST aws-xray-sdk-2.4.2.tar.gz 66737 BLAKE2B 5f062299ad28ee12d4f90bbdcb03d691fb9a5888054eae4759b9a0e916f720e71a9b9e01fd4d11106499395c5c1aa1ec90ec4874301a34657cd04b00cb5450e3 SHA512 3d12e96a54a2fc65bd6b6772b1e9cc72c09620d9a8b900780afb6c4051b88f0ada1e2da2e31bf93c37a881514e2ae79692a287a63b44845e0e2b8cb33109f81f
DIST aws-xray-sdk-2.6.0.tar.gz 68379 BLAKE2B 6ecb47137c472dd10692f80c0478c0a9933387409a88371c7dedc0d530af82871060bf942b9442a2adb1aed81e11d71d245a12c5a48d462fd882e4962c15d93a SHA512 580853825fb2b02890d60d93d14998715fd70f0fe06b2a694e3c595cd25ff3a00081d657bbd170b247c3d88c1045f8f91ad0dae1de59342818f00fb3b3cd922f

@ -0,0 +1,30 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
MY_PN=${PN%-python}
MY_P=${MY_PN}-${PV}
DESCRIPTION="AWS X-Ray SDK for Python"
HOMEPAGE="https://github.com/aws/aws-xray-sdk-python https://pypi.org/project/aws-xray-sdk/"
SRC_URI="mirror://pypi/${P:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-python/botocore-1.12.122[${PYTHON_USEDEP}]
dev-python/future[${PYTHON_USEDEP}]
dev-python/jsonpickle[${PYTHON_USEDEP}]
dev-python/wrapt[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"
RESTRICT="test"
S=${WORKDIR}/${MY_P}
python_test() {
esetup.py test || die "tests failed with ${EPYTHON}"
}

@ -13,6 +13,7 @@ MY_P="${MY_PN}-${PV}"
DESCRIPTION="Pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
HOMEPAGE="https://www.crummy.com/software/BeautifulSoup/bs4/"
SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="4"
@ -25,10 +26,8 @@ RDEPEND="
"
BDEPEND="${RDEPEND}"
S="${WORKDIR}/${MY_P}"
distutils_enable_tests nose
distutils_enable_sphinx doc/source --no-autodoc
distutils_enable_sphinx doc/source
python_test() {
nosetests --verbose -w "${BUILD_DIR}"/lib || die "Tests fail with ${EPYTHON}"

@ -2,7 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6..8} )
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6..9} )
inherit distutils-r1
@ -16,28 +18,26 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-libs/c-blosc:="
DEPEND="${RDEPEND}
RDEPEND=">=dev-libs/c-blosc-1.19.0:="
DEPEND="${RDEPEND}"
BDEPEND="
dev-python/scikit-build[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
dev-python/nose[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
)
"
PATCHES=(
"${FILESDIR}"/${P}-unbundle.patch
)
python_prepare_all() {
export BLOSC_DIR="${EPREFIX}/usr"
distutils-r1_python_prepare_all
DOCS=( ANNOUNCE.rst README.rst RELEASE_NOTES.rst )
}
python_compile_all() {
esetup.py build_clib
esetup.py build_ext --inplace
esetup.py build
}
python_test() {
cd "${BUILD_DIR}"/lib || die
PYTHONPATH=. nosetests -v || die

@ -0,0 +1,23 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2711877..a4c949c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,16 +4,9 @@ find_package(PythonExtensions REQUIRED)
# Todo: c-blosc provides a CMake package configuration file that we can build
# against if blosc is available on the system, etc.
-# find_package(blosc)
-# if(NOT blosc_FOUND)
-set(BUILD_STATIC ON CACHE BOOL "Build a static version of the blosc library.")
-set(BUILD_SHARED OFF CACHE BOOL "Build a shared library version of the blosc library.")
-set(BUILD_TESTS OFF CACHE BOOL "Build test programs form the blosc compression library")
-set(BUILD_BENCHMARKS OFF CACHE BOOL "Build benchmark programs form the blosc compression library")
-set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-add_subdirectory(c-blosc)
+find_package(blosc)
add_library(blosc_extension MODULE blosc/blosc_extension.c)
-target_link_libraries(blosc_extension blosc_static)
+target_link_libraries(blosc_extension blosc)
python_extension_module(blosc_extension)
install(TARGETS blosc_extension LIBRARY DESTINATION blosc)

@ -5,6 +5,10 @@
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<longdescription lang="en">
blosc is a high performance compressor optimized for binary
data. It has been designed to transmit data to the processor cache

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_COMPAT=( python3_{6..9} )
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1
@ -13,22 +13,26 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm arm64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="test"
BDEPEND="
test? ( dev-python/nose[${PYTHON_USEDEP}] )
"
RESTRICT="!test? ( test )"
# requires Amazon Web Services keys to pass some tests
RESTRICT+=" test"
PATCHES=(
# taken from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=909545
"${FILESDIR}/boto-try-to-add-SNI-support-v2.patch"
"${FILESDIR}"/${P}-py38.patch
)
distutils_enable_tests nose
src_prepare() {
# broken, not worth fixing
rm tests/unit/cloudfront/test_signed_urls.py || die
# fix tests
mkdir -p "${HOME}"/.ssh || die
: > "${HOME}"/.ssh/known_hosts || die
distutils-r1_src_prepare
}
python_test() {
"${PYTHON}" tests/test.py -v || die "Tests fail with ${EPYTHON}"
nosetests -v tests/unit ||
die "Tests fail with ${EPYTHON}"
}

@ -0,0 +1,54 @@
diff --git a/boto/ecs/item.py b/boto/ecs/item.py
index 79177a31..292b05af 100644
--- a/boto/ecs/item.py
+++ b/boto/ecs/item.py
@@ -21,7 +21,7 @@
import xml.sax
-import cgi
+import html
from boto.compat import six, StringIO
class ResponseGroup(xml.sax.ContentHandler):
@@ -67,7 +67,7 @@ class ResponseGroup(xml.sax.ContentHandler):
return None
def endElement(self, name, value, connection):
- self._xml.write("%s</%s>" % (cgi.escape(value).replace("&amp;amp;", "&amp;"), name))
+ self._xml.write("%s</%s>" % (html.escape(value).replace("&amp;amp;", "&amp;"), name))
if len(self._nodepath) == 0:
return
obj = None
diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py
index db15b56d..89d1a524 100644
--- a/tests/unit/utils/test_utils.py
+++ b/tests/unit/utils/test_utils.py
@@ -85,7 +85,7 @@ class TestPassword(unittest.TestCase):
def hmac_hashfunc(cls, msg):
if not isinstance(msg, bytes):
msg = msg.encode('utf-8')
- return hmac.new(b'mysecretkey', msg)
+ return hmac.new(b'mysecretkey', msg, digestmod='MD5')
class HMACPassword(Password):
hashfunc = hmac_hashfunc
@@ -95,15 +95,15 @@ class TestPassword(unittest.TestCase):
password.set('foo')
self.assertEquals(str(password),
- hmac.new(b'mysecretkey', b'foo').hexdigest())
+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
def test_constructor(self):
- hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg)
+ hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg, digestmod='MD5')
password = Password(hashfunc=hmac_hashfunc)
password.set('foo')
self.assertEquals(password.str,
- hmac.new(b'mysecretkey', b'foo').hexdigest())
+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
class TestPythonizeName(unittest.TestCase):

@ -1,3 +1,4 @@
DIST boto3-1.10.2.tar.gz 272071 BLAKE2B 9c3b90ae751784946a84d0cf31ed0111526ed97b5be1fe5f256f725889f9819db632c6e6f217e3f01ebb0aa5594257a5bdaabd8dcc5f14ccb5bdd333b1c416c7 SHA512 37ea11f5ae9263aa5e97ce94f2834c987190ba2eac4a60bf9312bb643f1d204e48db7bef6ddc0d46ae124109ec6807589108b58f3024485de163fd8f83688b42
DIST boto3-1.12.48.tar.gz 292124 BLAKE2B 0baf8fb4cfa040ba05b296d15a523a5de32677684143145b12dd54182d4fedbffa5656d36ab854006c0cc6009a1bca351bb5ac2ea757cb70b446924bcae625a8 SHA512 3cf5533dd5d9aa51cf46ef81ba25bb7afbc73b1e745ea5ae47935b22da290c7d2101e377b3225f970168201dde0bf2ee967e24eed86548f9045eb72840afea6b
DIST boto3-1.13.26.tar.gz 296782 BLAKE2B 117bb18679fe3ae8c4feee1a5fb2d1df1923764bba3dce72040ccc802d10bb88263744a0491195f414761b6755353775a8a413a121a5a0fc42373a4e9b8aac1a SHA512 513ea4b39a5af4ae8e45f6b8b315a19d5184998fa881782bf2e6074aee36a709b51813fc9fe403bb8dbfb9b51ead50367af18f0918a1c88a37eab263ccddd11a
DIST boto3-1.9.122.tar.gz 258061 BLAKE2B 68903edd97e10693675e4c2fa77c2c54f2d3aab79307ee0a856f43aabe256f7782d027b0a23f433c593962c90f7364c26a87c27fe8770e67b5052e4ced73a9bc SHA512 31b8d8c2369b9076d825196d400c8a8b5579c38f87c7f41634eedbdaf6c2be01072018312e90e25d81b850c51f7c22a13fa565cd4e8b7672c238bad61e6a0810

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

@ -0,0 +1,53 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1
DESCRIPTION="The AWS SDK for Python"
HOMEPAGE="https://github.com/boto/boto3"
LICENSE="Apache-2.0"
SLOT="0"
if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/boto/boto3"
inherit git-r3
else
SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
fi
RDEPEND="
>=dev-python/botocore-1.16.26[${PYTHON_USEDEP}]
>=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.3.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
)
"
distutils_enable_sphinx docs/source \
'dev-python/guzzle_sphinx_theme'
distutils_enable_tests nose
python_prepare_all() {
# don't lock versions to narrow ranges
sed -e '/botocore/ d' \
-e '/jmespath/ d' \
-e '/s3transfer/ d' \
-i setup.py || die
# prevent an infinite loop
rm tests/functional/docs/test_smoke.py || die
distutils-r1_python_prepare_all
}
python_test() {
nosetests -v tests/unit tests/functional ||
die "test failed under ${EPYTHON}"
}

@ -13,6 +13,10 @@
<email>slashbeast@gentoo.org</email>
<name>Piotr Karbowski</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="github">boto/boto3</remote-id>
</upstream>

@ -4,5 +4,6 @@ DIST botocore-1.15.32.tar.gz 6261957 BLAKE2B 7825e7d6315cae3578155825e0b5cb3961e
DIST botocore-1.15.48.tar.gz 6336322 BLAKE2B 0d25424e82fcbf1376bb1eb9cac9eeb7a45d08698f39563f635a34b1b24bc6823c5f2b08b6a40a0fc9b54b0404b8f5dd7d07fc21e0c7e0c489fe172e7f29a936 SHA512 91d86731909be5828e38a69e32e5189fbd0357378c51a04f60efbcfbb1b6c0c01151c982fc32619e3be240f5df881e5342bbba6b290b3092d9fe11ce9e3b28d0
DIST botocore-1.16.12.tar.gz 6422375 BLAKE2B 333cc3d42b42b93f952c6344f5196b248291d6114f3bf7e73550bfb712a8a618908acb0b08379c9caae1c8a855bd738cd5f7efeda808799510c740d604459346 SHA512 891c8c2b3b6208d3d8543c055fa48887c58c67845d46a9607ae140d3a17d5b12665cc50afa304647895c891112e35ecc1cacaf36e75d0491109bcc5150be0ec6
DIST botocore-1.16.20.tar.gz 6442160 BLAKE2B 23ad33e53ebf810087958f003d21fe5874974e15948d26ab8c4f56ff48e7121d09d9f35dd31055bc6ceb3a2c6327a1e9fafbd6909d2d2a7222e81d9ae9a5b36c SHA512 f92cb05b7b14f3036373f5aeafc956ad776ac486343d16275075c2b29d8212859ba7f84f83865027340f7544231d4920af627e1efe194393e5aca028fddfa4c1
DIST botocore-1.16.26.tar.gz 6458468 BLAKE2B e753f7dcb3d75a86da78536883e44cbd493fd3ff48fae86e5e1959e55d2d66fe8dcb33ee46af51b39390ce7d2227bdb193a827932b53dc5a4b56f985faeebd31 SHA512 66ba4e9bd8ae72a31fa093dc7d8eccd646a12381086f524e3bd63d6031f2d75bad5e241f08e5588a6ac6c16eac693d0410b1858641bf8e59decfb1e6ed16b360
DIST botocore-1.16.6.tar.gz 6386032 BLAKE2B e909e2fa021d5b1be333a31758af408cdc6e11224addefac31b87b8ce9983350aeaaf862feaf040490fad8eb87d7dde800bd8a77156410e6a734f567e2cc1055 SHA512 1f265a0a8adb7f0172f02448d3be5aeacf11e3fb7023da8d81e6d19c39d97cac99cfe3a70997e682deb44a4fd78304e4a0c1df43787f3139bbccbe852c682a82
DIST botocore-1.16.7.tar.gz 6391893 BLAKE2B 19a8770ef1058e5601a1c292e2e17e1625e4d5d0d1845b59bbd403a2c285da1a774935e9d1e1fa7ca26a1e3c4703b29fcbb2f021a7251aa3ca756c80b2ba0461 SHA512 0ab2b4ff4096049cd92b96c710a38867a53b2dba0f07a319ec1a2f9b3cbce60776026c62e3eaaebe571b6ad26eb5c1c258b2dd350a444d30e54b342bcd675768

@ -0,0 +1,62 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
inherit distutils-r1
DESCRIPTION="Low-level, data-driven core of boto 3"
HOMEPAGE="https://github.com/boto/botocore"
LICENSE="Apache-2.0"
SLOT="0"
if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/boto/botocore"
inherit git-r3
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
fi
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/jmespath[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/urllib3[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
)
"
PATCHES=(
"${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch"
"${FILESDIR}/botocore-1.16.7-unlock-deps.patch"
)
distutils_enable_sphinx docs \
'dev-python/guzzle_sphinx_theme'
distutils_enable_tests nose
src_prepare() {
# py3.9
find -name '*.py' -exec \
sed -i -e 's:cElementTree:ElementTree:' {} + || die
# very unstable
sed -i -e 's:test_stress_test_token_bucket:_&:' \
tests/functional/retries/test_bucket.py || die
distutils-r1_src_prepare
}
python_test() {
# note: suites need to be run separately as one of the unit tests
# seems to be leaking mocks and breaking a few functional tests
nosetests -v tests/unit ||
die "unit tests failed under ${EPYTHON}"
nosetests -v tests/functional ||
die "functional tests failed under ${EPYTHON}"
}

@ -13,6 +13,10 @@
<email>slashbeast@gentoo.org</email>
<name>Piotr Karbowski</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="github">boto/botocore</remote-id>
<remote-id type="pypi">botocore</remote-id>

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python3_{6,7,8} pypy3 )
PYTHON_COMPAT=(python3_{6..9} pypy3 )
inherit distutils-r1
@ -14,8 +14,6 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
PATCHES=(
# https://gitlab.com/sashahart/cookies/merge_requests/2
"${FILESDIR}/cookies-2.2.1-fix-warnings.patch"

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

Loading…
Cancel
Save