Commit 836a7fcf authored by Ed Reel's avatar Ed Reel Committed by Chris Thurber

Update php packages (#3663)

* Update php packages

Remove binaries from php.rb and separate versions into packages.

Remove php7 package

* Update php packages

Remove binaries from php.rb and separate versions into packages

Remove php7 package

Set php package to is_fake

* Add pre-built binaries

* Add check for previous versions to php5
parent 7bb65513
......@@ -3,133 +3,45 @@ require 'package'
class Php < Package
description 'PHP is a popular general-purpose scripting language that is especially suited to web development.'
homepage 'http://www.php.net/'
version '5.6.40-7.3.11'
version '5.6.40-7.3.12'
is_fake
if ARGV[0] == 'install'
phpver = `php -v 2> /dev/null | head -1 | cut -d' ' -f2`.chomp
abort "PHP version #{phpver} already installed.".lightgreen unless "#{phpver}" == ""
puts
puts "Enter the PHP version to install:"
puts "5.6 = PHP 5.6.40"
puts "7.0 = PHP 7.0.33"
puts "7.1 = PHP 7.1.33"
puts "7.2 = PHP 7.2.24"
puts "7.3 = PHP 7.3.11"
puts " 0 = Cancel"
puts " Select the version to install:"
puts " 5.6 = PHP 5.6.40"
puts " 7.0 = PHP 7.0.33"
puts " 7.1 = PHP 7.1.33"
puts " 7.2 = PHP 7.2.25"
puts " 7.3 = PHP 7.3.12"
puts " 0 = Cancel"
while version = STDIN.gets.chomp
case version
when '5.6'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php5-5.6.40-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php5-5.6.40-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php5-5.6.40-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php5-5.6.40-1-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: 'c70edbf5ed87c65852ebae34aa83273e810b6727e630b7416d2ee68d56722398',
armv7l: 'c70edbf5ed87c65852ebae34aa83273e810b6727e630b7416d2ee68d56722398',
i686: '58320b4a5e73dbc5d028bc0969f28fd606e7aa6b2367aa2cf8b61fc043ce8740',
x86_64: '5e7f5461af3627f086a84bc62a26de7cdc907493244fbecd65be02c6ad9869bb',
})
$ver = 5
depends_on 'php5'
break
when '7.0'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.0.33-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.0.33-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.0.33-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.0.33-1-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '4b1a64041ce564014c9318ec4697796c783caac0689489c21f90d41d338dc753',
armv7l: '4b1a64041ce564014c9318ec4697796c783caac0689489c21f90d41d338dc753',
i686: 'adce0459926b85882ee5d2dd5801a4d062eec3f63abf893a12da9a30a8b4d738',
x86_64: 'a55e3ee6889347fe5065ccb2d16fd19e783c612661a8985f0040e1a5443b5368',
})
$ver = 7
depends_on 'php70'
break
when '7.1'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.1.33-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.1.33-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.1.33-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.1.33-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '1a25458dca5188809187c717fc76864c71c896ac51032b4b5395875310f9bd6c',
armv7l: '1a25458dca5188809187c717fc76864c71c896ac51032b4b5395875310f9bd6c',
i686: 'ee2de86e059df317fff885d5e0df2db944890a675be5c23d81291779e23ac23a',
x86_64: '4a61fb06d921969bf16d8154d68f34c2f5f0e2195503cb62fc964f7908ed962e',
})
$ver = 7
depends_on 'php71'
break
when '7.2'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.2.24-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.2.24-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.2.24-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.2.24-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '703dcea04ae36128de998205d2b083f28e662caba8220e932cdc59700bcf1818',
armv7l: '703dcea04ae36128de998205d2b083f28e662caba8220e932cdc59700bcf1818',
i686: '2d2b94253d0211c71cd255d50fe93674ef1309584a5b228a8fd523a2722014a9',
x86_64: '1ab757a1ad60ec328b785da1e94244444a5507a53ca59eb9428eb586e3fec484',
})
$ver = 7
depends_on 'php72'
break
when '7.3'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.3.11-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.3.11-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.3.11-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.3.11-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: 'c6d23c09318d763fb18149c0f9213f2dd5d0532ae08a688560144a57dfc0911a',
armv7l: 'c6d23c09318d763fb18149c0f9213f2dd5d0532ae08a688560144a57dfc0911a',
i686: '6b63be58066cc745ffa88b5fd34a5c31394f104d5d447f5bdf509761f2e33a6c',
x86_64: '6f6ef69344946e5985ddf5e0b179c6803b1567801319395079199f8e3714ad53',
})
$ver = 7
depends_on 'php73'
break
when '0'
abort
break
else
puts "Please select from one of the options or enter 0 to cancel."
puts " Please select from one of the options or enter 0 to cancel."
end
end
end
depends_on 'libgcrypt'
depends_on 'libwebp'
depends_on 'libxslt'
depends_on 'libzip'
depends_on 'curl'
depends_on 'exif'
depends_on 'freetype'
depends_on 'pcre'
depends_on 're2c'
depends_on 'tidy'
depends_on 'unixodbc'
def self.postinstall
puts
puts "To start the php-fpm service, execute:".lightblue
puts "php#{$ver}-fpm start".lightblue
puts
puts "To stop the php-fpm service, execute:".lightblue
puts "php#{$ver}-fpm stop".lightblue
puts
puts "To restart the php-fpm service, execute:".lightblue
puts "php#{$ver}-fpm restart".lightblue
puts
puts "To start php-fpm on login, execute the following:".lightblue
puts "echo 'if [ -f #{CREW_PREFIX}/bin/php#{$ver}-fpm ]; then' >> ~/.bashrc".lightblue
puts "echo ' #{CREW_PREFIX}/bin/php#{$ver}-fpm start' >> ~/.bashrc".lightblue
puts "echo 'fi' >> ~/.bashrc".lightblue
puts "source ~/.bashrc".lightblue
end
end
......@@ -7,6 +7,11 @@ class Php5 < Package
source_url 'http://php.net/distributions/php-5.6.40.tar.xz'
source_sha256 '1369a51eee3995d7fbd1c5342e5cc917760e276d561595b6052b21ace2656d1c'
if ARGV[0] == 'install'
phpver = `php -v 2> /dev/null | head -1 | cut -d' ' -f2`.chomp
abort "PHP version #{phpver} already installed.".lightgreen unless "#{phpver}" == ""
end
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php5-5.6.40-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php5-5.6.40-1-chromeos-armv7l.tar.xz',
......
require 'package'
class Php70 < Package
description 'PHP is a popular general-purpose scripting language that is especially suited to web development.'
homepage 'http://www.php.net/'
version '7.0.33'
source_url 'https://php.net/distributions/php-7.0.33.tar.xz'
source_sha256 'ab8c5be6e32b1f8d032909dedaaaa4bbb1a209e519abb01a52ce3914f9a13d96'
if ARGV[0] == 'install'
phpver = `php -v 2> /dev/null | head -1 | cut -d' ' -f2`.chomp
abort "PHP version #{phpver} already installed.".lightgreen unless "#{phpver}" == ""
end
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.0.33-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.0.33-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.0.33-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.0.33-1-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '4b1a64041ce564014c9318ec4697796c783caac0689489c21f90d41d338dc753',
armv7l: '4b1a64041ce564014c9318ec4697796c783caac0689489c21f90d41d338dc753',
i686: 'adce0459926b85882ee5d2dd5801a4d062eec3f63abf893a12da9a30a8b4d738',
x86_64: 'a55e3ee6889347fe5065ccb2d16fd19e783c612661a8985f0040e1a5443b5368',
})
depends_on 'libgcrypt'
depends_on 'libwebp'
depends_on 'libxslt'
depends_on 'libzip'
depends_on 'curl'
depends_on 'exif'
depends_on 'freetype'
depends_on 'pcre'
depends_on 're2c'
depends_on 'tidy'
depends_on 'unixodbc'
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 './configure',
"--prefix=#{CREW_PREFIX}",
"--docdir=#{CREW_PREFIX}/doc",
"--infodir=#{CREW_PREFIX}/info",
"--libdir=#{CREW_LIB_PREFIX}",
"--localstatedir=#{CREW_PREFIX}/tmp",
"--mandir=#{CREW_PREFIX}/share/man",
"--sbindir=#{CREW_PREFIX}/bin",
"--with-config-file-path=#{CREW_PREFIX}/etc",
"--with-libdir=#{ARCH_LIB}",
"--with-freetype-dir=#{CREW_PREFIX}/include/freetype2/freetype",
"--with-pcre-regex=#{CREW_LIB_PREFIX}",
"--with-jpeg-dir=#{CREW_LIB_PREFIX}",
"--with-kerberos=#{CREW_LIB_PREFIX}",
"--with-png-dir=#{CREW_LIB_PREFIX}",
"--with-webp-dir=#{CREW_LIB_PREFIX}",
"--with-xpm-dir=#{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.check
#system 'make', 'test'
end
def self.install
system "mkdir -p #{CREW_DEST_PREFIX}/log"
system "mkdir -p #{CREW_DEST_PREFIX}/tmp/run"
system "make", "INSTALL_ROOT=#{CREW_DEST_DIR}", "install"
system "install -Dm644 php.ini-development #{CREW_DEST_PREFIX}/etc/php.ini"
system "install -Dm755 sapi/fpm/init.d.php-fpm.in #{CREW_DEST_PREFIX}/etc/init.d/php-fpm"
system "install -Dm644 sapi/fpm/php-fpm.conf.in #{CREW_DEST_PREFIX}/etc/php-fpm.conf"
system "install -Dm644 sapi/fpm/www.conf.in #{CREW_DEST_PREFIX}/etc/php-fpm.d/www.conf"
system "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
system "mv", "#{CREW_DEST_DIR}/.depdb", "#{CREW_DEST_LIB_PREFIX}/php"
system "mv", "#{CREW_DEST_DIR}/.depdblock", "#{CREW_DEST_LIB_PREFIX}/php"
system "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
require 'package'
class Php7 < Package
class Php71 < Package
description 'PHP is a popular general-purpose scripting language that is especially suited to web development.'
homepage 'http://www.php.net/'
version '7.3.11'
source_url 'https://php.net/distributions/php-7.3.11.tar.xz'
source_sha256 '657cf6464bac28e9490c59c07a2cf7bb76c200f09cfadf6e44ea64e95fa01021'
version '7.1.33'
source_url 'https://php.net/distributions/php-7.1.33.tar.xz'
source_sha256 'bd7c0a9bd5433289ee01fd440af3715309faf583f75832b64fe169c100d52968'
if ARGV[0] == 'install'
phpver = `php -v 2> /dev/null | head -1 | cut -d' ' -f2`.chomp
abort "PHP version #{phpver} already installed.".lightgreen unless "#{phpver}" == ""
end
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.3.11-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.3.11-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.3.11-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.3.11-chromeos-x86_64.tar.xz',
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.1.33-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.1.33-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.1.33-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php7-7.1.33-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: 'c6d23c09318d763fb18149c0f9213f2dd5d0532ae08a688560144a57dfc0911a',
armv7l: 'c6d23c09318d763fb18149c0f9213f2dd5d0532ae08a688560144a57dfc0911a',
i686: '6b63be58066cc745ffa88b5fd34a5c31394f104d5d447f5bdf509761f2e33a6c',
x86_64: '6f6ef69344946e5985ddf5e0b179c6803b1567801319395079199f8e3714ad53',
aarch64: '1a25458dca5188809187c717fc76864c71c896ac51032b4b5395875310f9bd6c',
armv7l: '1a25458dca5188809187c717fc76864c71c896ac51032b4b5395875310f9bd6c',
i686: 'ee2de86e059df317fff885d5e0df2db944890a675be5c23d81291779e23ac23a',
x86_64: '4a61fb06d921969bf16d8154d68f34c2f5f0e2195503cb62fc964f7908ed962e',
})
depends_on 'libgcrypt'
......
require 'package'
class Php72 < Package
description 'PHP is a popular general-purpose scripting language that is especially suited to web development.'
homepage 'http://www.php.net/'
version '7.2.25'
source_url 'https://php.net/distributions/php-7.2.25.tar.xz'
source_sha256 '746efeedc38e6ff7b1ec1432440f5fa801537adf6cd21e4afb3f040e5b0760a9'
if ARGV[0] == 'install'
phpver = `php -v 2> /dev/null | head -1 | cut -d' ' -f2`.chomp
abort "PHP version #{phpver} already installed.".lightgreen unless "#{phpver}" == ""
end
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php72-7.2.25-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php72-7.2.25-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php72-7.2.25-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php72-7.2.25-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: 'e9c2888f04243257a29996d6c922d29e66d051f2025a6e50dd752dd073d1f388',
armv7l: 'e9c2888f04243257a29996d6c922d29e66d051f2025a6e50dd752dd073d1f388',
i686: 'ad0cff4dcf95500b2157fbf98c5aabe5b6ae5bf26e8ca627e0e149673eec2b38',
x86_64: '959b97e577daae8c0eb569f00976b7355c2b8a2edf58f3b304fdfedca15c8920',
})
depends_on 'libgcrypt'
depends_on 'libwebp'
depends_on 'libxslt'
depends_on 'libzip'
depends_on 'curl'
depends_on 'exif'
depends_on 'freetype'
depends_on 'pcre'
depends_on 're2c'
depends_on 'tidy'
depends_on 'unixodbc'
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 './configure',
"--prefix=#{CREW_PREFIX}",
"--docdir=#{CREW_PREFIX}/doc",
"--infodir=#{CREW_PREFIX}/info",
"--libdir=#{CREW_LIB_PREFIX}",
"--localstatedir=#{CREW_PREFIX}/tmp",
"--mandir=#{CREW_PREFIX}/share/man",
"--sbindir=#{CREW_PREFIX}/bin",
"--with-config-file-path=#{CREW_PREFIX}/etc",
"--with-libdir=#{ARCH_LIB}",
"--with-freetype-dir=#{CREW_PREFIX}/include/freetype2/freetype",
"--with-pcre-regex=#{CREW_LIB_PREFIX}",
"--with-jpeg-dir=#{CREW_LIB_PREFIX}",
"--with-kerberos=#{CREW_LIB_PREFIX}",
"--with-png-dir=#{CREW_LIB_PREFIX}",
"--with-webp-dir=#{CREW_LIB_PREFIX}",
"--with-xpm-dir=#{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.check
#system 'make', 'test'
end
def self.install
system "mkdir -p #{CREW_DEST_PREFIX}/log"
system "mkdir -p #{CREW_DEST_PREFIX}/tmp/run"
system "make", "INSTALL_ROOT=#{CREW_DEST_DIR}", "install"
system "install -Dm644 php.ini-development #{CREW_DEST_PREFIX}/etc/php.ini"
system "install -Dm755 sapi/fpm/init.d.php-fpm.in #{CREW_DEST_PREFIX}/etc/init.d/php-fpm"
system "install -Dm644 sapi/fpm/php-fpm.conf.in #{CREW_DEST_PREFIX}/etc/php-fpm.conf"
system "install -Dm644 sapi/fpm/www.conf.in #{CREW_DEST_PREFIX}/etc/php-fpm.d/www.conf"
system "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
system "mv", "#{CREW_DEST_DIR}/.depdb", "#{CREW_DEST_LIB_PREFIX}/php"
system "mv", "#{CREW_DEST_DIR}/.depdblock", "#{CREW_DEST_LIB_PREFIX}/php"
system "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
require 'package'
class Php73 < Package
description 'PHP is a popular general-purpose scripting language that is especially suited to web development.'
homepage 'http://www.php.net/'
version '7.3.12'
source_url 'https://php.net/distributions/php-7.3.12.tar.xz'
source_sha256 'aafe5e9861ad828860c6af8c88cdc1488314785962328eb1783607c1fdd855df'
if ARGV[0] == 'install'
phpver = `php -v 2> /dev/null | head -1 | cut -d' ' -f2`.chomp
abort "PHP version #{phpver} already installed.".lightgreen unless "#{phpver}" == ""
end
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/php73-7.3.12-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/php73-7.3.12-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/php73-7.3.12-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/php73-7.3.12-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '9286ee547ff8122df84dc859a3ee33e75aca8049a1fc845cc23dda8e9e584eb6',
armv7l: '9286ee547ff8122df84dc859a3ee33e75aca8049a1fc845cc23dda8e9e584eb6',
i686: 'e38e68c4d0fd3209202cb91a757529fa5a9606e4f56480cbe8f4c15df39c68e2',
x86_64: 'cf4690e251f780ba0f52af9d330fb07991785ace037e1f7edc220c4b51afc15b',
})
depends_on 'libgcrypt'
depends_on 'libwebp'
depends_on 'libxslt'
depends_on 'libzip'
depends_on 'curl'
depends_on 'exif'
depends_on 'freetype'
depends_on 'pcre'
depends_on 're2c'
depends_on 'tidy'
depends_on 'unixodbc'
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 './configure',
"--prefix=#{CREW_PREFIX}",
"--docdir=#{CREW_PREFIX}/doc",
"--infodir=#{CREW_PREFIX}/info",
"--libdir=#{CREW_LIB_PREFIX}",
"--localstatedir=#{CREW_PREFIX}/tmp",
"--mandir=#{CREW_PREFIX}/share/man",
"--sbindir=#{CREW_PREFIX}/bin",
"--with-config-file-path=#{CREW_PREFIX}/etc",
"--with-libdir=#{ARCH_LIB}",
"--with-freetype-dir=#{CREW_PREFIX}/include/freetype2/freetype",
"--with-pcre-regex=#{CREW_LIB_PREFIX}",
"--with-jpeg-dir=#{CREW_LIB_PREFIX}",
"--with-kerberos=#{CREW_LIB_PREFIX}",
"--with-png-dir=#{CREW_LIB_PREFIX}",
"--with-webp-dir=#{CREW_LIB_PREFIX}",
"--with-xpm-dir=#{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.check
#system 'make', 'test'
end
def self.install
system "mkdir -p #{CREW_DEST_PREFIX}/log"
system "mkdir -p #{CREW_DEST_PREFIX}/tmp/run"
system "make", "INSTALL_ROOT=#{CREW_DEST_DIR}", "install"
system "install -Dm644 php.ini-development #{CREW_DEST_PREFIX}/etc/php.ini"
system "install -Dm755 sapi/fpm/init.d.php-fpm.in #{CREW_DEST_PREFIX}/etc/init.d/php-fpm"
system "install -Dm644 sapi/fpm/php-fpm.conf.in #{CREW_DEST_PREFIX}/etc/php-fpm.conf"
system "install -Dm644 sapi/fpm/www.conf.in #{CREW_DEST_PREFIX}/etc/php-fpm.d/www.conf"
system "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
system "mv", "#{CREW_DEST_DIR}/.depdb", "#{CREW_DEST_LIB_PREFIX}/php"
system "mv", "#{CREW_DEST_DIR}/.depdblock", "#{CREW_DEST_LIB_PREFIX}/php"
system "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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment