Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

php: import from homebrew/php #16067

Closed
wants to merge 2 commits into from

Conversation

Projects
None yet
10 participants
@javian
Copy link
Member

commented Jul 26, 2017

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

This is still a work in progress and provides a first draft for the php formula that potentially could be included in homebrew-core as suggested in #15619 . This also relates to the next generation work as has been discussed in the php tap #4005 . I wanted to get this to a somewhat working state to get feedback early on to make sure we are moving in the right direction with this.

Compared to the php tap Formula the following changes has been made thus far

  • openssl is now the only ssl library available and you can't select libressl
  • libedit is now used over readline (one less dep without losing any funcitonality afaik), this change was originally made since the readline formula was missing symbols and linking failed in the compilation
  • All extensions distributed with php-core that currently exists as formulas in the php tap are built by default and included in the main formula
  • pear will be built by default to manage any extensions that exist in pecl
  • libxml2 is using the macos version and no longer depends on the Formula
  • httpd is now required and apache module built by default
  • webp support is built by default
  • enchant support is removed due to compilation issues until php support version 2.x of enchant
  • It is also no longer possible to ...
    • enable debug-symbols
    • build a thread safe binary

Goal

The goal is to create 1 formula that build a non-threadsafe and non-debug build of php that includes all SAPIs and the most used extensions.

TODO

There's still a substantial todo list to go through which are currently listed in the formula itself but I could move that information in here to make it more easy to review and comment on.

  • Opcache default config file is included in extension formula, is it needed ? (assumed No for now)
  • ldap extension: I have a vague recollection that this caused some issues that were resolved with exluding it. needs to be checked. Will build this as a shared module so it can be disabled if needed
  • Need to add tests for all supported SAPIs
  • Should we remove --with-pdo-dblib from formula ? (mssql support is long gone and as far as I can tell this is the only purpose and would also exclude a dep, freetds)
  • How should the Formula handle the apache module ? Sierra (have not checked high sierra) can't support building it for the OS without manually fiddling with link in the file system) with the bundles tools
  • Pecl/Pear config needs to be massaged so that it works without issues when installed

I'm all ears to comments and suggestions from the php community and the core maintainers to get this Formula released in 2018.

@javian javian changed the title Php71core php: 7.1 (new formula) Jul 26, 2017

Formula/php.rb Outdated
# How should the Formula handle the apache module ? Sierra (have not checked high sierra) can't support building it for the OS
# (without manually fiddling with link in the file system) with the bundles tools

option "with-debug-symbols", "Compile with debugging symbols"

This comment has been minimized.

Copy link
@ilovezfs

ilovezfs Jul 29, 2017

Contributor

I don't think this option is needed.

This comment has been minimized.

Copy link
@javian

javian Jul 31, 2017

Author Member

Removed.

Formula/php.rb Outdated
# (without manually fiddling with link in the file system) with the bundles tools

option "with-debug-symbols", "Compile with debugging symbols"
option "with-freetds", "Build MSSQL-DB support extension"

This comment has been minimized.

Copy link
@ilovezfs

ilovezfs Jul 29, 2017

Contributor

This dependency is non-optional so the line can be deleted.

Formula/php.rb Outdated
option "with-freetds", "Build MSSQL-DB support extension"
option "with-httpd24", "Enable building of shared Apache 2.4 Handler module"
option "with-httpd22", "Enable building of shared Apache 2.2 Handler module"
option "with-imap-uw", "Build IMAP extension"

This comment has been minimized.

Copy link
@ilovezfs

ilovezfs Jul 29, 2017

Contributor

any reason not to make this non-optional?

This comment has been minimized.

Copy link
@javian

javian Jul 31, 2017

Author Member

Only that you need to put the right settings in your hosts file. See https://serverfault.com/questions/586141/php-cli-with-imap-5-second-startup-delay

Formula/php.rb Outdated
# javian: is this still needed ?
skip_clean "lib/php/.lock"

def config_path

This comment has been minimized.

Copy link
@ilovezfs

ilovezfs Jul 29, 2017

Contributor

let's avoid using functions if possible. ditto for the others

This comment has been minimized.

Copy link
@javian

javian Jul 31, 2017

Author Member

Yes will change this eventually.

This comment has been minimized.

Copy link
@javian

javian Aug 3, 2017

Author Member

Done.

Formula/php.rb Outdated
depends_on "flex" => :build
depends_on "re2c" => :build
depends_on "enchant" => :optional
depends_on "homebrew/apache/httpd24" => :optional

This comment has been minimized.

Copy link
@ilovezfs

