* failing git-annex build @ 2018-12-30 2:19 Kyle Meyer 2018-12-30 11:36 ` bug#33922: " Ricardo Wurmus 0 siblings, 1 reply; 9+ messages in thread From: Kyle Meyer @ 2018-12-30 2:19 UTC (permalink / raw) To: guix-devel Hello, I'm seeing the failure below when trying to build git-annex. Can anyone else reproduce this failure? Any ideas how to resolve it? --8<---------------cut here---------------start------------->8--- % git describe v0.16.0-400-g4f36d98f7b % ./pre-inst-env guix build -K --check git-annex Utility/Exception.hs:29:1: error: Bad interface file: /gnu/store/qb3knv1h536sdjqc4nfkm3j1l8n7q87a-ghc-exceptions-0.10.0/lib/ghc-8.4.3/exceptions-0.10.0/Control/Monad/Catch.dyn_hi Something is amiss; requested module exceptions-0.10.0:Control.Monad.Catch differs from name found in the interface file exceptions-0.10.0:Control.Monad.Catch (if these names look the same, try again with -dppr-debug) | 29 | import Control.Monad.Catch as X hiding (Handler) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Backtrace: 5 (primitive-load "/gnu/store/xayhspk534wq4fyralxivfnl3vx…") In ice-9/eval.scm: 191:35 4 (_ _) In srfi/srfi-1.scm: 863:16 3 (every1 #<procedure 868c40 at /gnu/store/79jn1m4ax1zr5…> …) In /gnu/store/79jn1m4ax1zr5hlf3q7aalnb4vhx17ac-module-import/guix/build/gnu-build-system.scm: 799:28 2 (_ _) In ice-9/eval.scm: 619:8 1 (_ #(#(#<directory (guile-user) 5ce140>) (#:inputs # …))) In /gnu/store/79jn1m4ax1zr5hlf3q7aalnb4vhx17ac-module-import/guix/build/utils.scm: 616:6 0 (invoke _ . _) /gnu/store/79jn1m4ax1zr5hlf3q7aalnb4vhx17ac-module-import/guix/build/utils.scm:616:6: In procedure invoke: Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "runhaskell" arguments: ("PreConf.hs") exit-status: 1 term-signal: #f stop-signal: #f] 56dd00>)'. note: keeping build directory `/tmp/guix-build-git-annex-6.20180926.drv-1' builder for `/gnu/store/yf5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv' failed with exit code 1 build of /gnu/store/yf5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv failed View build log at '/var/log/guix/drvs/yf/5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv.bz2'. guix build: error: build failed: build of `/gnu/store/yf5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv' failed --8<---------------cut here---------------end--------------->8--- ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#33922: failing git-annex build 2018-12-30 2:19 failing git-annex build Kyle Meyer @ 2018-12-30 11:36 ` Ricardo Wurmus 2018-12-30 15:46 ` Kyle Meyer 2019-01-02 22:14 ` bug#33922: " Timothy Sample 0 siblings, 2 replies; 9+ messages in thread From: Ricardo Wurmus @ 2018-12-30 11:36 UTC (permalink / raw) To: Kyle Meyer; +Cc: guix-devel Hi Kyle, > I'm seeing the failure below when trying to build git-annex. Can anyone > else reproduce this failure? Any ideas how to resolve it? > > --8<---------------cut here---------------start------------->8--- > % git describe > v0.16.0-400-g4f36d98f7b > > % ./pre-inst-env guix build -K --check git-annex > Utility/Exception.hs:29:1: error: > Bad interface file: /gnu/store/qb3knv1h536sdjqc4nfkm3j1l8n7q87a-ghc-exceptions-0.10.0/lib/ghc-8.4.3/exceptions-0.10.0/Control/Monad/Catch.dyn_hi > Something is amiss; requested module exceptions-0.10.0:Control.Monad.Catch differs from name found in the interface file exceptions-0.10.0:Control.Monad.Catch (if these names look the same, try again with -dppr-debug) > | > 29 | import Control.Monad.Catch as X hiding (Handler) > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ It seems to me that this is a more general problem affecting all of our Haskell packages. The configure phase that you didn’t paste should show that modules are provided by slightly different packages. The haskell-build-system suffers from non-determinism. It might just be limited to the package database files that are generated by ghc-pkg (where readdir is used and the result isn’t sorted). I’m opening a bug report for this issue. -- Ricardo ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: failing git-annex build 2018-12-30 11:36 ` bug#33922: " Ricardo Wurmus @ 2018-12-30 15:46 ` Kyle Meyer 2019-01-02 22:14 ` bug#33922: " Timothy Sample 1 sibling, 0 replies; 9+ messages in thread From: Kyle Meyer @ 2018-12-30 15:46 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1409 bytes --] Hi Ricardo, Ricardo Wurmus <rekado@elephly.net> writes: [...] >> % ./pre-inst-env guix build -K --check git-annex >> Utility/Exception.hs:29:1: error: >> Bad interface file: /gnu/store/qb3knv1h536sdjqc4nfkm3j1l8n7q87a-ghc-exceptions-0.10.0/lib/ghc-8.4.3/exceptions-0.10.0/Control/Monad/Catch.dyn_hi >> Something is amiss; requested module exceptions-0.10.0:Control.Monad.Catch differs from name found in the interface file exceptions-0.10.0:Control.Monad.Catch (if these names look the same, try again with -dppr-debug) >> | >> 29 | import Control.Monad.Catch as X hiding (Handler) >> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > It seems to me that this is a more general problem affecting all of our > Haskell packages. The configure phase that you didn’t paste should show > that modules are provided by slightly different packages. Sorry for snipping relevant output (I meant to at least indicate that I had snipped :/ ). I've attached the full output now. (FWIW it looks like that failure happens in the pre-configure stage, so it doesn't get to the configure phase.) > The haskell-build-system suffers from non-determinism. It might just be > limited to the package database files that are generated by ghc-pkg > (where readdir is used and the result isn’t sorted). > > I’m opening a bug report for this issue. OK, thank you. [-- Attachment #2: gx-build-ouput --] [-- Type: text/plain, Size: 60302 bytes --] building /gnu/store/yf5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv... starting phase `set-SOURCE-DATE-EPOCH' phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds starting phase `set-paths' environment variable `PATH' set to `/gnu/store/564215v4ma3jqxai20hf1ymcrn60nm44-ghc-8.4.3/bin:/gnu/store/f0w0v1hn3rryh1351xjqrv3p8v7x80xa-curl-7.61.1/bin:/gnu/store/5hyjiyjzfhlnh5zzrqwnf8z9ywyy97q1-git-2.20.1/bin:/gnu/store/lyf1wd60rj8pcbkvivg9id5jc5hfh096-rsync-3.1.3/bin:/gnu/store/bl3pxxj6frg0dww8pj5dvh2d1akwvj47-tar-1.30/bin:/gnu/store/h0c398zan9ibhk4w0c944vp5pwgzkfpd-gzip-1.9/bin:/gnu/store/j74aabxwayjl9yfyrm6ni482gykxq48b-bzip2-1.0.6/bin:/gnu/store/9425b5dwpfc04bb4p58hsjypxghliyr3-xz-5.2.4/bin:/gnu/store/ypiyk8ngn79cz655jrl0hng37xv54yjr-file-5.33/bin:/gnu/store/4bzzz0lzjc9b7bfsnqbq2j22d4fvf433-diffutils-3.6/bin:/gnu/store/a4rxl40jr7gmq8bp3dryq4yq67cwkwiw-patch-2.7.6/bin:/gnu/store/fd621k6fmdnr1yiw0lbvw5spqaa169j3-findutils-4.6.0/bin:/gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/bin:/gnu/store/lmfddplnplxd03bcqv3w9pynbnr1fp8k-sed-4.5/bin:/gnu/store/02k245xy33cvcnr8vm3lagm9zmb1s2wa-grep-3.1/bin:/gnu/store/5s2nib1lrd2101bbrivcl17kjx1mspw6-coreutils-8.30/bin:/gnu/store/7j3941iannrngdvgbclyxid12vds5w9i-make-4.2.1/bin:/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin:/gnu/store/9ysmg2739n1ms84lx6hifncgc5l2hiy9-ld-wrapper-0/bin:/gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/bin:/gnu/store/n2p1zs14y89lwkg9da68y12pc10c6sw9-gcc-5.5.0/bin:/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/bin:/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/sbin' find-files: /gnu/store/95kh84bshclvjlbjndf1255pgq16sdlj-git-annex-6.20180926.tar.gz/lib/ghc-8.4.3: Not a directory find-files: /gnu/store/f0w0v1hn3rryh1351xjqrv3p8v7x80xa-curl-7.61.1/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/5hyjiyjzfhlnh5zzrqwnf8z9ywyy97q1-git-2.20.1/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/lyf1wd60rj8pcbkvivg9id5jc5hfh096-rsync-3.1.3/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/bl3pxxj6frg0dww8pj5dvh2d1akwvj47-tar-1.30/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/h0c398zan9ibhk4w0c944vp5pwgzkfpd-gzip-1.9/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/j74aabxwayjl9yfyrm6ni482gykxq48b-bzip2-1.0.6/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/9425b5dwpfc04bb4p58hsjypxghliyr3-xz-5.2.4/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/ypiyk8ngn79cz655jrl0hng37xv54yjr-file-5.33/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/4bzzz0lzjc9b7bfsnqbq2j22d4fvf433-diffutils-3.6/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/a4rxl40jr7gmq8bp3dryq4yq67cwkwiw-patch-2.7.6/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/fd621k6fmdnr1yiw0lbvw5spqaa169j3-findutils-4.6.0/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/lmfddplnplxd03bcqv3w9pynbnr1fp8k-sed-4.5/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/02k245xy33cvcnr8vm3lagm9zmb1s2wa-grep-3.1/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/5s2nib1lrd2101bbrivcl17kjx1mspw6-coreutils-8.30/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/7j3941iannrngdvgbclyxid12vds5w9i-make-4.2.1/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/9ysmg2739n1ms84lx6hifncgc5l2hiy9-ld-wrapper-0/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/n2p1zs14y89lwkg9da68y12pc10c6sw9-gcc-5.5.0/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/a3p8zc23w5asxck5h4mswz4s8yl9s6pa-glibc-2.28-static/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/mn3ymm3f2r4xjqf8m9fgmadh6b8p6fvr-glibc-utf8-locales-2.28/lib/ghc-8.4.3: No such file or directory find-files: /gnu/store/xha1mk4qji8fmg62nygfzdx0l94ikdhm-linux-libre-headers-4.14.67/lib/ghc-8.4.3: No such file or directory environment variable `GHC_PACKAGE_PATH' set to `/gnu/store/564215v4ma3jqxai20hf1ymcrn60nm44-ghc-8.4.3/lib/ghc-8.4.3/package.conf.d:/gnu/store/zk3bh9nfw5nyhr66ay2hrr35n5260dx7-ghc-tasty-1.1.0.3/lib/ghc-8.4.3/ghc-tasty-1.1.0.3.conf.d:/gnu/store/4ghdjyrn7jnm64pjiwfzv6yr5bg01yv7-ghc-tasty-hunit-0.10.0.1/lib/ghc-8.4.3/ghc-tasty-hunit-0.10.0.1.conf.d:/gnu/store/0s94j2qlz1za4888vgxlkz1xf2y0blnb-ghc-tasty-quickcheck-0.10/lib/ghc-8.4.3/ghc-tasty-quickcheck-0.10.conf.d:/gnu/store/0b581k2yzl4qrpkain6r640xq1jgr13g-ghc-tasty-rerun-1.1.12/lib/ghc-8.4.3/ghc-tasty-rerun-1.1.12.conf.d:/gnu/store/x30crycf63ci2hfnffxwdzzy83ia8msz-ghc-aeson-1.3.1.1/lib/ghc-8.4.3/ghc-aeson-1.3.1.1.conf.d:/gnu/store/1hsrz6vxn4rymaycg3iam8dxfmbr4g5i-ghc-async-2.2.1/lib/ghc-8.4.3/ghc-async-2.2.1.conf.d:/gnu/store/jj2yak9c8zss74d5mmn7hhbh45wj27w8-ghc-bloomfilter-2.0.1.0/lib/ghc-8.4.3/ghc-bloomfilter-2.0.1.0.conf.d:/gnu/store/iz3f024dxbrp11p8h8m9b3qn7xw66gc9-ghc-byteable-0.1.1/lib/ghc-8.4.3/ghc-byteable-0.1.1.conf.d:/gnu/store/3wvp61sf6696jfy270rfqsk7xcrgdl2h-ghc-case-insensitive-1.2.0.11/lib/ghc-8.4.3/ghc-case-insensitive-1.2.0.11.conf.d:/gnu/store/8ps5bwssxm2mnq2si7gblsb1lxlzrbf5-ghc-crypto-api-0.13.3/lib/ghc-8.4.3/ghc-crypto-api-0.13.3.conf.d:/gnu/store/w2dw59jn2ksflg5rmd5a2lj0rr3m1vqm-ghc-cryptonite-0.25/lib/ghc-8.4.3/ghc-cryptonite-0.25.conf.d:/gnu/store/a6byaw1hmfq3ccmi18fgbqmnn3nn7cf3-ghc-data-default-0.7.1.1/lib/ghc-8.4.3/ghc-data-default-0.7.1.1.conf.d:/gnu/store/pgssidcczy19rf2ikb4h3772daykva7b-ghc-disk-free-space-0.1.0.1/lib/ghc-8.4.3/ghc-disk-free-space-0.1.0.1.conf.d:/gnu/store/s7flvky9ahi7yjfg7dzn1vrgn2zzsfkp-ghc-dlist-0.8.0.4/lib/ghc-8.4.3/ghc-dlist-0.8.0.4.conf.d:/gnu/store/bjm0382ffsldv0i8b7d3px23y8sy9lmc-ghc-edit-distance-0.2.2.1/lib/ghc-8.4.3/ghc-edit-distance-0.2.2.1.conf.d:/gnu/store/n4ssx4vnnvhp45xvm8n6sfzqs93xnz6k-ghc-esqueleto-2.5.3-1.b81e0d9/lib/ghc-8.4.3/ghc-esqueleto-2.5.3-1.b81e0d9.conf.d:/gnu/store/qb3knv1h536sdjqc4nfkm3j1l8n7q87a-ghc-exceptions-0.10.0/lib/ghc-8.4.3/ghc-exceptions-0.10.0.conf.d:/gnu/store/1w1yvlmaxbiimna7achqs5an94h6xs2w-ghc-feed-1.0.0.0/lib/ghc-8.4.3/ghc-feed-1.0.0.0.conf.d:/gnu/store/4cyw55m8373cxp0n89wn1f0c27kswb5z-ghc-free-5.0.2/lib/ghc-8.4.3/ghc-free-5.0.2.conf.d:/gnu/store/ifxrnvzk4gnswi2ylfvg3b1rknnn5zvh-ghc-hslogger-1.2.10/lib/ghc-8.4.3/ghc-hslogger-1.2.10.conf.d:/gnu/store/20g3ck0hdk2cvb4gyzymaaqi0fyfkncl-ghc-http-client-0.5.13.1/lib/ghc-8.4.3/ghc-http-client-0.5.13.1.conf.d:/gnu/store/628prh91758yk98qy7gj06q0i5xn3njv-ghc-http-conduit-2.3.2/lib/ghc-8.4.3/ghc-http-conduit-2.3.2.conf.d:/gnu/store/3c5h4qgkdsaxrcbvrd8n99xz8v0j47vh-ghc-http-types-0.12.1/lib/ghc-8.4.3/ghc-http-types-0.12.1.conf.d:/gnu/store/pna69457ami9d65qmsvyybk550jgm6hm-ghc-ifelse-0.85/lib/ghc-8.4.3/ghc-ifelse-0.85.conf.d:/gnu/store/d151nw6mx6fm5wyv16l81i23rvg9qllq-ghc-memory-0.14.16/lib/ghc-8.4.3/ghc-memory-0.14.16.conf.d:/gnu/store/w60b92jccja54wdwlma8x5g6s0ziia6w-ghc-monad-control-1.0.2.3/lib/ghc-8.4.3/ghc-monad-control-1.0.2.3.conf.d:/gnu/store/c60bmk1wscqkyapj6mac6lw4vbkqyplx-ghc-monad-logger-0.3.29/lib/ghc-8.4.3/ghc-monad-logger-0.3.29.conf.d:/gnu/store/b5lp084ka4s46kf6l8h9jdw9jmnfadkc-ghc-network-2.6.3.6/lib/ghc-8.4.3/ghc-network-2.6.3.6.conf.d:/gnu/store/pylm2sdds8xg9sgzsxkmjv7ybi9s0c8b-ghc-old-locale-1.0.0.7/lib/ghc-8.4.3/ghc-old-locale-1.0.0.7.conf.d:/gnu/store/mansynvjy9k4f9dmp6b1sv9vkch6p5zs-ghc-optparse-applicative-0.14.2.0/lib/ghc-8.4.3/ghc-optparse-applicative-0.14.2.0.conf.d:/gnu/store/zqg2vhnzknq1yyq18nm17dp4p8f4qmrz-ghc-persistent-2.8.2/lib/ghc-8.4.3/ghc-persistent-2.8.2.conf.d:/gnu/store/rnagfvqifjpdy3bg82p8f3dyy2yngvqk-ghc-persistent-sqlite-2.8.2/lib/ghc-8.4.3/ghc-persistent-sqlite-2.8.2.conf.d:/gnu/store/7dqzvzydgjpy521f80cks6g5xv3c1vgj-ghc-persistent-template-2.5.4/lib/ghc-8.4.3/ghc-persistent-template-2.5.4.conf.d:/gnu/store/9cfqzr6k9dqs4sciwh378iyy1afg40di-ghc-quickcheck-2.11.3/lib/ghc-8.4.3/ghc-quickcheck-2.11.3.conf.d:/gnu/store/hr24hyqq45m62nfsfwknh2s99jy76xnv-ghc-random-1.1/lib/ghc-8.4.3/ghc-random-1.1.conf.d:/gnu/store/s2vj5yy13gz60m5iikzhjc5rvsm4jz17-ghc-regex-tdfa-1.2.3.1/lib/ghc-8.4.3/ghc-regex-tdfa-1.2.3.1.conf.d:/gnu/store/q1fi1878yam5iqaglz0avx97dh9r73yj-ghc-resourcet-1.2.1/lib/ghc-8.4.3/ghc-resourcet-1.2.1.conf.d:/gnu/store/jmxnl86vcaqv92vx3qw8xldwak1qzl6l-ghc-safesemaphore-0.10.1/lib/ghc-8.4.3/ghc-safesemaphore-0.10.1.conf.d:/gnu/store/x4cbrp02ig8528id2lskgj70hrg603qq-ghc-sandi-0.4.2/lib/ghc-8.4.3/ghc-sandi-0.4.2.conf.d:/gnu/store/nar1dns3ribivmswqwwv94npg9v47h73-ghc-securemem-0.1.10/lib/ghc-8.4.3/ghc-securemem-0.1.10.conf.d:/gnu/store/bkcv2pbn0arzz6wxkiqkp1sn76c51zc4-ghc-socks-0.5.6/lib/ghc-8.4.3/ghc-socks-0.5.6.conf.d:/gnu/store/6z63hx19lw1drw10cbcgdlv170q413bf-ghc-split-0.2.3.3/lib/ghc-8.4.3/ghc-split-0.2.3.3.conf.d:/gnu/store/mxznalq6m161yraj7jy9zc34rliyjbcy-ghc-stm-2.4.5.0/lib/ghc-8.4.3/ghc-stm-2.4.5.0.conf.d:/gnu/store/wbapvy3xv11f5cnvzi52nlidw7d6zxjw-ghc-stm-chans-3.0.0.4/lib/ghc-8.4.3/ghc-stm-chans-3.0.0.4.conf.d:/gnu/store/9vmpv7spcfgpw6y9ykxdv389lswihrh6-ghc-tagsoup-0.14.6/lib/ghc-8.4.3/ghc-tagsoup-0.14.6.conf.d:/gnu/store/nsimfjsmvixjhrymqrifsamannm55fny-ghc-text-1.2.3.0/lib/ghc-8.4.3/ghc-text-1.2.3.0.conf.d:/gnu/store/3frwad74six28lw8gjqrk83m8yah94sp-ghc-unix-compat-0.5.1/lib/ghc-8.4.3/ghc-unix-compat-0.5.1.conf.d:/gnu/store/dg7ffkm75ag8ys77jhphipg6awpia6dx-ghc-unordered-containers-0.2.9.0/lib/ghc-8.4.3/ghc-unordered-containers-0.2.9.0.conf.d:/gnu/store/g1n8j1r0xfl5ixvdv5f650b7wspq6fab-ghc-utf8-string-1.0.1.1/lib/ghc-8.4.3/ghc-utf8-string-1.0.1.1.conf.d:/gnu/store/aa94mpsywmg66kx9xyrlc40qibd25nkr-ghc-uuid-1.3.13/lib/ghc-8.4.3/ghc-uuid-1.3.13.conf.d' environment variable `CURL_CA_BUNDLE' unset environment variable `GIT_SSL_CAINFO' unset environment variable `GIT_EXEC_PATH' set to `/gnu/store/5hyjiyjzfhlnh5zzrqwnf8z9ywyy97q1-git-2.20.1/libexec/git-core' environment variable `BASH_LOADABLES_PATH' unset environment variable `C_INCLUDE_PATH' set to `/gnu/store/f0w0v1hn3rryh1351xjqrv3p8v7x80xa-curl-7.61.1/include:/gnu/store/j74aabxwayjl9yfyrm6ni482gykxq48b-bzip2-1.0.6/include:/gnu/store/9425b5dwpfc04bb4p58hsjypxghliyr3-xz-5.2.4/include:/gnu/store/ypiyk8ngn79cz655jrl0hng37xv54yjr-file-5.33/include:/gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/include:/gnu/store/7j3941iannrngdvgbclyxid12vds5w9i-make-4.2.1/include:/gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/include:/gnu/store/n2p1zs14y89lwkg9da68y12pc10c6sw9-gcc-5.5.0/include:/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/include:/gnu/store/xha1mk4qji8fmg62nygfzdx0l94ikdhm-linux-libre-headers-4.14.67/include' environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/f0w0v1hn3rryh1351xjqrv3p8v7x80xa-curl-7.61.1/include:/gnu/store/j74aabxwayjl9yfyrm6ni482gykxq48b-bzip2-1.0.6/include:/gnu/store/9425b5dwpfc04bb4p58hsjypxghliyr3-xz-5.2.4/include:/gnu/store/ypiyk8ngn79cz655jrl0hng37xv54yjr-file-5.33/include:/gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/include:/gnu/store/7j3941iannrngdvgbclyxid12vds5w9i-make-4.2.1/include:/gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/include:/gnu/store/n2p1zs14y89lwkg9da68y12pc10c6sw9-gcc-5.5.0/include:/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/include:/gnu/store/xha1mk4qji8fmg62nygfzdx0l94ikdhm-linux-libre-headers-4.14.67/include' environment variable `LIBRARY_PATH' set to `/gnu/store/564215v4ma3jqxai20hf1ymcrn60nm44-ghc-8.4.3/lib:/gnu/store/zk3bh9nfw5nyhr66ay2hrr35n5260dx7-ghc-tasty-1.1.0.3/lib:/gnu/store/4ghdjyrn7jnm64pjiwfzv6yr5bg01yv7-ghc-tasty-hunit-0.10.0.1/lib:/gnu/store/0s94j2qlz1za4888vgxlkz1xf2y0blnb-ghc-tasty-quickcheck-0.10/lib:/gnu/store/0b581k2yzl4qrpkain6r640xq1jgr13g-ghc-tasty-rerun-1.1.12/lib:/gnu/store/f0w0v1hn3rryh1351xjqrv3p8v7x80xa-curl-7.61.1/lib:/gnu/store/x30crycf63ci2hfnffxwdzzy83ia8msz-ghc-aeson-1.3.1.1/lib:/gnu/store/1hsrz6vxn4rymaycg3iam8dxfmbr4g5i-ghc-async-2.2.1/lib:/gnu/store/jj2yak9c8zss74d5mmn7hhbh45wj27w8-ghc-bloomfilter-2.0.1.0/lib:/gnu/store/iz3f024dxbrp11p8h8m9b3qn7xw66gc9-ghc-byteable-0.1.1/lib:/gnu/store/3wvp61sf6696jfy270rfqsk7xcrgdl2h-ghc-case-insensitive-1.2.0.11/lib:/gnu/store/8ps5bwssxm2mnq2si7gblsb1lxlzrbf5-ghc-crypto-api-0.13.3/lib:/gnu/store/w2dw59jn2ksflg5rmd5a2lj0rr3m1vqm-ghc-cryptonite-0.25/lib:/gnu/store/a6byaw1hmfq3ccmi18fgbqmnn3nn7cf3-ghc-data-default-0.7.1.1/lib:/gnu/store/pgssidcczy19rf2ikb4h3772daykva7b-ghc-disk-free-space-0.1.0.1/lib:/gnu/store/s7flvky9ahi7yjfg7dzn1vrgn2zzsfkp-ghc-dlist-0.8.0.4/lib:/gnu/store/bjm0382ffsldv0i8b7d3px23y8sy9lmc-ghc-edit-distance-0.2.2.1/lib:/gnu/store/n4ssx4vnnvhp45xvm8n6sfzqs93xnz6k-ghc-esqueleto-2.5.3-1.b81e0d9/lib:/gnu/store/qb3knv1h536sdjqc4nfkm3j1l8n7q87a-ghc-exceptions-0.10.0/lib:/gnu/store/1w1yvlmaxbiimna7achqs5an94h6xs2w-ghc-feed-1.0.0.0/lib:/gnu/store/4cyw55m8373cxp0n89wn1f0c27kswb5z-ghc-free-5.0.2/lib:/gnu/store/ifxrnvzk4gnswi2ylfvg3b1rknnn5zvh-ghc-hslogger-1.2.10/lib:/gnu/store/20g3ck0hdk2cvb4gyzymaaqi0fyfkncl-ghc-http-client-0.5.13.1/lib:/gnu/store/628prh91758yk98qy7gj06q0i5xn3njv-ghc-http-conduit-2.3.2/lib:/gnu/store/3c5h4qgkdsaxrcbvrd8n99xz8v0j47vh-ghc-http-types-0.12.1/lib:/gnu/store/pna69457ami9d65qmsvyybk550jgm6hm-ghc-ifelse-0.85/lib:/gnu/store/d151nw6mx6fm5wyv16l81i23rvg9qllq-ghc-memory-0.14.16/lib:/gnu/store/w60b92jccja54wdwlma8x5g6s0ziia6w-ghc-monad-control-1.0.2.3/lib:/gnu/store/c60bmk1wscqkyapj6mac6lw4vbkqyplx-ghc-monad-logger-0.3.29/lib:/gnu/store/b5lp084ka4s46kf6l8h9jdw9jmnfadkc-ghc-network-2.6.3.6/lib:/gnu/store/pylm2sdds8xg9sgzsxkmjv7ybi9s0c8b-ghc-old-locale-1.0.0.7/lib:/gnu/store/mansynvjy9k4f9dmp6b1sv9vkch6p5zs-ghc-optparse-applicative-0.14.2.0/lib:/gnu/store/zqg2vhnzknq1yyq18nm17dp4p8f4qmrz-ghc-persistent-2.8.2/lib:/gnu/store/rnagfvqifjpdy3bg82p8f3dyy2yngvqk-ghc-persistent-sqlite-2.8.2/lib:/gnu/store/7dqzvzydgjpy521f80cks6g5xv3c1vgj-ghc-persistent-template-2.5.4/lib:/gnu/store/9cfqzr6k9dqs4sciwh378iyy1afg40di-ghc-quickcheck-2.11.3/lib:/gnu/store/hr24hyqq45m62nfsfwknh2s99jy76xnv-ghc-random-1.1/lib:/gnu/store/s2vj5yy13gz60m5iikzhjc5rvsm4jz17-ghc-regex-tdfa-1.2.3.1/lib:/gnu/store/q1fi1878yam5iqaglz0avx97dh9r73yj-ghc-resourcet-1.2.1/lib:/gnu/store/jmxnl86vcaqv92vx3qw8xldwak1qzl6l-ghc-safesemaphore-0.10.1/lib:/gnu/store/x4cbrp02ig8528id2lskgj70hrg603qq-ghc-sandi-0.4.2/lib:/gnu/store/nar1dns3ribivmswqwwv94npg9v47h73-ghc-securemem-0.1.10/lib:/gnu/store/bkcv2pbn0arzz6wxkiqkp1sn76c51zc4-ghc-socks-0.5.6/lib:/gnu/store/6z63hx19lw1drw10cbcgdlv170q413bf-ghc-split-0.2.3.3/lib:/gnu/store/mxznalq6m161yraj7jy9zc34rliyjbcy-ghc-stm-2.4.5.0/lib:/gnu/store/wbapvy3xv11f5cnvzi52nlidw7d6zxjw-ghc-stm-chans-3.0.0.4/lib:/gnu/store/9vmpv7spcfgpw6y9ykxdv389lswihrh6-ghc-tagsoup-0.14.6/lib:/gnu/store/nsimfjsmvixjhrymqrifsamannm55fny-ghc-text-1.2.3.0/lib:/gnu/store/3frwad74six28lw8gjqrk83m8yah94sp-ghc-unix-compat-0.5.1/lib:/gnu/store/dg7ffkm75ag8ys77jhphipg6awpia6dx-ghc-unordered-containers-0.2.9.0/lib:/gnu/store/g1n8j1r0xfl5ixvdv5f650b7wspq6fab-ghc-utf8-string-1.0.1.1/lib:/gnu/store/aa94mpsywmg66kx9xyrlc40qibd25nkr-ghc-uuid-1.3.13/lib:/gnu/store/j74aabxwayjl9yfyrm6ni482gykxq48b-bzip2-1.0.6/lib:/gnu/store/9425b5dwpfc04bb4p58hsjypxghliyr3-xz-5.2.4/lib:/gnu/store/ypiyk8ngn79cz655jrl0hng37xv54yjr-file-5.33/lib:/gnu/store/l67sib1ld0fgyf0f4vrzyxnmn4yvimvb-gawk-4.2.1/lib:/gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/lib:/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib:/gnu/store/a3p8zc23w5asxck5h4mswz4s8yl9s6pa-glibc-2.28-static/lib:/gnu/store/mn3ymm3f2r4xjqf8m9fgmadh6b8p6fvr-glibc-utf8-locales-2.28/lib' environment variable `GUIX_LOCPATH' set to `/gnu/store/mn3ymm3f2r4xjqf8m9fgmadh6b8p6fvr-glibc-utf8-locales-2.28/lib/locale' phase `set-paths' succeeded after 0.1 seconds starting phase `install-locale' using 'en_US.utf8' locale for category "LC_ALL" phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' git-annex-6.20180926/ git-annex-6.20180926/Types.hs git-annex-6.20180926/Backend.hs git-annex-6.20180926/Messages.hs git-annex-6.20180926/git-annex.hs git-annex-6.20180926/Annex.hs git-annex-6.20180926/Setup.hs git-annex-6.20180926/Crypto.hs git-annex-6.20180926/README git-annex-6.20180926/BuildInfo.hs git-annex-6.20180926/Remote.hs git-annex-6.20180926/stack.yaml git-annex-6.20180926/Assistant.hs git-annex-6.20180926/Git.hs git-annex-6.20180926/Key.hs git-annex-6.20180926/Upgrade.hs git-annex-6.20180926/git-annex.cabal git-annex-6.20180926/NEWS git-annex-6.20180926/Creds.hs git-annex-6.20180926/CmdLine.hs git-annex-6.20180926/BuildFlags.hs git-annex-6.20180926/CHANGELOG git-annex-6.20180926/Limit.hs git-annex-6.20180926/Logs.hs git-annex-6.20180926/Test.hs git-annex-6.20180926/Command.hs git-annex-6.20180926/Config.hs git-annex-6.20180926/Common.hs git-annex-6.20180926/COPYRIGHT git-annex-6.20180926/Test/ git-annex-6.20180926/Test/Framework.hs git-annex-6.20180926/Remote/ git-annex-6.20180926/Remote/Glacier.hs git-annex-6.20180926/Remote/List.hs git-annex-6.20180926/Remote/External.hs git-annex-6.20180926/Remote/Adb.hs git-annex-6.20180926/Remote/BitTorrent.hs git-annex-6.20180926/Remote/P2P.hs git-annex-6.20180926/Remote/Web.hs git-annex-6.20180926/Remote/Bup.hs git-annex-6.20180926/Remote/GCrypt.hs git-annex-6.20180926/Remote/Git.hs git-annex-6.20180926/Remote/Ddar.hs git-annex-6.20180926/Remote/S3.hs git-annex-6.20180926/Remote/Tahoe.hs git-annex-6.20180926/Remote/Rsync.hs git-annex-6.20180926/Remote/WebDAV.hs git-annex-6.20180926/Remote/Directory.hs git-annex-6.20180926/Remote/Hook.hs git-annex-6.20180926/Remote/Directory/ git-annex-6.20180926/Remote/Directory/LegacyChunked.hs git-annex-6.20180926/Remote/Helper/ git-annex-6.20180926/Remote/Helper/Chunked.hs git-annex-6.20180926/Remote/Helper/Encryptable.hs git-annex-6.20180926/Remote/Helper/Messages.hs git-annex-6.20180926/Remote/Helper/AWS.hs git-annex-6.20180926/Remote/Helper/Export.hs git-annex-6.20180926/Remote/Helper/P2P.hs git-annex-6.20180926/Remote/Helper/Http.hs git-annex-6.20180926/Remote/Helper/Ssh.hs git-annex-6.20180926/Remote/Helper/Git.hs git-annex-6.20180926/Remote/Helper/Hooks.hs git-annex-6.20180926/Remote/Helper/ReadOnly.hs git-annex-6.20180926/Remote/Helper/Special.hs git-annex-6.20180926/Remote/Helper/Chunked/ git-annex-6.20180926/Remote/Helper/Chunked/Legacy.hs git-annex-6.20180926/Remote/WebDAV/ git-annex-6.20180926/Remote/WebDAV/DavLocation.hs git-annex-6.20180926/Remote/External/ git-annex-6.20180926/Remote/External/Types.hs git-annex-6.20180926/Remote/Rsync/ git-annex-6.20180926/Remote/Rsync/RsyncUrl.hs git-annex-6.20180926/Annex/ git-annex-6.20180926/Annex/MakeRepo.hs git-annex-6.20180926/Annex/YoutubeDl.hs git-annex-6.20180926/Annex/ChangedRefs.hs git-annex-6.20180926/Annex/HashObject.hs git-annex-6.20180926/Annex/Concurrent.hs git-annex-6.20180926/Annex/Ingest.hs git-annex-6.20180926/Annex/Init.hs git-annex-6.20180926/Annex/Multicast.hs git-annex-6.20180926/Annex/BloomFilter.hs git-annex-6.20180926/Annex/Content.hs git-annex-6.20180926/Annex/MetaData.hs git-annex-6.20180926/Annex/CheckIgnore.hs git-annex-6.20180926/Annex/DirHashes.hs git-annex-6.20180926/Annex/VectorClock.hs git-annex-6.20180926/Annex/Export.hs git-annex-6.20180926/Annex/Direct.hs git-annex-6.20180926/Annex/Difference.hs git-annex-6.20180926/Annex/LockFile.hs git-annex-6.20180926/Annex/Environment.hs git-annex-6.20180926/Annex/BranchState.hs git-annex-6.20180926/Annex/Transfer.hs git-annex-6.20180926/Annex/Notification.hs git-annex-6.20180926/Annex/Perms.hs git-annex-6.20180926/Annex/Journal.hs git-annex-6.20180926/Annex/AutoMerge.hs git-annex-6.20180926/Annex/Drop.hs git-annex-6.20180926/Annex/Locations.hs git-annex-6.20180926/Annex/AdjustedBranch.hs git-annex-6.20180926/Annex/Branch.hs git-annex-6.20180926/Annex/Ssh.hs git-annex-6.20180926/Annex/CheckAttr.hs git-annex-6.20180926/Annex/ReplaceFile.hs git-annex-6.20180926/Annex/SpecialRemote.hs git-annex-6.20180926/Annex/UUID.hs git-annex-6.20180926/Annex/LockPool.hs git-annex-6.20180926/Annex/Link.hs git-annex-6.20180926/Annex/Queue.hs git-annex-6.20180926/Annex/InodeSentinal.hs git-annex-6.20180926/Annex/Url.hs git-annex-6.20180926/Annex/GitOverlay.hs git-annex-6.20180926/Annex/Wanted.hs git-annex-6.20180926/Annex/Version.hs git-annex-6.20180926/Annex/FileMatcher.hs git-annex-6.20180926/Annex/View.hs git-annex-6.20180926/Annex/CatFile.hs git-annex-6.20180926/Annex/Path.hs git-annex-6.20180926/Annex/Fixup.hs git-annex-6.20180926/Annex/UpdateInstead.hs git-annex-6.20180926/Annex/VariantFile.hs git-annex-6.20180926/Annex/NumCopies.hs git-annex-6.20180926/Annex/WorkTree.hs git-annex-6.20180926/Annex/Action.hs git-annex-6.20180926/Annex/TaggedPush.hs git-annex-6.20180926/Annex/Hook.hs git-annex-6.20180926/Annex/Common.hs git-annex-6.20180926/Annex/Branch/ git-annex-6.20180926/Annex/Branch/Transitions.hs git-annex-6.20180926/Annex/MetaData/ git-annex-6.20180926/Annex/MetaData/StandardFields.hs git-annex-6.20180926/Annex/View/ git-annex-6.20180926/Annex/View/ViewedFile.hs git-annex-6.20180926/Annex/Content/ git-annex-6.20180926/Annex/Content/Direct.hs git-annex-6.20180926/Annex/Content/PointerFile.hs git-annex-6.20180926/Annex/Content/LowLevel.hs git-annex-6.20180926/Annex/LockPool/ git-annex-6.20180926/Annex/LockPool/PosixOrPid.hs git-annex-6.20180926/Backend/ git-annex-6.20180926/Backend/Utilities.hs git-annex-6.20180926/Backend/WORM.hs git-annex-6.20180926/Backend/URL.hs git-annex-6.20180926/Backend/Hash.hs git-annex-6.20180926/CmdLine/ git-annex-6.20180926/CmdLine/Usage.hs git-annex-6.20180926/CmdLine/GitAnnex.hs git-annex-6.20180926/CmdLine/Option.hs git-annex-6.20180926/CmdLine/Batch.hs git-annex-6.20180926/CmdLine/Seek.hs git-annex-6.20180926/CmdLine/GitRemoteTorAnnex.hs git-annex-6.20180926/CmdLine/GitAnnexShell.hs git-annex-6.20180926/CmdLine/GlobalSetter.hs git-annex-6.20180926/CmdLine/Action.hs git-annex-6.20180926/CmdLine/GitAnnexShell/ git-annex-6.20180926/CmdLine/GitAnnexShell/Checks.hs git-annex-6.20180926/CmdLine/GitAnnexShell/Fields.hs git-annex-6.20180926/CmdLine/GitAnnex/ git-annex-6.20180926/CmdLine/GitAnnex/Options.hs git-annex-6.20180926/Assistant/ git-annex-6.20180926/Assistant/DaemonStatus.hs git-annex-6.20180926/Assistant/Pushes.hs git-annex-6.20180926/Assistant/Restart.hs git-annex-6.20180926/Assistant/CredPairCache.hs git-annex-6.20180926/Assistant/Gpg.hs git-annex-6.20180926/Assistant/ScanRemotes.hs git-annex-6.20180926/Assistant/TransferrerPool.hs git-annex-6.20180926/Assistant/BranchChange.hs git-annex-6.20180926/Assistant/Fsck.hs git-annex-6.20180926/Assistant/TransferSlots.hs git-annex-6.20180926/Assistant/Install.hs git-annex-6.20180926/Assistant/NamedThread.hs git-annex-6.20180926/Assistant/Drop.hs git-annex-6.20180926/Assistant/Repair.hs git-annex-6.20180926/Assistant/Ssh.hs git-annex-6.20180926/Assistant/DeleteRemote.hs git-annex-6.20180926/Assistant/Pairing.hs git-annex-6.20180926/Assistant/Upgrade.hs git-annex-6.20180926/Assistant/Monad.hs git-annex-6.20180926/Assistant/Commits.hs git-annex-6.20180926/Assistant/Alert.hs git-annex-6.20180926/Assistant/TransferQueue.hs git-annex-6.20180926/Assistant/Unused.hs git-annex-6.20180926/Assistant/Sync.hs git-annex-6.20180926/Assistant/WebApp.hs git-annex-6.20180926/Assistant/Changes.hs git-annex-6.20180926/Assistant/RemoteControl.hs git-annex-6.20180926/Assistant/RepoProblem.hs git-annex-6.20180926/Assistant/MakeRemote.hs git-annex-6.20180926/Assistant/Common.hs git-annex-6.20180926/Assistant/Pairing/ git-annex-6.20180926/Assistant/Pairing/Network.hs git-annex-6.20180926/Assistant/Pairing/MakeRemote.hs git-annex-6.20180926/Assistant/Alert/ git-annex-6.20180926/Assistant/Alert/Utility.hs git-annex-6.20180926/Assistant/Install/ git-annex-6.20180926/Assistant/Install/AutoStart.hs git-annex-6.20180926/Assistant/Install/Menu.hs git-annex-6.20180926/Assistant/Types/ git-annex-6.20180926/Assistant/Types/ThreadName.hs git-annex-6.20180926/Assistant/Types/DaemonStatus.hs git-annex-6.20180926/Assistant/Types/Pushes.hs git-annex-6.20180926/Assistant/Types/CredPairCache.hs git-annex-6.20180926/Assistant/Types/ScanRemotes.hs git-annex-6.20180926/Assistant/Types/TransferrerPool.hs git-annex-6.20180926/Assistant/Types/BranchChange.hs git-annex-6.20180926/Assistant/Types/TransferSlots.hs git-annex-6.20180926/Assistant/Types/NamedThread.hs git-annex-6.20180926/Assistant/Types/ThreadedMonad.hs git-annex-6.20180926/Assistant/Types/Commits.hs git-annex-6.20180926/Assistant/Types/Alert.hs git-annex-6.20180926/Assistant/Types/UrlRenderer.hs git-annex-6.20180926/Assistant/Types/TransferQueue.hs git-annex-6.20180926/Assistant/Types/Changes.hs git-annex-6.20180926/Assistant/Types/RemoteControl.hs git-annex-6.20180926/Assistant/Types/RepoProblem.hs git-annex-6.20180926/Assistant/Threads/ git-annex-6.20180926/Assistant/Threads/Committer.hs git-annex-6.20180926/Assistant/Threads/Glacier.hs git-annex-6.20180926/Assistant/Threads/DaemonStatus.hs git-annex-6.20180926/Assistant/Threads/TransferPoller.hs git-annex-6.20180926/Assistant/Threads/TransferScanner.hs git-annex-6.20180926/Assistant/Threads/ProblemFixer.hs git-annex-6.20180926/Assistant/Threads/Pusher.hs git-annex-6.20180926/Assistant/Threads/UpgradeWatcher.hs git-annex-6.20180926/Assistant/Threads/Upgrader.hs git-annex-6.20180926/Assistant/Threads/MountWatcher.hs git-annex-6.20180926/Assistant/Threads/Merger.hs git-annex-6.20180926/Assistant/Threads/Cronner.hs git-annex-6.20180926/Assistant/Threads/Transferrer.hs git-annex-6.20180926/Assistant/Threads/NetWatcher.hs git-annex-6.20180926/Assistant/Threads/SanityChecker.hs git-annex-6.20180926/Assistant/Threads/TransferWatcher.hs git-annex-6.20180926/Assistant/Threads/ConfigMonitor.hs git-annex-6.20180926/Assistant/Threads/PairListener.hs git-annex-6.20180926/Assistant/Threads/Watcher.hs git-annex-6.20180926/Assistant/Threads/Exporter.hs git-annex-6.20180926/Assistant/Threads/WebApp.hs git-annex-6.20180926/Assistant/Threads/RemoteControl.hs git-annex-6.20180926/Assistant/WebApp/ git-annex-6.20180926/Assistant/WebApp/Types.hs git-annex-6.20180926/Assistant/WebApp/RepoList.hs git-annex-6.20180926/Assistant/WebApp/Gpg.hs git-annex-6.20180926/Assistant/WebApp/Form.hs git-annex-6.20180926/Assistant/WebApp/Page.hs git-annex-6.20180926/Assistant/WebApp/DashBoard.hs git-annex-6.20180926/Assistant/WebApp/routes git-annex-6.20180926/Assistant/WebApp/Repair.hs git-annex-6.20180926/Assistant/WebApp/Configurators.hs git-annex-6.20180926/Assistant/WebApp/Documentation.hs git-annex-6.20180926/Assistant/WebApp/Pairing.hs git-annex-6.20180926/Assistant/WebApp/OtherRepos.hs git-annex-6.20180926/Assistant/WebApp/Notifications.hs git-annex-6.20180926/Assistant/WebApp/RepoId.hs git-annex-6.20180926/Assistant/WebApp/Control.hs git-annex-6.20180926/Assistant/WebApp/SideBar.hs git-annex-6.20180926/Assistant/WebApp/MakeRemote.hs git-annex-6.20180926/Assistant/WebApp/Common.hs git-annex-6.20180926/Assistant/WebApp/Configurators/ git-annex-6.20180926/Assistant/WebApp/Configurators/AWS.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Delete.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Edit.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Fsck.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Preferences.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Ssh.hs git-annex-6.20180926/Assistant/WebApp/Configurators/IA.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Pairing.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Upgrade.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Local.hs git-annex-6.20180926/Assistant/WebApp/Configurators/WebDAV.hs git-annex-6.20180926/Assistant/WebApp/Configurators/Unused.hs git-annex-6.20180926/Utility/ git-annex-6.20180926/Utility/CopyFile.hs git-annex-6.20180926/Utility/Android.hs git-annex-6.20180926/Utility/Base64.hs git-annex-6.20180926/Utility/HumanNumber.hs git-annex-6.20180926/Utility/CoProcess.hs git-annex-6.20180926/Utility/PID.hs git-annex-6.20180926/Utility/DottedVersion.hs git-annex-6.20180926/Utility/DirWatcher.hs git-annex-6.20180926/Utility/AuthToken.hs git-annex-6.20180926/Utility/Daemon.hs git-annex-6.20180926/Utility/DataUnits.hs git-annex-6.20180926/Utility/FileSystemEncoding.hs git-annex-6.20180926/Utility/Tor.hs git-annex-6.20180926/Utility/Batch.hs git-annex-6.20180926/Utility/Gpg.hs git-annex-6.20180926/Utility/Env.hs git-annex-6.20180926/Utility/TList.hs git-annex-6.20180926/Utility/NotificationBroadcaster.hs git-annex-6.20180926/Utility/HumanTime.hs git-annex-6.20180926/Utility/FreeDesktop.hs git-annex-6.20180926/Utility/SafeCommand.hs git-annex-6.20180926/Utility/Touch.hs git-annex-6.20180926/Utility/LockFile.hs git-annex-6.20180926/Utility/LogFile.hs git-annex-6.20180926/Utility/Matcher.hs git-annex-6.20180926/Utility/SshHost.hs git-annex-6.20180926/Utility/Tuple.hs git-annex-6.20180926/Utility/libkqueue.c git-annex-6.20180926/Utility/Percentage.hs git-annex-6.20180926/Utility/FileSize.hs git-annex-6.20180926/Utility/Process.hs git-annex-6.20180926/Utility/IPAddress.hs git-annex-6.20180926/Utility/Tmp.hs git-annex-6.20180926/Utility/SshConfig.hs git-annex-6.20180926/Utility/PartialPrelude.hs git-annex-6.20180926/Utility/ThreadScheduler.hs git-annex-6.20180926/Utility/Mounts.hs git-annex-6.20180926/Utility/Data.hs git-annex-6.20180926/Utility/Glob.hs git-annex-6.20180926/Utility/ThreadLock.hs git-annex-6.20180926/Utility/SystemDirectory.hs git-annex-6.20180926/Utility/OptParse.hs git-annex-6.20180926/Utility/Applicative.hs git-annex-6.20180926/Utility/UserInfo.hs git-annex-6.20180926/Utility/LockPool.hs git-annex-6.20180926/Utility/Aeson.hs git-annex-6.20180926/Utility/Format.hs git-annex-6.20180926/Utility/Misc.hs git-annex-6.20180926/Utility/Monad.hs git-annex-6.20180926/Utility/Url.hs git-annex-6.20180926/Utility/Verifiable.hs git-annex-6.20180926/Utility/Dot.hs git-annex-6.20180926/Utility/Split.hs git-annex-6.20180926/Utility/Exception.hs git-annex-6.20180926/Utility/Yesod.hs git-annex-6.20180926/Utility/DiskFree.hs git-annex-6.20180926/Utility/Scheduled.hs git-annex-6.20180926/Utility/Path.hs git-annex-6.20180926/Utility/Bloom.hs git-annex-6.20180926/Utility/FileMode.hs git-annex-6.20180926/Utility/OSX.hs git-annex-6.20180926/Utility/Metered.hs git-annex-6.20180926/Utility/Rsync.hs git-annex-6.20180926/Utility/Shell.hs git-annex-6.20180926/Utility/HtmlDetect.hs git-annex-6.20180926/Utility/Hash.hs git-annex-6.20180926/Utility/InodeCache.hs git-annex-6.20180926/Utility/QuickCheck.hs git-annex-6.20180926/Utility/Su.hs git-annex-6.20180926/Utility/WebApp.hs git-annex-6.20180926/Utility/Tense.hs git-annex-6.20180926/Utility/Directory.hs git-annex-6.20180926/Utility/DBus.hs git-annex-6.20180926/Utility/Network.hs git-annex-6.20180926/Utility/MagicWormhole.hs git-annex-6.20180926/Utility/Parallel.hs git-annex-6.20180926/Utility/SimpleProtocol.hs git-annex-6.20180926/Utility/Lsof.hs git-annex-6.20180926/Utility/LinuxMkLibs.hs git-annex-6.20180926/Utility/HttpManagerRestricted.hs git-annex-6.20180926/Utility/Process/ git-annex-6.20180926/Utility/Process/Shim.hs git-annex-6.20180926/Utility/Process/Transcript.hs git-annex-6.20180926/Utility/DirWatcher/ git-annex-6.20180926/Utility/DirWatcher/Types.hs git-annex-6.20180926/Utility/DirWatcher/FSEvents.hs git-annex-6.20180926/Utility/DirWatcher/Win32Notify.hs git-annex-6.20180926/Utility/DirWatcher/Kqueue.hs git-annex-6.20180926/Utility/DirWatcher/INotify.hs git-annex-6.20180926/Utility/LockFile/ git-annex-6.20180926/Utility/LockFile/LockStatus.hs git-annex-6.20180926/Utility/LockFile/PidLock.hs git-annex-6.20180926/Utility/LockFile/Windows.hs git-annex-6.20180926/Utility/LockFile/Posix.hs git-annex-6.20180926/Utility/Directory/ git-annex-6.20180926/Utility/Directory/Stream.hs git-annex-6.20180926/Utility/Path/ git-annex-6.20180926/Utility/Path/Max.hs git-annex-6.20180926/Utility/Tmp/ git-annex-6.20180926/Utility/Tmp/Dir.hs git-annex-6.20180926/Utility/Env/ git-annex-6.20180926/Utility/Env/Basic.hs git-annex-6.20180926/Utility/Env/Set.hs git-annex-6.20180926/Utility/LockPool/ git-annex-6.20180926/Utility/LockPool/PidLock.hs git-annex-6.20180926/Utility/LockPool/Windows.hs git-annex-6.20180926/Utility/LockPool/Posix.hs git-annex-6.20180926/Utility/LockPool/LockHandle.hs git-annex-6.20180926/Utility/LockPool/STM.hs git-annex-6.20180926/Utility/Touch/ git-annex-6.20180926/Utility/Touch/Old.hsc git-annex-6.20180926/Utility/Scheduled/ git-annex-6.20180926/Utility/Scheduled/QuickCheck.hs git-annex-6.20180926/RemoteDaemon/ git-annex-6.20180926/RemoteDaemon/Types.hs git-annex-6.20180926/RemoteDaemon/Transport.hs git-annex-6.20180926/RemoteDaemon/Core.hs git-annex-6.20180926/RemoteDaemon/Common.hs git-annex-6.20180926/RemoteDaemon/Transport/ git-annex-6.20180926/RemoteDaemon/Transport/Tor.hs git-annex-6.20180926/RemoteDaemon/Transport/Ssh.hs git-annex-6.20180926/RemoteDaemon/Transport/GCrypt.hs git-annex-6.20180926/RemoteDaemon/Transport/Ssh/ git-annex-6.20180926/RemoteDaemon/Transport/Ssh/Types.hs git-annex-6.20180926/Build/ git-annex-6.20180926/Build/DesktopFile.hs git-annex-6.20180926/Build/Configure.hs git-annex-6.20180926/Build/Mans.hs git-annex-6.20180926/Build/Version.hs git-annex-6.20180926/Build/mdwn2man git-annex-6.20180926/Build/TestConfig.hs git-annex-6.20180926/Build/BundledPrograms.hs git-annex-6.20180926/Database/ git-annex-6.20180926/Database/Types.hs git-annex-6.20180926/Database/Init.hs git-annex-6.20180926/Database/Handle.hs git-annex-6.20180926/Database/Export.hs git-annex-6.20180926/Database/Fsck.hs git-annex-6.20180926/Database/Queue.hs git-annex-6.20180926/Database/Keys.hs git-annex-6.20180926/Database/Keys/ git-annex-6.20180926/Database/Keys/Handle.hs git-annex-6.20180926/Database/Keys/SQL.hs git-annex-6.20180926/Command/ git-annex-6.20180926/Command/Merge.hs git-annex-6.20180926/Command/ResolveMerge.hs git-annex-6.20180926/Command/Vicfg.hs git-annex-6.20180926/Command/Find.hs git-annex-6.20180926/Command/RmUrl.hs git-annex-6.20180926/Command/List.hs git-annex-6.20180926/Command/Schedule.hs git-annex-6.20180926/Command/ImportFeed.hs git-annex-6.20180926/Command/Adjust.hs git-annex-6.20180926/Command/CheckPresentKey.hs git-annex-6.20180926/Command/RecvKey.hs git-annex-6.20180926/Command/Map.hs git-annex-6.20180926/Command/InitRemote.hs git-annex-6.20180926/Command/FindRef.hs git-annex-6.20180926/Command/RemoteDaemon.hs git-annex-6.20180926/Command/Smudge.hs git-annex-6.20180926/Command/SendKey.hs git-annex-6.20180926/Command/AddUnused.hs git-annex-6.20180926/Command/Init.hs git-annex-6.20180926/Command/Unlock.hs git-annex-6.20180926/Command/ExamineKey.hs git-annex-6.20180926/Command/Multicast.hs git-annex-6.20180926/Command/VFilter.hs git-annex-6.20180926/Command/PostReceive.hs git-annex-6.20180926/Command/PreCommit.hs git-annex-6.20180926/Command/Inprogress.hs git-annex-6.20180926/Command/Required.hs git-annex-6.20180926/Command/Whereis.hs git-annex-6.20180926/Command/MetaData.hs git-annex-6.20180926/Command/Export.hs git-annex-6.20180926/Command/Info.hs git-annex-6.20180926/Command/Add.hs git-annex-6.20180926/Command/FuzzTest.hs git-annex-6.20180926/Command/VCycle.hs git-annex-6.20180926/Command/Benchmark.hs git-annex-6.20180926/Command/Move.hs git-annex-6.20180926/Command/EnableRemote.hs git-annex-6.20180926/Command/Direct.hs git-annex-6.20180926/Command/ReKey.hs git-annex-6.20180926/Command/DropUnused.hs git-annex-6.20180926/Command/Watch.hs git-annex-6.20180926/Command/Fsck.hs git-annex-6.20180926/Command/Lock.hs git-annex-6.20180926/Command/VAdd.hs git-annex-6.20180926/Command/SetKey.hs git-annex-6.20180926/Command/Untrust.hs git-annex-6.20180926/Command/P2P.hs git-annex-6.20180926/Command/LookupKey.hs git-annex-6.20180926/Command/Reinject.hs git-annex-6.20180926/Command/Forget.hs git-annex-6.20180926/Command/Indirect.hs git-annex-6.20180926/Command/InAnnex.hs git-annex-6.20180926/Command/Reinit.hs git-annex-6.20180926/Command/Drop.hs git-annex-6.20180926/Command/Repair.hs git-annex-6.20180926/Command/RegisterUrl.hs git-annex-6.20180926/Command/Copy.hs git-annex-6.20180926/Command/NotifyChanges.hs git-annex-6.20180926/Command/GroupWanted.hs git-annex-6.20180926/Command/Mirror.hs git-annex-6.20180926/Command/Commit.hs git-annex-6.20180926/Command/TransferInfo.hs git-annex-6.20180926/Command/Assistant.hs git-annex-6.20180926/Command/SetPresentKey.hs git-annex-6.20180926/Command/Expire.hs git-annex-6.20180926/Command/Trust.hs git-annex-6.20180926/Command/P2PStdIO.hs git-annex-6.20180926/Command/Migrate.hs git-annex-6.20180926/Command/Import.hs git-annex-6.20180926/Command/Semitrust.hs git-annex-6.20180926/Command/TransferKeys.hs git-annex-6.20180926/Command/Upgrade.hs git-annex-6.20180926/Command/MatchExpression.hs git-annex-6.20180926/Command/GCryptSetup.hs git-annex-6.20180926/Command/TestRemote.hs git-annex-6.20180926/Command/EnableTor.hs git-annex-6.20180926/Command/ConfigList.hs git-annex-6.20180926/Command/Help.hs git-annex-6.20180926/Command/Wanted.hs git-annex-6.20180926/Command/Version.hs git-annex-6.20180926/Command/Log.hs git-annex-6.20180926/Command/View.hs git-annex-6.20180926/Command/AddUrl.hs git-annex-6.20180926/Command/ContentLocation.hs git-annex-6.20180926/Command/Uninit.hs git-annex-6.20180926/Command/Fix.hs git-annex-6.20180926/Command/Describe.hs git-annex-6.20180926/Command/Get.hs git-annex-6.20180926/Command/Ungroup.hs git-annex-6.20180926/Command/DiffDriver.hs git-annex-6.20180926/Command/DropKey.hs git-annex-6.20180926/Command/NumCopies.hs git-annex-6.20180926/Command/Test.hs git-annex-6.20180926/Command/Dead.hs git-annex-6.20180926/Command/Unused.hs git-annex-6.20180926/Command/Sync.hs git-annex-6.20180926/Command/WebApp.hs git-annex-6.20180926/Command/Group.hs git-annex-6.20180926/Command/LockContent.hs git-annex-6.20180926/Command/VPop.hs git-annex-6.20180926/Command/Status.hs git-annex-6.20180926/Command/CalcKey.hs git-annex-6.20180926/Command/Undo.hs git-annex-6.20180926/Command/FromKey.hs git-annex-6.20180926/Command/Proxy.hs git-annex-6.20180926/Command/Unannex.hs git-annex-6.20180926/Command/Config.hs git-annex-6.20180926/Command/TransferKey.hs git-annex-6.20180926/Command/ReadPresentKey.hs git-annex-6.20180926/Config/ git-annex-6.20180926/Config/Smudge.hs git-annex-6.20180926/Config/Cost.hs git-annex-6.20180926/Config/GitConfig.hs git-annex-6.20180926/Config/Files.hs git-annex-6.20180926/Config/DynamicConfig.hs git-annex-6.20180926/templates/ git-annex-6.20180926/templates/page.julius git-annex-6.20180926/templates/page.hamlet git-annex-6.20180926/templates/error.hamlet git-annex-6.20180926/templates/repolist.hamlet git-annex-6.20180926/templates/bootstrap.hamlet git-annex-6.20180926/templates/README git-annex-6.20180926/templates/error.cassius git-annex-6.20180926/templates/actionbutton.hamlet git-annex-6.20180926/templates/page.cassius git-annex-6.20180926/templates/repolist.julius git-annex-6.20180926/templates/controlmenu.hamlet git-annex-6.20180926/templates/configurators/ git-annex-6.20180926/templates/configurators/addia.hamlet git-annex-6.20180926/templates/configurators/genkeymodal.hamlet git-annex-6.20180926/templates/configurators/adds3.hamlet git-annex-6.20180926/templates/configurators/needtor.hamlet git-annex-6.20180926/templates/configurators/addbox.com.hamlet git-annex-6.20180926/templates/configurators/enableia.hamlet git-annex-6.20180926/templates/configurators/preferences.hamlet git-annex-6.20180926/templates/configurators/enabledirectory.hamlet git-annex-6.20180926/templates/configurators/enableaws.hamlet git-annex-6.20180926/templates/configurators/needmagicwormhole.hamlet git-annex-6.20180926/templates/configurators/adddrive.hamlet git-annex-6.20180926/templates/configurators/enablewebdav.hamlet git-annex-6.20180926/templates/configurators/unused.hamlet git-annex-6.20180926/templates/configurators/newrepository.hamlet git-annex-6.20180926/templates/configurators/fsck.cassius git-annex-6.20180926/templates/configurators/addglacier.hamlet git-annex-6.20180926/templates/configurators/needglaciercli.hamlet git-annex-6.20180926/templates/configurators/main.hamlet git-annex-6.20180926/templates/configurators/addrepository.hamlet git-annex-6.20180926/templates/configurators/needgcrypt.hamlet git-annex-6.20180926/templates/configurators/needconnection.hamlet git-annex-6.20180926/templates/configurators/fsck.hamlet git-annex-6.20180926/templates/configurators/rsync.net/ git-annex-6.20180926/templates/configurators/rsync.net/encrypt.hamlet git-annex-6.20180926/templates/configurators/rsync.net/add.hamlet git-annex-6.20180926/templates/configurators/newrepository/ git-annex-6.20180926/templates/configurators/newrepository/combine.hamlet git-annex-6.20180926/templates/configurators/newrepository/first.hamlet git-annex-6.20180926/templates/configurators/newrepository/form.hamlet git-annex-6.20180926/templates/configurators/pairing/ git-annex-6.20180926/templates/configurators/pairing/disabled.hamlet git-annex-6.20180926/templates/configurators/pairing/wormhole/ git-annex-6.20180926/templates/configurators/pairing/wormhole/start.hamlet git-annex-6.20180926/templates/configurators/pairing/wormhole/prompt.hamlet git-annex-6.20180926/templates/configurators/pairing/local/ git-annex-6.20180926/templates/configurators/pairing/local/inprogress.hamlet git-annex-6.20180926/templates/configurators/pairing/local/prompt.hamlet git-annex-6.20180926/templates/configurators/edit/ git-annex-6.20180926/templates/configurators/edit/nonannexremote.hamlet git-annex-6.20180926/templates/configurators/edit/webrepository.hamlet git-annex-6.20180926/templates/configurators/edit/repository.hamlet git-annex-6.20180926/templates/configurators/fsck/ git-annex-6.20180926/templates/configurators/fsck/status.hamlet git-annex-6.20180926/templates/configurators/fsck/form.hamlet git-annex-6.20180926/templates/configurators/fsck/formcontent.hamlet git-annex-6.20180926/templates/configurators/fsck/preferencesform.hamlet git-annex-6.20180926/templates/configurators/ssh/ git-annex-6.20180926/templates/configurators/ssh/error.hamlet git-annex-6.20180926/templates/configurators/ssh/setupmodal.hamlet git-annex-6.20180926/templates/configurators/ssh/combine.hamlet git-annex-6.20180926/templates/configurators/ssh/confirm.hamlet git-annex-6.20180926/templates/configurators/ssh/enable.hamlet git-annex-6.20180926/templates/configurators/ssh/add.hamlet git-annex-6.20180926/templates/configurators/ssh/testmodal.hamlet git-annex-6.20180926/templates/configurators/ssh/expiredpassword.hamlet git-annex-6.20180926/templates/configurators/gitlab.com/ git-annex-6.20180926/templates/configurators/gitlab.com/add.hamlet git-annex-6.20180926/templates/configurators/unused/ git-annex-6.20180926/templates/configurators/unused/form.hamlet git-annex-6.20180926/templates/configurators/addrepository/ git-annex-6.20180926/templates/configurators/addrepository/archive.hamlet git-annex-6.20180926/templates/configurators/addrepository/wormholepairing.hamlet git-annex-6.20180926/templates/configurators/addrepository/misc.hamlet git-annex-6.20180926/templates/configurators/addrepository/ssh.hamlet git-annex-6.20180926/templates/configurators/addrepository/connection.hamlet git-annex-6.20180926/templates/configurators/addrepository/cloud.hamlet git-annex-6.20180926/templates/configurators/delete/ git-annex-6.20180926/templates/configurators/delete/currentrepository.hamlet git-annex-6.20180926/templates/configurators/delete/finished.hamlet git-annex-6.20180926/templates/configurators/delete/start.hamlet git-annex-6.20180926/templates/configurators/adddrive/ git-annex-6.20180926/templates/configurators/adddrive/setupmodal.hamlet git-annex-6.20180926/templates/configurators/adddrive/combine.hamlet git-annex-6.20180926/templates/configurators/adddrive/encrypt.hamlet git-annex-6.20180926/templates/configurators/upgrade/ git-annex-6.20180926/templates/configurators/upgrade/android.hamlet git-annex-6.20180926/templates/control/ git-annex-6.20180926/templates/control/notrunning.julius git-annex-6.20180926/templates/control/repairrepository.hamlet git-annex-6.20180926/templates/control/repositoryswitcher.hamlet git-annex-6.20180926/templates/control/log.hamlet git-annex-6.20180926/templates/control/notrunning.hamlet git-annex-6.20180926/templates/control/shutdown.hamlet git-annex-6.20180926/templates/control/repairrepository/ git-annex-6.20180926/templates/control/repairrepository/done.hamlet git-annex-6.20180926/templates/notifications/ git-annex-6.20180926/templates/notifications/longpolling.julius git-annex-6.20180926/templates/sidebar/ git-annex-6.20180926/templates/sidebar/main.hamlet git-annex-6.20180926/templates/sidebar/alert.hamlet git-annex-6.20180926/templates/documentation/ git-annex-6.20180926/templates/documentation/repogroup.hamlet git-annex-6.20180926/templates/documentation/license.hamlet git-annex-6.20180926/templates/documentation/about.hamlet git-annex-6.20180926/templates/dashboard/ git-annex-6.20180926/templates/dashboard/transfers.cassius git-annex-6.20180926/templates/dashboard/transfers.hamlet git-annex-6.20180926/templates/dashboard/metarefresh.hamlet git-annex-6.20180926/templates/dashboard/main.hamlet git-annex-6.20180926/Messages/ git-annex-6.20180926/Messages/Internal.hs git-annex-6.20180926/Messages/Concurrent.hs git-annex-6.20180926/Messages/JSON.hs git-annex-6.20180926/Messages/Progress.hs git-annex-6.20180926/static/ git-annex-6.20180926/static/syncicon.gif git-annex-6.20180926/static/activityicon.gif git-annex-6.20180926/static/favicon.ico git-annex-6.20180926/static/css/ git-annex-6.20180926/static/css/bootstrap.css git-annex-6.20180926/static/css/bootstrap-theme.css git-annex-6.20180926/static/fonts/ git-annex-6.20180926/static/fonts/glyphicons-halflings-regular.ttf git-annex-6.20180926/static/fonts/glyphicons-halflings-regular.woff git-annex-6.20180926/static/fonts/glyphicons-halflings-regular.eot git-annex-6.20180926/static/fonts/glyphicons-halflings-regular.svg git-annex-6.20180926/static/js/ git-annex-6.20180926/static/js/jquery.ui.widget.js git-annex-6.20180926/static/js/longpolling.js git-annex-6.20180926/static/js/jquery.ui.sortable.js git-annex-6.20180926/static/js/jquery.ui.mouse.js git-annex-6.20180926/static/js/bootstrap.js git-annex-6.20180926/static/js/jquery.full.js git-annex-6.20180926/static/js/jquery.ui.core.js git-annex-6.20180926/Types/ git-annex-6.20180926/Types/StandardGroups.hs git-annex-6.20180926/Types/Backend.hs git-annex-6.20180926/Types/Messages.hs git-annex-6.20180926/Types/DeferredParse.hs git-annex-6.20180926/Types/LockCache.hs git-annex-6.20180926/Types/MetaData.hs git-annex-6.20180926/Types/DesktopNotify.hs git-annex-6.20180926/Types/Availability.hs git-annex-6.20180926/Types/RefSpec.hs git-annex-6.20180926/Types/Crypto.hs git-annex-6.20180926/Types/Export.hs git-annex-6.20180926/Types/Difference.hs git-annex-6.20180926/Types/BranchState.hs git-annex-6.20180926/Types/Transfer.hs git-annex-6.20180926/Types/Concurrency.hs git-annex-6.20180926/Types/Remote.hs git-annex-6.20180926/Types/GitConfig.hs git-annex-6.20180926/Types/UUID.hs git-annex-6.20180926/Types/StoreRetrieve.hs git-annex-6.20180926/Types/ActionItem.hs git-annex-6.20180926/Types/Key.hs git-annex-6.20180926/Types/FileMatcher.hs git-annex-6.20180926/Types/Creds.hs git-annex-6.20180926/Types/View.hs git-annex-6.20180926/Types/ScheduledActivity.hs git-annex-6.20180926/Types/UrlContents.hs git-annex-6.20180926/Types/NumCopies.hs git-annex-6.20180926/Types/Test.hs git-annex-6.20180926/Types/Command.hs git-annex-6.20180926/Types/KeySource.hs git-annex-6.20180926/Types/TrustLevel.hs git-annex-6.20180926/Types/Group.hs git-annex-6.20180926/Types/CleanupActions.hs git-annex-6.20180926/Types/Distribution.hs git-annex-6.20180926/Limit/ git-annex-6.20180926/Limit/Wanted.hs git-annex-6.20180926/Upgrade/ git-annex-6.20180926/Upgrade/V4.hs git-annex-6.20180926/Upgrade/V3.hs git-annex-6.20180926/Upgrade/V5.hs git-annex-6.20180926/Upgrade/V2.hs git-annex-6.20180926/Upgrade/V1.hs git-annex-6.20180926/Upgrade/V0.hs git-annex-6.20180926/Git/ git-annex-6.20180926/Git/Merge.hs git-annex-6.20180926/Git/BuildVersion.hs git-annex-6.20180926/Git/LsFiles.hs git-annex-6.20180926/Git/Types.hs git-annex-6.20180926/Git/DiffTree.hs git-annex-6.20180926/Git/HashObject.hs git-annex-6.20180926/Git/AutoCorrect.hs git-annex-6.20180926/Git/Env.hs git-annex-6.20180926/Git/CheckIgnore.hs git-annex-6.20180926/Git/Objects.hs git-annex-6.20180926/Git/Filename.hs git-annex-6.20180926/Git/RefLog.hs git-annex-6.20180926/Git/LockFile.hs git-annex-6.20180926/Git/CurrentRepo.hs git-annex-6.20180926/Git/Fsck.hs git-annex-6.20180926/Git/DiffTreeItem.hs git-annex-6.20180926/Git/Remote.hs git-annex-6.20180926/Git/Repair.hs git-annex-6.20180926/Git/UnionMerge.hs git-annex-6.20180926/Git/LsTree.hs git-annex-6.20180926/Git/Branch.hs git-annex-6.20180926/Git/Ssh.hs git-annex-6.20180926/Git/CheckAttr.hs git-annex-6.20180926/Git/GCrypt.hs git-annex-6.20180926/Git/Tree.hs git-annex-6.20180926/Git/Queue.hs git-annex-6.20180926/Git/Url.hs git-annex-6.20180926/Git/Construct.hs git-annex-6.20180926/Git/Ref.hs git-annex-6.20180926/Git/Sha.hs git-annex-6.20180926/Git/Version.hs git-annex-6.20180926/Git/FilePath.hs git-annex-6.20180926/Git/CatFile.hs git-annex-6.20180926/Git/ConfigTypes.hs git-annex-6.20180926/Git/FileMode.hs git-annex-6.20180926/Git/Index.hs git-annex-6.20180926/Git/UpdateIndex.hs git-annex-6.20180926/Git/Command.hs git-annex-6.20180926/Git/Status.hs git-annex-6.20180926/Git/Config.hs git-annex-6.20180926/Git/Hook.hs git-annex-6.20180926/Git/Remote/ git-annex-6.20180926/Git/Remote/Remove.hs git-annex-6.20180926/Git/Command/ git-annex-6.20180926/Git/Command/Batch.hs git-annex-6.20180926/Logs/ git-annex-6.20180926/Logs/Location.hs git-annex-6.20180926/Logs/MapLog.hs git-annex-6.20180926/Logs/Schedule.hs git-annex-6.20180926/Logs/File.hs git-annex-6.20180926/Logs/Multicast.hs git-annex-6.20180926/Logs/MetaData.hs git-annex-6.20180926/Logs/TimeStamp.hs git-annex-6.20180926/Logs/Activity.hs git-annex-6.20180926/Logs/Export.hs git-annex-6.20180926/Logs/Difference.hs git-annex-6.20180926/Logs/Transfer.hs git-annex-6.20180926/Logs/SingleValue.hs git-annex-6.20180926/Logs/Line.hs git-annex-6.20180926/Logs/Web.hs git-annex-6.20180926/Logs/Transitions.hs git-annex-6.20180926/Logs/Remote.hs git-annex-6.20180926/Logs/UUIDBased.hs git-annex-6.20180926/Logs/FsckResults.hs git-annex-6.20180926/Logs/Chunk.hs git-annex-6.20180926/Logs/PreferredContent.hs git-annex-6.20180926/Logs/UUID.hs git-annex-6.20180926/Logs/Trust.hs git-annex-6.20180926/Logs/RemoteState.hs git-annex-6.20180926/Logs/View.hs git-annex-6.20180926/Logs/Presence.hs git-annex-6.20180926/Logs/NumCopies.hs git-annex-6.20180926/Logs/Unused.hs git-annex-6.20180926/Logs/Group.hs git-annex-6.20180926/Logs/Config.hs git-annex-6.20180926/Logs/PreferredContent/ git-annex-6.20180926/Logs/PreferredContent/Raw.hs git-annex-6.20180926/Logs/SingleValue/ git-annex-6.20180926/Logs/SingleValue/Pure.hs git-annex-6.20180926/Logs/Trust/ git-annex-6.20180926/Logs/Trust/Basic.hs git-annex-6.20180926/Logs/Trust/Pure.hs git-annex-6.20180926/Logs/MetaData/ git-annex-6.20180926/Logs/MetaData/Pure.hs git-annex-6.20180926/Logs/Presence/ git-annex-6.20180926/Logs/Presence/Pure.hs git-annex-6.20180926/Logs/Difference/ git-annex-6.20180926/Logs/Difference/Pure.hs git-annex-6.20180926/Logs/Chunk/ git-annex-6.20180926/Logs/Chunk/Pure.hs git-annex-6.20180926/doc/ git-annex-6.20180926/doc/git-annex-multicast.mdwn git-annex-6.20180926/doc/git-annex-unlock.mdwn git-annex-6.20180926/doc/git-annex-vicfg.mdwn git-annex-6.20180926/doc/git-annex-merge.mdwn git-annex-6.20180926/doc/git-annex-info.mdwn git-annex-6.20180926/doc/git-annex-direct.mdwn git-annex-6.20180926/doc/git-annex-diffdriver.mdwn git-annex-6.20180926/doc/git-annex-list.mdwn git-annex-6.20180926/doc/git-annex-unannex.mdwn git-annex-6.20180926/doc/git-annex-undo.mdwn git-annex-6.20180926/doc/git-annex-export.mdwn git-annex-6.20180926/doc/git-annex-remotedaemon.mdwn git-annex-6.20180926/doc/git-annex-reinject.mdwn git-annex-6.20180926/doc/git-annex-pre-commit.mdwn git-annex-6.20180926/doc/git-annex-setpresentkey.mdwn git-annex-6.20180926/doc/git-annex-dead.mdwn git-annex-6.20180926/doc/git-annex-enable-tor.mdwn git-annex-6.20180926/doc/git-annex-fix.mdwn git-annex-6.20180926/doc/git-annex-fuzztest.mdwn git-annex-6.20180926/doc/git-annex-dropunused.mdwn git-annex-6.20180926/doc/git-annex-ungroup.mdwn git-annex-6.20180926/doc/git-annex-find.mdwn git-annex-6.20180926/doc/git-annex.mdwn git-annex-6.20180926/doc/git-annex-repair.mdwn git-annex-6.20180926/doc/git-annex-proxy.mdwn git-annex-6.20180926/doc/git-annex-setkey.mdwn git-annex-6.20180926/doc/git-annex-version.mdwn git-annex-6.20180926/doc/git-annex-fsck.mdwn git-annex-6.20180926/doc/git-annex-schedule.mdwn git-annex-6.20180926/doc/git-annex-log.mdwn git-annex-6.20180926/doc/git-annex-import.mdwn git-annex-6.20180926/doc/git-annex-uninit.mdwn git-annex-6.20180926/doc/git-annex-wanted.mdwn git-annex-6.20180926/doc/git-annex-map.mdwn git-annex-6.20180926/doc/git-annex-vpop.mdwn git-annex-6.20180926/doc/git-annex-group.mdwn git-annex-6.20180926/doc/git-annex-lookupkey.mdwn git-annex-6.20180926/doc/git-annex-edit.mdwn git-annex-6.20180926/doc/git-annex-semitrust.mdwn git-annex-6.20180926/doc/git-annex-examinekey.mdwn git-annex-6.20180926/doc/git-annex-add.mdwn git-annex-6.20180926/doc/git-annex-numcopies.mdwn git-annex-6.20180926/doc/git-annex-findref.mdwn git-annex-6.20180926/doc/git-annex-calckey.mdwn git-annex-6.20180926/doc/git-annex-status.mdwn git-annex-6.20180926/doc/git-annex-mirror.mdwn git-annex-6.20180926/doc/git-annex-get.mdwn git-annex-6.20180926/doc/git-annex-indirect.mdwn git-annex-6.20180926/doc/git-annex-p2p.mdwn git-annex-6.20180926/doc/logo_16x16.png git-annex-6.20180926/doc/git-annex-checkpresentkey.mdwn git-annex-6.20180926/doc/git-annex-shell.mdwn git-annex-6.20180926/doc/git-annex-resolvemerge.mdwn git-annex-6.20180926/doc/git-annex-required.mdwn git-annex-6.20180926/doc/git-annex-addurl.mdwn git-annex-6.20180926/doc/git-annex-matchexpression.mdwn git-annex-6.20180926/doc/git-remote-tor-annex.mdwn git-annex-6.20180926/doc/logo.svg git-annex-6.20180926/doc/git-annex-init.mdwn git-annex-6.20180926/doc/git-annex-vadd.mdwn git-annex-6.20180926/doc/git-annex-enableremote.mdwn git-annex-6.20180926/doc/git-annex-migrate.mdwn git-annex-6.20180926/doc/git-annex-testremote.mdwn git-annex-6.20180926/doc/git-annex-test.mdwn git-annex-6.20180926/doc/git-annex-view.mdwn git-annex-6.20180926/doc/git-annex-unused.mdwn git-annex-6.20180926/doc/git-annex-registerurl.mdwn git-annex-6.20180926/doc/git-annex-rmurl.mdwn git-annex-6.20180926/doc/git-annex-metadata.mdwn git-annex-6.20180926/doc/git-annex-move.mdwn git-annex-6.20180926/doc/git-annex-lock.mdwn git-annex-6.20180926/doc/git-annex-describe.mdwn git-annex-6.20180926/doc/git-annex-drop.mdwn git-annex-6.20180926/doc/git-annex-sync.mdwn git-annex-6.20180926/doc/git-annex-untrust.mdwn git-annex-6.20180926/doc/git-annex-inprogress.mdwn git-annex-6.20180926/doc/git-annex-fromkey.mdwn git-annex-6.20180926/doc/git-annex-addunused.mdwn git-annex-6.20180926/doc/git-annex-transferkeys.mdwn git-annex-6.20180926/doc/git-annex-copy.mdwn git-annex-6.20180926/doc/git-annex-expire.mdwn git-annex-6.20180926/doc/git-annex-contentlocation.mdwn git-annex-6.20180926/doc/git-annex-trust.mdwn git-annex-6.20180926/doc/git-annex-upgrade.mdwn git-annex-6.20180926/doc/git-annex-readpresentkey.mdwn git-annex-6.20180926/doc/git-annex-vfilter.mdwn git-annex-6.20180926/doc/git-annex-matching-options.mdwn git-annex-6.20180926/doc/git-annex-vcycle.mdwn git-annex-6.20180926/doc/git-annex-transferkey.mdwn git-annex-6.20180926/doc/git-annex-webapp.mdwn git-annex-6.20180926/doc/git-annex-dropkey.mdwn git-annex-6.20180926/doc/git-annex-groupwanted.mdwn git-annex-6.20180926/doc/git-annex-preferred-content.mdwn git-annex-6.20180926/doc/git-annex-initremote.mdwn git-annex-6.20180926/doc/git-annex-smudge.mdwn git-annex-6.20180926/doc/git-annex-assistant.mdwn git-annex-6.20180926/doc/git-annex-reinit.mdwn git-annex-6.20180926/doc/git-annex-forget.mdwn git-annex-6.20180926/doc/git-annex-adjust.mdwn git-annex-6.20180926/doc/git-annex-importfeed.mdwn git-annex-6.20180926/doc/git-annex-whereis.mdwn git-annex-6.20180926/doc/git-annex-watch.mdwn git-annex-6.20180926/doc/git-annex-rekey.mdwn git-annex-6.20180926/doc/license/ git-annex-6.20180926/doc/license/GPL git-annex-6.20180926/doc/license/AGPL git-annex-6.20180926/P2P/ git-annex-6.20180926/P2P/Protocol.hs git-annex-6.20180926/P2P/Annex.hs git-annex-6.20180926/P2P/Address.hs git-annex-6.20180926/P2P/Auth.hs git-annex-6.20180926/P2P/IO.hs phase `unpack' succeeded after 0.0 seconds starting phase `patch-cabal-file' phase `patch-cabal-file' succeeded after 0.0 seconds starting phase `patch-usr-bin-file' phase `patch-usr-bin-file' succeeded after 0.0 seconds starting phase `patch-source-shebangs' patch-shebang: ./Build/mdwn2man: warning: no binary for interpreter `perl' found in $PATH phase `patch-source-shebangs' succeeded after 0.1 seconds starting phase `setup-compiler' ignoring (possibly broken) abi-depends field for packages phase `setup-compiler' succeeded after 2.4 seconds starting phase `patch-shell' phase `patch-shell' succeeded after 0.0 seconds starting phase `factor-setup' phase `factor-setup' succeeded after 0.0 seconds starting phase `pre-configure' Utility/Exception.hs:29:1: error: Bad interface file: /gnu/store/qb3knv1h536sdjqc4nfkm3j1l8n7q87a-ghc-exceptions-0.10.0/lib/ghc-8.4.3/exceptions-0.10.0/Control/Monad/Catch.dyn_hi Something is amiss; requested module exceptions-0.10.0:Control.Monad.Catch differs from name found in the interface file exceptions-0.10.0:Control.Monad.Catch (if these names look the same, try again with -dppr-debug) | 29 | import Control.Monad.Catch as X hiding (Handler) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Backtrace: 5 (primitive-load "/gnu/store/xayhspk534wq4fyralxivfnl3vx…") In ice-9/eval.scm: 191:35 4 (_ _) In srfi/srfi-1.scm: 863:16 3 (every1 #<procedure 863580 at /gnu/store/79jn1m4ax1zr5…> …) In /gnu/store/79jn1m4ax1zr5hlf3q7aalnb4vhx17ac-module-import/guix/build/gnu-build-system.scm: 799:28 2 (_ _) In ice-9/eval.scm: 619:8 1 (_ #(#(#<directory (guile-user) 5ce140>) (#:inputs # …))) In /gnu/store/79jn1m4ax1zr5hlf3q7aalnb4vhx17ac-module-import/guix/build/utils.scm: 616:6 0 (invoke _ . _) /gnu/store/79jn1m4ax1zr5hlf3q7aalnb4vhx17ac-module-import/guix/build/utils.scm:616:6: In procedure invoke: Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "runhaskell" arguments: ("PreConf.hs") exit-status: 1 term-signal: #f stop-signal: #f] 87b6c0>)'. note: keeping build directory `/tmp/guix-build-git-annex-6.20180926.drv-3' builder for `/gnu/store/yf5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv' failed with exit code 1 build of /gnu/store/yf5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv failed View build log at '/var/log/guix/drvs/yf/5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv.bz2'. guix build: error: build failed: build of `/gnu/store/yf5bkdya8krhdc29n518gbhvwkbn2ax4-git-annex-6.20180926.drv' failed ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#33922: failing git-annex build 2018-12-30 11:36 ` bug#33922: " Ricardo Wurmus 2018-12-30 15:46 ` Kyle Meyer @ 2019-01-02 22:14 ` Timothy Sample 2019-01-05 20:12 ` Kyle Meyer 2019-01-12 7:42 ` Ricardo Wurmus 1 sibling, 2 replies; 9+ messages in thread From: Timothy Sample @ 2019-01-02 22:14 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: 33922 [-- Attachment #1: Type: text/plain, Size: 3040 bytes --] Hi, Ricardo Wurmus <rekado@elephly.net> writes: > [...] > > It seems to me that this is a more general problem affecting all of our > Haskell packages. The configure phase that you didn’t paste should show > that modules are provided by slightly different packages. > > The haskell-build-system suffers from non-determinism. It might just be > limited to the package database files that are generated by ghc-pkg > (where readdir is used and the result isn’t sorted). This is exactly the problem. I’ve attached a patch that should fix this. Unfortunately, I kind of rediscovered this from scratch, so for the sake of completeness, here’s all the details of what I found. I don’t recall the exact chain of dependencies that led me from git-annex to ghc-exceptions, but the latter is a nice and small example of the general problem. The ghc-exceptions package depends on ghc-stm. Even though Hydra and Berlin built the exact same ghc-stm (save for the “package.cache” file), the way that ghc-exceptions depends on it differs between build servers. Hydra uses “stm-[version]” in the ghc-exceptions package database, and Berlin uses “stm-[version]-[hash]”. For more complicated packages, these differences get sufficiently jumbled up and GHC gets grumpy because we are trying to use two “different” versions of ghc-stm. In this case, they both have the same name, ID, ABI, and are even bit-for-bit identical (again, except for “package.cache”), but GHC doesn’t care because it is worried about the different reference (with the hash and without it). Another concrete example is ghc-aeson. It needs (among other things) ghc-uuid-types and ghc-hashable. These both need ghc-text. Right now, I cannot build ghc-aeson because it has conflicting requirements for ghc-text. It looks like I got a ghc-uuid-types substitute from Hydra that doesn’t include the hash, and a ghc-hashable substitute from Berlin that does. Again, ghc-text is bit-for-bit identical between the two up to “package.cache”. What’s great is that both build servers are internally consistent, so they never run into trouble. It’s just us poor users that suffer. :p Obviously the “package.cache” file looks pretty guilty, but it is also pretty inscrutable. I pulled code out of GHC to dump a textual representation of it, and found out that the only differences are in the order of packages. Everything else is the same. I modified 'ghc-pkg' to write a sorted binary cache, and it seems to solve all the issues mentioned above. That is, I built ghc-text, ghc-hashable, and ghc-uuid-types on two different computers, and got bit-for-bit identical results for all of them. (I also built ghc-text on both computers without the patch, and saw the same differing “package.cache” problem that I observed between Hydra and Berlin.) I think this patch will solve the git-annex problem, as well improve Haskell reproducibility. Thoughts? -- Tim [-- Attachment #2: 0001-gnu-ghc-Sort-packages-before-writing-binary-cache.patch --] [-- Type: text/x-patch, Size: 2168 bytes --] From bb29ee8ccc656b86039127b31fd8b79533927053 Mon Sep 17 00:00:00 2001 From: Timothy Sample <samplet@ngyro.com> Date: Wed, 2 Jan 2019 16:40:48 -0500 Subject: [PATCH] gnu: ghc: Sort packages before writing binary cache. This improves the reproducibility of packages built with the Haskell build system. * gnu/packages/haskell.scm (ghc)[arguments]: Add a phase that patches 'ghc-pkg' so that it sorts packages before generating a binary cache. --- gnu/packages/haskell.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8d0e2aef6..1a751a5b4 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tonton <tonton@riseup.net> -;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com> +;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. @@ -508,6 +508,18 @@ interactive environment for the functional language Haskell.") (assoc-ref inputs "ghc-testsuite") "--strip-components=1") #t)) + ;; This phase patches the 'ghc-pkg' command so that it sorts + ;; the list of packages in the binary cache it generates. + (add-after 'unpack 'patch-ghc-pkg + (lambda _ + (substitute* "utils/ghc-pkg/Main.hs" + (("import Data.List") + (string-append "import Data.List\n" + "import Data.Ord (comparing)")) + (("pkgsCabalFormat = packages db") + (string-append "pkgsCabalFormat = sortBy" + " (comparing (display . installedUnitId))" + " (packages db)"))))) (add-after 'unpack-testsuite 'fix-shell-wrappers (lambda _ (substitute* '("driver/ghci/ghc.mk" -- 2.20.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#33922: failing git-annex build 2019-01-02 22:14 ` bug#33922: " Timothy Sample @ 2019-01-05 20:12 ` Kyle Meyer 2019-01-12 7:42 ` Ricardo Wurmus 1 sibling, 0 replies; 9+ messages in thread From: Kyle Meyer @ 2019-01-05 20:12 UTC (permalink / raw) To: Timothy Sample, Ricardo Wurmus; +Cc: 33922 Timothy Sample <samplet@ngyro.com> writes: > Hi, > > Ricardo Wurmus <rekado@elephly.net> writes: > >> [...] >> >> It seems to me that this is a more general problem affecting all of our >> Haskell packages. The configure phase that you didn’t paste should show >> that modules are provided by slightly different packages. >> >> The haskell-build-system suffers from non-determinism. It might just be >> limited to the package database files that are generated by ghc-pkg >> (where readdir is used and the result isn’t sorted). > > This is exactly the problem. I’ve attached a patch that should fix > this. Unfortunately, I kind of rediscovered this from scratch, so for > the sake of completeness, here’s all the details of what I found. > [...] Interesting. Thanks for taking the time to write up this analysis. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#33922: failing git-annex build 2019-01-02 22:14 ` bug#33922: " Timothy Sample 2019-01-05 20:12 ` Kyle Meyer @ 2019-01-12 7:42 ` Ricardo Wurmus 2019-01-12 15:54 ` Timothy Sample 1 sibling, 1 reply; 9+ messages in thread From: Ricardo Wurmus @ 2019-01-12 7:42 UTC (permalink / raw) To: Timothy Sample; +Cc: 33922 Hi Tim, thanks for the patch. > From bb29ee8ccc656b86039127b31fd8b79533927053 Mon Sep 17 00:00:00 2001 > From: Timothy Sample <samplet@ngyro.com> > Date: Wed, 2 Jan 2019 16:40:48 -0500 > Subject: [PATCH] gnu: ghc: Sort packages before writing binary cache. > > This improves the reproducibility of packages built with the Haskell > build system. > > * gnu/packages/haskell.scm (ghc)[arguments]: Add a phase that patches > 'ghc-pkg' so that it sorts packages before generating a binary cache. Okay. > + ;; This phase patches the 'ghc-pkg' command so that it sorts > + ;; the list of packages in the binary cache it generates. > + (add-after 'unpack 'patch-ghc-pkg > + (lambda _ > + (substitute* "utils/ghc-pkg/Main.hs" > + (("import Data.List") > + (string-append "import Data.List\n" > + "import Data.Ord (comparing)")) > + (("pkgsCabalFormat = packages db") > + (string-append "pkgsCabalFormat = sortBy" > + " (comparing (display . installedUnitId))" > + " (packages db)"))))) This sorts the list “pkgsCabalFormat” in “updateDBCache” by the display value of the “installedUnitId” field of each package. According to the documentation at [1], the UnitId type has an Ord instance, so you probably don’t need “display”; you don’t need to sort strings but can sort the UnitId values directly. [1]: https://www.haskell.org/cabal/release/latest/doc/API/Cabal/Distribution-Types-UnitId.html#t:UnitId I’m not sure about using installedUnitId here. Is this field unique? “sourcePackageId” is the combination of package name and version. I don’t understand the UnitId documentation, so I can’t say if that value is any better. I wonder if it would be better to sort the result of “getDirectoryContents” instead. As far as I understand, this is the cause of non-determinism here. The function “readParseDatabase” (which contains the “getDirectoryContents” call) is used in multiple places throughout “ghc-pkg/Main.hs”. The most appropriate line to modify would then be this: confs = map (path </>) $ filter (".conf" `isSuffixOf`) fs where “fs” is the list of FilePath values (strings). I think you can just do this: confs = map (path </>) $ filter (".conf" `isSuffixOf`) (sort fs) because “fs” is of type [FilePath], which is [String], which is sortable via “sort” as String has an Ord instance. What do you think? -- Ricardo ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#33922: failing git-annex build 2019-01-12 7:42 ` Ricardo Wurmus @ 2019-01-12 15:54 ` Timothy Sample 2019-01-15 18:48 ` Timothy Sample 0 siblings, 1 reply; 9+ messages in thread From: Timothy Sample @ 2019-01-12 15:54 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: 33922 Hi Ricardo, Ricardo Wurmus <rekado@elephly.net> writes: > Hi Tim, > > thanks for the patch. > >> From bb29ee8ccc656b86039127b31fd8b79533927053 Mon Sep 17 00:00:00 2001 >> From: Timothy Sample <samplet@ngyro.com> >> Date: Wed, 2 Jan 2019 16:40:48 -0500 >> Subject: [PATCH] gnu: ghc: Sort packages before writing binary cache. >> >> This improves the reproducibility of packages built with the Haskell >> build system. >> >> * gnu/packages/haskell.scm (ghc)[arguments]: Add a phase that patches >> 'ghc-pkg' so that it sorts packages before generating a binary cache. > > Okay. > >> + ;; This phase patches the 'ghc-pkg' command so that it sorts >> + ;; the list of packages in the binary cache it generates. >> + (add-after 'unpack 'patch-ghc-pkg >> + (lambda _ >> + (substitute* "utils/ghc-pkg/Main.hs" >> + (("import Data.List") >> + (string-append "import Data.List\n" >> + "import Data.Ord (comparing)")) >> + (("pkgsCabalFormat = packages db") >> + (string-append "pkgsCabalFormat = sortBy" >> + " (comparing (display . installedUnitId))" >> + " (packages db)"))))) > > This sorts the list “pkgsCabalFormat” in “updateDBCache” by the display > value of the “installedUnitId” field of each package. According to the > documentation at [1], the UnitId type has an Ord instance, so you > probably don’t need “display”; you don’t need to sort strings but can > sort the UnitId values directly. > > [1]: > https://www.haskell.org/cabal/release/latest/doc/API/Cabal/Distribution-Types-UnitId.html#t:UnitId Whoops! I remember checking for an Ord instance, but I must of missed it. The documentation is embarrassingly clear. :p > I’m not sure about using installedUnitId here. Is this field unique? > “sourcePackageId” is the combination of package name and version. I > don’t understand the UnitId documentation, so I can’t say if that value > is any better. Based on what I see in the source code and in the cache files themselves, this is best field. However, I am just guessing and testing here. Discussion around this gets into territory I’m unfamiliar with (I’ve never heard of a “Backpack”, for instance). > I wonder if it would be better to sort the result of > “getDirectoryContents” instead. As far as I understand, this is the > cause of non-determinism here. The function “readParseDatabase” (which > contains the “getDirectoryContents” call) is used in multiple places > throughout “ghc-pkg/Main.hs”. > > The most appropriate line to modify would then be this: > > confs = map (path </>) $ filter (".conf" `isSuffixOf`) fs > > where “fs” is the list of FilePath values (strings). I think you can > just do this: > > confs = map (path </>) $ filter (".conf" `isSuffixOf`) (sort fs) > > because “fs” is of type [FilePath], which is [String], which is sortable > via “sort” as String has an Ord instance. > > What do you think? I thought about this approach, but I was worried it wouldn’t be so easy. What you suggest looks pretty straight-forward though. I will test everything with this approach and report back. If it works, I agree that it is better. Thanks for the careful review! -- Tim ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#33922: failing git-annex build 2019-01-12 15:54 ` Timothy Sample @ 2019-01-15 18:48 ` Timothy Sample 2019-01-17 17:33 ` Ricardo Wurmus 0 siblings, 1 reply; 9+ messages in thread From: Timothy Sample @ 2019-01-15 18:48 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: 33922 Hi again, Timothy Sample <samplet@ngyro.com> writes: > Ricardo Wurmus <rekado@elephly.net> writes: >> >> [...] >> >> The most appropriate line to modify would then be this: >> >> confs = map (path </>) $ filter (".conf" `isSuffixOf`) fs >> >> where “fs” is the list of FilePath values (strings). I think you can >> just do this: >> >> confs = map (path </>) $ filter (".conf" `isSuffixOf`) (sort fs) >> >> because “fs” is of type [FilePath], which is [String], which is sortable >> via “sort” as String has an Ord instance. >> >> What do you think? > > I thought about this approach, but I was worried it wouldn’t be so easy. > What you suggest looks pretty straight-forward though. I will test > everything with this approach and report back. If it works, I agree > that it is better. The results are in and this seems to do the trick, too. I built GHC and the packages I mentioned before on two different machines, and everything came out identical. Hence, LGTM. -- Tim ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#33922: failing git-annex build 2019-01-15 18:48 ` Timothy Sample @ 2019-01-17 17:33 ` Ricardo Wurmus 0 siblings, 0 replies; 9+ messages in thread From: Ricardo Wurmus @ 2019-01-17 17:33 UTC (permalink / raw) To: Timothy Sample; +Cc: 33922-done Hi Timothy, > The results are in and this seems to do the trick, too. I built GHC and > the packages I mentioned before on two different machines, and > everything came out identical. Hence, LGTM. Thanks for testing! I’ve pushed this to the master branch after waiting for ci.guix.info to build ghc. -- Ricardo ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2019-01-17 17:35 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-12-30 2:19 failing git-annex build Kyle Meyer 2018-12-30 11:36 ` bug#33922: " Ricardo Wurmus 2018-12-30 15:46 ` Kyle Meyer 2019-01-02 22:14 ` bug#33922: " Timothy Sample 2019-01-05 20:12 ` Kyle Meyer 2019-01-12 7:42 ` Ricardo Wurmus 2019-01-12 15:54 ` Timothy Sample 2019-01-15 18:48 ` Timothy Sample 2019-01-17 17:33 ` Ricardo Wurmus
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.