summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2022-03-21 09:33:00 +0100
committerRemi Collet <remi@php.net>2022-03-21 09:33:00 +0100
commit3f0b8c691d29bfead175f75d3e48fa5275913502 (patch)
tree445eff9ae027557c480d00b20445d195991e8285
parent5e0c02cc49dd4cc69e977352796edbcc5493a1c5 (diff)
update to 2.6.0
fix build with PHP 8.0 using patch from https://github.com/Ponup/php-sdl/pull/60 open https://github.com/Ponup/php-sdl/issues/61 build failure with 2.0.10 open https://github.com/Ponup/php-sdl/issues/62 deprecated call
-rw-r--r--PHPINFO6
-rw-r--r--REFLECTION464
-rw-r--r--php-pecl-sdl.spec15
-rw-r--r--sdl-pr60.patch126
4 files changed, 484 insertions, 127 deletions
diff --git a/PHPINFO b/PHPINFO
index 6160b84..2301e29 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -2,6 +2,6 @@
SDL
SDL support => enabled
-SDL module version => 2.5.0
-SDL2 headers version => 2.0.14
-SDL2 library version => 2.0.14
+SDL module version => 2.6.0
+SDL2 headers version => 2.0.20
+SDL2 library version => 2.0.20
diff --git a/REFLECTION b/REFLECTION
index aeeaaa2..a00c702 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
+Extension [ <persistent> extension #120 SDL version 2.6.0 ] {
- Constants [738] {
Constant [ int SDL_BLENDMODE_NONE ] { 0 }
@@ -716,11 +716,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
Constant [ int SDL_PREALLOC ] { 1 }
Constant [ int SDL_RLEACCEL ] { 2 }
Constant [ int SDL_DONTFREE ] { 4 }
- Constant [ int SDL_COMPILEDVERSION ] { 2014 }
+ Constant [ int SDL_COMPILEDVERSION ] { 2020 }
Constant [ int SDL_MAJOR_VERSION ] { 2 }
Constant [ int SDL_MINOR_VERSION ] { 0 }
- Constant [ int SDL_PATCHLEVEL ] { 14 }
- Constant [ string SDL_REVISION ] { hg-14525:e52d96ea04fc }
+ Constant [ int SDL_PATCHLEVEL ] { 20 }
+ Constant [ string SDL_REVISION ] { @21791b5012198ae204842be1197e9a0b915f4aaa }
Constant [ int SDL_WINDOW_FULLSCREEN ] { 1 }
Constant [ int SDL_WINDOW_OPENGL ] { 2 }
Constant [ int SDL_WINDOW_SHOWN ] { 4 }
@@ -1240,6 +1240,65 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
Parameter #2 [ <required> &$h ]
}
}
+ Function [ <internal:SDL> function SDL_RenderDrawPointF ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $renderer ]
+ Parameter #1 [ <required> float $x ]
+ Parameter #2 [ <required> float $y ]
+ }
+ - Return [ int ]
+ }
+ Function [ <internal:SDL> function SDL_RenderDrawLineF ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> $renderer ]
+ Parameter #1 [ <required> float $x1 ]
+ Parameter #2 [ <required> float $y1 ]
+ Parameter #3 [ <required> float $x2 ]
+ Parameter #4 [ <required> float $y2 ]
+ }
+ - Return [ int ]
+ }
+ Function [ <internal:SDL> function SDL_RenderDrawRectF ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $renderer ]
+ Parameter #1 [ <required> SDL_FRect $rect ]
+ }
+ - Return [ int ]
+ }
+ Function [ <internal:SDL> function SDL_RenderFillRectF ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $renderer ]
+ Parameter #1 [ <required> SDL_FRect $rect ]
+ }
+ - Return [ int ]
+ }
+ Function [ <internal:SDL> function SDL_RenderCopyF ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> $renderer ]
+ Parameter #1 [ <required> SDL_Texture $texture ]
+ Parameter #2 [ <required> ?SDL_Rect $srcrect ]
+ Parameter #3 [ <required> ?SDL_FRect $dstrect ]
+ }
+ - Return [ int ]
+ }
+ Function [ <internal:SDL> function SDL_RenderCopyExF ] {
+
+ - Parameters [7] {
+ Parameter #0 [ <required> $renderer ]
+ Parameter #1 [ <required> SDL_Texture $texture ]
+ Parameter #2 [ <required> ?SDL_Rect $srcrect ]
+ Parameter #3 [ <required> ?SDL_FRect $dstrect ]
+ Parameter #4 [ <required> float $angle ]
+ Parameter #5 [ <required> ?SDL_FPoint $center ]
+ Parameter #6 [ <required> int $flip ]
+ }
+ - Return [ int ]
+ }
Function [ <internal:SDL> function SDL_CreateRGBSurface ] {
- Parameters [8] {
@@ -1478,61 +1537,6 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
Parameter #7 [ <required> $dst_pitch ]
}
}
- Function [ <internal:SDL> function SDL_RectEmpty ] {
-
- - Parameters [1] {
- Parameter #0 [ <required> SDL_Rect $rect ]
- }
- }
- Function [ <internal:SDL> function SDL_RectEquals ] {
-
- - Parameters [2] {
- Parameter #0 [ <required> SDL_Rect $rectA ]
- Parameter #1 [ <required> SDL_Rect $rectB ]
- }
- }
- Function [ <internal:SDL> function SDL_HasIntersection ] {
-
- - Parameters [2] {
- Parameter #0 [ <required> SDL_Rect $rectA ]
- Parameter #1 [ <required> SDL_Rect $rectB ]
- }
- }
- Function [ <internal:SDL> function SDL_IntersectRect ] {
-
- - Parameters [3] {
- Parameter #0 [ <required> SDL_Rect $rectA ]
- Parameter #1 [ <required> SDL_Rect $rectB ]
- Parameter #2 [ <required> &$result ]
- }
- }
- Function [ <internal:SDL> function SDL_UnionRect ] {
-
- - Parameters [3] {
- Parameter #0 [ <required> SDL_Rect $rectA ]
- Parameter #1 [ <required> SDL_Rect $rectB ]
- Parameter #2 [ <required> &$result ]
- }
- }
- Function [ <internal:SDL> function SDL_IntersectRectAndLine ] {
-
- - Parameters [5] {
- Parameter #0 [ <required> SDL_Rect $rect ]
- Parameter #1 [ <required> &$X1 ]
- Parameter #2 [ <required> &$Y1 ]
- Parameter #3 [ <required> &$X2 ]
- Parameter #4 [ <required> &$Y2 ]
- }
- }
- Function [ <internal:SDL> function SDL_EnclosePoints ] {
-
- - Parameters [4] {
- Parameter #0 [ <required> array $point ]
- Parameter #1 [ <required> $count ]
- Parameter #2 [ <required> SDL_Rect $clip ]
- Parameter #3 [ <required> &$rect ]
- }
- }
Function [ <internal:SDL> function SDL_WaitEvent ] {
- Parameters [1] {
@@ -2468,10 +2472,104 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
Parameter #1 [ <required> $value ]
}
}
+ Function [ <internal:SDL> function SDL_PointInRect ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> SDL_Point $p ]
+ Parameter #1 [ <required> SDL_Rect $r ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_RectEmpty ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> SDL_Rect $r ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_RectEquals ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> SDL_Rect $a ]
+ Parameter #1 [ <required> SDL_Rect $b ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_HasIntersection ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> SDL_Rect $A ]
+ Parameter #1 [ <required> SDL_Rect $B ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_IntersectRect ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> SDL_Rect $A ]
+ Parameter #1 [ <required> SDL_Rect $B ]
+ Parameter #2 [ <required> ?SDL_Rect &$result ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_UnionRect ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> SDL_Rect $A ]
+ Parameter #1 [ <required> SDL_Rect $B ]
+ Parameter #2 [ <required> ?SDL_Rect &$result ]
+ }
+ - Return [ void ]
+ }
+ Function [ <internal:SDL> function SDL_EnclosePoints ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> SDL_Point $points ]
+ Parameter #1 [ <required> int $count ]
+ Parameter #2 [ <required> SDL_Rect $clip ]
+ Parameter #3 [ <required> ?SDL_Rect &$result ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_IntersectRectAndLine ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> SDL_Rect $rect ]
+ Parameter #1 [ <required> int &$X1 ]
+ Parameter #2 [ <required> int &$Y1 ]
+ Parameter #3 [ <required> int &$X2 ]
+ Parameter #4 [ <required> int &$Y2 ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_FRectEmpty ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> SDL_FRect $r ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_HasIntersectionF ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> SDL_FRect $A ]
+ Parameter #1 [ <required> SDL_FRect $B ]
+ }
+ - Return [ bool ]
+ }
+ Function [ <internal:SDL> function SDL_IntersectFRect ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> SDL_FRect $A ]
+ Parameter #1 [ <required> SDL_FRect $B ]
+ Parameter #2 [ <required> ?SDL_FRect &$result ]
+ }
+ - Return [ bool ]
+ }
}
- - Classes [21] {
- Class [ <internal:SDL> class SDL_Event ] {
+ - Classes [23] {
+ Class [ <internal:SDL> class SDL_Event implements Stringable ] {
- Constants [0] {
}
@@ -2495,15 +2593,16 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
}
}
- Class [ <internal:SDL> class SDL_GLContext ] {
+ Class [ <internal:SDL> class SDL_GLContext implements Stringable ] {
- Constants [31] {
Constant [ public int RED_SIZE ] { 0 }
@@ -2561,10 +2660,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Delete ] {
@@ -2575,7 +2675,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_MessageBoxColor ] {
+ Class [ <internal:SDL> class SDL_MessageBoxColor implements Stringable ] {
- Constants [6] {
Constant [ public int BACKGROUND ] { 0 }
@@ -2608,15 +2708,16 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
}
}
- Class [ <internal:SDL> class SDL_MessageBoxButtonData ] {
+ Class [ <internal:SDL> class SDL_MessageBoxButtonData implements Stringable ] {
- Constants [2] {
Constant [ public int RETURNKEY_DEFAULT ] { 1 }
@@ -2645,15 +2746,16 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
}
}
- Class [ <internal:SDL> class SDL_MessageBoxData ] {
+ Class [ <internal:SDL> class SDL_MessageBoxData implements Stringable ] {
- Constants [3] {
Constant [ public int ERROR ] { 16 }
@@ -2690,10 +2792,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Show ] {
@@ -2705,7 +2808,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_Cursor ] {
+ Class [ <internal:SDL> class SDL_Cursor implements Stringable ] {
- Constants [13] {
Constant [ public int ARROW ] { 0 }
@@ -2791,10 +2894,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Free ] {
@@ -2811,7 +2915,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_mutex ] {
+ Class [ <internal:SDL> class SDL_mutex implements Stringable ] {
- Constants [2] {
Constant [ public int TIMEDOUT ] { 1 }
@@ -2834,10 +2938,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Lock ] {
@@ -2866,7 +2971,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_sem ] {
+ Class [ <internal:SDL> class SDL_sem implements Stringable ] {
- Constants [0] {
}
@@ -2888,10 +2993,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Wait ] {
@@ -2933,7 +3039,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_cond ] {
+ Class [ <internal:SDL> class SDL_cond implements Stringable ] {
- Constants [0] {
}
@@ -2954,10 +3060,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Wait ] {
@@ -2995,7 +3102,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_Color ] {
+ Class [ <internal:SDL> class SDL_Color implements Stringable ] {
- Constants [0] {
}
@@ -3024,15 +3131,16 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
}
}
- Class [ <internal:SDL> class SDL_Palette implements ArrayAccess ] {
+ Class [ <internal:SDL> class SDL_Palette implements Stringable, ArrayAccess ] {
- Constants [0] {
}
@@ -3058,10 +3166,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method count ] {
@@ -3116,7 +3225,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_PixelFormat ] {
+ Class [ <internal:SDL> class SDL_PixelFormat implements Stringable ] {
- Constants [0] {
}
@@ -3154,10 +3263,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method GetRGB ] {
@@ -3215,7 +3325,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_Pixels implements ArrayAccess ] {
+ Class [ <internal:SDL> class SDL_Pixels implements Stringable, ArrayAccess ] {
- Constants [0] {
}
@@ -3241,10 +3351,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method count ] {
@@ -3301,7 +3412,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_Rect ] {
+ Class [ <internal:SDL> class SDL_Rect implements Stringable ] {
- Constants [0] {
}
@@ -3313,78 +3424,147 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
- Properties [4] {
- Property [ public $x = 0 ]
- Property [ public $y = 0 ]
- Property [ public $w = 0 ]
- Property [ public $h = 0 ]
+ Property [ public int $x ]
+ Property [ public int $y ]
+ Property [ public int $w ]
+ Property [ public int $h ]
}
- Methods [8] {
Method [ <internal:SDL, ctor> public method __construct ] {
- Parameters [4] {
- Parameter #0 [ <optional> int $x = <default> ]
- Parameter #1 [ <optional> int $y = <default> ]
- Parameter #2 [ <optional> int $w = <default> ]
- Parameter #3 [ <optional> int $y = <default> ]
+ Parameter #0 [ <required> int $x ]
+ Parameter #1 [ <required> int $y ]
+ Parameter #2 [ <required> int $w ]
+ Parameter #3 [ <required> int $h ]
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Empty ] {
- Parameters [0] {
}
+ - Return [ bool ]
}
Method [ <internal:SDL> public method Equal ] {
- Parameters [1] {
- Parameter #0 [ <required> SDL_Rect $rect ]
+ Parameter #0 [ <required> SDL_Rect $b ]
}
+ - Return [ bool ]
}
Method [ <internal:SDL> public method HasIntersection ] {
- Parameters [1] {
- Parameter #0 [ <required> SDL_Rect $rect ]
+ Parameter #0 [ <required> SDL_Rect $B ]
}
+ - Return [ bool ]
}
Method [ <internal:SDL> public method Intersect ] {
- Parameters [2] {
- Parameter #0 [ <required> SDL_Rect $rect ]
- Parameter #1 [ <required> &$result ]
+ Parameter #0 [ <required> SDL_Rect $B ]
+ Parameter #1 [ <required> ?SDL_Rect &$result ]
}
+ - Return [ bool ]
}
Method [ <internal:SDL> public method Union ] {
- Parameters [2] {
- Parameter #0 [ <required> SDL_Rect $rect ]
- Parameter #1 [ <required> &$result ]
+ Parameter #0 [ <required> SDL_Rect $B ]
+ Parameter #1 [ <required> ?SDL_Rect &$result ]
}
+ - Return [ void ]
}
Method [ <internal:SDL> public method IntersectLine ] {
- Parameters [4] {
- Parameter #0 [ <required> &$X1 ]
- Parameter #1 [ <required> &$Y1 ]
- Parameter #2 [ <required> &$X2 ]
- Parameter #3 [ <required> &$Y2 ]
+ Parameter #0 [ <required> int &$X1 ]
+ Parameter #1 [ <required> int &$Y1 ]
+ Parameter #2 [ <required> int &$X2 ]
+ Parameter #3 [ <required> int &$Y2 ]
}
+ - Return [ bool ]
}
}
}
- Class [ <internal:SDL> class SDL_Point ] {
+ Class [ <internal:SDL> class SDL_FRect implements Stringable ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [4] {
+ Property [ public float $x ]
+ Property [ public float $y ]
+ Property [ public float $w ]
+ Property [ public float $h ]
+ }
+
+ - Methods [5] {
+ Method [ <internal:SDL, ctor> public method __construct ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> float $x ]
+ Parameter #1 [ <required> float $y ]
+ Parameter #2 [ <required> float $w ]
+ Parameter #3 [ <required> float $h ]
+ }
+ }
+
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
+
+ - Parameters [0] {
+ }
+ - Return [ string ]
+ }
+
+ Method [ <internal:SDL> public method Empty ] {
+
+ - Parameters [0] {
+ }
+ - Return [ bool ]
+ }
+
+ Method [ <internal:SDL> public method HasIntersection ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> SDL_FRect $B ]
+ }
+ - Return [ bool ]
+ }
+
+ Method [ <internal:SDL> public method Intersect ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> SDL_FRect $B ]
+ Parameter #1 [ <required> ?SDL_FRect &$result ]
+ }
+ - Return [ bool ]
+ }
+ }
+ }
+
+ Class [ <internal:SDL> class SDL_Point implements Stringable ] {
- Constants [0] {
}
@@ -3396,28 +3576,63 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
- Properties [2] {
- Property [ public $x = 0 ]
- Property [ public $y = 0 ]
+ Property [ public int $x ]
+ Property [ public int $y ]
}
- Methods [2] {
Method [ <internal:SDL, ctor> public method __construct ] {
- Parameters [2] {
- Parameter #0 [ <required> $x ]
- Parameter #1 [ <required> $y ]
+ Parameter #0 [ <required> int $x ]
+ Parameter #1 [ <required> int $y ]
+ }
+ }
+
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
+
+ - Parameters [0] {
+ }
+ - Return [ string ]
+ }
+ }
+ }
+
+ Class [ <internal:SDL> class SDL_FPoint implements Stringable ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [2] {
+ Property [ public float $x ]
+ Property [ public float $y ]
+ }
+
+ - Methods [2] {
+ Method [ <internal:SDL, ctor> public method __construct ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> float $x ]
+ Parameter #1 [ <required> float $y ]
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
}
}
- Class [ <internal:SDL> class SDL_RWops ] {
+ Class [ <internal:SDL> class SDL_RWops implements Stringable ] {
- Constants [6] {
Constant [ public int UNKNOWN ] { 0 }
@@ -3476,10 +3691,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Free ] {
@@ -3625,7 +3841,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_WindowShapeMode ] {
+ Class [ <internal:SDL> class SDL_WindowShapeMode implements Stringable ] {
- Constants [4] {
Constant [ public int Default ] { 0 }
@@ -3655,15 +3871,16 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
}
}
- Class [ <internal:SDL> class SDL_Surface ] {
+ Class [ <internal:SDL> class SDL_Surface implements Stringable ] {
- Constants [4] {
Constant [ public int SWSURFACE ] { 0 }
@@ -3717,10 +3934,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method Free ] {
@@ -3942,7 +4160,7 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Class [ <internal:SDL> class SDL_DisplayMode ] {
+ Class [ <internal:SDL> class SDL_DisplayMode implements Stringable ] {
- Constants [0] {
}
@@ -3971,15 +4189,16 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
}
}
- Class [ <internal:SDL> class SDL_Window ] {
+ Class [ <internal:SDL> class SDL_Window implements Stringable ] {
- Constants [18] {
Constant [ public int FULLSCREEN ] { 1 }
@@ -4042,10 +4261,11 @@ Extension [ <persistent> extension #84 SDL version 2.5.0 ] {
}
}
- Method [ <internal:SDL> public method __toString ] {
+ Method [ <internal:SDL, prototype Stringable> public method __toString ] {
- Parameters [0] {
}
+ - Return [ string ]
}
Method [ <internal:SDL> public method UpdateSurface ] {
diff --git a/php-pecl-sdl.spec b/php-pecl-sdl.spec
index c648495..c202871 100644
--- a/php-pecl-sdl.spec
+++ b/php-pecl-sdl.spec
@@ -14,13 +14,16 @@
Summary: Simple DirectMedia Layer for PHP
Name: %{?scl_prefix}php-pecl-sdl
-Version: 2.5.0
-Release: 3%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
+Version: 2.6.0
+Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
License: PHP
Group: Development/Languages
URL: https://pecl.php.net/package/sdl
Source0: https://pecl.php.net/get/%{pecl_name}-%{version}.tgz
+# https://github.com/Ponup/php-sdl/pull/60
+Patch0: %{pecl_name}-pr60.patch
+
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel >= 8.0
@@ -69,6 +72,7 @@ mv %{pecl_name}-%{version} NTS
cd NTS
#sed -e 's/2.3.0/%{version}/' -i src/php_sdl.h
+%patch0 -p1 -b .pr60
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_SDL_VERSION/{s/.* "//;s/".*$//;p}' src/php_sdl.h)
@@ -198,6 +202,13 @@ fi
%changelog
+* Mon Mar 21 2022 Remi Collet <remi@remirepo.net> - 2.6.0-1
+- update to 2.6.0
+- fix build with PHP 8.0 using patch from
+ https://github.com/Ponup/php-sdl/pull/60
+- open https://github.com/Ponup/php-sdl/issues/61 build failure with 2.0.10
+- open https://github.com/Ponup/php-sdl/issues/62 deprecated call
+
* Mon Mar 14 2022 Remi Collet <remi@remirepo.net> - 2.5.0-3
- handle all SDL extensions in launcher (for sdl_mixer)
diff --git a/sdl-pr60.patch b/sdl-pr60.patch
new file mode 100644
index 0000000..149a137
--- /dev/null
+++ b/sdl-pr60.patch
@@ -0,0 +1,126 @@
+From b6c4b90482558b18e0dba665768b1ad0855684d5 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Mon, 21 Mar 2022 08:21:19 +0100
+Subject: [PATCH 1/2] fix PHP 8.0 build
+
+---
+ src/pixels.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/pixels.c b/src/pixels.c
+index ef1525b..4594d58 100644
+--- a/src/pixels.c
++++ b/src/pixels.c
+@@ -20,6 +20,12 @@
+ #include "zend_interfaces.h"
+ #include "zend_operators.h"
+
++/* for PHP 8.0 */
++#ifndef ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX
++#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
++ ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
++#endif
++
+ static zend_class_entry *php_sdl_color_ce;
+ static zend_object_handlers php_sdl_color_handlers;
+ struct php_sdl_color {
+
+From c5105dc060edec6d1291e36c3aed30e892630b14 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Mon, 21 Mar 2022 09:07:45 +0100
+Subject: [PATCH 2/2] register rect functions in rect.c
+
+---
+ src/php_sdl.c | 18 +++---------------
+ src/rect.c | 11 +++++++++++
+ src/rect.h | 1 +
+ 3 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/src/php_sdl.c b/src/php_sdl.c
+index 531f842..c409c6c 100644
+--- a/src/php_sdl.c
++++ b/src/php_sdl.c
+@@ -31,7 +31,6 @@
+ #include "power.h"
+ #include "pixels.h"
+ #include "rect.h"
+-#include "rect_arginfo.h"
+ #include "render.h"
+ #include "rwops.h"
+ #include "sdl.h"
+@@ -68,6 +67,7 @@ zend_bool php_sdl_check_overflow(int a, int b, int silent)
+
+
+ #define PHP_MINIT_CALL(func) PHP_MINIT(func)(INIT_FUNC_ARGS_PASSTHRU)
++#define PHP_MSHUTDOWN_CALL(func) PHP_MSHUTDOWN(func)(SHUTDOWN_FUNC_ARGS_PASSTHRU)
+
+ /* {{{ PHP_MINIT_FUNCTION */
+ PHP_MINIT_FUNCTION(sdl)
+@@ -107,6 +107,8 @@ PHP_MINIT_FUNCTION(sdl)
+ /* {{{ PHP_MSHUTDOWN_FUNCTION */
+ PHP_MSHUTDOWN_FUNCTION(sdl)
+ {
++ PHP_MSHUTDOWN_CALL(sdl_rect);
++
+ return SUCCESS;
+ }
+ /* }}} */
+@@ -260,20 +262,6 @@ static zend_function_entry sdl_functions[] = {
+ //PHP_FALIAS(SDL_BlitSurface, SDL_UpperBlit, arginfo_SDL_UpperBlit)
+ //PHP_FALIAS(SDL_BlitScaled, SDL_UpperBlitScaled, arginfo_SDL_UpperBlit)
+
+- // Rect
+- ZEND_FE(SDL_RectEmpty, arginfo_SDL_RectEmpty)
+- ZEND_FE(SDL_RectEquals, arginfo_SDL_RectEquals)
+- ZEND_FE(SDL_HasIntersection, arginfo_SDL_HasIntersection)
+- ZEND_FE(SDL_IntersectRect, arginfo_SDL_IntersectRect)
+- ZEND_FE(SDL_UnionRect, arginfo_SDL_UnionRect)
+- ZEND_FE(SDL_IntersectRectAndLine, arginfo_SDL_IntersectRectAndLine)
+- ZEND_FE(SDL_EnclosePoints, arginfo_SDL_EnclosePoints)
+- ZEND_FE(SDL_PointInRect, arginfo_SDL_PointInRect)
+-
+- ZEND_FE(SDL_FRectEmpty, arginfo_SDL_FRectEmpty)
+- ZEND_FE(SDL_HasIntersectionF, arginfo_SDL_HasIntersectionF)
+- ZEND_FE(SDL_IntersectFRect, arginfo_SDL_IntersectFRect)
+-
+ // Events
+ ZEND_FE(SDL_WaitEvent, arginfo_SDL_WaitEvent)
+ ZEND_FE(SDL_PollEvent, arginfo_SDL_PollEvent)
+diff --git a/src/rect.c b/src/rect.c
+index 6773f56..926d1b2 100644
+--- a/src/rect.c
++++ b/src/rect.c
+@@ -697,6 +697,8 @@ PHP_FUNCTION(SDL_PointInRect)
+ /* {{{ MINIT */
+ PHP_MINIT_FUNCTION(sdl_rect)
+ {
++ zend_register_functions(NULL, ext_functions, NULL, type);
++
+ php_sdl_rect_ce = register_class_SDL_Rect();
+ memcpy(&php_sdl_rect_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
+
+@@ -712,3 +714,12 @@ PHP_MINIT_FUNCTION(sdl_rect)
+ return SUCCESS;
+ }
+ /* }}} */
++
++/* {{{ PHP_MSHUTDOWN_FUNCTION */
++PHP_MSHUTDOWN_FUNCTION(sdl_rect)
++{
++ zend_unregister_functions(ext_functions, -1, NULL);
++
++ return SUCCESS;
++}
++/* }}} */
+diff --git a/src/rect.h b/src/rect.h
+index 67ba131..baddfd6 100644
+--- a/src/rect.h
++++ b/src/rect.h
+@@ -40,6 +40,7 @@ zend_class_entry *get_php_sdl_fpoint_ce(void);
+ zend_bool zval_to_sdl_fpoint(zval *value, SDL_FPoint *rect);
+
+ PHP_MINIT_FUNCTION(sdl_rect);
++PHP_MSHUTDOWN_FUNCTION(sdl_rect);
+
+ #ifdef __cplusplus
+ } // extern "C"