diff options
author | Joey Hess <joey@kitenet.net> | 2013-09-22 22:48:16 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-09-22 22:48:16 -0400 |
commit | 2d5c55130a0e010c892039601837820a6fa83e08 (patch) | |
tree | 282c604e728835183262f4df5774bf28296d945f /doc/devblog | |
parent | 7fa5d6ca7bb593521406e2ece95c43be95cf45d0 (diff) |
blog the last 3 days and nights
Diffstat (limited to 'doc/devblog')
-rw-r--r-- | doc/devblog/day_15-17__Android_rebuild.mdwn | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/devblog/day_15-17__Android_rebuild.mdwn b/doc/devblog/day_15-17__Android_rebuild.mdwn new file mode 100644 index 000000000..d7facc32d --- /dev/null +++ b/doc/devblog/day_15-17__Android_rebuild.mdwn @@ -0,0 +1,68 @@ +Made a release on Friday. But I had to rebuild the OSX and Linux standalone +builds today to fix a bug in them. + +Spent the past **three days** redoing the whole Android build environment. +I've been progressively moving from my first hacked up Android build env to +something more reproducible and sane. Finally I am at the point where I can +run a shell script (well, actually, 3 shell scripts) and get an Android +build chroot. It's still not immune to breaking when new versions of +haskell libs are uploaded, but this is much better, and should be +maintainable going forward. + +This is a good starting point for getting git-annex into the F-Droid app +store, or for trying to build with a newer version of the Android SDK and +NDK, to perhaps get it working on Android 4.3. (Eventually. I am so sick +of building Android stuff right now..) + +Friday was all spent struggling to get ghc-android to build. I had not built +it successfully since February. I finally did, +on Saturday, and I have made my own fork of it which builds using a +known-good snapshot of the current development version of ghc. Building +this in a Debian stable chroot means that there should be no possibility +that upstream changes will break the build again. + +With ghc built, I moved on to building all the haskell libs git-annex +needs. Unfortunately my build script for these also has stopped working +since I made it in April. I failed to pin every package at a defined +version, and things broke. + +So, I redid the build script, and updated all the haskell libs to the +newest versions while I was at it. I have decided not to pin the library +versions (at least until I find a foolproof way to do it), so this new +script will break in the future, but it should break in a way I can fix up +easily by just refreshing a patch. + +The new ghc-android build has a nice feature of at least being able to +compile Template Haskell code (though still not run it at compile time. +This made the patching needed in the Haskell libs quite a lot less. Offset +somewhat by me needing to make general fixes to lots of libs to build with +ghc head. Including some fun with `==#` changing its type from `Bool` to +`Int#`. In all, I think I removed around 2.5 thousand lines of patches! +(Only 6 thousand lines to go...) + +Today I improved ghc-android some more so it cross builds several C libraries +that are needed to build several haskell libraries needed for XMPP. +I had only ever built those once, and done it by hand, and very hackishly. +Now they all build automatically too. + +And, I put together a script that builds the debian stable chroot and +installs ghc-android. + +And, I hacked on the EvilSplicer (which is sadly still needed) to +work with the new ghc/yesod/etc. + +At this point, I have git-annex successfully building, but still +need to do some work to get the APK to build. + +---- + +In a bored hour waiting for a compile, I also sped up `git annex add` +on OSX by I think a factor of 10. Using cryptohash for hash calculation +now, when external hash programs are not available. It's still a few +percentage points slower than external hash programs, or I'd use it by +default. + +---- + +This period of important drudgery was sponsored by an unknown bitcoin +user, and by Bradley Unterrheiner and Andreas Olsson. |