/Library/Formula/net-snmp.rb
Ruby | 186 lines | 178 code | 5 blank | 3 comment | 1 complexity | f5b94bf25bf8ce339d660fda976bef60 MD5 | raw file
- require 'formula'
- class NetSnmp < Formula
- homepage 'http://www.net-snmp.org/'
- url 'http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/net-snmp-5.7.1.tar.gz'
- md5 'c95d08fd5d93df0c11a2e1bdf0e01e0b'
- def patches
- # Fixes compile error on Lion, missing header darwin11.h
- # The patch is reported upstream and does not exist in HEAD as of 2012-03-30.
- # https://sourceforge.net/tracker/?func=detail&aid=3514049&group_id=12694&atid=312694
- DATA
- end
- def install
- system "./configure", "--prefix=#{prefix}",
- "--with-persistent-directory=#{var}/db/net-snmp",
- "--with-defaults",
- "--without-rpm",
- "--with-mib-modules=host ucd-snmp/diskio",
- "--without-kmem-usage"
- system "make"
- system "make install"
- end
- def header_created?
- cp 'include/net-snmp/system/darwin10.h', 'include/net-snmp/system/darwin11.h'
- return TRUE
- end
- end
- __END__
- diff --git a/include/net-snmp/system/darwin11.h b/include/net-snmp/system/darwin11.h
- new file mode 100644
- index 0000000..fd5d9ab
- --- /dev/null
- +++ b/include/net-snmp/system/darwin11.h
- @@ -0,0 +1,148 @@
- +/*
- + * While Darwin 10 (aka, Mac OS X 10.6 Snow Leopard) is "BSD-like", it differs
- + * substantially enough to not warrant pretending it is a BSD flavor.
- + * This first section are the vestigal BSD remnants.
- + */
- +/* Portions of this file are subject to the following copyright(s). See
- + * the Net-SNMP's COPYING file for more details and other copyrights
- + * that may apply:
- + */
- +/*
- + * Portions of this file are copyrighted by:
- + * Copyright (C) 2007 Apple, Inc. All rights reserved.
- + * Use is subject to license terms specified in the COPYING file
- + * distributed with the Net-SNMP package.
- + */
- +
- +/*
- + * BSD systems use a different method of looking up sockaddr_in values
- + */
- +/* #define NEED_KLGETSA 1 */
- +
- +/*
- + * ARP_Scan_Next needs a 4th ifIndex argument
- + */
- +#define ARP_SCAN_FOUR_ARGUMENTS 1
- +
- +#define CHECK_RT_FLAGS 1
- +
- +/*
- + * this is not good enough before freebsd3!
- + */
- +/* #undef HAVE_NET_IF_MIB_H */
- +
- +/*
- + * This section adds the relevant definitions from generic.h
- + * (a file we don't include here)
- + */
- +
- +/*
- + * udp_inpcb list symbol, e.g. for mibII/udpTable.c
- + */
- +#define INP_NEXT_SYMBOL inp_next
- +
- +/*
- + * This section defines Mac OS X 10.5 (and later) specific additions.
- + */
- +#define darwin 11
- +#ifndef darwin11
- +# define darwin11 darwin
- +#endif
- +
- +/*
- + * Mac OS X should only use the modern API and definitions.
- + */
- +#ifndef NETSNMP_NO_LEGACY_DEFINITIONS
- +#define NETSNMP_NO_LEGACY_DEFINITIONS 1
- +#endif
- +
- +/*
- + * looks like the IFTable stuff works better than the mibII versions
- + */
- +
- +#define NETSNMP_INCLUDE_IFTABLE_REWRITES
- +
- +/*
- + * use new host resources files as well
- + */
- +#define NETSNMP_INCLUDE_HRSWINST_REWRITES
- +#define NETSNMP_INCLUDE_HRSWRUN_REWRITES
- +#undef NETSNMP_INCLUDE_HRSWRUN_WRITE_SUPPORT
- +#define NETSNMP_CAN_GET_DISK_LABEL 1
- +
- +/*
- + * Enabling this restricts the compiler to mostly public APIs.
- + */
- +#ifndef __APPLE_API_STRICT_CONFORMANCE
- +#define __APPLE_API_STRICT_CONFORMANCE 1
- +#endif
- +#ifndef __APPLE_API_UNSTABLE
- +#define __APPLE_API_UNSTABLE 1
- +#endif
- +
- +/*
- + * Darwin's tools are capable of building multiple architectures in one pass.
- + * As a result, platform definitions should be deferred until compile time.
- + */
- +#ifdef BYTE_ORDER
- +# undef WORDS_BIGENDIAN
- +# if BYTE_ORDER == BIG_ENDIAN
- +# define WORDS_BIGENDIAN 1
- +# endif
- +#endif
- +
- +/*
- + * Darwin's tools are capable of building multiple architectures in one pass.
- + * As a result, platform definitions should be deferred until compile time.
- + */
- +#ifdef BYTE_ORDER
- +# undef WORDS_BIGENDIAN
- +# if BYTE_ORDER == BIG_ENDIAN
- +# define WORDS_BIGENDIAN 1
- +# endif
- +#endif
- +
- +/*
- + * Although Darwin does have an fstab.h file, getfsfile etc. always return null.
- + * At least, as of 5.3.
- + */
- +#undef HAVE_FSTAB_H
- +
- +#define SWAPFILE_DIR "/private/var/vm"
- +#define SWAPFILE_PREFIX "swapfile"
- +
- +/*
- + * These apparently used to be in netinet/tcp_timers.h, but went away in
- + * 10.4.2. Define them here til we find out a way to get the real values.
- + */
- +#define TCPTV_MIN ( 1*PR_SLOWHZ) /* minimum allowable value */
- +#define TCPTV_REXMTMAX ( 64*PR_SLOWHZ) /* max allowable REXMT value */
- +
- +/*
- + * Because Mac OS X is built on Mach, it does not provide a BSD-compatible
- + * VM statistics API.
- + */
- +#define USE_MACH_HOST_STATISTICS 1
- +
- +/*
- + * This tells code that manipulates IPv6 that the structures are unified,
- + * i.e., IPv4 and IPv6 use the same structs.
- + * This should eventually be replaced with a configure directive.
- + */
- +/* #define USE_UNIFIED_IPV6_STRUCTS 1 */
- +#undef STRUCT_in6pcb_HAS_inp_vflag
- +
- +/*
- + * utility macro used in several darwin specific files
- + */
- +#define SNMP_CFRelease(x) do { if (x) { CFRelease(x); x = NULL; } } while(0)
- +
- +/*
- + * Mac OS X runs on both PPC and Intel hardware,
- + * which handle udpTable index values differently
- + */
- +#include <TargetConditionals.h>
- +#ifdef TARGET_RT_LITTLE_ENDIAN
- +#define UDP_ADDRESSES_IN_HOST_ORDER 1
- +#endif
- +