Last active
August 29, 2015 14:03
-
-
Save rjocoleman/d07144217525a13972a7 to your computer and use it in GitHub Desktop.
Homebrew mongodb on 10.10 - brew install https://gist.github.com/rjocoleman/d07144217525a13972a7/raw/8b1a1ddbce614498a3dfdeb93260fece56a15486/mongodb.rb --build-from-source
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "formula" | |
class Mongodb < Formula | |
homepage "http://www.mongodb.org/" | |
url "http://downloads.mongodb.org/src/mongodb-src-r2.6.3.tar.gz" | |
sha1 "226ab45e3a2e4d4a749271f1bce393ea8358d3dd" | |
bottle do | |
sha1 "d573717ca7c67455680a6823de210c940faf9ac6" => :mavericks | |
sha1 "f7d2a0711e3ac09fd61bcb243360c1a07fb83233" => :mountain_lion | |
sha1 "b646f64abf52bcc594e690ca2c95143685ade864" => :lion | |
end | |
devel do | |
url "http://downloads.mongodb.org/src/mongodb-src-r2.7.3.tar.gz" | |
sha1 "53f832b31b49063a60100bbe1be65015efcd3ccf" | |
end | |
head "https://github.com/mongodb/mongo.git" | |
option "with-boost", "Compile using installed boost, not the version shipped with mongodb" | |
depends_on "boost" => :optional | |
depends_on "scons" => :build | |
depends_on "openssl" => :optional | |
def install | |
args = %W[ | |
--prefix=#{prefix} | |
-j#{ENV.make_jobs} | |
--cc=#{ENV.cc} | |
--cxx=#{ENV.cxx} | |
] | |
# Compatiblity with Yosemite | |
if MacOS.version >= '10.10' | |
# Workaround for https://jira.mongodb.org/browse/SERVER-14204 | |
args << "--osx-version-min=10.9" | |
# patch for: https://jira.mongodb.org/browse/SERVER-14184 | |
patch :DATA | |
else | |
args << "--osx-version-min=#{MacOS.version}" | |
end | |
# --full installs development headers and client library, not just binaries | |
# (only supported pre-2.7) | |
args << "--full" if build.stable? | |
args << "--use-system-boost" if build.with? "boost" | |
args << "--64" if MacOS.prefer_64_bit? | |
if build.with? "openssl" | |
args << "--ssl" << "--extrapath=#{Formula["openssl"].opt_prefix}" | |
end | |
scons "install", *args | |
(buildpath+"mongod.conf").write mongodb_conf | |
etc.install "mongod.conf" | |
(var+"mongodb").mkpath | |
(var+"log/mongodb").mkpath | |
end | |
def mongodb_conf; <<-EOS.undent | |
# Store data in #{var}/mongodb instead of the default /data/db | |
dbpath = #{var}/mongodb | |
# Append logs to #{var}/log/mongodb/mongo.log | |
logpath = #{var}/log/mongodb/mongo.log | |
logappend = true | |
# Only accept local connections | |
bind_ip = 127.0.0.1 | |
EOS | |
end | |
plist_options :manual => "mongod --config #{HOMEBREW_PREFIX}/etc/mongod.conf" | |
def plist; <<-EOS.undent | |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>Label</key> | |
<string>#{plist_name}</string> | |
<key>ProgramArguments</key> | |
<array> | |
<string>#{opt_bin}/mongod</string> | |
<string>--config</string> | |
<string>#{etc}/mongod.conf</string> | |
</array> | |
<key>RunAtLoad</key> | |
<true/> | |
<key>KeepAlive</key> | |
<false/> | |
<key>WorkingDirectory</key> | |
<string>#{HOMEBREW_PREFIX}</string> | |
<key>StandardErrorPath</key> | |
<string>#{var}/log/mongodb/output.log</string> | |
<key>StandardOutPath</key> | |
<string>#{var}/log/mongodb/output.log</string> | |
<key>HardResourceLimits</key> | |
<dict> | |
<key>NumberOfFiles</key> | |
<integer>1024</integer> | |
</dict> | |
<key>SoftResourceLimits</key> | |
<dict> | |
<key>NumberOfFiles</key> | |
<integer>1024</integer> | |
</dict> | |
</dict> | |
</plist> | |
EOS | |
end | |
test do | |
system "#{bin}/mongod", "--sysinfo" | |
end | |
end | |
__END__ | |
diff --git a/src/third_party/s2/util/endian/endian.h b/src/third_party/s2/util/endian/endian.h | |
index 9def73f..745f620 100755 | |
--- a/src/third_party/s2/util/endian/endian.h | |
+++ b/src/third_party/s2/util/endian/endian.h | |
@@ -177,15 +177,10 @@ class LittleEndian { | |
} | |
}; | |
- | |
-// This one is safe to take as it's an extension | |
-#define htonll(x) ghtonll(x) | |
- | |
// ntoh* and hton* are the same thing for any size and bytesex, | |
// since the function is an involution, i.e., its own inverse. | |
#define gntohl(x) ghtonl(x) | |
#define gntohs(x) ghtons(x) | |
#define gntohll(x) ghtonll(x) | |
-#define ntohll(x) htonll(x) | |
#endif // UTIL_ENDIAN_ENDIAN_H_ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment