mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-php/maxmind-db-reader: new PHP interface to the MaxMind databases.
Add the new (Composer-based) PHP interface to the MaxMind binary database format. This lets you query the newer "mmdb" files directly, from PHP code. There is an optional C extension that can be built with USE=extension, and which ostensibly (but I have not tested this) improves performance through the use of dev-libs/libmaxminddb. Thanks to Steffen Weber for the initial ebuild. Reported-by: Steffen Weber Closes: https://bugs.gentoo.org/511088 Package-Manager: Portage-2.3.8, Repoman-2.3.3
This commit is contained in:
1
dev-php/maxmind-db-reader/Manifest
Normal file
1
dev-php/maxmind-db-reader/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST MaxMind-DB-Reader-php-1.2.0.tar.gz 17488 SHA256 b1d0166ac9d7a2df2ec33c2fd3e2ccfcb556f013c8f58df3610e08bbf7e9c383 SHA512 2965c5348ec787e503c04322961b00fe7806cd95c5f711efd9833adc0acb21f0c40cab1983868f8ea0bb4e8576186d83e1e1913b203aab999f3870ea298a9b2a WHIRLPOOL 6059929c7b6e10ceafc4d50b7b2af2162c5a6e3b4dfc7390bd6b7adebca69de1847a01632e63c4b7de09581fdbd3c21dabe3c5182346d503228fd8e0112ad366
|
||||
6
dev-php/maxmind-db-reader/files/autoload.php
Normal file
6
dev-php/maxmind-db-reader/files/autoload.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
if (!class_exists('Fedora\\Autoloader\\Autoload', false)) {
|
||||
require_once '/usr/share/php/Fedora/Autoloader/autoload.php';
|
||||
}
|
||||
|
||||
\Fedora\Autoloader\Autoload::addPsr4('MaxMind\\Db\\', __DIR__);
|
||||
85
dev-php/maxmind-db-reader/maxmind-db-reader-1.2.0.ebuild
Normal file
85
dev-php/maxmind-db-reader/maxmind-db-reader-1.2.0.ebuild
Normal file
@@ -0,0 +1,85 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
MY_PN="MaxMind-DB-Reader-php"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
PHP_EXT_S="${S}/ext"
|
||||
PHP_EXT_NAME="maxminddb"
|
||||
PHP_EXT_OPTIONAL_USE="extension"
|
||||
|
||||
USE_PHP="php5-6 php7-0 php7-1"
|
||||
|
||||
inherit php-ext-source-r3
|
||||
|
||||
DESCRIPTION="PHP reader for the MaxMind database format"
|
||||
HOMEPAGE="https://github.com/maxmind/${MY_PN}"
|
||||
SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="extension test"
|
||||
|
||||
COMMON_DEPEND="extension? ( dev-libs/libmaxminddb )"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dev-php/fedora-autoloader"
|
||||
|
||||
src_unpack() {
|
||||
# Don't make copies of the source tree if they won't be used.
|
||||
if use extension; then
|
||||
php-ext-source-r3_src_unpack
|
||||
else
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare(){
|
||||
# We need to call eapply_user ourselves, because it may be skipped
|
||||
# if either the "extension" USE flag is not set, or if the user's
|
||||
# PHP_TARGETS is essentially empty. In the latter case, the eclass
|
||||
# src_prepare does nothing. We only call the eclass phase conditionally
|
||||
# because the correct version of e.g. "phpize" may not be there
|
||||
# unless USE=extension is set.
|
||||
eapply_user
|
||||
use extension && php-ext-source-r3_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# The eclass phase will try to run the ./configure script even if it
|
||||
# doesn't exist (in contrast to the default src_configure), so we
|
||||
# need to skip it if the eclass src_prepare (that creates said
|
||||
# script) is not run.
|
||||
use extension && php-ext-source-r3_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Avoids the same problem as in src_configure.
|
||||
use extension && php-ext-source-r3_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc CHANGELOG.md README.md
|
||||
insinto /usr/share/php
|
||||
doins -r src/MaxMind
|
||||
insinto /usr/share/php/MaxMind/Db
|
||||
doins "${FILESDIR}/autoload.php"
|
||||
|
||||
use extension && php-ext-source-r3_src_install
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# The PHP API has its own set of tests that isn't shipped with the
|
||||
# release tarballs at the moment (github issues 55).
|
||||
use extension && php-ext-source-r3_src_test
|
||||
}
|
||||
|
||||
pkg_postinst(){
|
||||
elog "${PN} has been installed in /usr/share/php/MaxMind/Db/."
|
||||
elog "To use it in a script, require('MaxMind/Db/autoload.php'),"
|
||||
elog "and then most of the examples in the documentation should"
|
||||
elog "work without further modification."
|
||||
}
|
||||
16
dev-php/maxmind-db-reader/metadata.xml
Normal file
16
dev-php/maxmind-db-reader/metadata.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>php-bugs@gentoo.org</email>
|
||||
<name>PHP</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="extension">
|
||||
Build the C extension that uses <pkg>dev-libs/libmaxminddb</pkg>
|
||||
</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">maxmind/MaxMind-DB-Reader-php</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user