summaryrefslogtreecommitdiff
path: root/dev-php/ming-php
diff options
context:
space:
mode:
Diffstat (limited to 'dev-php/ming-php')
-rw-r--r--dev-php/ming-php/Manifest7
-rw-r--r--dev-php/ming-php/files/ming-php-54.patch479
-rw-r--r--dev-php/ming-php/files/php_ext-config.m4112
-rw-r--r--dev-php/ming-php/metadata.xml16
-rw-r--r--dev-php/ming-php/ming-php-0.4.7.ebuild46
-rw-r--r--dev-php/ming-php/ming-php-0.4.8.ebuild47
6 files changed, 707 insertions, 0 deletions
diff --git a/dev-php/ming-php/Manifest b/dev-php/ming-php/Manifest
new file mode 100644
index 000000000000..349b383190a8
--- /dev/null
+++ b/dev-php/ming-php/Manifest
@@ -0,0 +1,7 @@
+AUX ming-php-54.patch 17282 BLAKE2B 9f17a2ee92252ca2ff4bf29e4412a4493b49d4eb918772d6c931b0417ae84e22a7b138f76da989ae36a1d7f6f212e606d8232959242e86ea3515adc3ad405d3b SHA512 79aeea313bbc2b17e170998df37a0e526125ba7752533ca312f18bf31cc66ea79d6fcffd84dfccb9c7714c16345a1cb0f3107914f6ecad01702ad550145391e7
+AUX php_ext-config.m4 2939 BLAKE2B cb3e65a0397b753fb6675425e3eaab0c68349b7d14f387160133312b96f5a8101cea87125d03eafbfdef7ede77b2a85dd0b32d428e6c78019a4a3d2c84f9cd05 SHA512 88e3eb6f42c38d66c050c3e6c956e239861b8c17ed7f7c4867be00b06c9b48b806af3254bd8fbd4c7349a4ff41981bfcb1c7256d671dc5b8bf6d0089d8bf62cc
+DIST ming-0_4_7.tar.gz 14903570 BLAKE2B 48e7b3c2b8a81fa63da18dd140064c572efe563eb621f33b4bc57cdcad8d6cb828e8f62fc63b47144389b0eefa5b571c47e39013ec2724611d20e74928275213 SHA512 232cf45daabd7b60203c9382aa6568455a42ddcd1bd60eec9bfe3f5e80376fcc9ff6304efbafca1ac8a504e2e167bc394e4902e0d067303d9582551461e09d3c
+DIST ming-0_4_8.tar.gz 14908459 BLAKE2B df89beab98a7fbdcbefccad3a2fb013453405a7dba757131a61f06d9e40b7e1fe7beeadab42c113b12cff24b91cb1e76e9fabee0e1b4af58e2127eba13cc27bc SHA512 e395acde9119ad32f4cedd500bcceee70bdd563222a41dda899cc318d5e34eb580abc38ac39c6dec7821913a0a70d2f953fc81f52255b623e34f7c3aaafbc9c0
+EBUILD ming-php-0.4.7.ebuild 1332 BLAKE2B 4eb3cb1d05c52660df43e15e172154564754261cc0630669f212c31a5d551fd389966bac27becca64e5ab531a8039feb5b2cd214bd970ef21a5772f1410ad648 SHA512 0793f4410f866ae8fbe38e083c5c0a828d9e0d643aeeb1973d9b644854e336fbe3fa2f812e4a26948474af242ba7bf202c3f8dbfb4c3ad1ca63f74c4a10c3b28
+EBUILD ming-php-0.4.8.ebuild 1397 BLAKE2B d1babc9387be09e585356e7c20cdbe1417ba5500b4c88947011b00dfec05125c5cb26a47d2a035962fc76274bc355ff5fcb1b5c414a4c9b2248ae9fb1c2f7971 SHA512 00f5109e2106c534f2c10b52f5dec7e2375c86ec2dbda6f4140f4a88ad11088035d22950e77e20ea59a4c41b374ca7f22eb543d08d8aab65546d953e37c2089d
+MISC metadata.xml 475 BLAKE2B 3f1db2ece7aef5e9f24e7fc1b2649422102cacb521ba830ae36a7cb7683957bcb89366d980c305fb9ad2a7fee9ecb87176e934f6ba328a6a2039d36f9c3ca207 SHA512 f5586b50f459b96dd287bb1ee2d1a166cb8086584c76f5b5b68cf1d8271afe22903f77d8641aee3c2d68ffd2b41441aed5f641a303b6f43243d67d65d41748c4
diff --git a/dev-php/ming-php/files/ming-php-54.patch b/dev-php/ming-php/files/ming-php-54.patch
new file mode 100644
index 000000000000..79e167406800
--- /dev/null
+++ b/dev-php/ming-php/files/ming-php-54.patch
@@ -0,0 +1,479 @@
+--- a/ming.c 2015-01-19 21:46:35.299042679 -0500
++++ b/ming.c 2015-01-19 21:52:00.566380663 -0500
+@@ -370,7 +370,7 @@
+
+ input = newSWFInput_file(file);
+ zend_list_addref(Z_LVAL_P(zfile));
+- zend_list_addref(zend_list_insert(input, le_swfinputp));
++ zend_list_addref(zend_list_insert(input, le_swfinputp TSRMLS_CC));
+ return input;
+ }
+ /* }}} */
+@@ -410,7 +410,7 @@
+
+ input = newSWFInput_bufferCopy((unsigned char *)data, data_len);
+
+- ret = zend_list_insert(input, le_swfinputp);
++ ret = zend_list_insert(input, le_swfinputp TSRMLS_CC);
+ object_init_ex(getThis(), input_class_entry_ptr);
+ add_property_resource(getThis(), "input", ret);
+ zend_list_addref(ret);
+@@ -449,7 +449,7 @@
+
+ fc = newSWFFontCollection_fromFile(filename);
+ if(fc) {
+- ret = zend_list_insert(fc, le_swffontcollectionp);
++ ret = zend_list_insert(fc, le_swffontcollectionp TSRMLS_CC);
+ object_init_ex(getThis(), fontcollection_class_entry_ptr);
+ add_property_resource(getThis(), "fontcollection", ret);
+ zend_list_addref(ret);
+@@ -479,7 +479,7 @@
+ font = SWFFontCollection_getFont(getFontCollection(getThis() TSRMLS_CC), index);
+
+ if(font != NULL) {
+- ret = zend_list_insert(font, le_swffontp);
++ ret = zend_list_insert(font, le_swffontp TSRMLS_CC);
+ object_init_ex(return_value, font_class_entry_ptr);
+ add_property_resource(return_value, "font", ret);
+ zend_list_addref(ret);
+@@ -527,7 +527,7 @@
+
+ font = newSWFBrowserFont(name);
+ if(font) {
+- ret = zend_list_insert(font, le_swfbrowserfontp);
++ ret = zend_list_insert(font, le_swfbrowserfontp TSRMLS_CC);
+ object_init_ex(getThis(), browserfont_class_entry_ptr);
+ add_property_resource(getThis(), "browserfont", ret);
+ zend_list_addref(ret);
+@@ -573,7 +573,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- ret = zend_list_insert(cx, le_swfcxformp);
++ ret = zend_list_insert(cx, le_swfcxformp TSRMLS_CC);
+ object_init_ex(getThis(), cxform_class_entry_ptr);
+ add_property_resource(getThis(), "cx", ret);
+ zend_list_addref(ret);
+@@ -736,7 +736,7 @@
+ init = newSWFInitAction_withId(getAction(zaction TSRMLS_CC), id);
+ }
+
+- ret = zend_list_insert(init, le_swfinitactionp);
++ ret = zend_list_insert(init, le_swfinitactionp TSRMLS_CC);
+ object_init_ex(getThis(), initaction_class_entry_ptr);
+ add_property_resource(getThis(), "initaction", ret);
+ zend_list_addref(ret);
+@@ -785,7 +785,7 @@
+ php_error_docref(NULL TSRMLS_CC, E_ERROR, "Couldn't compile actionscript");
+ }
+
+- ret = zend_list_insert(action, le_swfactionp);
++ ret = zend_list_insert(action, le_swfactionp TSRMLS_CC);
+
+ object_init_ex(getThis(), action_class_entry_ptr);
+ add_property_resource(getThis(), "action", ret);
+@@ -863,7 +863,7 @@
+ input = newSWFInput_filename(Z_STRVAL_P(zfile));
+ if(input == NULL)
+ php_error(E_ERROR, "opening bitmap file failed");
+- zend_list_addref(zend_list_insert(input, le_swfinputp));
++ zend_list_addref(zend_list_insert(input, le_swfinputp TSRMLS_CC));
+ break;
+
+ default:
+@@ -884,7 +884,7 @@
+ maskinput = newSWFInput_filename(Z_STRVAL_P(zmask));
+ if(maskinput == NULL)
+ php_error(E_ERROR, "opening mask file failed");
+- zend_list_addref(zend_list_insert(maskinput, le_swfinputp));
++ zend_list_addref(zend_list_insert(maskinput, le_swfinputp TSRMLS_CC));
+ break;
+
+ default:
+@@ -895,7 +895,7 @@
+ /* XXX: this is very optimistic! is it really a JPEG ?!? */
+ bitmap_alpha = newSWFJpegWithAlpha_fromInput(input, maskinput);
+ if(bitmap_alpha) {
+- ret = zend_list_insert(bitmap_alpha, le_swfbitmapp);
++ ret = zend_list_insert(bitmap_alpha, le_swfbitmapp TSRMLS_CC);
+ object_init_ex(getThis(), bitmap_class_entry_ptr);
+ add_property_resource(getThis(), "bitmap", ret);
+ zend_list_addref(ret);
+@@ -903,7 +903,7 @@
+ } else {
+ bitmap = newSWFBitmap_fromInput(input);
+ if(bitmap) {
+- ret = zend_list_insert(bitmap, le_swfbitmapp);
++ ret = zend_list_insert(bitmap, le_swfbitmapp TSRMLS_CC);
+ object_init_ex(getThis(), bitmap_class_entry_ptr);
+ add_property_resource(getThis(), "bitmap", ret);
+ zend_list_addref(ret);
+@@ -1164,7 +1164,7 @@
+ PHP_METHOD(swfbutton, __construct)
+ {
+ SWFButton button = newSWFButton();
+- int ret = zend_list_insert(button, le_swfbuttonp);
++ int ret = zend_list_insert(button, le_swfbuttonp TSRMLS_CC);
+
+ object_init_ex(getThis(), button_class_entry_ptr);
+ add_property_resource(getThis(), "button", ret);
+@@ -1297,7 +1297,7 @@
+
+ if(record != NULL)
+ {
+- ret = zend_list_insert(record, le_swfbuttonrecordp);
++ ret = zend_list_insert(record, le_swfbuttonrecordp TSRMLS_CC);
+ object_init_ex(return_value, buttonrecord_class_entry_ptr);
+ add_property_resource(return_value, "buttonrecord", ret);
+ zend_list_addref(ret);
+@@ -1384,7 +1384,7 @@
+
+ if(item != NULL) {
+ /* try and create a soundinstance object */
+- ret = zend_list_insert(item, le_swfsoundinstancep);
++ ret = zend_list_insert(item, le_swfsoundinstancep TSRMLS_CC);
+ object_init_ex(return_value, soundinstance_class_entry_ptr);
+ add_property_resource(return_value, "soundinstance", ret);
+ zend_list_addref(ret);
+@@ -1971,7 +1971,7 @@
+ m = SWFDisplayItem_getMatrix(getDisplayItem(getThis() TSRMLS_CC));
+ if(m != NULL)
+ {
+- ret = zend_list_insert(m, le_swfmatrixp);
++ ret = zend_list_insert(m, le_swfmatrixp TSRMLS_CC);
+ object_init_ex(return_value, matrix_class_entry_ptr);
+ add_property_resource(return_value, "matrix", ret);
+ zend_list_addref(ret);
+@@ -1992,7 +1992,7 @@
+ c = SWFDisplayItem_getCharacter(getDisplayItem(getThis() TSRMLS_CC));
+ if(c != NULL)
+ {
+- ret = zend_list_insert(c, le_swfcharacterp);
++ ret = zend_list_insert(c, le_swfcharacterp TSRMLS_CC);
+ object_init_ex(return_value, character_class_entry_ptr);
+ add_property_resource(return_value, "character", ret);
+ zend_list_addref(ret);
+@@ -2366,7 +2366,7 @@
+
+ if(font)
+ {
+- ret = zend_list_insert(font, le_swffontp);
++ ret = zend_list_insert(font, le_swffontp TSRMLS_CC);
+ object_init_ex(getThis(), font_class_entry_ptr);
+ add_property_resource(getThis(), "font", ret);
+ zend_list_addref(ret);
+@@ -2537,7 +2537,7 @@
+
+ matrix = newSWFFilterMatrix(cols, rows, values);
+ free(values); /* array is copied by libming */
+- ret = zend_list_insert(matrix, le_swffiltermatrixp);
++ ret = zend_list_insert(matrix, le_swffiltermatrixp TSRMLS_CC);
+ object_init_ex(getThis(), filtermatrix_class_entry_ptr);
+ add_property_resource(getThis(), "filtermatrix", ret);
+ zend_list_addref(ret);
+@@ -2582,7 +2582,7 @@
+ }
+
+ shadow = newSWFShadow(angle, distance, strength);
+- ret = zend_list_insert(shadow, le_swfshadowp);
++ ret = zend_list_insert(shadow, le_swfshadowp TSRMLS_CC);
+ object_init_ex(getThis(), shadow_class_entry_ptr);
+ add_property_resource(getThis(), "shadow", ret);
+ zend_list_addref(ret);
+@@ -2628,7 +2628,7 @@
+ }
+
+ blur = newSWFBlur(blurX, blurY, passes);
+- ret = zend_list_insert(blur, le_swfblurp);
++ ret = zend_list_insert(blur, le_swfblurp TSRMLS_CC);
+ object_init_ex(getThis(), blur_class_entry_ptr);
+ add_property_resource(getThis(), "blur", ret);
+ zend_list_addref(ret);
+@@ -2665,7 +2665,7 @@
+ PHP_METHOD(swfgradient, __construct)
+ {
+ SWFGradient gradient = newSWFGradient();
+- int ret = zend_list_insert(gradient, le_swfgradientp);
++ int ret = zend_list_insert(gradient, le_swfgradientp TSRMLS_CC);
+
+ object_init_ex(getThis(), gradient_class_entry_ptr);
+ add_property_resource(getThis(), "gradient", ret);
+@@ -3076,7 +3076,7 @@
+ if(filter == NULL)
+ WRONG_PARAM_COUNT;
+
+- ret = zend_list_insert(filter, le_swffilterp);
++ ret = zend_list_insert(filter, le_swffilterp TSRMLS_CC);
+ object_init_ex(getThis(), filter_class_entry_ptr);
+ add_property_resource(getThis(), "filter", ret);
+ zend_list_addref(ret);
+@@ -3115,7 +3115,7 @@
+ PHP_METHOD(swfmorph, __construct)
+ {
+ SWFMorph morph = newSWFMorphShape();
+- int ret = zend_list_insert(morph, le_swfmorphp);
++ int ret = zend_list_insert(morph, le_swfmorphp TSRMLS_CC);
+
+ object_init_ex(getThis(), morph_class_entry_ptr);
+ add_property_resource(getThis(), "morph", ret);
+@@ -3147,7 +3147,7 @@
+ {
+ SWFMorph morph = getMorph(getThis() TSRMLS_CC);
+ SWFShape shape = SWFMorph_getShape1(morph);
+- int ret = zend_list_insert(shape, le_swfshapep);
++ int ret = zend_list_insert(shape, le_swfshapep TSRMLS_CC);
+
+ object_init_ex(return_value, shape_class_entry_ptr);
+ add_property_resource(return_value, "shape", ret);
+@@ -3161,7 +3161,7 @@
+ {
+ SWFMorph morph = getMorph(getThis() TSRMLS_CC);
+ SWFShape shape = SWFMorph_getShape2(morph);
+- int ret = zend_list_insert(shape, le_swfshapep);
++ int ret = zend_list_insert(shape, le_swfshapep TSRMLS_CC);
+
+ object_init_ex(return_value, shape_class_entry_ptr);
+ add_property_resource(return_value, "shape", ret);
+@@ -3205,7 +3205,7 @@
+ input = newSWFInput_filename(Z_STRVAL_P(zfile));
+ if(input == NULL)
+ php_error(E_ERROR, "opening sound file failed");
+- zend_list_addref(zend_list_insert(input, le_swfinputp));
++ zend_list_addref(zend_list_insert(input, le_swfinputp TSRMLS_CC));
+ break;
+
+ default:
+@@ -3216,7 +3216,7 @@
+ sound = newSWFSoundStream_fromInput(input);
+
+ if(sound) {
+- ret = zend_list_insert(sound, le_swfsoundstreamp);
++ ret = zend_list_insert(sound, le_swfsoundstreamp TSRMLS_CC);
+ object_init_ex(getThis(), soundstream_class_entry_ptr);
+ add_property_resource(getThis(), "soundstream", ret);
+ zend_list_addref(ret);
+@@ -3331,7 +3331,7 @@
+ input = newSWFInput_filename(Z_STRVAL_P(zfile));
+ if(input == NULL)
+ php_error(E_ERROR, "opening sound file failed");
+- zend_list_addref(zend_list_insert(input, le_swfinputp));
++ zend_list_addref(zend_list_insert(input, le_swfinputp TSRMLS_CC));
+ break;
+
+ default:
+@@ -3343,7 +3343,7 @@
+
+ if(sound != NULL)
+ {
+- ret = zend_list_insert(sound, le_swfsoundp);
++ ret = zend_list_insert(sound, le_swfsoundp TSRMLS_CC);
+ object_init_ex(getThis(), sound_class_entry_ptr);
+ add_property_resource(getThis(), "sound", ret);
+ zend_list_addref(ret);
+@@ -3479,7 +3479,7 @@
+ input = newSWFInput_filename(Z_STRVAL_P(zfile));
+ if(input == NULL)
+ php_error(E_ERROR, "opening sound video failed");
+- zend_list_addref(zend_list_insert(input, le_swfinputp));
++ zend_list_addref(zend_list_insert(input, le_swfinputp TSRMLS_CC));
+ break;
+
+ default:
+@@ -3496,7 +3496,7 @@
+ }
+
+ if(stream) {
+- ret = zend_list_insert(stream, le_swfvideostreamp);
++ ret = zend_list_insert(stream, le_swfvideostreamp TSRMLS_CC);
+ object_init_ex(getThis(), videostream_class_entry_ptr);
+ add_property_resource(getThis(), "videostream", ret);
+ zend_list_addref(ret);
+@@ -3646,7 +3646,7 @@
+ bd = newSWFBinaryData((unsigned char *)data, data_len);
+
+ if(bd) {
+- ret = zend_list_insert(bd, le_swfbinarydatap);
++ ret = zend_list_insert(bd, le_swfbinarydatap TSRMLS_CC);
+ object_init_ex(getThis(), binarydata_class_entry_ptr);
+ add_property_resource(getThis(), "binarydata", ret);
+ zend_list_addref(ret);
+@@ -3704,7 +3704,7 @@
+ input = newSWFInput_filename(Z_STRVAL_P(zfile));
+ if(input == NULL)
+ php_error(E_ERROR, "opening prebuilt clip file failed");
+- zend_list_addref(zend_list_insert(input, le_swfinputp));
++ zend_list_addref(zend_list_insert(input, le_swfinputp TSRMLS_CC));
+ break;
+
+ default:
+@@ -3715,7 +3715,7 @@
+ clip = newSWFPrebuiltClip_fromInput(input);
+
+ if(clip) {
+- ret = zend_list_insert(clip, le_swfprebuiltclipp);
++ ret = zend_list_insert(clip, le_swfprebuiltclipp TSRMLS_CC);
+ object_init_ex(getThis(), prebuiltclip_class_entry_ptr);
+ add_property_resource(getThis(), "prebuiltclip", ret);
+ zend_list_addref(ret);
+@@ -3768,7 +3768,7 @@
+ movie = newSWFMovie(); /* default version 4 */
+ }
+
+- ret = zend_list_insert(movie, le_swfmoviep);
++ ret = zend_list_insert(movie, le_swfmoviep TSRMLS_CC);
+
+ object_init_ex(getThis(), movie_class_entry_ptr);
+ add_property_resource(getThis(), "movie", ret);
+@@ -3880,7 +3880,7 @@
+ item = SWFMovie_add_internal(movie, ublock);
+ if (item != NULL) {
+ /* try and create a displayitem object */
+- ret = zend_list_insert(item, le_swfdisplayitemp);
++ ret = zend_list_insert(item, le_swfdisplayitemp TSRMLS_CC);
+ object_init_ex(return_value, displayitem_class_entry_ptr);
+ add_property_resource(return_value, "displayitem", ret);
+ zend_list_addref(ret);
+@@ -4242,7 +4242,7 @@
+ php_error(E_ERROR, "opening mp3 file failed");
+ }
+
+- zend_list_addref(zend_list_insert(input, le_swfinputp));
++ zend_list_addref(zend_list_insert(input, le_swfinputp TSRMLS_CC));
+ break;
+
+ default:
+@@ -4327,7 +4327,7 @@
+ if(item != NULL)
+ {
+ /* try and create a soundinstance object */
+- ret = zend_list_insert(item, le_swfsoundinstancep);
++ ret = zend_list_insert(item, le_swfsoundinstancep TSRMLS_CC);
+ object_init_ex(return_value, soundinstance_class_entry_ptr);
+ add_property_resource(return_value, "soundinstance", ret);
+ zend_list_addref(ret);
+@@ -4369,7 +4369,7 @@
+ character = SWFMovie_importCharacter(movie, libswf, name);
+ if(character != NULL)
+ {
+- ret = zend_list_insert(character, le_swfcharacterp);
++ ret = zend_list_insert(character, le_swfcharacterp TSRMLS_CC);
+ object_init_ex(return_value, character_class_entry_ptr);
+ add_property_resource(return_value, "character", ret);
+ zend_list_addref(ret);
+@@ -4397,7 +4397,7 @@
+ if(res != NULL)
+ {
+ /* try and create a fontchar object */
+- ret = zend_list_insert(res, le_swffontcharp);
++ ret = zend_list_insert(res, le_swffontcharp TSRMLS_CC);
+ object_init_ex(return_value, fontchar_class_entry_ptr);
+ add_property_resource(return_value, "fontcharacter", ret);
+ zend_list_addref(ret);
+@@ -4424,7 +4424,7 @@
+ if(res != NULL)
+ {
+ /* try and create a fontchar object */
+- ret = zend_list_insert(res, le_swffontcharp);
++ ret = zend_list_insert(res, le_swffontcharp TSRMLS_CC);
+ object_init_ex(return_value, fontchar_class_entry_ptr);
+ add_property_resource(return_value, "fontcharacter", ret);
+ zend_list_addref(ret);
+@@ -4509,7 +4509,7 @@
+ PHP_METHOD(swfshape, __construct)
+ {
+ SWFShape shape = newSWFShape();
+- int ret = zend_list_insert(shape, le_swfshapep);
++ int ret = zend_list_insert(shape, le_swfshapep TSRMLS_CC);
+
+ object_init_ex(getThis(), shape_class_entry_ptr);
+ add_property_resource(getThis(), "shape", ret);
+@@ -4575,7 +4575,7 @@
+ }
+
+ /* return an SWFFill object */
+- ret = zend_list_insert(fill, le_swffillp);
++ ret = zend_list_insert(fill, le_swffillp TSRMLS_CC);
+ object_init_ex(return_value, fill_class_entry_ptr);
+ add_property_resource(return_value, "fill", ret);
+ zend_list_addref(ret);
+@@ -4618,7 +4618,7 @@
+ }
+
+ /* return an SWFFill object */
+- ret = zend_list_insert(fill, le_swffillp);
++ ret = zend_list_insert(fill, le_swffillp TSRMLS_CC);
+ object_init_ex(return_value, fill_class_entry_ptr);
+ add_property_resource(return_value, "fill", ret);
+ zend_list_addref(ret);
+@@ -4664,7 +4664,7 @@
+ }
+
+ /* return an SWFFill object */
+- ret = zend_list_insert(fill, le_swffillp);
++ ret = zend_list_insert(fill, le_swffillp TSRMLS_CC);
+ object_init_ex(return_value, fill_class_entry_ptr);
+ add_property_resource(return_value, "fill", ret);
+ zend_list_addref(ret);
+@@ -4719,7 +4719,7 @@
+ }
+
+ /* return an SWFFill object */
+- ret = zend_list_insert(fill, le_swffillp);
++ ret = zend_list_insert(fill, le_swffillp TSRMLS_CC);
+ object_init_ex(return_value, fill_class_entry_ptr);
+ add_property_resource(return_value, "fill", ret);
+ zend_list_addref(ret);
+@@ -5209,7 +5209,7 @@
+ PHP_METHOD(swfsprite, __construct)
+ {
+ SWFMovieClip sprite = newSWFMovieClip();
+- int ret = zend_list_insert(sprite, le_swfspritep);
++ int ret = zend_list_insert(sprite, le_swfspritep TSRMLS_CC);
+
+ object_init_ex(getThis(), sprite_class_entry_ptr);
+ add_property_resource(getThis(), "sprite", ret);
+@@ -5259,7 +5259,7 @@
+
+ if (item != NULL) {
+ /* try and create a displayitem object */
+- ret = zend_list_insert(item, le_swfdisplayitemp);
++ ret = zend_list_insert(item, le_swfdisplayitemp TSRMLS_CC);
+ object_init_ex(return_value, displayitem_class_entry_ptr);
+ add_property_resource(return_value, "displayitem", ret);
+ zend_list_addref(ret);
+@@ -5342,7 +5342,7 @@
+
+ if(item != NULL) {
+ /* try and create a displayitem object */
+- ret = zend_list_insert(item, le_swfsoundinstancep);
++ ret = zend_list_insert(item, le_swfsoundinstancep TSRMLS_CC);
+ object_init_ex(return_value, soundinstance_class_entry_ptr);
+ add_property_resource(return_value, "soundinstance", ret);
+ zend_list_addref(ret);
+@@ -5400,7 +5400,7 @@
+ input = newSWFInput_filename(Z_STRVAL_P(zfile));
+ if(input == NULL)
+ php_error(E_ERROR, "opening sound file failed");
+- zend_list_addref(zend_list_insert(input, le_swfinputp));
++ zend_list_addref(zend_list_insert(input, le_swfinputp TSRMLS_CC));
+ break;
+
+ }
+@@ -5521,7 +5521,7 @@
+ text = newSWFText2();
+ }
+
+- int ret = zend_list_insert(text, le_swftextp);
++ int ret = zend_list_insert(text, le_swftextp TSRMLS_CC);
+ object_init_ex(getThis(), text_class_entry_ptr);
+ add_property_resource(getThis(), "text", ret);
+ zend_list_addref(ret);
+@@ -5794,7 +5794,7 @@
+ {
+ long flags = 0;
+ SWFTextField field = newSWFTextField();
+- int ret = zend_list_insert(field, le_swftextfieldp);
++ int ret = zend_list_insert(field, le_swftextfieldp TSRMLS_CC);
+
+ object_init_ex(getThis(), textfield_class_entry_ptr);
+ add_property_resource(getThis(), "textfield", ret);
diff --git a/dev-php/ming-php/files/php_ext-config.m4 b/dev-php/ming-php/files/php_ext-config.m4
new file mode 100644
index 000000000000..9f4cd19790b0
--- /dev/null
+++ b/dev-php/ming-php/files/php_ext-config.m4
@@ -0,0 +1,112 @@
+PHP_LIBDIR=lib
+
+PHP_ARG_WITH(ming, for MING support,
+[ --with-ming[=DIR] Include MING support])
+
+if test "$PHP_MING" != "no"; then
+ AC_CHECK_LIB(m, sin)
+
+ for i in $PHP_MING ../../src /usr/local /usr; do
+ if test -f $i/$PHP_LIBDIR/libming.$SHLIB_SUFFIX_NAME || test -f $i/$PHP_LIBDIR/libming.a; then
+ MING_DIR=$i
+ break
+ fi
+ done
+
+ if test -z "$MING_DIR"; then
+ AC_MSG_ERROR(Please reinstall ming distribution. libming.(a|so) not found.)
+ fi
+
+ for i in ../../src $MING_DIR/include $MING_DIR/include/ming $MING_DIR/ming/include; do
+ if test -f $i/ming.h; then
+ MING_INC_DIR=$i
+ fi
+ done
+
+ if test -z "$MING_INC_DIR"; then
+ AC_MSG_ERROR(Please reinstall ming distribution. ming.h not found.)
+ fi
+
+ PHP_CHECK_LIBRARY(ming, Ming_useSWFVersion, [
+ AC_DEFINE(HAVE_MING,1,[ ])
+ ],[
+ AC_MSG_ERROR([Ming library 0.2a or greater required.])
+ ],[
+ -L$MING_DIR/$PHP_LIBDIR
+ ])
+
+ PHP_ADD_INCLUDE($MING_INC_DIR)
+ PHP_ADD_LIBRARY_WITH_PATH(ming, $MING_DIR/$PHP_LIBDIR, MING_SHARED_LIBADD)
+
+ old_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=-I$MING_INC_DIR
+ AC_MSG_CHECKING([for destroySWFBlock])
+ AC_TRY_RUN([
+#include "ming.h"
+int destroySWFBlock(int a, int b) {
+ return a+b;
+}
+int main() {
+ return destroySWFBlock(-1,1); /* returns 0 only if function is not yet defined */
+}
+ ],[
+ AC_MSG_RESULT([missing])
+ ],[
+ AC_DEFINE(HAVE_DESTROY_SWF_BLOCK,1,[ ])
+ AC_MSG_RESULT([ok])
+ ],[
+ AC_MSG_RESULT([unknown])
+ ])
+
+dnl Check Ming version (FIXME: if/when ming has some better way to detect the version..)
+ AC_EGREP_CPP(yes, [
+#include <ming.h>
+#ifdef SWF_SOUND_COMPRESSION
+yes
+#endif
+ ], [
+ AC_DEFINE(HAVE_NEW_MING, 1, [ ])
+ dnl FIXME: This is now unconditional..better check coming later.
+ ])
+
+ dnl Check if SWFVideoStream_setFrameMode() is available
+ AC_TRY_COMPILE([
+#include <ming.h>
+ ], [
+int main(void) { SWFVideoStream_setFrameMode(0, 0); return 0; }
+ ], [
+ AC_DEFINE(HAVE_SWFVIDEOSTREAM_SETFRAMEMODE, 1, [Have SWFVideoStream_setFrameMode(SWFVideoStream, int)])
+ ], [])
+
+ dnl Check if SWFVideoStream_nextFrame() is available
+ AC_TRY_COMPILE([
+#include <ming.h>
+ ], [
+int main(void) { SWFVideoStream_nextFrame(0); return 0; }
+ ], [
+ AC_DEFINE(HAVE_SWFVIDEOSTREAM_NEXTFRAME, 1, [Have SWFVideoStream_nextFrame(SWFVideoStream)])
+ ], [])
+
+ dnl Check if SWFVideoStream_seek() is available
+ AC_TRY_COMPILE([
+#include <ming.h>
+ ], [
+int main(void) { SWFVideoStream_seek(0, 0, 0); return 0; }
+ ], [
+ AC_DEFINE(HAVE_SWFVIDEOSTREAM_SEEK, 1, [Have SWFVideoStream_seek(SWFVideoStream, int frame, int whence)])
+ ], [])
+
+
+ dnl Check if SWFMovie_output() accepts the 4th parameter
+ AC_TRY_COMPILE([
+#include <ming.h>
+ ], [
+int main(void) { SWFMovie_output(NULL, NULL, NULL, 0); return 0; }
+ ], [
+ AC_DEFINE(HAVE_MING_MOVIE_LEVEL, 1, [ ])
+ ], [])
+ CPPFLAGS=$old_CPPFLAGS
+
+ PHP_NEW_EXTENSION(ming, ming.c, $ext_shared)
+ PHP_SUBST(MING_SHARED_LIBADD)
+fi
diff --git a/dev-php/ming-php/metadata.xml b/dev-php/ming-php/metadata.xml
new file mode 100644
index 000000000000..50367ee577fa
--- /dev/null
+++ b/dev-php/ming-php/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grknight@gentoo.org</email>
+ <name>Brian Evans</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>php-bugs@gentoo.org</email>
+ <name>PHP</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">ming</remote-id>
+ <remote-id type="github">libming/libming</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-php/ming-php/ming-php-0.4.7.ebuild b/dev-php/ming-php/ming-php-0.4.7.ebuild
new file mode 100644
index 000000000000..3c335f1e51c2
--- /dev/null
+++ b/dev-php/ming-php/ming-php-0.4.7.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PHP_EXT_NAME=ming
+MY_P="${PHP_EXT_NAME}-${PV//./_}"
+USE_PHP="php5-6"
+PHP_EXT_S="${WORKDIR}/libming-${MY_P}/php_ext"
+inherit flag-o-matic php-ext-source-r3
+
+DESCRIPTION="PHP extension for the ming Flash movie generation library"
+HOMEPAGE="http://ming.sourceforge.net/"
+SRC_URI="https://github.com/libming/libming/archive/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND="media-libs/ming"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/libming-${MY_P}"
+PATCHES=( "${FILESDIR}/ming-php-54.patch" )
+
+src_prepare() {
+ local libdir=$(get_libdir)
+ cp "${FILESDIR}/php_ext-config.m4" "${PHP_EXT_S}/config.m4" || \
+ die "Failed to copy config.m4 to target"
+ rm "${PHP_EXT_S}/Makefile.am" || die "Failed to remove Makefile.am for ${slot}"
+ # Fix for SYMYLINK_LIB=no
+ if [[ ${libdir} != 'lib' ]] ; then
+ sed -i -e "s~PHP_LIBDIR=lib~PHP_LIBDIR=${libdir}~" "${PHP_EXT_S}/config.m4" \
+ || die "Failed to update lib directory"
+ fi
+ php-ext-source-r3_src_prepare
+}
+
+src_configure() {
+ # build is sensitive to -O3 (bug #297437)
+ replace-flags -O3 -O2
+
+ local PHP_EXT_EXTRA_ECONF="--with-ming=${S}"
+ php-ext-source-r3_src_configure
+}
diff --git a/dev-php/ming-php/ming-php-0.4.8.ebuild b/dev-php/ming-php/ming-php-0.4.8.ebuild
new file mode 100644
index 000000000000..13db203b5ab9
--- /dev/null
+++ b/dev-php/ming-php/ming-php-0.4.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PHP_EXT_NAME=ming
+MY_P="${PHP_EXT_NAME}-${PV//./_}"
+USE_PHP="php5-6 php7-0 php7-1 php7-2"
+PHP_EXT_S="${WORKDIR}/libming-${MY_P}/php_ext"
+inherit flag-o-matic php-ext-source-r3
+
+DESCRIPTION="PHP extension for the ming Flash movie generation library"
+HOMEPAGE="http://ming.sourceforge.net/"
+SRC_URI="https://github.com/libming/libming/archive/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND="media-libs/ming"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/libming-${MY_P}"
+# Clear out near-empty README files which are not helpful to the user
+DOCS=( )
+
+src_prepare() {
+ local libdir=$(get_libdir)
+ cp "${FILESDIR}/php_ext-config.m4" "${PHP_EXT_S}/config.m4" || \
+ die "Failed to copy config.m4 to target"
+ rm "${PHP_EXT_S}/Makefile.am" || die "Failed to remove Makefile.am for ${slot}"
+ # Fix for SYMYLINK_LIB=no
+ if [[ ${libdir} != 'lib' ]] ; then
+ sed -i -e "s~PHP_LIBDIR=lib~PHP_LIBDIR=${libdir}~" "${PHP_EXT_S}/config.m4" \
+ || die "Failed to update lib directory"
+ fi
+ php-ext-source-r3_src_prepare
+}
+
+src_configure() {
+ # build is sensitive to -O3 (bug #297437)
+ replace-flags -O3 -O2
+
+ local PHP_EXT_EXTRA_ECONF="--with-ming=${S}"
+ php-ext-source-r3_src_configure
+}