<div dir="ltr"><a href="https://github.com/haskell/network/blob/master/configure.ac">https://github.com/haskell/network/blob/master/configure.ac</a> and such? <br><div>configure/autoconf is amazing (and terrible :) )</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 7, 2020 at 6:01 PM Oleg Grenrus <<a href="mailto:oleg.grenrus@iki.fi">oleg.grenrus@iki.fi</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Check `build-type: Configure` which eg `network` uses.<br><div dir="ltr"><br><blockquote type="cite">On 7. Apr 2020, at 23.18, Vanessa McHale <<a href="mailto:vamchale@gmail.com" target="_blank">vamchale@gmail.com</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">Oh good point. I’ve had problems with static linking. The reason I didn’t bundle libarchive is that it requires a config.h with macros that are generated with ./configure…<div><br></div><div>It would certainly be nice to have partially static linking via cabal!</div><div><br></div><div>And yes I agree, I’d use it if it were broad enough<br><div><br><blockquote type="cite"><div>On Apr 7, 2020, at 2:56 PM, hasufell <<a href="mailto:hasufell@posteo.de" target="_blank">hasufell@posteo.de</a>> wrote:</div><br><div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">The problem with libarchive and bindings in general is portability.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">A half way out of this would be to allow cabal/ghc to do partially</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">static linking. But that's probably not gonna happen anytime soon.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">Alternatively... have a +static cabal flag that builds from bundled</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">source? Ideas...</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">But I think a native 'tar' implementation is still worthwhile.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">On 07/04/2020 21:35, Vanessa McHale wrote:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">FWIW, the tar format is a mess, which is part of why I chose to bind to<br>libarchive (with all the difficulties) instead of writing my own<br>library. There’s a nice post<br>here: <a href="https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar" target="_blank">https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar</a><br><br>There’s also archive-sig<br>(<a href="http://hackage.haskell.org/package/archive-sig" target="_blank">http://hackage.haskell.org/package/archive-sig</a>) which tries to be a<br>“common interface” via backpack and has implementations such as<br>archive-tar-bytestring<br>(<a href="http://hackage.haskell.org/package/archive-tar-bytestring" target="_blank">http://hackage.haskell.org/package/archive-tar-bytestring</a>) that can be<br>swapped out with libarchive/tar proper so you don’t need to commit to<br>any one library. <br><br>Cheers,<br>Vanessa McHale<br><br><blockquote type="cite">On Apr 7, 2020, at 11:50 AM, hasufell <<a href="mailto:hasufell@posteo.de" target="_blank">hasufell@posteo.de</a><br><<a href="mailto:hasufell@posteo.de" target="_blank">mailto:hasufell@posteo.de</a>>> wrote:<br><br>Friends,<br><br>'tar' [0][1] is an excellent native haskell implementation of the tar<br>format. However, there are currently a lot of unattended issues:<br><br>* unicode filepaths broken due to Char8 use [2]<br>* executable bits handled improperly [3]<br>* no support for long filepath extension [4][5]<br>* doesn't handle hardlinks properly [6]<br>* handles symbolic links too strictly [7]<br><br>Most of these issues are 2 to 4 years old, some of them have PRs that<br>have never been reviewed.<br><br>'tar' fails to unpack our own ghc bindists even [4]. I consider it, in<br>this state, too unreliable for production use. Since it is in the<br>'haskell' namespace on github and probably the first hit on hackage,<br>this needs to be improved quickly, IMO.<br><br>Users currently can use tar-bytestring [8] (no windows support) or<br>libarchive [9] (not a native implementation), but 'tar' should<br>ultimately be fixed and maintained properly.<br><br>--<br>[0]<span> </span><a href="https://hackage.haskell.org/package/tar" target="_blank">https://hackage.haskell.org/package/tar</a><br>[1]<span> </span><a href="https://github.com/haskell/tar" target="_blank">https://github.com/haskell/tar</a><br>[2]<span> </span><a href="https://github.com/haskell/tar/issues/6" target="_blank">https://github.com/haskell/tar/issues/6</a><br>[3]<span> </span><a href="https://github.com/haskell/tar/issues/25" target="_blank">https://github.com/haskell/tar/issues/25</a><br>[4]<span> </span><a href="https://github.com/haskell/tar/issues/49" target="_blank">https://github.com/haskell/tar/issues/49</a><br>[5]<span> </span><a href="https://github.com/haskell/tar/issues/27" target="_blank">https://github.com/haskell/tar/issues/27</a><br>[6]<span> </span><a href="https://github.com/haskell/tar/issues/51" target="_blank">https://github.com/haskell/tar/issues/51</a><br>[7]<span> </span><a href="https://github.com/haskell/tar/issues/32" target="_blank">https://github.com/haskell/tar/issues/32</a><br>[8]<span> </span><a href="https://github.com/hasufell/tar-bytestring" target="_blank">https://github.com/hasufell/tar-bytestring</a><br>[9]<span> </span><a href="https://hackage.haskell.org/package/libarchive" target="_blank">https://hackage.haskell.org/package/libarchive</a><br>--<br><br><br>Cheers,<br>Julian<br>_______________________________________________<br>Libraries mailing list<br><a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><span> </span><<a href="mailto:Libraries@haskell.org" target="_blank">mailto:Libraries@haskell.org</a>><br><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a></blockquote></blockquote></div></blockquote></div><br></div><span>_______________________________________________</span><br><span>Libraries mailing list</span><br><span><a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a></span><br><span><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a></span><br></div></blockquote></div>_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>