ilovezfs Jul 29, 2017

Contributor

I am wondering if we should make this non-optional, and drop the httpd22 option.

This comment has been minimized.

Copy link
@javian

javian Jul 31, 2017

Author Member

I would be up for it. httpd22 has 150 or so installs since may 1st and httpd24 has 19000. Lets kill it.

This comment has been minimized.

Copy link
@javian

javian Aug 1, 2017

Author Member

Since the httpd module can be used with apache that comes with macOS do you think we should make it a :build requirement ? I'm not sure what the most common use case is but in the php tap there's been several requests to make it work with the stock apache. Currently you can compile the module and remove the httpd24 formula and it will still work but it wouldn't really be a scenario that would be supported.

This comment has been minimized.

Copy link
@ilovezfs

ilovezfs Aug 1, 2017

Contributor

@javian I think Apple is deliberately blocking us from using the built-in Apache based on what I saw in Homebrew/homebrew-apache#147, but I could be wrong.

This comment has been minimized.

Copy link
@javian

javian Aug 1, 2017

Author Member

Indeed they made some deliberate change for unknown reasons =) In any case I don't think its too much to ask to install the formula. If you want to use the built in apache server the php module will still work

@ilovezfs

This comment has been minimized.

Copy link
Contributor

commented Aug 4, 2017

Note that if we do make homebrew/apache/httpd24 required or recommended, it will need to be migrated to core first.

@MikeMcQuaid
Copy link
Member

left a comment

A mammoth undertaking, incredible work @javian. A bunch of code comments from me based on not reading the PR but 👏 and defer to @ilovezfs rather than me here.

Formula/php.rb Outdated
skip_clean "lib/php/.lock"

def install
config_path = etc+"php"+version.to_s[0..2]

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

etc/"php#{version.to_s[0..2]}"

This comment has been minimized.

Copy link
@javian

javian Aug 7, 2017

Author Member

Fixed.

Formula/php.rb Outdated
# Not removing all pear.conf and .pearrc files from PHP path results in
# the PHP configure not properly setting the pear binary to be installed
config_pear = "#{config_path}/pear.conf"
user_pear = "#{File.expand_path("~")}/pear.conf"

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

This will point to .brew_home and not the user's home directory.

This comment has been minimized.

Copy link
@javian

javian Aug 7, 2017

Author Member

Ok, I'll need to look into this further. Not everything with pear/pecl is clear to me just yet so I'll review this as I go along. Thanks for the feedback!

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 8, 2017

Member

I think this stuff pointing towards the home directory can just be removed.

This comment has been minimized.

Copy link
@javian

javian Aug 8, 2017

Author Member

Probably. I'm not sure but I would assume that the binaries would give config files in the home directory a higher priority so if it would exist it might cause issues which is why it was there in the first place.

Formula/php.rb Outdated
config_pear = "#{config_path}/pear.conf"
user_pear = "#{File.expand_path("~")}/pear.conf"
config_pearrc = "#{config_path}/.pearrc"
user_pearrc = "#{File.expand_path("~")}/.pearrc"

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

This will point to .brew_home and not the user's home directory.

This comment has been minimized.

Copy link
@javian

javian Aug 8, 2017

Author Member

Using #{ENV["HOME"]} would give the expected result I assume

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 29, 2017

Member

You cannot get the user's home directory reliably inside a formula at all (also because some users run Homebrew as a different user to the applications).

This comment has been minimized.

Copy link
@javian

javian Aug 29, 2017

Author Member

Right, this code should be removed so it won't be an issue that needs a resolution. Thanks for the information.

Formula/php.rb Outdated
mv(config_pear, "#{config_pear}-backup") if File.exist? config_pear
mv(user_pear, "#{user_pear}-backup") if File.exist? user_pear
mv(config_pearrc, "#{config_pearrc}-backup") if File.exist? config_pearrc
mv(user_pearrc, "#{user_pearrc}-backup") if File.exist? user_pearrc

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

Anything in etc will have this handled by etc.install automatically. Anything outside etc won't be installed by this formula, no?

This comment has been minimized.

Copy link
@javian

javian Aug 7, 2017

Author Member

It shouldn't be. The code does change filenames outside of etc though as noted above since it looks inside the users home directory (or tried to until you pointed out that it wasn't pointing to the users directory).

I'll look in to etc.install and see how it works and how it would affect the code above.

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 8, 2017

Member

I'll look in to etc.install and see how it works and how it would affect the code above.

Thanks. Give me a shout if it doesn't work how you expect but if you do (etc/"foo").install it should create these backup files.

