!refactor(php-extensions): use shivammathur/extensions tap

Fixes annoying pecl update issues & swoole build failures by using the prebuilt tap.

This also properly manages updates & enables the extensions via files in conf.d instead. Very clean.

And it finally properly installs all extensions for all php versions, pecl has issues with properly installing for other php versions.
This commit is contained in:
Saibotk 2024-04-02 02:46:58 +02:00
parent 45391f1296
commit d0f52a2b1c
Signed by: saibotk
GPG key ID: 67585F0065E261D5
3 changed files with 17 additions and 28 deletions

View file

@ -28,22 +28,6 @@ brew bundle --file ${DOTFILES}/macos/Brewfile
# gnupg is not really needed but marked as a dependency for pass
brew unlink gnupg
# Paths to openssl to build pecl extensions (swoole)
export PATH="${HOMEBREW_PREFIX}/opt/openssl@3/bin:$PATH"
export LDFLAGS="-L${HOMEBREW_PREFIX}/opt/openssl@3/lib"
export CPPFLAGS="-I${HOMEBREW_PREFIX}/opt/openssl@3/include"
export PKG_CONFIG_PATH="${HOMEBREW_PREFIX}/opt/openssl@3/lib/pkgconfig"
# Install PHP extensions with PECL
yes | pecl install imagick igbinary msgpack redis
# Symlink pcre2, so pecl can find it when installing / building (needed for swoole)
sudo mkdir -p /usr/local/include
sudo ln -s ${HOMEBREW_PREFIX}/include/pcre2.h /usr/local/include/
# Install swoole with all features
yes | pecl install swoole
# Install global Composer packages
${HOMEBREW_PREFIX}/bin/composer global require laravel/installer laravel/valet tightenco/takeout

View file

@ -4,6 +4,7 @@ tap 'homebrew/cask-versions'
tap 'homebrew/bundle'
tap 'oven-sh/bun'
tap 'withgraphite/tap'
tap 'shivammathur/extensions'
# Binaries
brew 'awscli'
@ -36,6 +37,8 @@ brew 'poppler' # PDF manipulation
brew 'qpdf'
brew 'rename'
brew 'git-delta'
brew 'imagemagick'
brew 'nginx'
# Spatie Medialibrary
brew 'jpegoptim'
@ -45,12 +48,23 @@ brew 'svgo'
brew 'gifsicle'
# Development
brew 'php'
brew 'php@8.3'
brew 'shivammathur/extensions/xdebug@8.3'
brew 'shivammathur/extensions/redis@8.3'
brew 'shivammathur/extensions/imagick@8.3'
brew 'shivammathur/extensions/swoole@8.3'
brew 'php@8.2'
brew 'shivammathur/extensions/xdebug@8.2'
brew 'shivammathur/extensions/redis@8.2'
brew 'shivammathur/extensions/imagick@8.2'
brew 'shivammathur/extensions/swoole@8.2'
brew 'php@8.1'
brew 'shivammathur/extensions/xdebug@8.1'
brew 'shivammathur/extensions/redis@8.1'
brew 'shivammathur/extensions/imagick@8.1'
brew 'shivammathur/extensions/swoole@8.1'
brew 'composer'
brew 'imagemagick'
brew 'nginx'
brew 'node'
brew 'deno'
brew 'bun'

View file

@ -6,15 +6,6 @@ brew upgrade
# Fixes gnupg link conflicts with GPGSuite
brew unlink gnupg
echo "\n > Upgrading pecl packages...\n"
# Paths to openssl to build pecl extensions (swoole)
export PATH="${HOMEBREW_PREFIX}/opt/openssl@3/bin:$PATH"
export LDFLAGS="-L${HOMEBREW_PREFIX}/opt/openssl@3/lib"
export CPPFLAGS="-I${HOMEBREW_PREFIX}/opt/openssl@3/include"
export PKG_CONFIG_PATH="${HOMEBREW_PREFIX}/opt/openssl@3/lib/pkgconfig"
yes | pecl upgrade
echo "\n > Upgrading global composer packages...\n"
composer global upgrade