Skip to content

Commit

Permalink
curl: remove options.
Browse files Browse the repository at this point in the history
Closes #36066.

Signed-off-by: Chongyu Zhu <i@lembacon.com>
  • Loading branch information
MikeMcQuaid authored and lembacon committed Jan 17, 2019
1 parent 9452b3f commit 7f9bfa6
Showing 1 changed file with 2 additions and 29 deletions.
31 changes: 2 additions & 29 deletions Formula/curl.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,32 +22,16 @@ class Curl < Formula

keg_only :provided_by_macos

option "with-rtmpdump", "Build with RTMP support"
option "with-libssh2", "Build with scp and sftp support"
option "with-c-ares", "Build with C-Ares async DNS support"
option "with-gssapi", "Build with GSSAPI/Kerberos authentication support."
option "with-libmetalink", "Build with libmetalink support."
option "with-nghttp2", "Build with HTTP/2 support (requires OpenSSL)"

deprecated_option "with-rtmp" => "with-rtmpdump"
deprecated_option "with-ssh" => "with-libssh2"

This comment has been minimized.

Copy link
@patrickshox

patrickshox Feb 22, 2019

Why though?

This comment has been minimized.

Copy link
@SMillerDev

SMillerDev Feb 22, 2019

Member

because #31510

deprecated_option "with-ares" => "with-c-ares"

# HTTP/2 support requires OpenSSL 1.0.2+ or LibreSSL 2.1.3+ for ALPN Support
# which is currently not supported by Secure Transport (DarwinSSL).
if MacOS.version < :mountain_lion || build.with?("nghttp2")
if MacOS.version < :mountain_lion
depends_on "openssl"
else
option "with-openssl", "Build with OpenSSL instead of Secure Transport"
depends_on "openssl" => :optional
end

depends_on "pkg-config" => :build
depends_on "c-ares" => :optional
depends_on "libmetalink" => :optional
depends_on "libssh2" => :optional
depends_on "nghttp2" => :optional
depends_on "rtmpdump" => :optional

def install
system "./buildconf" if build.head?
Expand All @@ -65,7 +49,7 @@ def install
# cURL has a new firm desire to find ssl with PKG_CONFIG_PATH instead of using
# "--with-ssl" any more. "when possible, set the PKG_CONFIG_PATH environment
# variable instead of using this option". Multi-SSL choice breaks w/o using it.
if MacOS.version < :mountain_lion || build.with?("openssl") || build.with?("nghttp2")
if MacOS.version < :mountain_lion || build.with?("openssl")
ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["openssl"].opt_lib}/pkgconfig"
args << "--with-ssl=#{Formula["openssl"].opt_prefix}"
args << "--with-ca-bundle=#{etc}/openssl/cert.pem"
Expand All @@ -76,17 +60,6 @@ def install
args << "--without-ca-path"
end

args << (build.with?("libssh2") ? "--with-libssh2" : "--without-libssh2")
args << (build.with?("libmetalink") ? "--with-libmetalink" : "--without-libmetalink")
args << (build.with?("gssapi") ? "--with-gssapi" : "--without-gssapi")
args << (build.with?("rtmpdump") ? "--with-librtmp" : "--without-librtmp")

if build.with? "c-ares"
args << "--enable-ares=#{Formula["c-ares"].opt_prefix}"
else
args << "--disable-ares"
end

system "./configure", *args
system "make", "install"
system "make", "install", "-C", "scripts"
Expand Down

9 comments on commit 7f9bfa6

@jeroen
Copy link
Contributor

@jeroen jeroen commented on 7f9bfa6 Jan 20, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:( The --with-http2 option was super useful.

@keltia
Copy link
Contributor

@keltia keltia commented on 7f9bfa6 Jan 22, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you can't have options, what's the point of having the port compared to manually compiling? If you want to kill Homebrew, that's the way to do it.

@fbacchella
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--gssapi will be missed too

@SMillerDev
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The real best way to kill homebrew would be to make so many options available that the maintainers can't keep track of the issues anymore and quit, leaving homebrew in a unmaintained broken state until it's no longer used. Asking people to make their own package if they want to divert from the default is doing the opposite.

@SMillerDev
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, none of these issue removals mean that the function can't be in homebrew anymore. It just means that it should be made into a tap or proposed as a default.

@keltia
Copy link
Contributor

@keltia keltia commented on 7f9bfa6 Jan 22, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the previous system, at least you could override at install-time the default options. Now you don't even have the possibility and you have to basically fork the port to put in a tap. Thanks but no thanks. That does not change the fact that you can never test everything. I was on my way to remove MacPorts from my macs, I guess I have to get roll that back.

@wanglikun7342
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sa diao?

@alericmckearn
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you end up here wondering what happened (like me). First I'm okay with the change, but wish there was a deprecation message on brew options xxx

brew uninstall curl
brew edit curl

change the following args:
args = %W[
--disable-debug
--disable-dependency-tracking
--disable-silent-rules
--prefix=#{prefix}
--with-darwinssl
--without-ca-bundle
--without-ca-path
--with-gssapi
--with-openssl
]
brew install -s curl
echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.bash_profile
. ~/.bash_profile

Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS GSS-API IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB SPNEGO SSL UnixSocket

@dcunited001

This comment was marked as abuse.

Please sign in to comment.