Formula/php.rb Outdated
]

# Belongs to fpm config
(prefix+"var/log").mkpath

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

Prefer / over + but that is totally pedantry so feel free to ignore.

Formula/php.rb Outdated
system "make", "install"

# Prefer relative symlink instead of absolute for relocatable bottles
ln_s "phar.phar", bin+"phar", :force => true if File.exist? bin+"phar.phar"

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

When would this link exist/not?

Formula/php.rb Outdated
ln_s "phar.phar", bin+"phar", :force => true if File.exist? bin+"phar.phar"

# Install new php.ini unless one exists
config_path.install "./php.ini-development" => "php.ini" unless File.exist? config_path+"php.ini"

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

etc.install will handle this automatically.

Formula/php.rb Outdated

system bin+"pear", "config-set", "php_ini", config_path+"php.ini", "system"

if File.exist?("sapi/fpm/init.d.php-fpm")

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

When do these files exist/not?

Formula/php.rb Outdated

if build.with? "pear"
s << <<-EOS.undent
✩✩✩✩ PEAR ✩✩✩✩

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

The is a bit weird here. I'd omit the headings.

Formula/php.rb Outdated
✩✩✩✩ PEAR ✩✩✩✩

If PEAR complains about permissions, 'fix' the default PEAR permissions and config:

This comment has been minimized.

Copy link
@MikeMcQuaid

MikeMcQuaid Aug 5, 2017

Member

Trim the newline here.

This comment has been minimized.

Copy link
@javian

javian Aug 7, 2017

Author Member

I will do it if I'll keep the caveat. The permissions required can be fixed in the Formula so there should be no need to do this really.

@javian javian referenced this pull request Aug 8, 2017

Closed

libpq 9.6.3 (new formula) #16546

4 of 4 tasks complete

@javian javian force-pushed the javian:php71core branch 3 times, most recently Aug 10, 2017

@alcaeus

This comment has been minimized.

Copy link
Contributor

commented Aug 14, 2017

@javian great work so far! A few questions, just to see where you're going with this:

  • I suppose the php formula would always be the latest version, while old versions would have a @5.6 suffix?
  • What are you planning to do with extensions? Will they still be in homebrew-php or would some move here as well?
  • Specifically for the above question, how should we handle the intl and other "built-in" extensions?

Looking forward to seeing this merged 👍

@javian

This comment has been minimized.

Copy link
Member Author

commented Aug 14, 2017

@alcaeus The extensions that are shipped with core should all be compiled in the main formula (hence the long list of dependencies). We have the options of the making them embedded in the binary or use the shared extension where they have to be disabled manually if you don't want to load them for any reason. I'm currently assuming that none of the modules in core are causing any issues so they should be able to be included and people can just opt out of using them if they don't want to.

My current goal with the extensions is to make pear/pecl work without any issues so that php users can install extensions with the tool rather than using homebrew formulas. It would of course be possible to continue the php tap as is with some changes but I'm not sure how much we would gain from doing that. There might be a number of people that have their environment/ci accustomed to using php in the way its currently used in the tap so I would think that there might be some transition tension once this is released =)

The php formula would carry the latest stable version and the older versions should be versioned as you describe. For the beta we would include the devel method on the main Formula and users can easily switch between the stable and the development release.

Formula/php.rb Outdated
<true/>
<key>LaunchOnlyOnce</key>
<true/>
<key>UserName</key>

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

This key/value should be removed as it causes issues with the service starter and is not recommended on macOS.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

Deleted

Formula/php.rb Outdated
</array>
<key>RunAtLoad</key>
<true/>
<key>LaunchOnlyOnce</key>

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

This key/value should be removed as the program can be respawned without full system restart.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

Deleted

Formula/php.rb Outdated
end
end

plist_options :manual => "php-fpm --nodaemonize --fpm-config #{HOMEBREW_PREFIX}/etc/php/#{version.to_s[0..2]}/php-fpm.conf"

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

:startup => true should also be included.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

added.

Formula/php.rb Outdated

args << "--enable-maintainer-zts" if build.with? "thread-safety"

system "./buildconf", "--force"

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

This is only necessary if building from a repository checkout. The tarball already has the built configure, so autoconf is not needed.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

The tarball from github still requires this but not the one from php.net

Formula/php.rb Outdated
--with-zlib=/usr
--with-libedit
--with-xsl=/usr
--without-gmp

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

This conflicts with the --with-gmp above.

Formula/php.rb Outdated
--with-config-file-scan-dir=#{config_path}/conf.d
--mandir=#{man}
--enable-bcmath
--enable-cgi

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

