summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2019-06-07 11:24:43 -0400
committerBrian Evans <grknight@gentoo.org>2019-06-07 11:24:43 -0400
commitd5cd69b3d1d2cc59602b69b8338b8f1f63c4f73e (patch)
tree09b00083280182dc37ee48e59e6f54a2cad7ab5f /dev-php/pecl-ncurses
parentmedia-plugins/kodi-inputstream-adaptive: 2.3.20 version bump (diff)
downloadgentoo-d5cd69b3d1d2cc59602b69b8338b8f1f63c4f73e.tar.gz
gentoo-d5cd69b3d1d2cc59602b69b8338b8f1f63c4f73e.tar.bz2
gentoo-d5cd69b3d1d2cc59602b69b8338b8f1f63c4f73e.zip
dev-php/pecl-ncurses: Revbump for PHP 7.3 support.
Patch taken from https://github.com/OOPS-ORG-PHP/mod_ncurses changes Package-Manager: Portage-2.3.67, Repoman-2.3.14 Signed-off-by: Brian Evans <grknight@gentoo.org>
Diffstat (limited to 'dev-php/pecl-ncurses')
-rw-r--r--dev-php/pecl-ncurses/files/pecl-ncurses-1.0.2-php7.3.patch175
-rw-r--r--dev-php/pecl-ncurses/pecl-ncurses-1.0.2-r5.ebuild23
2 files changed, 198 insertions, 0 deletions
diff --git a/dev-php/pecl-ncurses/files/pecl-ncurses-1.0.2-php7.3.patch b/dev-php/pecl-ncurses/files/pecl-ncurses-1.0.2-php7.3.patch
new file mode 100644
index 000000000000..9b4f8a6274b5
--- /dev/null
+++ b/dev-php/pecl-ncurses/files/pecl-ncurses-1.0.2-php7.3.patch
@@ -0,0 +1,175 @@
+diff -aurN a/ncurses_fe.c b/ncurses_fe.c
+--- a/ncurses_fe.c 2012-06-16 13:05:19.000000000 -0400
++++ b/ncurses_fe.c 2019-02-06 10:41:09.000000000 -0500
+@@ -123,7 +123,9 @@
+ PHP_FE(ncurses_savetty, NULL)
+ PHP_FE(ncurses_termattrs, NULL)
+ PHP_FE(ncurses_use_default_colors, NULL)
++#ifdef HAVE_NCURSES_SLK_ATTR
+ PHP_FE(ncurses_slk_attr, NULL)
++#endif
+ PHP_FE(ncurses_slk_clear, NULL)
+ PHP_FE(ncurses_slk_noutrefresh, NULL)
+ PHP_FE(ncurses_slk_refresh, NULL)
+@@ -191,7 +193,9 @@
+ #ifdef HAVE_NCURSES_ASSUME_DEFAULT_COLORS
+ PHP_FE(ncurses_assume_default_colors, NULL)
+ #endif
++#ifdef HAVE_NCURSES_DEFINE_KEY
+ PHP_FE(ncurses_define_key, NULL)
++#endif
+ PHP_FE(ncurses_hline, NULL)
+ PHP_FE(ncurses_vline, NULL)
+ PHP_FE(ncurses_keyok, NULL)
+@@ -205,6 +209,10 @@
+ PHP_FE(ncurses_waddstr, NULL)
+ PHP_FE(ncurses_wnoutrefresh, NULL)
+ PHP_FE(ncurses_wclear, NULL)
++ PHP_FE(ncurses_wscrl, NULL)
++ PHP_FE(ncurses_wsetscrreg, NULL)
++ PHP_FE(ncurses_scrollok, NULL)
++
+ #ifdef HAVE_NCURSES_COLOR_SET
+ PHP_FE(ncurses_wcolor_set, NULL)
+ #endif
+diff -aurN a/ncurses_functions.c b/ncurses_functions.c
+--- a/ncurses_functions.c 2019-06-07 11:00:54.713250845 -0400
++++ b/ncurses_functions.c 2019-02-06 10:41:09.000000000 -0500
+@@ -163,16 +163,25 @@
+ *pscr = stdscr;
+ zscr = zend_register_resource(pscr, le_ncurses_windows);
+ ZVAL_RES(&c.value, zscr);
++#if PHP_VERSION_ID < 70300
+ c.flags = CONST_CS;
++#endif
+ c.name = zend_string_init("STDSCR", sizeof("STDSCR")-1, 0);
+ zend_register_constant(&c);
+
++#if PHP_VERSION_ID < 70300
+ #define PHP_NCURSES_DEF_CONST(x) \
+ ZVAL_LONG(&c.value, x); \
+ c.flags = CONST_CS; \
+ c.name = zend_string_init("NCURSES_" #x, sizeof("NCURSES_" #x)-1, 0); \
+ zend_register_constant(&c)
+ #else
++#define PHP_NCURSES_DEF_CONST(x) \
++ ZVAL_LONG(&c.value, x); \
++ c.name = zend_string_init("NCURSES_" #x, sizeof("NCURSES_" #x)-1, 0); \
++ zend_register_constant(&c)
++#endif
++#else
+ zval *zscr;
+
+ *pscr = stdscr;
+@@ -188,7 +197,6 @@
+ /* we need this "interesting" arrangement because the
+ * underlying values of the ACS_XXX defines are not
+ * initialized until after ncurses has been initialized */
+-
+ #define PHP_NCURSES_DEF_CONST(x) \
+ ZVAL_LONG(zscr, x); \
+ c.value = *zscr; \
+@@ -1904,6 +1912,66 @@
+ }
+ /* }}} */
+
++/* {{{ proto int ncurses_wscrl(resource window, int count)
++ Scrolls window content up or down without changing current position */
++PHP_FUNCTION(ncurses_wscrl)
++{
++ zval *handle;
++ zend_long intarg;
++ WINDOW **w;
++
++ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &handle, &intarg) == FAILURE) {
++ return;
++ }
++
++ IS_NCURSES_INITIALIZED();
++
++ FETCH_WINRES(w, &handle);
++
++ RETURN_LONG(wscrl(*w, intarg));
++}
++/* }}} */
++
++/* {{{ proto int ncurses_wsetscrreg(resource window, int top, int bot)
++ Set region for scrolling */
++PHP_FUNCTION(ncurses_wsetscrreg)
++{
++ zval *handle;
++ zend_long top, bot;
++ WINDOW **w;
++
++ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rll", &handle, &top, &bot) == FAILURE) {
++ return;
++ }
++
++ IS_NCURSES_INITIALIZED();
++
++ FETCH_WINRES(w, &handle);
++
++ RETURN_LONG(wsetscrreg(*w, top, bot));
++}
++/* }}} */
++
++/* {{{ proto int ncurses_scrollok(resource window, bool bf)
++ Enable or disable scrolling of window content */
++PHP_FUNCTION(ncurses_scrollok)
++{
++ zval *handle;
++ zend_bool bf;
++ WINDOW **w;
++
++ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rb", &handle, &bf) == FAILURE) {
++ return;
++ }
++
++ IS_NCURSES_INITIALIZED();
++
++ FETCH_WINRES(w, &handle);
++
++ RETURN_LONG(scrollok(*w, bf));
++}
++/* }}} */
++
+ /* {{{ proto string ncurses_termname(void)
+ Returns terminal name */
+ PHP_FUNCTION(ncurses_termname)
+@@ -2609,7 +2677,11 @@
+ if (above) {
+ #if PHP_MAJOR_VERSION >= 7
+ zend_resource *id = (zend_resource *)panel_userptr(above);
++#if PHP_VERSION_ID < 70300
+ GC_REFCOUNT(id)++;
++#else
++ GC_ADDREF(id);
++#endif
+ RETURN_RES(id);
+ #else
+ long id = (long)panel_userptr(above);
+@@ -2643,7 +2715,11 @@
+ if (below) {
+ #if PHP_MAJOR_VERSION >= 7
+ zend_resource *id = (zend_resource *)panel_userptr(below);
++#if PHP_VERSION_ID < 70300
+ GC_REFCOUNT(id)++;
++#else
++ GC_ADDREF(id);
++#endif
+ RETURN_RES(id);
+ #else
+ long id = (long)panel_userptr(below);
+diff -aurN a/php_ncurses_fe.h b/php_ncurses_fe.h
+--- a/php_ncurses_fe.h 2012-06-16 13:05:19.000000000 -0400
++++ b/php_ncurses_fe.h 2019-02-06 10:41:09.000000000 -0500
+@@ -158,6 +158,9 @@
+ PHP_FUNCTION(ncurses_prefresh);
+ PHP_FUNCTION(ncurses_pnoutrefresh);
+
++PHP_FUNCTION(ncurses_wscrl);
++PHP_FUNCTION(ncurses_wsetscrreg);
++PHP_FUNCTION(ncurses_scrollok);
+ PHP_FUNCTION(ncurses_wstandout);
+ PHP_FUNCTION(ncurses_wstandend);
+ PHP_FUNCTION(ncurses_wattrset);
diff --git a/dev-php/pecl-ncurses/pecl-ncurses-1.0.2-r5.ebuild b/dev-php/pecl-ncurses/pecl-ncurses-1.0.2-r5.ebuild
new file mode 100644
index 000000000000..929d4af52969
--- /dev/null
+++ b/dev-php/pecl-ncurses/pecl-ncurses-1.0.2-r5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+USE_PHP="php5-6 php7-1 php7-2 php7-3"
+
+inherit php-ext-pecl-r3
+
+SRC_URI+=" https://dev.gentoo.org/~grknight/distfiles/${P}-php7.patch.xz"
+
+DESCRIPTION="Terminal screen handling and optimization package"
+
+LICENSE="PHP-3.01"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="sys-libs/ncurses:0="
+RDEPEND="${DEPEND}"
+
+PHP_EXT_ECONF_ARGS=( --enable-ncursesw )
+PATCHES=( "${WORKDIR}/${P}-php7.patch" "${FILESDIR}/${P}-php7.3.patch" )