mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 07:16:22 +07:00 
			
		
		
		
	Add support for phalcon5 on Linux and macOS
Fix get_pecl_version
This commit is contained in:
		| @ -145,11 +145,12 @@ add_extension() { | ||||
| get_pecl_version() { | ||||
|   local extension=$1 | ||||
|   stability="$(echo "$2" | grep -m 1 -Eio "(stable|alpha|beta|rc|snapshot|preview)")" | ||||
|   major_version=${3:-'[0-9]+'} | ||||
|   pecl_rest='https://pecl.php.net/rest/r/' | ||||
|   response=$(get -s -n "" "$pecl_rest$extension"/allreleases.xml) | ||||
|   pecl_version=$(echo "$response" | grep -m 1 -Eio "([0-9]+\.[0-9]+\.[0-9]+${stability}[0-9]+)") | ||||
|   pecl_version=$(echo "$response" | grep -m 1 -Eio "($major_version\.[0-9]+\.[0-9]+${stability}[0-9]+<)" | cut -d '<' -f 1) | ||||
|   if [ ! "$pecl_version" ]; then | ||||
|     pecl_version=$(echo "$response" | grep -m 1 -Eo "([0-9]+\.[0-9]+\.[0-9]+)") | ||||
|     pecl_version=$(echo "$response" | grep -m 1 -Eo "($major_version\.[0-9]+\.[0-9]+)<" | cut -d '<' -f 1) | ||||
|   fi | ||||
|   echo "$pecl_version" | ||||
| } | ||||
|  | ||||
| @ -1,3 +1,15 @@ | ||||
| # Helper function to get phalcon version | ||||
| get_phalcon_version() { | ||||
|   if [ "$extension" = "phalcon5" ]; then | ||||
|     semver="$(get_pecl_version phalcon stable 5)" | ||||
|     ([ -n "$semver" ] && echo "$semver") || get_pecl_version phalcon rc 5 | ||||
|   elif [ "$extension" = "phalcon4" ]; then | ||||
|     echo '4.1.2' | ||||
|   elif [ "$extension" = "phalcon3" ]; then | ||||
|     echo '3.4.5' | ||||
|   fi | ||||
| } | ||||
|  | ||||
| # Helper function to add phalcon. | ||||
| add_phalcon_helper() { | ||||
|   status='Installed and enabled' | ||||
| @ -7,7 +19,7 @@ add_phalcon_helper() { | ||||
|     packages=("php${version:?}-$extension") | ||||
|     [ "$extension" = "phalcon4" ] && packages+=("php${version:?}-psr") | ||||
|     add_ppa ondrej/php >/dev/null 2>&1 || update_ppa ondrej/php | ||||
|     check_package "${packages[0]}" && install_packages "${packages[@]}" | ||||
|     (check_package "${packages[0]}" && install_packages "${packages[@]}") || pecl_install "phalcon-$(get_phalcon_version)" | ||||
|   fi | ||||
| } | ||||
|  | ||||
| @ -44,15 +56,27 @@ add_phalcon4() { | ||||
|   fi | ||||
| } | ||||
|  | ||||
| # Function to add phalcon3. | ||||
| add_phalcon5() { | ||||
|   if shared_extension phalcon; then | ||||
|     phalcon_version=$(php -d="extension=phalcon.so" -r "echo phpversion('phalcon');" | cut -d'.' -f 1) | ||||
|     if [ "$phalcon_version" != "$extension_major_version" ]; then | ||||
|       add_phalcon_helper | ||||
|     else | ||||
|       enable_extension phalcon extension | ||||
|     fi | ||||
|   else | ||||
|     add_phalcon_helper | ||||
|   fi | ||||
| } | ||||
|  | ||||
| # Function to add phalcon. | ||||
| add_phalcon() { | ||||
|   extension=$1 | ||||
|   status='Enabled' | ||||
|   extension_major_version=${extension: -1} | ||||
|   if [ "$extension_major_version" = "4" ]; then | ||||
|     add_phalcon4 >/dev/null 2>&1 | ||||
|   elif [ "$extension_major_version" = "3" ]; then | ||||
|     add_phalcon3 >/dev/null 2>&1 | ||||
|   if [[ "$extension_major_version" =~ [3-5] ]]; then | ||||
|     add_phalcon"$extension_major_version" >/dev/null 2>&1 | ||||
|   fi | ||||
|   add_extension_log "phalcon" "$status" | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shivam Mathur
					Shivam Mathur