<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ed5c081eee78cbcc0f893cb845b20d9d98b3771c">https://github.com/macports/macports-ports/commit/ed5c081eee78cbcc0f893cb845b20d9d98b3771c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ed5c081eee78cbcc0f893cb845b20d9d98b3771c
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Tue Aug 7 19:00:58 2018 -0500

<span style='display:block; white-space:pre;color:#404040;'>    php-solr: Add php72-solr subport
</span>---
 php/php-solr/Portfile          | 16 +++++---
 php/php-solr/files/php72.patch | 85 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+), 5 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/php/php-solr/Portfile b/php/php-solr/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5de729f..5d9baa8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/php/php-solr/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/php/php-solr/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,29 +4,35 @@ PortSystem              1.0
</span> PortGroup               php 1.1
 
 name                    php-solr
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                 2.4.0
</span> categories-append       devel
 license                 PHP-3.01
 platforms               darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers             ryandesign openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers             {ryandesign @ryandesign} openmaintainer
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-php.branches            5.3 5.4 5.5 5.6 7.0 7.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+php.branches            5.3 5.4 5.5 5.6 7.0 7.1 7.2
</span> php.pecl                yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[vercmp ${php.branch} 5.3] >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version             2.4.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums           rmd160  e4f025a3833b53dae8e066c4604c37026310d6c1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  22865dafb76fc5839e84a5bd423bb37d5062883e5dfc4d064b43129ac9f2752c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    256316
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> description             a PHP interface to Apache Solr
 
 long_description        ${name} is an extremely fast, light-weight, feature-rich \
                         library that allows PHP developers to communicate easily \
                         and efficiently with Apache Solr server instances.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  e4f025a3833b53dae8e066c4604c37026310d6c1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  22865dafb76fc5839e84a5bd423bb37d5062883e5dfc4d064b43129ac9f2752c
</span> 
 if {${name} ne ${subport}} {
     depends_build-append    port:curl \
                             port:libxml2
     
     depends_lib-append      port:${php}-curl
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append       php72.patch
</span>     
     configure.args-append   --with-curl=${prefix} \
                             --with-libxml-dir=${prefix}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/php/php-solr/files/php72.patch b/php/php-solr/files/php72.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e205b13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/php/php-solr/files/php72.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix build on PHP 7.2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bugs.php.net/bug.php?id=75631
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/php/pecl-search_engine-solr/commit/744e32915d5989101267ed2c84a407c582dc6f31
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/php7/php_solr.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/php7/php_solr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -566,7 +566,7 @@ static zend_function_entry solr_document_methods[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SOLR_CTOR(SolrDocument, __construct, SolrDocument__construct_args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SOLR_DTOR(SolrDocument, __destruct, Solr_no_args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  PHP_ME(SolrDocument, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  PHP_ME(SolrDocument, __clone, NULL, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrDocument, __set, SolrDocument_addField_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrDocument, __get, SolrDocument_getField_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrDocument, __isset, SolrDocument_fieldExists_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -609,7 +609,7 @@ static zend_function_entry solr_document_methods[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static zend_function_entry solr_input_document_methods[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SOLR_CTOR(SolrInputDocument, __construct, SolrInputDocument__construct_args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SOLR_DTOR(SolrInputDocument, __destruct, Solr_no_args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  PHP_ME(SolrInputDocument, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  PHP_ME(SolrInputDocument, __clone, NULL, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrInputDocument, __sleep, Solr_no_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrInputDocument, __wakeup, NULL, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrInputDocument, setBoost, SolrInputDocument_setBoost_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -645,7 +645,7 @@ static zend_function_entry solr_client_methods[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SOLR_DTOR(SolrClient, __destruct, Solr_no_args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrClient, __sleep, Solr_no_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrClient, __wakeup, NULL, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  PHP_ME(SolrClient, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  PHP_ME(SolrClient, __clone, NULL, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrClient, getOptions, Solr_no_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrClient, getDebug, Solr_no_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrClient, setServlet, SolrClient_setServlet_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -722,7 +722,7 @@ static zend_function_entry solr_params_methods[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrParams, getParams, Solr_no_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrParams, getParam, SolrParams_getParam_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrParams, getPreparedParams, Solr_no_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  PHP_ME(SolrParams, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  PHP_ME(SolrParams, __clone, NULL, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrParams, serialize,   NULL, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_ME(SolrParams, unserialize,  SolrParams_unserialize_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PHP_MALIAS(SolrParams, add, addParam, SolrParams_addParam_args, ZEND_ACC_PUBLIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/php7/solr_functions_helpers.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/php7/solr_functions_helpers.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1404,19 +1404,28 @@ PHP_SOLR_API long solr_get_json_last_error(TSRMLS_D)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static inline int solr_pcre_replace_into_buffer(solr_string_t *buffer, char * search, char *replace)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     zend_string *result;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    zval replace_val;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int limit = -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int replace_count = -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     zend_string *regex_str = zend_string_init(search, strlen(search), 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     zend_string *subject_str = zend_string_init(buffer->str, buffer->len, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PHP_VERSION_ID >= 70200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    zend_string *replace_str = zend_string_init(replace, strlen(replace), 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    zval replace_val;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ZVAL_STRING(&replace_val, replace);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     result = php_pcre_replace(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             regex_str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             subject_str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             buffer->str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             buffer->len,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PHP_VERSION_ID >= 70200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            replace_str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             &replace_val,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             limit,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             &replace_count
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1424,7 +1433,11 @@ static inline int solr_pcre_replace_into_buffer(solr_string_t *buffer, char * se
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     solr_string_set_ex(buffer, (solr_char_t *)result->val, (size_t)result->len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*    fprintf(stdout, "%s", buffer->str); */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     efree(result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PHP_VERSION_ID >= 70200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    zend_string_release(replace_str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     zval_ptr_dtor(&replace_val);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     zend_string_release(regex_str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     zend_string_release(subject_str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>