git-annex/doc/design/assistant/blog/day_197__template_haskell.mdwn
Joey Hess 7189dfd77d git-annex (5.20131127) unstable; urgency=low
* webapp: Detect when upgrades are available, and upgrade if the user
    desires.
    (Only when git-annex is installed using the prebuilt binaries
    from git-annex upstream, not from eg Debian.)
  * assistant: Detect when the git-annex binary is modified or replaced,
    and either prompt the user to restart the program, or automatically
    restart it.
  * annex.autoupgrade configures both the above upgrade behaviors.
  * Added support for quvi 0.9. Slightly suboptimal due to limitations in its
    interface compared with the old version.
  * Bug fix: annex.version did not get set on automatic upgrade to v5 direct
    mode repo, so the upgrade was performed repeatedly, slowing commands down.
  * webapp: Fix bug that broke switching between local repositories
    that use the new guarded direct mode.
  * Android: Fix stripping of the git-annex binary.
  * Android: Make terminal app show git-annex version number.
  * Android: Re-enable XMPP support.
  * reinject: Allow to be used in direct mode.
  * Futher improvements to git repo repair. Has now been tested in tens
    of thousands of intentionally damaged repos, and successfully
    repaired them all.
  * Allow use of --unused in bare repository.

# imported from the archive
2013-11-27 18:41:44 -04:00

36 lines
1.8 KiB
Markdown

Set up an autobuilder for the linux standalone binaries.
Did not get an Android autobuilder set up yet, but I did update
the Android app with recent improvements, so [[upgrade|install/Android]].
----
Investigated further down paths to getting the webapp built for Android.
* Since recent ghc versions support ghci and thus template haskell on arm,
at least some of the time, I wonder what's keeping the ghc-android build
from doing so? It might be due to it being a cross compiler. I tried
recompiling it with the stage 2, native compiler enabled. While I was
able to use that ghc binary on Android, it refused to run --interactive,
claiming it was not built with that enabled. Don't really understand
the ghc build system, so might have missed something.
Maybe I need to recompile ghc using the native ghc running on Android.
But that would involve porting gcc and a lot of libraries and toolchain
stuff to Android.
* [yesod-pure](http://hackage.haskell.org/package/yesod-pure) is an option,
and I would not mind making all the code changes to use it, getting
rid of template haskell entirely. (Probably around 1 thousand lines of
code would need to be written, but most of it would be trivial
conversion of hamlet templates.)
Question is, will yesod install at all without template haskell? Not
easily. `vector`, `monad-logger`, `aeson`, `shakespeare`,
`shakespeare-css`, `shakespeare-js`, `shakespeare-i18n`, `hamlet`
all use TH at build time. Hacked them all to just remove the TH parts.
The hack job on `yesod-core` was especially rough, involving things like
404 handlers. Did get it to build tho!
Still a dozen packages before I can build yesod, and then will try
building [this yesod-pure demo](https://gist.github.com/snoyberg/3870834/raw/212f0164de36524291df3ab35788e2b72d8d1e75/fib.hs).