This is unnecessary, it comes default.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

Removed.

Formula/php.rb Outdated
option "without-ldap", "Build without LDAP support"
option "without-unixodbc", "Build without unixODBC support"

depends_on "autoconf" => :build

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

Only necessary for head build.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

Not with the github tarball afaik. We might want to discuss if we want to use that or not and what the "official" source of the tarball is since it is modified between the repository and to when its uploaded to php.net

This comment has been minimized.

Copy link
@kabel

kabel Sep 2, 2017

Contributor

Ah, good point. I assumed we were using the php.net tarball. I can't recall what all exactly happens in their release process, other than running the build tools so they aren't needed downstream.

Formula/php.rb Outdated
option "without-unixodbc", "Build without unixODBC support"

depends_on "autoconf" => :build
depends_on "bison" => :build

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

The macOS version should suffice.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

Same here as for net-snmp, I've tried buildling without bison but the configure part fails and I've not gone beyond that.

Formula/php.rb Outdated

depends_on "autoconf" => :build
depends_on "bison" => :build
depends_on "re2c" => :build

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

Pretty sure this too is only for head build.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

It works without re2c but there's warning that appears which potentially could be ignored.

Formula/php.rb Outdated
depends_on "libpng"
depends_on "libpq"
depends_on "mcrypt"
depends_on "net-snmp"

This comment has been minimized.

Copy link
@kabel

kabel Aug 18, 2017

Contributor

The macOS version should suffice, and it's not currently explicitly referenced in the configure options.

This comment has been minimized.

Copy link
@javian

javian Aug 28, 2017

Author Member

It doesn't I'm afraid, there is some executable that is missing in macOS that the configure script requires. I've not tried to go beyond that at this stage just concluded that excluding the dependency causes the configure to fail.

This comment has been minimized.

Copy link
@DomT4

DomT4 Sep 3, 2017

Contributor

The system net-snmp on newer versions of macOS is linked to LibreSSL as well, so you'd end up with a mixed crypto tree. Using the dep is a saner behaviour here.

@javian

This comment has been minimized.

Copy link
Member Author

commented Aug 18, 2017

@kabel thanks for the great feedback!

@javian javian force-pushed the javian:php71core branch Aug 26, 2017

Formula/php.rb Outdated
php/.depdblock
php/.filemap
php/.depdb
].each do |f|
chmod 0644, lib/f
end

system bin+"pear", "config-set", "php_ini", etc/"php/#{version.to_s[0..2]}"/"php.ini", "system"

This comment has been minimized.

Copy link
@ilovezfs

ilovezfs Aug 27, 2017

Contributor
    php_ini = "#{etc}/php/#{version.to_s.split(".")[0..1].join(".")}"
    system bin/"pear", "config-set", "php_ini", php_ini, "system"
@javian

This comment has been minimized.

Copy link
Member Author

commented Aug 28, 2017

@ilovezfs I'll switch the other version extractions to this model as well.

Formula/php.rb Outdated
config_path = (etc/"php/#{version.to_s.split(".")[0..1].join(".")}/conf.d/ext-#{e}.ini")
extension_type = (e == "opcache") ? "zend_extension" : "extension"
if File.exist? config_path
inreplace config_path, /^#{extension_type}=.*$/, "#{extension_type}=#{Utils.popen_read("php-config --extension-dir").chomp}/#{e}.so"

This comment has been minimized.

Copy link
@javian

javian Aug 29, 2017

Author Member

This needs a more reliable way to update the link to the extension since people might put a # in front of the line to disable a specific module. This inreplace line will not detect that and fail.

Formula/php.rb Outdated
config_pear = "#{config_path}/pear.conf"
user_pear = "#{File.expand_path("~")}/pear.conf"
config_pearrc = "#{config_path}/.pearrc"
user_pearrc = "#{File.expand_path("~")}/.pearrc"

This comment has been minimized.

Copy link
@javian

javian Aug 29, 2017

Author Member

Right, this code should be removed so it won't be an issue that needs a resolution. Thanks for the information.

@ilovezfs

This comment has been minimized.

Copy link
Contributor

commented Jan 20, 2018

Yeah static linking OpenSSL would be a last resort. We'll need a proper solution from upstream.

@kabel

This comment has been minimized.

Copy link
Contributor

commented Jan 30, 2018

@javian Using only "--enable-mods-static=ssl", I was able to get the tests to run with SNMP enabled, so it looks like building the module statically may be the only thing that's required. Unless I'm reading the linkage wrong, the OpenSSL libs are still dynamically linked.

