summaryrefslogtreecommitdiff
path: root/git-annex.cabal
Commit message (Collapse)AuthorAge
* prep for release tomorrowJoey Hess2018-07-18
|
* add transformers to setup-dependsJoey Hess2018-07-01
| | | | | | | | | per Peter Simons: Setup.hs depends on 'transformers' for versions of base prior to 4.9.x so that Control.Monad.IO.Class can be included. Just adding the library to 'setup-depends' fixes the build with older compilers like GHC 7.10.3.
* git-annex.cabal: Fix network version.Joey Hess2018-07-01
| | | | | | Needed for hostAddressToTuple. Which means the build flag for the network-uri split is no longer needed.
* finalize releaseJoey Hess2018-06-22
|
* version depsJoey Hess2018-06-19
| | | | need at least http-client-0.4.31 to build now, and connection-0.2.6
* added isPrivateAddress and isLoopbackAddressJoey Hess2018-06-17
| | | | | | | | | | | | | | | For use in a security boundary enforcement. Based on https://en.wikipedia.org/wiki/Reserved_IP_addresses Including supporting IPv4 addresses embedded in IPv6 addresses. Because while RFC6052 3.1 says "Address translators MUST NOT translate packets in which an address is composed of the Well-Known Prefix and a non- global IPv4 address; they MUST drop these packets", I don't want to trust that implementations get that right when enforcing a security boundary. This commit was sponsored by John Pellman on Patreon.
* add Utility.HttpManagerRestrictedJoey Hess2018-06-16
| | | | | | | | | | | | | | | | | | | This is a clean way to add IP address restrictions to http-client, and any library using it. See https://github.com/snoyberg/http-client/issues/354#issuecomment-397830259 Some code from http-client and http-client-tls was copied in and modified. Credited its author accordingly, and used the same MIT license. The restrictions don't apply to http proxies. If using http proxies is a problem, http-client already has a way to disable them. SOCKS support is not included. As far as I can tell, http-client-tls does not support SOCKS by default, and so git-annex never has. The additional dependencies are free; git-annex already transitively depended on them via http-conduit. This commit was sponsored by Eric Drechsel on Patreon.
* releasing package git-annex version 6.20180529Joey Hess2018-05-29
|
* releasing package git-annex version 6.20180509Joey Hess2018-05-09
|
* releasing package git-annex version 6.20180427Joey Hess2018-04-27
|
* fix webapp opening in termuxJoey Hess2018-04-25
| | | | | | | Open real url not html shim since android and file:// urls is a nasty kettle of fish. This commit was sponsored by John Pellman on Patreon.
* Fix mangling of --json output of utf-8 characters when not running in a ↵Joey Hess2018-04-16
| | | | | | | | | | | | | | | | | | | | | | utf-8 locale As long as all code imports Utility.Aeson rather than Data.Aeson, and no Strings that may contain utf-8 characters are used for eg, object keys via T.pack, this is guaranteed to fix the problem everywhere that git-annex generates json. It's kind of annoying to need to wrap ToJSON with a ToJSON', especially since every data type that has a ToJSON instance has to be ported over. However, that only took 50 lines of code, which is worth it to ensure full coverage. I initially tried an alternative approach of a newtype FileEncoded, which had to be used everywhere a String was fed into aeson, and chasing down all the sites would have been far too hard. Did consider creating an intentionally overlapping instance ToJSON String, and letting ghc fail to build anything that passed in a String, but am not sure that wouldn't pollute some library that git-annex depends on that happens to use ToJSON String internally. This commit was supported by the NSF-funded DataLad project.
* releasing package git-annex version 6.20180409Joey Hess2018-04-09
|
* refactor sinkResponseFile and add downloadCJoey Hess2018-04-06
| | | | | | | | | | | | | | | | | Remote.S3 and Remote.Helper.Http both had similar code to sink a http-conduit Response to a file; refactor out sinkResponseFile. downloadC downloads an url to a file using http-conduit, and supports resuming. Falls back to curl to handle urls that http-conduit does not support. This is not used yet, but the goal is to replace download with it. git-annex.cabal: conduit-extra was not actually used for a long time, remove the dep. conduit moves into the main dependency list, but since http-conduit was already in there, and it depends on conduit, that's not really adding a new build dep. This commit was supported by the NSF-funded DataLad project.
* Added adb special remote which allows exporting files to Android devices.Joey Hess2018-03-27
| | | | | | | | | | | | git annex testremote passes. exportree not implemented yet, although the documentation talks about it, since it will be the main way this remote will be used. The adb push/pull progress is displayed for now; it would be better to consume it and use it to update the git-annex progress bar. This commit was sponsored by andrea rota.
* cabal sdist refuses to build with -O1Joey Hess2018-03-16
| | | | | Sigh, disabled the full fix. What we have now will work once the ghc bug is fixed, but not currently.
* releasing package git-annex version 6.20180316Joey Hess2018-03-16
|
* fix build with cryptonite-0.20Joey Hess2018-03-15
| | | | | | Some blake hash varieties were not yet available in that version. Rather than tracking exact details of what cryptonite supported when, disable blake unless using a current cryptonite.
* Added backends for the BLAKE2 family of hashes.Joey Hess2018-03-13
| | | | | | | | | | | | | There are a lot of different variants and sizes, I suppose we might as well export all the common ones. Bump dep to cryptonite to 0.16, earlier versions lacked BLAKE2 support. Even android has 0.16 or newer. On Debian, Blake2bp_512 is buggy, so I have omitted it for now. http://bugs.debian.org/892855 This commit was sponsored by andrea rota.
* refactor p2p remote action codeJoey Hess2018-03-08
| | | | | | | | | Make a Remote.Helper.P2P using code that was in Remote.P2P, converted to use generic protocol runner actions. This will allow it to be reused in Remote.Git. This commit was sponsored by mo on Patreon.
* implemented git-annex-shell p2pstdioJoey Hess2018-03-07
| | | | | | | | | | | Not yet used by git-annex, but this will allow faster transfers etc than using individual ssh connections and rsync. Not called git-annex-shell p2p, because git-annex p2p does something else and I don't want two subcommands with the same name between the two for sanity reasons. This commit was sponsored by Øyvind Andersen Holm.
* Dial back optimisation when building on armJoey Hess2018-03-04
| | | | | | | | | | | | | | | | | | | | | Prevent ghc and llc from running out of memory when optimising some files. Sean Whitton reported that doing this only in Test.hs was insufficient, the build still OOMed by the time it got to Test.hs. He had earlier found the build worked when these options are applied globally. See https://ghc.haskell.org/trac/ghc/ticket/14821 for why it needs -O1; once that's fixed it may suffice to use "GHC-Options: -O2 -optlo-O2", although it may also be that the -O1 prevents ghc from using/leaking as much memory. os(arm) should match armel, armhf, armeb, and arm. It probably also matches arm64, somewhat unfortunately since arm64 systems probably tend to have more memory. See list of arches in https://hackage.haskell.org/package/Cabal-1.22.2.0/docs/src/Distribution-System.html This commit was sponsored by Henrik Riomar on Patreon.
* releasing package git-annex version 6.20180227Joey Hess2018-02-27
|
* send stderr to json when --json-error-messages enabledJoey Hess2018-02-19
|
* Split Test.hs and avoid optimising it much, to need less memory to compile.Joey Hess2018-02-18
| | | | | | | | The ghc options were found by Sean Whitton; the debian arm autobuilders need those to build w/o OOM, and it seems to involve llvm using too much memory to optimize Test. This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
* git-annex.cabal: Once more try to not build the assistant on the hurd, ↵Joey Hess2018-02-18
| | | | | | hopefully hackage finally recognises that OS. Last try was in 2015 https://github.com/haskell/hackage-server/issues/269
* fix build w/o webapp, s3Joey Hess2018-01-24
|
* releasing package git-annex version 6.20180112Joey Hess2018-01-12
|
* Fix several places where files in .git/annex/ were written with modes that ↵Joey Hess2018-01-02
| | | | | | | | | | did not take the core.sharedRepository config into account. git grep writeFile finds some more that might also be problems, but for now I've concentrated on .git/annex/ log files. There are certianly cases where writeFile is not a problem too. This commit was sponsored by mo on Patreon.
* split BuildInfo and BuildFlagsJoey Hess2018-01-02
| | | | | | The problem with combining these is that Build.Standalone etc need only the BuildInfo, and since not built with cabal, the BuildFlags ifdefs were causing bogus warnings.
* finally really add back custom-setup stanzaJoey Hess2017-12-31
| | | | | | | | | | | | Fourth or fifth try at this and finally found a way to make it work. Absurd amount of busy-work forced on me by change in cabal's behavior. Split up Utility modules that need posix stuff out of ones used by Setup. Various other hacks around inability for Setup to use anything that ifdefs a use of unix. Probably lost a full day of my life to this. This is how build systems make their users hate them. Just saying.
* Revert "git-annex.cabal: Add back custom-setup stanza, so cabal new-build ↵Joey Hess2017-12-31
| | | | | | | | | | | works." This reverts commit 51228c23065c2af011855200839a7ffa3423221d. No, still doesn't work when built with cabal. It did with stack; stack must somehow make the unix package implicitly available. With cabal, System.Posix.Process and System.Posix.Env are both missing.
* git-annex.cabal: Add back custom-setup stanza, so cabal new-build works.Joey Hess2017-12-31
| | | | | | | | Seems I had all the work in past commits to make this build, at least on linux. I'm actually surprised it does, without a unix dep, Utility.Env still builds ok somehow despite using System.Posix.Env. This commit was sponsored by Fernando Jimenez on Patreon.
* Added inprogress command for accessing files as they are being downloaded.Joey Hess2017-12-28
| | | | | | | | Chose to make this only handle files actively being downloaded, not temp files for downloads that were interrupted or files that have been fully downloaded. This commit was sponsored by Ole-Morten Duesund on Patreon.
* Removed the testsuite build flagJoey Hess2017-12-20
| | | | | | | | | | Test suite is always included. Building with this flag disabled has actually been broken for some time, since Command.TestRemote uses tasty. Fewer build flags are better, so good time to drop it. This commit was sponsored by Thomas Hochstein on Patreon.
* add git-annex-export.mdwnJoey Hess2017-12-14
|
* releasing package git-annex version 6.20171214Joey Hess2017-12-14
|
* Removed no longer needed dependency on yesod-default.Joey Hess2017-12-05
| | | | This commit was sponsored by Nick Daly on Patreon.
* convert importfeed to youtube-dlJoey Hess2017-11-29
| | | | | | | | | | | | | | | | | | | | | | | | Fully working, including --fast/--relaxed. Note that, while git-annex addurl --relaxed is not going to check youtube-dl, I kept git annex importfeed --relaxed checking it. Thinking is that, let's not break people's importfeed cron jobs, and importfeed does not typically have to check a large number of new items, so it's ok if it's a little bit slower when used with youtube playlist feeds. importfeed's behavior is also improved (?) when a feed has links in it to non-media files. Before, those were skipped. Now, the content of the link is downloaded. This had to be done, because trying to use youtube-dl is slow, and if those were skipped, it would have to check every time importfeed was run. While this behavior change may not be desirable for some feeds, that intersperse links to web pages with enclosures, it will be desirable for other feeds, that have non-enclosure directy links to media files. Remove old quvi modules. This commit was sponsored by Øyvind Andersen Holm.
* youtube-dl workingJoey Hess2017-11-29
| | | | | | | | | Including resuming and cleanup of incomplete downloads. Still todo: --fast, --relaxed, importfeed, disk reserve checking, quvi code cleanup. This commit was sponsored by Anthony DeRobertis on Patreon.
* add Utility.HtmlDetectJoey Hess2017-11-28
| | | | | | | | | | | | | | | | | | | | This will be used in youtube-dl integration, to tell when a html page has been downloaded by addurl, in which case it is worth running youtube-dl to see if it can extract media from it. tagsoup is an almost free dependency, because yesod depends on it. So, this only really adds a dep when git-annex is built without the webapp. I'd like this to as closely as possible match how browsers decide if a page is html or not. Unfortunately, that is fairly heuristic, in order to support malformed html. And, we don't want to falsely detect something as html just because it has something that looks like a html tag embedded somewhere in it. Probably any major video hosting site is going to be serving html documents that at least start with a <html> tag, so requiring that or a DOCTYPE should be good enough. This commit was sponsored by Jeff Goeke-Smith on Patreon.
* releasing package git-annex version 6.20171124Joey Hess2017-11-24
|
* enable LambdaCase and convert around 10% of places that could use itJoey Hess2017-11-15
| | | | | | | | | | | Needs ghc 7.6.1, so minimum base version increased slightly. All builds are well above this version of ghc, and debian oldstable is as well. Code that could use lambdacase can be found by running: git grep -B 1 'case ' | less and searching in less for "<-" This commit was sponsored by andrea rota.
* still can't express custom-setup depsJoey Hess2017-11-14
| | | | | | | | They need unix on non-windows, for Utility.Env, which Build.Configure uses, but cabal can't express that in a custom-setup stanza. To avoid this problem, Utility.Env would need to be moved into unix-compat..
* typoJoey Hess2017-11-14
|
* add utf8-string to custom-setup depsJoey Hess2017-11-14
|
* split out setEnv to avoid adding depJoey Hess2017-11-14
| | | | | | | | | | | Windows needs the setenv package in custom-setup, but I don't want to pull it in on unix, which would probably break some builds and need more work. Instead, split out setEnv to a separate module. Quite likely, unix-compat will get a portable environment layer, and then both modules can be removed from here. This commit was sponsored by Øyvind Andersen Holm.
* bring back custom-setup stanzaJoey Hess2017-11-14
| | | | | | | | | | | | | Now that windows is using unix-compat 0.5, don't need a dep on Win32 or unix in custom-setup, so the stanza can be parsed by cabal's limited parser again. Note that unix-compat 0.5 is needed on windows, but the cabal file hasn't bumped it yet, since that would necessarily affect non-windows builds. Instead, the stack-windows.yaml makes sure the right version is pulled in. This commit was sponsored by Jeff Goeke-Smith on Patreon.
* use unix-compat 0.5 on windowsJoey Hess2017-11-14
| | | | Re-applying 3ec579f5e1b0896bca105fd4f70aed6aa419f0be
* Revert "Revert "remove dep on Win32-extras""Joey Hess2017-11-13
| | | | This reverts commit d18bc52caf6ad5ac8edd42900ad26af8c4aa4f03.