Skip to content
Snippets Groups Projects
Commit 297df098 authored by TBK's avatar TBK Committed by Andy Postnikov
Browse files

testing/php7-solr: modernize

parent 4e22f77d
No related branches found
No related tags found
No related merge requests found
......@@ -4,33 +4,32 @@ pkgname=php7-solr
_pkgreal=solr
pkgver=2.4.0
_pkgver=${pkgver}
pkgrel=1
pkgrel=2
pkgdesc="Apache SOLR extension for PHP"
url="http://pecl.php.net/package/$_pkgreal"
arch="all"
license="PHP"
options="!check" # Require Solr installed
depends="php7-json"
makedepends="php7-dev curl-dev libxml2-dev autoconf pcre-dev"
install=""
subpackages=""
source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz
fix-zend_acc_public.patch
"
builddir="$srcdir"/$_pkgreal-$_pkgver
build() {
cd "$builddir"
phpize7 || return 1
./configure --prefix=/usr --with-php-config=php-config7 || return 1
make || return 1
phpize7
./configure --prefix=/usr --with-php-config=php-config7
make
}
package() {
cd "$builddir"
make INSTALL_ROOT="$pkgdir"/ install || return 1
install -d "$pkgdir"/etc/php7/conf.d || return 1
make INSTALL_ROOT="$pkgdir"/ install
install -d "$pkgdir"/etc/php7/conf.d
echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php7/conf.d/40_$_pkgreal.ini
}
md5sums="2c9accf66681a3daaaf371bc07e44902 solr-2.4.0.tgz"
sha256sums="22865dafb76fc5839e84a5bd423bb37d5062883e5dfc4d064b43129ac9f2752c solr-2.4.0.tgz"
sha512sums="05b6e252fadf55a7104bc6963e522684dad80540315e89729f4c589698ee68ff71f0e536b0e38ee4ae10b01cb04115ca12ced2897c3145d46fc54ab719de3590 solr-2.4.0.tgz"
sha512sums="05b6e252fadf55a7104bc6963e522684dad80540315e89729f4c589698ee68ff71f0e536b0e38ee4ae10b01cb04115ca12ced2897c3145d46fc54ab719de3590 solr-2.4.0.tgz
44f171c887e3b3a28d1294fe443d16aa0cef3ad25e92764ea6cb03bb5da26fb520bcec487f1f3cb188957a19221898d424967d4f6c67efc64def64c921a638d6 fix-zend_acc_public.patch"
From: Remi Collet <remi@php.net>
Date: Fri, 23 Jun 2017 16:25:50 +0200
Subject: Fix for 7.2: - ZEND_ACC_CLONE have been removed,
and was not used in previous versions - fix php_pcre_replace call
---
--- a/src/php7/php_solr.c
+++ b/src/php7/php_solr.c
@@ -557,7 +557,7 @@ static zend_function_entry solr_document_methods[] = {
SOLR_CTOR(SolrDocument, __construct, SolrDocument__construct_args)
SOLR_DTOR(SolrDocument, __destruct, Solr_no_args)
- PHP_ME(SolrDocument, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
+ PHP_ME(SolrDocument, __clone, NULL, ZEND_ACC_PUBLIC)
PHP_ME(SolrDocument, __set, SolrDocument_addField_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrDocument, __get, SolrDocument_getField_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrDocument, __isset, SolrDocument_fieldExists_args, ZEND_ACC_PUBLIC)
@@ -600,7 +600,7 @@ static zend_function_entry solr_document_methods[] = {
static zend_function_entry solr_input_document_methods[] = {
SOLR_CTOR(SolrInputDocument, __construct, SolrInputDocument__construct_args)
SOLR_DTOR(SolrInputDocument, __destruct, Solr_no_args)
- PHP_ME(SolrInputDocument, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
+ PHP_ME(SolrInputDocument, __clone, NULL, ZEND_ACC_PUBLIC)
PHP_ME(SolrInputDocument, __sleep, Solr_no_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrInputDocument, __wakeup, NULL, ZEND_ACC_PUBLIC)
PHP_ME(SolrInputDocument, setBoost, SolrInputDocument_setBoost_args, ZEND_ACC_PUBLIC)
@@ -633,7 +633,7 @@ static zend_function_entry solr_client_methods[] = {
SOLR_DTOR(SolrClient, __destruct, Solr_no_args)
PHP_ME(SolrClient, __sleep, Solr_no_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, __wakeup, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(SolrClient, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
+ PHP_ME(SolrClient, __clone, NULL, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, getOptions, Solr_no_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, getDebug, Solr_no_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrClient, setServlet, SolrClient_setServlet_args, ZEND_ACC_PUBLIC)
@@ -710,7 +710,7 @@ static zend_function_entry solr_params_methods[] = {
PHP_ME(SolrParams, getParams, Solr_no_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrParams, getParam, SolrParams_getParam_args, ZEND_ACC_PUBLIC)
PHP_ME(SolrParams, getPreparedParams, Solr_no_args, ZEND_ACC_PUBLIC)
- PHP_ME(SolrParams, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
+ PHP_ME(SolrParams, __clone, NULL, ZEND_ACC_PUBLIC)
PHP_ME(SolrParams, serialize, NULL, ZEND_ACC_PUBLIC)
PHP_ME(SolrParams, unserialize, SolrParams_unserialize_args, ZEND_ACC_PUBLIC)
PHP_MALIAS(SolrParams, add, addParam, SolrParams_addParam_args, ZEND_ACC_PUBLIC)
--- a/src/php7/solr_functions_helpers.c
+++ b/src/php7/solr_functions_helpers.c
@@ -1389,19 +1389,28 @@ PHP_SOLR_API long solr_get_json_last_error(TSRMLS_D)
static inline int solr_pcre_replace_into_buffer(solr_string_t *buffer, char * search, char *replace)
{
zend_string *result;
- zval replace_val;
int limit = -1;
int replace_count = -1;
zend_string *regex_str = zend_string_init(search, strlen(search), 0);
zend_string *subject_str = zend_string_init(buffer->str, buffer->len, 0);
+#if PHP_VERSION_ID >= 70200
+ zend_string *replace_str = zend_string_init(replace, strlen(replace), 0);
+#else
+ zval replace_val;
ZVAL_STRING(&replace_val, replace);
+#endif
+
result = php_pcre_replace(
regex_str,
subject_str,
buffer->str,
buffer->len,
+#if PHP_VERSION_ID >= 70200
+ replace_str,
+#else
&replace_val,
0,
+#endif
limit,
&replace_count
);
@@ -1409,7 +1418,11 @@ static inline int solr_pcre_replace_into_buffer(solr_string_t *buffer, char * se
solr_string_set_ex(buffer, (solr_char_t *)result->val, (size_t)result->len);
/* fprintf(stdout, "%s", buffer->str); */
efree(result);
+#if PHP_VERSION_ID >= 70200
+ zend_string_release(replace_str);
+#else
zval_ptr_dtor(&replace_val);
+#endif
zend_string_release(regex_str);
zend_string_release(subject_str);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment