- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 35
 
GHC 8.10 compatibility #98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| 
           Next blocker:  Build chain:  | 
    
          
 Suspicion: It might be 
 from https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v1.2.0#n2175, thus probably requiring an upgrade of musl in nixpkgs to   | 
    
          
 That fixed that.  | 
    
| 
           Current errors on  The   | 
    
          
 This is because the  % diff -u <(strace -fy /nix/store/3v0is6v3dh6sg34y136rwny69rynh41v-fontforge-20200314/bin/fontforge 2>&1 | head -n5) <(strace -fy /nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/bin/fontforge 2>&1 | head -n5)--- /proc/self/fd/11  2020-07-29 03:44:42.071564812 +0200
+++ /proc/self/fd/12  2020-07-29 03:44:42.071564812 +0200
@@ -1,5 +1,5 @@
-execve("/nix/store/3v0is6v3dh6sg34y136rwny69rynh41v-fontforge-20200314/bin/fontforge", ["/nix/store/3v0is6v3dh6sg34y136rw"...], 0x7fff670c79d8 /* 81 vars */) = 0
+execve("/nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/bin/fontforge", ["/nix/store/dcl4vl0dhh3b64rcqrfwx"...], 0x7fffb423d2c8 /* 81 vars */) = 0
-arch_prctl(ARCH_SET_FS, 0x7efc03efdd68) = 0
+arch_prctl(ARCH_SET_FS, 0x7fc963adcd68) = 0
-set_tid_address(0x7efc03efe33c)         = 24152
+set_tid_address(0x7fc963add33c)         = 24153
-open("/nix/store/adapzmcxx8cs6yd0qxbyjd8m2j815pab-musl-1.2.0/etc/ld-musl-x86_64.path", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
-open("/lib/libfontforge.so.4", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
+open("/nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/lib/libfontforgeexe.so.3", O_RDONLY|O_CLOEXEC) = 3</nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/lib/libfontforgeexe.so.3.0.0>
+fcntl(3</nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/lib/libfontforgeexe.so.3.0.0>, F_SETFD, FD_CLOEXEC) = 0The new version loads  
  | 
    
| 
           CC @dtzWill @matthewbauer @Ericson2314 on this musl problem ^. Also, should we in nixpkgs patch out this musl line to further ensure impurities cannot happen? 			if (!sys_path) sys_path = "/lib:/usr/local/lib:/usr/lib"; | 
    
| 
           Aha, this seems to be a problem: There is an unsubstituted  Old: New:  | 
    
This was introduced in NixOS#89583 and fixed upstream with a master-only patch in fontforge/fontforge#4232. Found via nh2/static-haskell-nix#98 (comment).
| 
           I found the fix for   | 
    
| 
           Next issue:   | 
    
This was introduced in NixOS#89583 and fixed upstream with a master-only patch in fontforge/fontforge#4232. Found via nh2/static-haskell-nix#98 (comment).
          
 Fixing with PR: NixOS/nixpkgs#94205 I also made an upstream PR: AcademySoftwareFoundation/openexr#798  | 
    
* include workaround for NixOS/nixpkgs#85924 * musl 1.2.0 (#98 (comment)) * workaround for fontforge execution failure due to wrong RPATH (NixOS/nixpkgs#94126) * ilmbase musl compilation error
| 
           Next error:   | 
    
* include workaround for NixOS/nixpkgs#85924 * musl 1.2.0 (#98 (comment)) * workaround for fontforge execution failure due to wrong RPATH (NixOS/nixpkgs#94126) * ilmbase musl compilation error (NixOS/nixpkgs#94205) * mesa: Fix `-Werror=int-conversion` build error on musl fixup! nixpkgs: Update submodule:
          
 Fixing with PR: NixOS/nixpkgs#94207 I also made an upstream PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6121  | 
    
* include workaround for NixOS/nixpkgs#85924 * musl 1.2.0 (#98 (comment)) * workaround for fontforge execution failure due to wrong RPATH (NixOS/nixpkgs#94126) * ilmbase musl compilation error (NixOS/nixpkgs#94205) * mesa: Fix `-Werror=int-conversion` build error on musl (NixOS/nixpkgs#94207)
| 
           Hey Niklas, a couple of questions: 
 Cheers as always for all your hard work on this.  | 
    
This uses @qrilka's work from nh2/stack2nix#1, now moved to nh2/stack2nix#2. Unfortunately, this introduces a backwards incompatibility for stack users: The `stack2nix-script` nix expression now needs to be passed `inherit compiler`, to satisfy stack complaining if there's no matching GHC on PATH (even though we don't use it). I haven't found a way around that yet. Example change that users need to make in their `default.nix` for building stack projects statically: stack2nix-script = import "${static-haskell-nix}/static-stack2nix-builder/stack2nix-script.nix" { inherit pkgs; + inherit compiler; stack-project-dir = toString ./.; # where stack.yaml is hackageSnapshot = "2021-07-11T00:00:00Z"; # pins e.g. extra-deps without hashes or revisions };
| 
           Interestingly, the static  
 I don't know why that is yet; both binaries are   | 
    
| 
           I finished making Stack 2 support work (and thus all new Stackage LTSs) with  This needed only minor updates to @qrilka's work on nh2/stack2nix#1. Some thing may not work yet related to local source dirs described in   | 
    
ad72ef7    to
    2bf005d      
    Compare
  
    The glob substitution was run _before_ the script, so that the `cd static-stack` was not applied and thus the path was invalid.
| 
           Buildkite CI is fully green, including stack targets: https://buildkite.com/nh2/static-haskell-nix/builds/858 HerculesCI as well, showing output store paths: https://hercules-ci.com/github/nh2/static-haskell-nix/jobs/195  | 
    
* include fixes for GHC segfaulting: (NixOS/nixpkgs#129247, NixOS/nixpkgs#129289) * musl 1.2.2, including this important fix from musl 1.2.0: #98 (comment) * workaround for fontforge execution failure due to wrong RPATH: NixOS/nixpkgs#94126 * ilmbase musl compilation error: NixOS/nixpkgs#94205 * mesa: Fix `-Werror=int-conversion` build error on musl: NixOS/nixpkgs#94207 survey: * Update file in which stackage packages are listed. See nixpkgs commit 7f236bd4 - hackage2nix: Split configuration, auto disable hydra builds
In this PR we can collaborate to add GHC 8.10 compatibility as requested on #90.
For the general approach, see #90 (comment).
TODO
List of upstream PRs made as part of this
fontforge: fontforge: Fix uninterpolatedCMAKE_INSTALL_PREFIXin RPATH. NixOS/nixpkgs#94126ilmbase: openexr, ilmbase: Fix compilation on non-glibc. NixOS/nixpkgs#94205mesa: mesa: Fix-Werror=int-conversionbuild error on musl. NixOS/nixpkgs#94207