summaryrefslogtreecommitdiff
path: root/git-annex.cabal
Commit message (Collapse)AuthorAge
* Removed no longer needed dependency on yesod-default.Gravatar Joey Hess2017-12-05
| | | | This commit was sponsored by Nick Daly on Patreon.
* convert importfeed to youtube-dlGravatar Joey 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 workingGravatar Joey 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.HtmlDetectGravatar Joey 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.201711246.20171124Gravatar Joey Hess2017-11-24
|
* enable LambdaCase and convert around 10% of places that could use itGravatar Joey 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 depsGravatar Joey 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..
* typoGravatar Joey Hess2017-11-14
|
* add utf8-string to custom-setup depsGravatar Joey Hess2017-11-14
|
* split out setEnv to avoid adding depGravatar Joey 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 stanzaGravatar Joey 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 windowsGravatar Joey Hess2017-11-14
| | | | Re-applying ac57659e61f9743aebd35258e89752ced0040f9f
* Revert "Revert "remove dep on Win32-extras""Gravatar Joey Hess2017-11-13
| | | | This reverts commit ce44f20f128ad8740b9098ad86ed70156919cd43.
* use win32 2.6.1.0 (second try)Gravatar Joey Hess2017-11-13
| | | | Using patched http-client.
* Revert "use unix-compat 0.5 on windows"Gravatar Joey Hess2017-11-09
| | | | | | This reverts commit ac57659e61f9743aebd35258e89752ced0040f9f. Too early for this; needs newer Win32 version. Le sigh.
* Revert "remove dep on Win32-extras"Gravatar Joey Hess2017-11-09
| | | | | | This reverts commit afaf1799d47d88e1e0ace4f1bb128684761e11c1. Yeah, too early for that too
* Revert "use win32 2.6.1.0"Gravatar Joey Hess2017-11-09
| | | | | | | This reverts commit 757a7d6e22b9faa443a4f063e1a6df3204e298c1. Blocked by https://github.com/snoyberg/http-client/issues/309 this commit can be reverted once that's fixed.
* bump process to version supporting newer Win32Gravatar Joey Hess2017-11-09
|
* remove dep on Win32-extrasGravatar Joey Hess2017-11-09
| | | | Win32 now has its own getCurrentProcessId.
* still need stack-windows.yaml to specify newer versions of Win32 and unix-compatGravatar Joey Hess2017-11-09
|
* use win32 2.6.1.0Gravatar Joey Hess2017-11-09
| | | | | | | That has my patches merged into it, so stack-windows.yaml is not needed any longer. This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
* use unix-compat 0.5 on windowsGravatar Joey Hess2017-11-09
| | | | | | | | | | | That version has my patches for the problems that Utility.PosixFiles was working around, so am able to get rid of that module now. This will later allow bringing back the custom-setup stanza in the cabal file. It will need to depend on unix-compat 0.5 on all OS's, which I'm not ready to do yet. This commit was sponsored by Nick Daly on Patreon.
* releasing package git-annex version 6.201711096.20171109Gravatar Joey Hess2017-11-09
|
* remove custom-setup again until cabal issue is fixedGravatar Joey Hess2017-10-27
|
* this is the custom-setup I wantGravatar Joey Hess2017-10-27
| | | | | Unfortunately, cabal fails to parse this. https://github.com/haskell/cabal/issues/4852
* try putting back custom-setupGravatar Joey Hess2017-10-27
| | | | will this build on doze?
* releasing package git-annex version 6.201710266.20171026Gravatar Joey Hess2017-10-26
|
* build for windows with forked win32 package that has terminateProcessIdGravatar Joey Hess2017-10-25
| | | | | | | | | Get ugly reversion out of CHANGELOG. Also, relocated the windows stack.yaml to top, and updated windows build instructions. This commit was sponsored by Henrik Riomar on Patreon.
* Revert "try to avoid TerminateProcess link error on windows"Gravatar Joey Hess2017-10-24
| | | | | | | | | | This reverts commit d6d0b1fe20397bf073f11d579f5c0c38785e071a. Neither way is working.. The other way failed: .stack-work\dist\5f9bc736\build\git-annex\git-annex-tmp\Assistant.o:fake:(.text+0x6bb3): undefined reference to `terminatepid' Seems that winprocess.c is not getting linked in.
* indentationGravatar Joey Hess2017-10-24
|
* add includes to cabalGravatar Joey Hess2017-10-24
|
* try to avoid TerminateProcess link error on windowsGravatar Joey Hess2017-10-24
| | | | | | | | | Building with stack, it failed: `_TerminateProcess' referenced in section `.text' of .stack-work\dist\5f9bc736\build\git-annex\git-annex-tmp\Utility\WinProcess.o: defined in discarded section `.text' of C:/Users/jenkins/AppData/Local/Programs/stack/i386-windows/ghc-8.0.2/mingw/bin/../lib/gcc/i686-w64-mingw32/5.2.0/../../../../i686-w64-mingw32/lib/../lib/libkernel32.a(dacgs01154.o) This is a reversion of 6d66a81ca98f8579bf06f7fb724ed733670d39b9, to try the other way to implement it, which will hopefully avoid the problem.
* try lts-9.10 with old win32Gravatar Joey Hess2017-10-22
| | | | toolchain issue is preventing nightly from building anything on windows
* temporarily remove custom-setup stanzaGravatar Joey Hess2017-10-22
| | | | | | | | | This needs to include unix except on windows, but when I tried an if (! os(windows)) cabal crashed: 'parseField' called on a non-field. This is possibly a bug in Cabal. Cabal is able to configure w/o the custom-setup stanza, so omit it.
* add IfElse versionGravatar Joey Hess2017-10-22
|
* releasing package git-annex version 6.201710186.20171018Gravatar Joey Hess2017-10-18
|
* Revert "new Win32 fails to build; fall back to old one"Gravatar Joey Hess2017-10-16
| | | | | | | This reverts commit adb9d19ac54595f7daea984933cdc1a34ccdedb2. Old win32-extras fails to install. I suspect toolchain breakage because a lot of stuff is failing on the windows autobuilder.
* new Win32 fails to build; fall back to old oneGravatar Joey Hess2017-10-16
|
* releasing package git-annex version 6.201710036.20171003Gravatar Joey Hess2017-10-03
|
* fix build without S3Gravatar Joey Hess2017-09-29
|
* releasing package git-annex version 6.201709256.20170925Gravatar Joey Hess2017-09-25
|
* add exporter thread to assistantGravatar Joey Hess2017-09-20
| | | | | | | | | | | | | | | | | | | | | | | This is similar to the pusher thread, but a separate thread because git pushes can be done in parallel with exports, and updating a big export should not prevent other git pushes going out in the meantime. The exportThread only runs at most every 30 seconds, since updating an export is more expensive than pushing. This may need to be tuned. Added a separate channel for export commits; the committer records a commit in that channel. Also, reconnectRemotes records a dummy commit, to make the exporter thread wake up and make sure all exports are up-to-date. So, connecting a drive with a directory special remote export will immediately update it, and getting online will automatically update S3 and WebDAV exports. The transfer queue is not involved in exports. Instead, failed exports are retried much like failed pushes. This commit was sponsored by Ewen McNeill.
* add ExportTree table to export dbGravatar Joey Hess2017-09-18
| | | | | | | | | | | | New table needed to look up what filenames are used in the currently exported tree, for reasons explained in export.mdwn. Also, added smart constructors for ExportLocation and ExportDirectory to make sure they contain filepaths with the right direction slashes. And some code refactoring. This commit was sponsored by Francois Marier on Patreon.
* split out Types.ExportGravatar Joey Hess2017-09-15
|
* add Command.ExportGravatar Joey Hess2017-09-13
|
* track exported files in a sqlite databaseGravatar Joey Hess2017-09-04
| | | | | | | | | Went with a separate db per export remote, rather than a single export database. Mostly because there will probably not be a lot of separate export remotes, and it might be convenient to be able to delete a given remote's export database. This commit was supported by the NSF-funded DataLad project.
* refactor ExportActionsGravatar Joey Hess2017-09-01
| | | | | | | | This will allow disabling exports for remotes that are not configured to allow them. Also, exportSupported will be useful for the external special remote to probe. This commit was supported by the NSF-funded DataLad project
* implement export.log and resolve export conflictsGravatar Joey Hess2017-08-31
| | | | | | Incremental export updates work now too. This commit was sponsored by Anthony DeRobertis on Patreon.
* releasing package git-annex version 6.201708186.20170818Gravatar Joey Hess2017-08-18
|
* git-annex.cabal: Deal with breaking changes in Cabal 2.0Gravatar Joey Hess2017-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/haskell/cabal/issues/4655 This means that when a module is conditionally imported via ifdef depending on the OS or build flags, the cabal file has to mirror the same logic there to only list the module then. Since there are lots of OS's and lots of combinations of build flags here, it's rather difficult to know if the cabal file has been completelty correctly updated to match the source code. So I am very unhappy with needing to update things in two places. I've only tested this on linux with most build flags enables; this will probably need significant time and testing to catch every cabal file tweak that this change to Cabal requires. And it will be a continual source of compile failures going forward when the code is modified and the cabal file not also updated. DRY DRY DRY, I repeat myself, but: DRY! Sigh.. (Also, had to remove all Build.* that are standalone programs from the Other-Modules list, because since cabal passes those modules to ghc when building git-annex, it complains that they use module Main. Those modules are only used when building with the Makefile anyway, so this change shouldn't break anything.) This commit was sponsored by Thomas Hochstein on Patreon.