aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMichael T. Conigliaro2011-09-16 16:00:43 -0600
committerCharlie Sharpsteen2011-09-18 17:18:45 -0700
commita1584f8158032f3af1e2dded6a0c7fd91da71781 (patch)
tree9b2e736b4de0001475684fe0a2f759bdbe61a905 /Library
parent4e132b99a1eb375301fa6e6b4b3938255e6e49c5 (diff)
downloadhomebrew-a1584f8158032f3af1e2dded6a0c7fd91da71781.tar.bz2
New Formula: NSS
Closes #7679. Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
Diffstat (limited to 'Library')
-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