aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Formula/nss.rb60
1 files changed, 60 insertions, 0 deletions
diff --git a/Library/Formula/nss.rb b/Library/Formula/nss.rb
new file mode 100644
index 000000000..2941aa437
--- /dev/null
+++ b/Library/Formula/nss.rb
@@ -0,0 +1,60 @@
+require 'formula'
+
+class Nss < Formula
+ url 'http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_10_RTM/src/nss-3.12.10.tar.gz'
+ homepage 'http://www.mozilla.org/projects/security/pki/nss/'
+ md5 '027954e894f02732f4e66cd854261145'
+
+ depends_on 'nspr'
+
+ def install
+ ENV.deparallelize
+
+ args = [
+ 'BUILD_OPT=1',
+ 'NSS_ENABLE_ECC=1',
+ 'NS_USE_GCC=1',
+ 'NO_MDUPDATE=1',
+ 'NSS_USE_SYSTEM_SQLITE=1',
+ "NSPR_INCLUDE_DIR=#{HOMEBREW_PREFIX}/include/nspr"
+ ]
+ args << 'USE_64=1' if MacOS.prefer_64_bit?
+
+ system "make build_coreconf build_dbm all -C mozilla/security/nss #{args.join ' '}"
+
+ # We need to use cp here because all files get cross-linked into the dist
+ # hierarchy, and Homebrew's Pathname.install moves the symlink into the keg
+ # rather than copying the referenced file.
+
+ bin.mkdir
+ Dir['mozilla/dist/Darwin*/bin/*'].each do |file|
+ # Add 'nss-' prefix to prevent collisions with other binaries.
+ cp file, "#{bin}/nss-" + File.basename(file)
+ end
+
+ include.mkdir
+ include_target = include + "nss"
+ include_target.mkdir
+ ['dbm', 'nss'].each do |dir|
+ Dir["mozilla/dist/public/#{dir}/*"].each do |file|
+ cp file, include_target
+ end
+ end
+
+ lib.mkdir
+ Dir['mozilla/dist/Darwin*/lib/*'].each do |file|
+ cp file, lib
+ end
+ end
+
+ def test
+ # http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html
+ password = "It's a secret to everyone."
+
+ mktemp do
+ File.open('passwd', 'w') {|f| f.write(password) }
+ system "nss-certutil -N -d #{Dir.getwd} -f passwd"
+ system "nss-certutil -L -d #{Dir.getwd}"
+ end
+ end
+end