mirror of
https://github.com/shivammathur/setup-php.git
synced 2025-08-25 23:14:06 +07:00
Refactor coverage and extension code
This commit is contained in:
9
src/scripts/ext/gearman.sh
Normal file
9
src/scripts/ext/gearman.sh
Normal file
@ -0,0 +1,9 @@
|
||||
release_version=$(lsb_release -s -r)
|
||||
sudo DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:ondrej/pkg-gearman -y
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
||||
|
||||
if [ "$release_version" = "18.04" ]; then
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y libgearman-dev php"$1"-gearman
|
||||
elif [ "$release_version" = "16.04" ]; then
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y php"$1"-gearman
|
||||
fi
|
5
src/scripts/ext/pcov.sh
Normal file
5
src/scripts/ext/pcov.sh
Normal file
@ -0,0 +1,5 @@
|
||||
cd ~ && git clone --depth=1 https://github.com/krakjoe/pcov.git
|
||||
cd pcov && phpize
|
||||
./configure --enable-pcov
|
||||
make
|
||||
sudo make install
|
27
src/scripts/ext/phalcon.ps1
Normal file
27
src/scripts/ext/phalcon.ps1
Normal file
@ -0,0 +1,27 @@
|
||||
Param (
|
||||
[Parameter(Position = 0, Mandatory = $true)]
|
||||
[ValidateNotNull()]
|
||||
[ValidateSet('phalcon3', 'phalcon4')]
|
||||
[string]
|
||||
$extension,
|
||||
[Parameter(Position = 1, Mandatory = $true)]
|
||||
[ValidateNotNull()]
|
||||
[ValidateLength(1, [int]::MaxValue)]
|
||||
[string]
|
||||
$version
|
||||
)
|
||||
$tick = ([char]8730)
|
||||
$domain = 'https://github.com'
|
||||
$php_dir = 'C:\tools\php'
|
||||
$ext_dir = $php_dir + '\ext'
|
||||
$installed = Get-Php -Path $php_dir
|
||||
$extension_version = $extension.substring($extension.Length - 1)
|
||||
$nts = if(! $installed.ThreadSafe ) { "_nts" } else { "" }
|
||||
$match = Invoke-WebRequest -UseBasicParsing -Uri $domain/phalcon/cphalcon/releases | Select-String -Pattern "href=`"(.*phalcon_x64_.*_php${version}_${extension_version}.*[0-9]${nts}.zip)`""
|
||||
$zip_file = $match.Matches[0].Groups[1].Value
|
||||
Invoke-WebRequest -UseBasicParsing -Uri $domain/$zip_file -OutFile $ENV:RUNNER_TOOL_CACHE\phalcon.zip >$null 2>&1
|
||||
Expand-Archive -Path $ENV:RUNNER_TOOL_CACHE\phalcon.zip -DestinationPath $ENV:RUNNER_TOOL_CACHE\phalcon -Force >$null 2>&1
|
||||
New-Item -ItemType SymbolicLink -Path $ext_dir\php_phalcon.dll -Target $ENV:RUNNER_TOOL_CACHE\phalcon\php_phalcon.dll >$null 2>&1
|
||||
Install-Phpextension psr -MinimumStability stable -Path $php_dir
|
||||
Enable-PhpExtension -Extension phalcon -Path $php_dir
|
||||
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "32" $tick $extension "Installed and enabled"
|
22
src/scripts/ext/phalcon.sh
Normal file
22
src/scripts/ext/phalcon.sh
Normal file
@ -0,0 +1,22 @@
|
||||
ini_file=$(php --ini | grep "Loaded Configuration" | sed -e "s|.*:s*||" | sed "s/ //g")
|
||||
find /etc/apt/sources.list.d -type f -name 'ondrej-ubuntu-php*.list' -exec sudo DEBIAN_FRONTEND=noninteractive apt-fast update -o Dir::Etc::sourcelist="{}" ';' >/dev/null 2>&1
|
||||
curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | sudo bash
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y php"$2"-dev
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y php"$2"-psr
|
||||
for tool in php-config phpize; do
|
||||
if [ -e "/usr/bin/$tool$2" ]; then
|
||||
sudo update-alternatives --set $tool /usr/bin/"$tool$2"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! "$(apt-cache search php"$2"-psr)" ]; then
|
||||
cd ~ && git clone --depth=1 https://github.com/jbboehr/php-psr.git
|
||||
cd php-psr && sudo /usr/bin/phpize"$2"
|
||||
./configure --with-php-config=/usr/bin/php-config"$2"
|
||||
make -j2 && sudo make -j2 install
|
||||
echo "extension=psr.so" >> "$ini_file"
|
||||
fi
|
||||
|
||||
extension_major_version=$(echo "$1" | grep -i -Po '\d')
|
||||
extension_version=$(apt-cache policy -- *phalcon | grep -i -Po "$extension_major_version\.\d\.\d.*php$2" | head -n 1)
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast -o Dpkg::Options::="--force-overwrite" install -y php"$2"-phalcon="$extension_version"
|
16
src/scripts/ext/phalcon_darwin.sh
Normal file
16
src/scripts/ext/phalcon_darwin.sh
Normal file
@ -0,0 +1,16 @@
|
||||
extension=$1
|
||||
ini_file=$(php -d "date.timezone=UTC" --ini | grep "Loaded Configuration" | sed -e "s|.*:s*||" | sed "s/ //g")
|
||||
sudo pecl install psr
|
||||
brew install autoconf automake libtool
|
||||
git clone https://github.com/phalcon/cphalcon.git
|
||||
cd cphalcon || echo "could not cd"
|
||||
git checkout "$(git branch -r | grep -E "origin/${extension: -1}\.\d\.x" | sort -r | head -n 1 | sed "s/ //g")"
|
||||
sed -i '' 's/zend_ulong/ulong/' build/php7/64bits/phalcon.zep.c
|
||||
sed -i '' 's/ulong/zend_ulong/' build/php7/64bits/phalcon.zep.c
|
||||
cd build/php7/64bits && sudo phpize
|
||||
sudo ./configure --with-php-config=/usr/local/bin/php-config --enable-phalcon
|
||||
sudo glibtoolize --force
|
||||
sudo autoreconf
|
||||
sudo make -i -j6
|
||||
sudo make install
|
||||
echo "extension=phalcon.so" >>"$ini_file"
|
3
src/scripts/ext/xdebug.sh
Normal file
3
src/scripts/ext/xdebug.sh
Normal file
@ -0,0 +1,3 @@
|
||||
cd ~ && git clone --depth=1 https://github.com/xdebug/xdebug.git
|
||||
cd xdebug || echo "Failed to clone Xdebug"
|
||||
sudo ./rebuild.sh
|
6
src/scripts/ext/xdebug_darwin.sh
Normal file
6
src/scripts/ext/xdebug_darwin.sh
Normal file
@ -0,0 +1,6 @@
|
||||
cd ~ && git clone --depth=1 https://github.com/xdebug/xdebug.git
|
||||
cd xdebug || echo "Failed to clone Xdebug"
|
||||
sudo phpize
|
||||
sudo ./configure
|
||||
sudo make
|
||||
sudo cp modules/xdebug.so "$(php -i | grep "extension_dir => /opt" | sed -e "s|.*=> s*||")"
|
Reference in New Issue
Block a user