Files
chromebrew/packages/php73.rb
Maximilian Downey Twiss c0fd0ab132 Update m-z package homepages (#10122)
* Update makedepend homepage

* Update mapserver homepage

* Update mediainfo homepage

* Update mediainfo_gui homepage

* Update misctools homepage

* Update mkfontscale homepage

* Update mm_common homepage

* Update mono homepage

* Update mpfr homepage

* Update msttcorefonts homepage

* Update mtdev homepage

* Update muparser homepage

* Update musl_c_ares homepage

* Update musl_cyrus_sasl homepage

* Update musl_krb5 homepage

* Update musl_lz4 homepage

* Update musl_xz homepage

* Update musl_zstd homepage

* Update mypaint homepage

* Update mypaint_brushes homepage

* Update mypaint_brushes_1 homepage

* Update ncat homepage

* Update ncftp homepage

* Update netbeans homepage

* Update netpbm homepage

* Update nmon homepage

* Update ocaml homepage

* Update onevpl homepage

* Update openexr homepage

* Update opensp homepage

* Update optipng homepage

* Update p11kit homepage

* Update p7zip_gui homepage

* Update pacparser homepage

* Update parted homepage

* Update patch homepage

* Update patchelf homepage

* Update patchutils homepage

* Update pdfcrack homepage

* Update percona_boost homepage

* Update percona_server homepage

* Update percona_toolkit homepage

* Update php5 homepage

* Update php71 homepage

* Update php72 homepage

* Update php73 homepage

* Update php74 homepage

* Update php80 homepage

* Update php81 homepage

* Update php82 homepage

* Update php83 homepage

* Update pixman homepage

* Update plplot homepage

* Update pocl homepage

* Update potrace homepage

* Update powershell homepage

* Update printproto homepage

* Update protobuf homepage

* Update pthread_stubs homepage

* Update pygobject homepage

* Update pygobject2 homepage

* Update pygtk homepage

* Update qemu homepage

* Update qpdf homepage

* Update quakespasm homepage

* Update radare2 homepage

* Update rdfind homepage

* Update recordmydesktop homepage

* Update rendercheck homepage

* Update rgb homepage

* Update rkhunter homepage

* Update runc homepage

* Update s3cmd homepage

* Update sbc homepage

* Update sbt homepage

* Update scheme48 homepage

* Update sejda_console homepage

* Update selenium_server_standalone homepage

* Update sfk homepage

* Update snooze homepage

* Update sqlite homepage

* Update sqlmap homepage

* Update sshcode homepage

* Update startup_notification homepage

* Update suitesparse homepage

* Update swatchdog homepage

* Update swig homepage

* Update swig1 homepage

* Update sysfsutils homepage

* Update tbb homepage

* Update tcpdump homepage

* Update tcpwrappers homepage

* Update traceroute homepage

* Update trousers homepage

* Update ttf2pt1 homepage

* Update twm homepage

* Update txt2regex homepage

* Update unicode_cldr homepage

* Update unixodbc homepage

* Update unrar homepage

* Update unzip homepage

* Update upm homepage

* Update usbutils homepage

* Update vim homepage

* Update vim_runtime homepage

* Update vulkan_tools homepage

* Update w3m homepage

* Update wavpack homepage

* Update weechat homepage

* Update weston homepage

* Update whiptail homepage

* Update wmctrl homepage

* Update wol homepage

* Update wput homepage

* Update xbitmaps homepage

* Update xcb_util homepage

* Update xcb_util_cursor homepage

* Update xcb_util_image homepage

* Update xcb_util_keysyms homepage

* Update xcb_util_wm homepage

* Update xdg_base homepage

* Update xdotool homepage

* Update xdpyinfo homepage

* Update xe homepage

* Update xercesc homepage

* Update xinit homepage

* Update xkbcomp homepage

* Update xkeyboard_config homepage

* Update xmessage homepage

* Update xmlstarlet homepage

* Update xorg_cf_files homepage

* Update xorg_evdev_driver homepage

* Update xorg_fbdev_driver homepage

* Update xorg_libinput_driver homepage

* Update xorg_proto homepage

* Update xorg_server homepage

* Update xorg_synaptics_driver homepage

* Update xorg_vmmouse_driver homepage

* Update xorg_wacom_driver homepage

* Update xorg_xeyes homepage

* Update xorg_xlsfonts homepage

* Update xorg_xset homepage

* Update xprop homepage

* Update xrdb homepage

* Update xwayland homepage

* Update xxd_standalone homepage

* Update xxhash homepage

* Update xz_java homepage

* Update zip homepage

* Update zsh homepage

* Update zstd homepage

* Update zziplib homepage
2024-07-11 00:11:54 -05:00

142 lines
5.6 KiB
Ruby

require 'package'
class Php73 < Package
description 'PHP is a popular general-purpose scripting language that is especially suited to web development.'
homepage 'https://www.php.net/'
version '7.3.33'
license 'PHP-3.01'
compatibility 'x86_64 aarch64 armv7l'
source_url "https://www.php.net/distributions/php-#{version}.tar.xz"
source_sha256 '166eaccde933381da9516a2b70ad0f447d7cec4b603d07b9a916032b215b90cc'
binary_compression 'tar.xz'
binary_sha256({
aarch64: '3b29987c24ed7d47d97152df1ba7915b37fde7c0a4959a003c90691853a2bfae',
armv7l: '3b29987c24ed7d47d97152df1ba7915b37fde7c0a4959a003c90691853a2bfae',
x86_64: '332b1b11d789481fc735d59722364772ec68cfc4de6c775a558b45454cb074bb'
})
depends_on 'curl'
depends_on 'libgcrypt'
depends_on 'libjpeg_turbo'
depends_on 'libpng'
depends_on 'libxpm'
depends_on 'libxslt'
depends_on 'libzip'
depends_on 'exif'
depends_on 'freetype'
depends_on 're2c'
depends_on 'tidy'
depends_on 'unixodbc'
depends_on 'py3_pygments'
no_fhs
def self.preflight
phpver = `php -v 2> /dev/null | head -1 | cut -d' ' -f2`.chomp
abort "PHP version #{phpver} already installed.".lightgreen if ARGV[0] != 'reinstall' && @_ver != phpver && !phpver.empty?
end
def self.patch
# Configuration
system "sed -i 's,;pid = run/php-fpm.pid,pid = #{CREW_PREFIX}/tmp/run/php-fpm.pid,' sapi/fpm/php-fpm.conf.in"
system "sed -i 's,;error_log = log/php-fpm.log,error_log = #{CREW_PREFIX}/log/php-fpm.log,' sapi/fpm/php-fpm.conf.in"
system "sed -i 's,include=@php_fpm_sysconfdir@/php-fpm.d,include=#{CREW_PREFIX}/etc/php-fpm.d,' sapi/fpm/php-fpm.conf.in"
system "sed -i 's,^user,;user,' sapi/fpm/www.conf.in"
system "sed -i 's,^group,;group,' sapi/fpm/www.conf.in"
system "sed -i 's,@sbindir@,#{CREW_PREFIX}/bin,' sapi/fpm/init.d.php-fpm.in"
system "sed -i 's,@sysconfdir@,#{CREW_PREFIX}/etc,' sapi/fpm/init.d.php-fpm.in"
system "sed -i 's,@localstatedir@,#{CREW_PREFIX}/tmp,' sapi/fpm/init.d.php-fpm.in"
# Set some sane defaults
system "sed -i 's,post_max_size = 8M,post_max_size = 128M,' php.ini-development"
system "sed -i 's,upload_max_filesize = 2M,upload_max_filesize = 128M,' php.ini-development"
system "sed -i 's,;opcache.enable=0,opcache.enable=1,' php.ini-development"
# Fix cc: error: ext/standard/.libs/type.o: No such file or directory
# system "sed -i '98303d' configure"
# system "sed -i '98295,98296d' configure"
# Fix /usr/bin/file: No such file or directory
system 'filefix'
end
def self.build
system "env CFLAGS='-pipe -ltinfo' \
./configure \
--prefix=#{CREW_PREFIX} \
--docdir=#{CREW_PREFIX}/doc \
--infodir=#{CREW_PREFIX}/info \
--libdir=#{CREW_LIB_PREFIX} \
--localstatedir=#{CREW_PREFIX}/tmp \
--mandir=#{CREW_MAN_PREFIX} \
--sbindir=#{CREW_PREFIX}/bin \
--with-config-file-path=#{CREW_PREFIX}/etc \
--with-freetype-dir=#{CREW_PREFIX}/include/freetype2/freetype \
--with-libdir=#{ARCH_LIB} \
--with-jpeg-dir=#{CREW_PREFIX}/include \
--with-xpm-dir=#{CREW_PREFIX}/include/X11 \
--with-kerberos=#{CREW_LIB_PREFIX} \
--enable-exif \
--enable-fpm \
--enable-ftp \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shared \
--enable-shmop \
--enable-sockets \
--enable-zip \
--with-bz2 \
--with-curl \
--with-gd \
--with-gettext \
--with-gmp \
--with-libzip \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pear \
--with-readline \
--with-tidy \
--with-unixODBC \
--with-xsl \
--with-zlib"
system 'make'
end
def self.install
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/log"
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/tmp/run"
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/init.d"
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/php-fpm.d"
system 'make', "INSTALL_ROOT=#{CREW_DEST_DIR}", 'install'
FileUtils.install 'php.ini-development', "#{CREW_DEST_PREFIX}/etc/php.ini", mode: 0o644
FileUtils.install 'sapi/fpm/init.d.php-fpm.in', "#{CREW_DEST_PREFIX}/etc/init.d/php-fpm", mode: 0o755
FileUtils.install 'sapi/fpm/php-fpm.conf.in', "#{CREW_DEST_PREFIX}/etc/php-fpm.conf", mode: 0o644
FileUtils.install 'sapi/fpm/www.conf.in', "#{CREW_DEST_PREFIX}/etc/php-fpm.d/www.conf", mode: 0o644
FileUtils.ln_s "#{CREW_PREFIX}/etc/init.d/php-fpm", "#{CREW_DEST_PREFIX}/bin/php7-fpm"
# clean up some files created under #{CREW_DEST_DIR}. check http://pear.php.net/bugs/bug.php?id=20383 for more details
FileUtils.mv "#{CREW_DEST_DIR}/.depdb", "#{CREW_DEST_LIB_PREFIX}/php"
FileUtils.mv "#{CREW_DEST_DIR}/.depdblock", "#{CREW_DEST_LIB_PREFIX}/php"
FileUtils.rm_rf ["#{CREW_DEST_DIR}/.channels", "#{CREW_DEST_DIR}/.filemap", "#{CREW_DEST_DIR}/.lock", "#{CREW_DEST_DIR}/.registry"]
end
def self.postinstall
puts
puts 'To start the php-fpm service, execute:'.lightblue
puts 'php7-fpm start'.lightblue
puts
puts 'To stop the php-fpm service, execute:'.lightblue
puts 'php7-fpm stop'.lightblue
puts
puts 'To restart the php-fpm service, execute:'.lightblue
puts 'php7-fpm restart'.lightblue
puts
puts 'To start php-fpm on login, execute the following:'.lightblue
puts "echo 'if [ -f #{CREW_PREFIX}/bin/php7-fpm ]; then' >> ~/.bashrc".lightblue
puts "echo ' #{CREW_PREFIX}/bin/php7-fpm start' >> ~/.bashrc".lightblue
puts "echo 'fi' >> ~/.bashrc".lightblue
puts 'source ~/.bashrc'.lightblue
end
end