mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 07:16:22 +07:00 
			
		
		
		
	Allow extensions to be compiled from GitHub sources
This commit is contained in:
		 Andreas Braun
					Andreas Braun
				
			
				
					committed by
					
						 Shivam Mathur
						Shivam Mathur
					
				
			
			
				
	
			
			
			 Shivam Mathur
						Shivam Mathur
					
				
			
						parent
						
							912f27c42c
						
					
				
				
					commit
					f42065d568
				
			| @ -39,6 +39,24 @@ add_pecl_extension() { | ||||
|   fi | ||||
| } | ||||
|  | ||||
| # Function to install extension from a GitHub repository | ||||
| add_extension_from_github() { | ||||
|   extension=$1 | ||||
|   org=$2 | ||||
|   repo=$3 | ||||
|   release=$4 | ||||
|   prefix=$5 | ||||
|   ( | ||||
|     add_devtools phpize | ||||
|     delete_extension "$extension" | ||||
|     git clone --recurse-submodules -b "$release" https://github.com/"$org"/"$repo" /tmp/"$repo-$release" || exit 1 | ||||
|     cd /tmp/"$repo-$release" || exit 1 | ||||
|     phpize && ./configure && make -j"$(nproc)" && sudo make install | ||||
|     enable_extension "$extension" "$prefix" | ||||
|   ) >/dev/null 2>&1 | ||||
|   add_extension_log "$extension-$org/$repo@$release" "Installed and enabled" | ||||
| } | ||||
|  | ||||
| # Function to fetch a brew tap | ||||
| fetch_brew_tap() { | ||||
|   tap=$1 | ||||
|  | ||||
| @ -148,23 +148,22 @@ add_pecl_extension() { | ||||
|   fi | ||||
| } | ||||
|  | ||||
| # Function to install extension from source | ||||
| add_extension_from_source() { | ||||
| # Function to install extension from a GitHub repository | ||||
| add_extension_from_github() { | ||||
|   extension=$1 | ||||
|   repo=$2 | ||||
|   release=$3 | ||||
|   args=$4 | ||||
|   org=$2 | ||||
|   repo=$3 | ||||
|   release=$4 | ||||
|   prefix=$5 | ||||
|   ( | ||||
|     add_devtools phpize | ||||
|     delete_extension "$extension" | ||||
|     get -q -n "/tmp/$extension.tar.gz" "https://github.com/$repo/archive/$release.tar.gz" | ||||
|     tar xf /tmp/"$extension".tar.gz -C /tmp | ||||
|     cd /tmp/"$extension-$release" || exit 1 | ||||
|     phpize && ./configure "$args" && make -j"$(nproc)" && sudo make install | ||||
|     git clone --recurse-submodules -b "$release" https://github.com/"$org"/"$repo" /tmp/"$repo-$release" || exit 1 | ||||
|     cd /tmp/"$repo-$release" || exit 1 | ||||
|     phpize && ./configure && make -j"$(nproc)" && sudo make install | ||||
|     enable_extension "$extension" "$prefix" | ||||
|   ) >/dev/null 2>&1 | ||||
|   add_extension_log "$extension-$release" "Installed and enabled" | ||||
|   add_extension_log "$extension-$org/$repo@$release" "Installed and enabled" | ||||
| } | ||||
|  | ||||
| # Function to setup phpize and php-config. | ||||
|  | ||||
		Reference in New Issue
	
	Block a user