<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">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 class=""><br class=""></div><div class="">It would certainly be nice to have partially static linking via cabal!</div><div class=""><br class=""></div><div class="">And yes I agree, I’d use it if it were broad enough<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Apr 7, 2020, at 2:56 PM, hasufell <<a href="mailto:hasufell@posteo.de" class="">hasufell@posteo.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">The problem with libarchive and bindings in general is portability.</span><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">A half way out of this would be to allow cabal/ghc to do partially</span><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">static linking. But that's probably not gonna happen anytime soon.</span><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Alternatively... have a +static cabal flag that builds from bundled</span><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">source? Ideas...</span><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">But I think a native 'tar' implementation is still worthwhile.</span><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">On 07/04/2020 21:35, Vanessa McHale wrote:</span><br style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">FWIW, the tar format is a mess, which is part of why I chose to bind to<br class="">libarchive (with all the difficulties) instead of writing my own<br class="">library. There’s a nice post<br class="">here: <a href="https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar" class="">https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar</a><br class=""><br class="">There’s also archive-sig<br class="">(<a href="http://hackage.haskell.org/package/archive-sig" class="">http://hackage.haskell.org/package/archive-sig</a>) which tries to be a<br class="">“common interface” via backpack and has implementations such as<br class="">archive-tar-bytestring<br class="">(<a href="http://hackage.haskell.org/package/archive-tar-bytestring" class="">http://hackage.haskell.org/package/archive-tar-bytestring</a>) that can be<br class="">swapped out with libarchive/tar proper so you don’t need to commit to<br class="">any one library. <br class=""><br class="">Cheers,<br class="">Vanessa McHale<br class=""><br class=""><blockquote type="cite" class="">On Apr 7, 2020, at 11:50 AM, hasufell <<a href="mailto:hasufell@posteo.de" class="">hasufell@posteo.de</a><br class=""><<a href="mailto:hasufell@posteo.de" class="">mailto:hasufell@posteo.de</a>>> wrote:<br class=""><br class="">Friends,<br class=""><br class="">'tar' [0][1] is an excellent native haskell implementation of the tar<br class="">format. However, there are currently a lot of unattended issues:<br class=""><br class="">* unicode filepaths broken due to Char8 use [2]<br class="">* executable bits handled improperly [3]<br class="">* no support for long filepath extension [4][5]<br class="">* doesn't handle hardlinks properly [6]<br class="">* handles symbolic links too strictly [7]<br class=""><br class="">Most of these issues are 2 to 4 years old, some of them have PRs that<br class="">have never been reviewed.<br class=""><br class="">'tar' fails to unpack our own ghc bindists even [4]. I consider it, in<br class="">this state, too unreliable for production use. Since it is in the<br class="">'haskell' namespace on github and probably the first hit on hackage,<br class="">this needs to be improved quickly, IMO.<br class=""><br class="">Users currently can use tar-bytestring [8] (no windows support) or<br class="">libarchive [9] (not a native implementation), but 'tar' should<br class="">ultimately be fixed and maintained properly.<br class=""><br class="">--<br class="">[0]<span class="Apple-converted-space"> </span><a href="https://hackage.haskell.org/package/tar" class="">https://hackage.haskell.org/package/tar</a><br class="">[1]<span class="Apple-converted-space"> </span><a href="https://github.com/haskell/tar" class="">https://github.com/haskell/tar</a><br class="">[2]<span class="Apple-converted-space"> </span><a href="https://github.com/haskell/tar/issues/6" class="">https://github.com/haskell/tar/issues/6</a><br class="">[3]<span class="Apple-converted-space"> </span><a href="https://github.com/haskell/tar/issues/25" class="">https://github.com/haskell/tar/issues/25</a><br class="">[4]<span class="Apple-converted-space"> </span><a href="https://github.com/haskell/tar/issues/49" class="">https://github.com/haskell/tar/issues/49</a><br class="">[5]<span class="Apple-converted-space"> </span><a href="https://github.com/haskell/tar/issues/27" class="">https://github.com/haskell/tar/issues/27</a><br class="">[6]<span class="Apple-converted-space"> </span><a href="https://github.com/haskell/tar/issues/51" class="">https://github.com/haskell/tar/issues/51</a><br class="">[7]<span class="Apple-converted-space"> </span><a href="https://github.com/haskell/tar/issues/32" class="">https://github.com/haskell/tar/issues/32</a><br class="">[8]<span class="Apple-converted-space"> </span><a href="https://github.com/hasufell/tar-bytestring" class="">https://github.com/hasufell/tar-bytestring</a><br class="">[9]<span class="Apple-converted-space"> </span><a href="https://hackage.haskell.org/package/libarchive" class="">https://hackage.haskell.org/package/libarchive</a><br class="">--<br class=""><br class=""><br class="">Cheers,<br class="">Julian<br class="">_______________________________________________<br class="">Libraries mailing list<br class=""><a href="mailto:Libraries@haskell.org" class="">Libraries@haskell.org</a><span class="Apple-converted-space"> </span><<a href="mailto:Libraries@haskell.org" class="">mailto:Libraries@haskell.org</a>><br class=""><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a></blockquote></blockquote></div></blockquote></div><br class=""></div></body></html>