If that's an acceptable workaround, I can do a pull request for httpd.

extension_type = (e == "opcache") ? "zend_extension" : "extension"
if ext_config_path.exist?
inreplace ext_config_path,
/#{extension_type}=.*$/, "#{extension_type}=#{php_ext_dir}/#{e}.so"

This comment has been minimized.

Copy link
@SMillerDev

SMillerDev Feb 12, 2018

Member

since this is 7.2 now you probably want to drop the .so

This comment has been minimized.

Copy link
@javian

This comment has been minimized.

Copy link
@javian

javian Feb 27, 2018

Author Member

It seems that removing the .so reference did not work with opcache for some reason so I added it back

@javian

This comment has been minimized.

Copy link
Member Author

commented Feb 14, 2018

The apache/php/snmp issue has been brought up here - will post it in apache bugtracker if it comes to that.

@jmikola jmikola referenced this pull request Feb 14, 2018

Closed

php{55-72}-mongodb 1.4.0 #4765

3 of 3 tasks complete
@javian

This comment has been minimized.

Copy link
Member Author

commented Feb 18, 2018

Apache bugtracker https://bz.apache.org/bugzilla/show_bug.cgi?id=62115 link to issue (no response to email)

@MikeMcQuaid MikeMcQuaid changed the title php: 7.1 (new formula) php: 7.2 (new formula) Feb 27, 2018

@ilovezfs ilovezfs changed the title php: 7.2 (new formula) php 7.2.2 (new formula) Feb 27, 2018

@ilovezfs ilovezfs force-pushed the javian:php71core branch Feb 27, 2018

@ilovezfs

This comment has been minimized.

Copy link
Contributor

commented Feb 27, 2018

==> brew audit php --online --new-formula
==> FAILED
Error: 1 problem in 1 formula
php:
  * Dependency 'icu4c' may be unnecessary as it is provided by macOS; try to build this formula without it.

We are ignoring this audit.

@ilovezfs ilovezfs force-pushed the javian:php71core branch to 7ed3aa8 Feb 27, 2018

Jan Viljanen and others added some commits Feb 27, 2018

@ilovezfs ilovezfs changed the title php 7.2.2 (new formula) php: import from homebrew/php Feb 28, 2018

@ilovezfs ilovezfs closed this in 4dbb4ad Feb 28, 2018

@ilovezfs

This comment has been minimized.

Copy link
Contributor

commented Feb 28, 2018

Shipped! Magnificent work here, @javian!

@MikeMcQuaid

This comment has been minimized.

Copy link
Member

commented Feb 28, 2018

What a glorious slog!

@alcaeus

This comment has been minimized.

Copy link
Contributor

commented Feb 28, 2018

Awesome, thank you to everyone involved!

@javian

This comment has been minimized.

Copy link
Member Author

commented Feb 28, 2018

Thanks! Shout out to @kabel as well who's done a lot of work on this too.

@kabel

This comment has been minimized.

Copy link
Contributor

commented Mar 1, 2018

Thanks @javian. Quite the slog indeed.

@publicarray

This comment has been minimized.

Copy link
Contributor

commented Mar 2, 2018

Can I ask why httpd is now required? I would rather just have php and install my favourite web server independently. I've been using nginx and haven't used apache's httpd in a very long time.

Edit: Same goes for aspell

@kabel

This comment has been minimized.

Copy link
Contributor

commented Mar 3, 2018

Can I ask why httpd is now required?

@publicarray sure. The approach in the core tap is to have no formula options so that the bottle includes everything necessary. The apache module is one of the most commonly used SAPI, so including the httpd dependency to build it is necessary. It just takes up a little extra space. This was discussed at various stages in this very long thread.

I've been using nginx

That's great, and why the formula builds everything you need for that too. If there were an nginx specific SAPI in core php (that wasn't FastCGI based), that would likely be built too with such a dependency.

@publicarray

This comment has been minimized.

Copy link
Contributor

commented Mar 3, 2018

Ok thanks for explaining :) I'll ignore it for now, might see if I can make a lighter formula just for my use case.

It just takes up a little extra space

Also bandwidth and time. (Australian internet is slow)

@Homebrew Homebrew deleted a comment from liamwli Mar 4, 2018

@Homebrew Homebrew locked and limited conversation to collaborators Mar 4, 2018

@MikeMcQuaid

This comment has been minimized.

Copy link
Member

commented Mar 6, 2018

Can I ask why httpd is now required?

This will not be installed any more if you use the bottle: #24907

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.