[MacPorts] #52550: ghc-bootstrap: bump to 7.6.3
#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 Keywords: haspatch | Port: ghc-bootstrap ----------------------+-------------------------------- Confirmed I am able to compile this for amd64. Unable to test on i386, but the comment is untrue. {{{ ---> Fetching archive for ghc-bootstrap ---> Attempting to fetch ghc-bootstrap-7.6.3_0.darwin_16.x86_64.tbz2 from https://packages.macports.org/ghc-bootstrap ---> Attempting to fetch ghc-bootstrap-7.6.3_0.darwin_16.x86_64.tbz2 from http://sea.us.packages.macports.org/macports/packages/ghc-bootstrap ---> Attempting to fetch ghc-bootstrap-7.6.3_0.darwin_16.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/ghc- bootstrap ---> Fetching distfiles for ghc-bootstrap ---> Verifying checksums for ghc-bootstrap ---> Extracting ghc-bootstrap ---> Configuring ghc-bootstrap ---> Building ghc-bootstrap ---> Staging ghc-bootstrap into destroot ---> Installing ghc-bootstrap @7.6.3_0 ---> Deactivating ghc-bootstrap @7.6.2_1 ---> Cleaning ghc-bootstrap ---> Activating ghc-bootstrap @7.6.3_0 ---> Updating database of binaries ---> Scanning binaries for linking errors ---> No broken files found. }}} -- Ticket URL: <https://trac.macports.org/ticket/52550> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#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
participants (1)
-
MacPorts