diff options
| author | Michael T. Conigliaro | 2011-09-16 16:00:43 -0600 |
|---|---|---|
| committer | Charlie Sharpsteen | 2011-09-18 17:18:45 -0700 |
| commit | a1584f8158032f3af1e2dded6a0c7fd91da71781 (patch) | |
| tree | 9b2e736b4de0001475684fe0a2f759bdbe61a905 | |
| parent | 4e132b99a1eb375301fa6e6b4b3938255e6e49c5 (diff) | |
| download | homebrew-a1584f8158032f3af1e2dded6a0c7fd91da71781.tar.bz2 | |
New Formula: NSS
Closes #7679.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
| -rw-r--r-- | Library/Formula/nss.rb | 60 |
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 |
