Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

ghc - remove custom .pkg support

  • Loading branch information...
commit 17a63e004e42ecc4dc031b9d6648d19db1b87696 1 parent ec6f826
@adamv adamv authored
Showing with 9 additions and 17 deletions.
  1. +9 −17 Library/Formula/ghc.rb
View
26 Library/Formula/ghc.rb
@@ -1,27 +1,15 @@
require 'formula'
-class PkgCurlDownloadStrategy <CurlDownloadStrategy
- def stage
- safe_system '/usr/sbin/pkgutil', '--expand', @tarball_path, File.basename(@url)
- chdir
- end
-end
-
-# Remember to update the formula for Cabal when updating this formula
class Ghc <Formula
homepage 'http://haskell.org/ghc/'
version '6.12.3'
url "http://darcs.haskell.org/download/dist/#{version}/GHC-#{version}-i386.pkg"
md5 '58399e3af68f50a23a847bdfe3de5aca'
- # Avoid stripping the Haskell binaries AND libraries; http://hackage.haskell.org/trac/ghc/ticket/2458
+ # Avoid stripping the Haskell binaries & libraries.
+ # See: http://hackage.haskell.org/trac/ghc/ticket/2458
skip_clean ['bin', 'lib']
- def download_strategy
- # Extract files from .pkg while caching the .pkg
- PkgCurlDownloadStrategy
- end
-
def replace_all foo, bar
# Find all text files containing foo and replace it with bar
files = `/usr/bin/grep -lsIR #{foo} .`.split
@@ -38,10 +26,14 @@ def install
# Fix paths
replace_all "/Library/Frameworks/GHC.framework/Versions/#{short_version}/usr/lib/ghc-#{version}", "#{lib}/ghc"
replace_all "/Library/Frameworks/GHC.framework/Versions/#{short_version}/usr", prefix
- inreplace "lib/ghc-#{version}/ghc-asm", "#!/opt/local/bin/perl", "#!/usr/bin/env perl"
- mv "lib/ghc-#{version}", 'lib/ghc'
- prefix.install ['bin', 'lib', 'share']
+ prefix.install ['bin', 'share']
+
+ # Remove version from lib folder
+ lib.install "lib/ghc-#{version}" => 'ghc'
+
+ # Fix ghc-asm Perl reference
+ inreplace "#{lib}/ghc/ghc-asm", "#!/opt/local/bin/perl", "#!/usr/bin/env perl"
# Regenerate GHC package cache
rm "#{lib}/ghc/package.conf.d/package.cache"
Please sign in to comment.
Something went wrong with that request. Please try again.