Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add small patch to fix build of nmap with clang

This adds a very small patch to fix an issue with building nmap with
clang. The crux of the issue is that clang no longer compiles files with
void main() instead requiring int main(). This causes the configure to
fail when attempting to identify if a certain feature exists which
causes nmap to include its own version which off course causes a compile
failure because now you have two structs with the same name and two
functions with the same name in the same compilation unit.

This patch should probably be sent upstream as well.
  • Loading branch information...
commit c965e2c2080266df640ee5d0d329b95cf008b0f3 1 parent 4e9c4e3
@bertjwregeer authored
Showing with 32 additions and 0 deletions.
  1. +32 −0 Library/Formula/nmap.rb
View
32 Library/Formula/nmap.rb
@@ -25,4 +25,36 @@ def install
system "make" # separate steps required otherwise the build fails
system "make install"
end
+
+ def patches
+ # The configure script has a C file to test for some functionality that
+ # uses void main(void). This does not compile with clang but does compile
+ # with GCC/gcc-llvm. This small patch fixes the issues so that the
+ # project will compile without issues with clang as well.
+ #
+ # See: https://github.com/mxcl/homebrew/issues/10300
+ DATA
+ end
end
+
+__END__
+--- nmap-5.51/nbase/configure 2012-02-18 02:40:16.000000000 -0700
++++ nmap-5.51/nbase/configure.old 2012-02-18 02:40:01.000000000 -0700
+@@ -4509,7 +4509,7 @@
+ #include <sys/socket.h>
+ #endif
+
+-void main(void) {
++int main(void) {
+ struct addrinfo hints, *ai;
+ int error;
+
+@@ -4641,7 +4641,7 @@
+ #include <netinet/in.h>
+ #endif
+
+-void main(void) {
++int main(void) {
+ struct sockaddr_in sa;
+ char hbuf[256];
+ int error;

0 comments on commit c965e2c

Please sign in to comment.
Something went wrong with that request. Please try again.