[MacPorts] #52550: ghc-bootstrap: bump to 7.6.3
MacPorts
noreply at macports.org
Mon Oct 10 00:07:14 CEST 2016
#52550: ghc-bootstrap: bump to 7.6.3
----------------------------+--------------------------------
Reporter: lists@… | Owner: macports-tickets@…
Type: update | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.4
Resolution: | Keywords: haspatch
Port: ghc-bootstrap |
----------------------------+--------------------------------
Comment (by cal@…):
Thanks, but here's the tested patch for an update to 7.10.3 that I have
locally:
{{{
#!patch
Index: Portfile
===================================================================
--- Portfile (revision 153494)
+++ Portfile (working copy)
@@ -6,39 +6,43 @@
name ghc-bootstrap
set canonicalname ghc
-# Note: 7.6.3 doesn't have a i386 darwin version at
http://www.haskell.org/ghc/dist/7.6.3
-version 7.6.2
-revision 1
+
+version 7.10.3
categories lang haskell
maintainers cal openmaintainer
license BSD
platforms darwin
-supported_archs i386 x86_64
+
+# Warning: http://downloads.haskell.org/~ghc/7.10.3/ does not have a i386
+# darwin build and 7.6.2 (which seems to be the latest build that has it)
is
+# affected by https://github.com/haskell/unix/pull/18, which causes the
GHC
+# build to fail on El Capitan and later. This means that
+# (a) I (or somebody else) would have to build a i386 ghc-bootstrap
+# (b) i386 builds of GHC are no longer supported.
+# I'm going with (b) until somebody on i386 volunteers to build a ghc-
bootstrap
+# or convinces upstream to do so.
+supported_archs x86_64
+
universal_variant no
installs_libs no
description The Glorious Glasgow Haskell Compilation System
-long_description \
- This is a package that installs a binary \
- bootstrap ghc compiler.
+long_description This is a package that installs a binary GHC compiler
for bootstrapping.
-homepage http://haskell.org/${canonicalname}
-master_sites ${homepage}/dist/${version}/
+homepage https://haskell.org/${canonicalname}
+master_sites
https://downloads.haskell.org/~${canonicalname}/${version}/
distname ${canonicalname}-${version}-${build_arch}-apple-
darwin
worksrcdir ${canonicalname}-${version}
-use_bzip2 yes
+use_xz yes
-checksums ${canonicalname}-${version}-i386-apple-
darwin${extract.suffix} \
- rmd160 232b3aa4ed9e2ff09d520f4ae02fa572a671178a
\
- sha256
c1da502fa7d99f3d87370c65d705a7e8ee4c900fdb62df6f71696c5432047059 \
- ${canonicalname}-${version}-x86_64-apple-
darwin${extract.suffix} \
- rmd160 b0870a4a292fae7248f9b0be485affa4a5a76a2d
\
- sha256
eb0dd19bd5a6eede332d58de219437b9c2b186c72a1fc0c60fa1095b0c2d2789
-
-post-extract {
- # Copy clang-wrapper for re-inplace during configure
- xinstall -m 644 ${filespath}/clang-wrapper ${workpath}/clang-wrapper
-}
+checksums ${canonicalname}-${version}-x86_64-apple-
darwin${extract.suffix} \
+ rmd160 4f556937880d853448b482bfc7d7f1a6a0dd220f \
+ sha256
852781d43d41cd55d02f818fe798bb4d1f7e52f488408167f413f7948cf1e7df
+
+#post-extract {
+# # Copy clang-wrapper for re-inplace during configure
+# xinstall -m 644 ${filespath}/clang-wrapper ${workpath}/clang-wrapper
+#}
# Compilation (of the final non-bootstrap GHC, which uses the C compiler
# configured in this port) fails with older versions of clang. clang-4.1
from
@@ -56,42 +60,52 @@
configure.pre_args --prefix=${prefix}/share/ghc-bootstrap
configure.args --with-gcc=${configure.cc}
-pre-configure {
- # OK so because this binary has been prebuilt for libraries
- # in /usr/lib we search these before macports stuff so (hopefully)
- # weird things don't happen
- configure.ldflags -L/usr/lib
- configure.cppflags -I/usr/include
-
- # patch clang-wrapper and make sure it is used by patching
settings.in
- reinplace "s#@clang@#${configure.cc}#g" ${workpath}/clang-wrapper
- reinplace "s#@SettingsCCompilerCommand@#${prefix}/share/ghc-
bootstrap/libexec/clang-wrapper#g" ${worksrcpath}/settings.in
-}
+#pre-configure {
+# # OK so because this binary has been prebuilt for libraries
+# # in /usr/lib we search these before macports stuff so (hopefully)
+# # weird things don't happen
+# configure.ldflags -L/usr/lib
+# configure.cppflags -I/usr/include
+#
+# # patch clang-wrapper and make sure it is used by patching
settings.in
+# reinplace "s#@clang@#${configure.cc}#g" ${workpath}/clang-wrapper
+# reinplace "s#@SettingsCCompilerCommand@#${prefix}/share/ghc-
bootstrap/libexec/clang-wrapper#g" ${worksrcpath}/settings.in
+#}
build {}
post-destroot {
- # install clang-wrapper to libexec
- xinstall -d -m 755 ${destroot}${prefix}/share/ghc-bootstrap/libexec
- xinstall -m 755 ${workpath}/clang-wrapper ${destroot}${prefix}/share
/ghc-bootstrap/libexec
-
- # Delete all .dylib files, because their load commands would have to
be
- # fixed or rev-upgrade complains and tries to rebuild the port.
However, we
- # cannot correctly fix all .dylibs, because the have not been built
with
- # -headerpad_max_install_names. Deleting them fixes the problem and
GHC
- # still seems to compile correctly.
-
- # We also delete all the .html files, because we really don't need
the
- # documentation in a bootstrap port.
-
+ ## install clang-wrapper to libexec
+ #xinstall -d -m 755 ${destroot}${prefix}/share/ghc-bootstrap/libexec
+ #xinstall -m 755 ${workpath}/clang-wrapper ${destroot}${prefix}/share
/ghc-bootstrap/libexec
+
+ # Delete all .dylib files, because some of them reference nonexistant
+ # libraries (e.g.
+ # /opt/local/share/ghc-
bootstrap/lib/ghc-7.10.3/Cabal_3ux67khMI118y6VpwrFnXN/libHSCabal-1.22.5.0
-3ux67khMI118y6VpwrFnXN-ghc7.10.3.dylib
+ # references
+ # /usr/local/lib/gcc/5/libgcc_s.1.dylib
+ # which does not exist) and rev-upgrade complains and tries to
rebuild the
+ # port. Deleting them breaks bootstrapping using dynamic libraries in
GHC,
+ # but since the static libraries are still there, that is not a
serious
+ # problem.
+ set nametool "install_name_tool -change
/usr/local/lib/gcc/5/libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib"
fs-traverse f ${destroot}${prefix} {
if {[file isfile ${f}]} {
set ext [file extension ${f}]
- if {${ext} eq ".html" || ${ext} eq ".dylib"} {
- delete ${f}
+ if {${ext} eq ".dylib"} {
+ system "${nametool} ${f}"
}
}
}
+ fs-traverse f ${destroot}${prefix}/share/ghc-
bootstrap/lib/ghc-${version}/bin {
+ if {[file type $f] eq "file"} {
+ system "${nametool} ${f}"
+ }
+ }
+
+ # We also delete $prefix/share/ghc-bootstrap/share/doc, because we
+ # really don't need the documentation in a bootstrap port.
+ delete ${destroot}${prefix}/share/ghc-bootstrap/share/doc
}
livecheck.type none
}}}
--
Ticket URL: <https://trac.macports.org/ticket/52550#comment:1>
MacPorts <https://www.macports.org/>
Ports system for the Mac operating system
More information about the macports-tickets
mailing list