diff options
Diffstat (limited to 'dev-lang/ghc/files/ghc-8.2.1_rc1-stage2-cross.patch')
-rw-r--r-- | dev-lang/ghc/files/ghc-8.2.1_rc1-stage2-cross.patch | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/dev-lang/ghc/files/ghc-8.2.1_rc1-stage2-cross.patch b/dev-lang/ghc/files/ghc-8.2.1_rc1-stage2-cross.patch deleted file mode 100644 index 1439d722fef4..000000000000 --- a/dev-lang/ghc/files/ghc-8.2.1_rc1-stage2-cross.patch +++ /dev/null @@ -1,81 +0,0 @@ -commit 54895c90440cb81f18657537b91f2aa35bd54173 -Author: Sergei Trofimovich <slyfox@gentoo.org> -Date: Fri Apr 7 10:08:58 2017 +0100 - - fix 'make install' for cross-stage2 - - When cross-built GHC is being installed one of - latest steps is to register installed libraries - with 'ghc-pkg'. - - GHC uses freshly installed 'ghc-pkg' and 'ghc-stage2' - for that. - - Tested as: - ./configure --target=aarch64-unknown-linux-gnu - make install DESTDIR=$(pwd)/__s2 STRIP_CMD=: - - Before the change install failed on ghc-pkg execution phase: - - ".../ghc-cross/__s2/usr/local/lib/ghc-8.3.20170406/bin/ghc-pkg" \ - --force \ - --global-package-db \ - ".../ghc-cross/__s2/usr/local/lib/ghc-8.3.20170406/package.conf.d" \ - update rts/dist/package.conf.install - /bin/sh: .../ghc-cross/__s2/usr/local/lib/ghc-8.3.20170406/bin/ghc-pkg: \ - No such file or directory - - To avoid breakage we use 'ghc' and 'ghc-pkg' built by stage0. - - Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - - Test Plan: run 'make install' on stage2 crosscompiler - - Reviewers: rwbarton, austin, bgamari - - Subscribers: thomie, snowleopard - - Differential Revision: https://phabricator.haskell.org/D3432 - -diff --git a/ghc.mk b/ghc.mk -index caa6c38fbb..8971f25981 100644 ---- a/ghc.mk -+++ b/ghc.mk -@@ -962,6 +962,12 @@ endif - - INSTALLED_PACKAGE_CONF=$(DESTDIR)$(topdir)/package.conf.d - -+ifeq "$(CrossCompiling)" "YES" -+# when installing ghc-stage2 we can't run target's -+# 'ghc-pkg' and 'ghc-stage2' but those are needed for registration. -+INSTALLED_GHC_REAL=$(TOP)/inplace/bin/ghc-stage1 -+INSTALLED_GHC_PKG_REAL=$(TOP)/$(ghc-pkg_DIST_BINARY) -+else # CrossCompiling - # Install packages in the right order, so that ghc-pkg doesn't complain. - # Also, install ghc-pkg first. - ifeq "$(Windows_Host)" "NO" -@@ -971,6 +977,7 @@ else - INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe - INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(bindir)/ghc-pkg.exe - endif -+endif # CrossCompiling - - # Set the INSTALL_DISTDIR_p for each package; compiler is special - $(foreach p,$(filter-out compiler,$(INSTALL_PACKAGES)),\ -diff --git a/utils/ghc-pkg/ghc.mk b/utils/ghc-pkg/ghc.mk -index 002c8122f2..4d5ef4e108 100644 ---- a/utils/ghc-pkg/ghc.mk -+++ b/utils/ghc-pkg/ghc.mk -@@ -49,6 +49,12 @@ utils/ghc-pkg_dist_PROGNAME = ghc-pkg - utils/ghc-pkg_dist_SHELL_WRAPPER = YES - utils/ghc-pkg_dist_INSTALL_INPLACE = YES - -+# When cross-built ghc-stage2 is installed 'make install' needs to call -+# native ghc-pkg (not the cross-built one) to register installed packages -+# 'ghc-pkg_DIST_BINARY' variable only refer to native binary. -+ghc-pkg_DIST_BINARY_NAME = ghc-pkg$(exeext0) -+ghc-pkg_DIST_BINARY = utils/ghc-pkg/dist/build/tmp/$(ghc-pkg_DIST_BINARY_NAME) -+ - # See Note [Stage1Only vs stage=1] in mk/config.mk.in. - ifeq "$(Stage1Only)" "YES" - # Install the copy of ghc-pkg from the dist directory when running 'make |