Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reunification with NixOS/nixpkgs #312

Merged
merged 338 commits into from
Oct 9, 2018
Merged
Show file tree
Hide file tree
Changes from 134 commits
Commits
Show all changes
338 commits
Select commit Hold shift + click to select a range
c4e85d6
Bump dependencies
matthewbauer Jun 27, 2018
6468ccf
Bump all-cabal-hashes & remove old hacks
matthewbauer Jun 27, 2018
d78d1d2
Reword all unfree
matthewbauer Jun 27, 2018
1cc5a96
Refactors
matthewbauer Jun 27, 2018
9f39b6c
Readd darwin cache
matthewbauer Jun 27, 2018
fb40af8
Correctly set allow unfree
matthewbauer Jun 27, 2018
72c3ca6
Don’t check hasktags
matthewbauer Jun 28, 2018
214f807
Bump
matthewbauer Jun 28, 2018
b5e19ea
Don’t check jsaddle-warp
matthewbauer Jun 28, 2018
29e5677
Fix reflex-dom tests
matthewbauer Jun 28, 2018
4982856
Bump jsaddle
matthewbauer Jun 28, 2018
38bdc6f
Try building some more stuff
matthewbauer Jun 28, 2018
e00b850
Use Nixpkgs plist library
matthewbauer Jun 28, 2018
c3c6009
Remove .cross check
matthewbauer Jun 28, 2018
7bed5b4
Don’t check http-reverse-proxy
matthewbauer Jun 28, 2018
70bfb18
Add more overrides
matthewbauer Jun 28, 2018
5d8a2c6
Fix eval
matthewbauer Jun 28, 2018
d772fba
Fix overrides
matthewbauer Jun 28, 2018
e513942
Bump testing-feat
matthewbauer Jun 28, 2018
d27e46c
Bump
matthewbauer Jun 28, 2018
7f31ba5
Fix snap
matthewbauer Jun 28, 2018
e0c4e56
Set allowUnfree = true;
matthewbauer Jun 28, 2018
6a4e131
More ghc 8.4 fixes
matthewbauer Jun 28, 2018
1df7cf6
Fix hit from hackage
matthewbauer Jun 28, 2018
23814c2
Bump nixpkgs
matthewbauer Jun 28, 2018
809b2d6
Jailbreak algebraic-graphs
matthewbauer Jun 29, 2018
cc8d135
Bump ghcjs-base
luigy Jul 2, 2018
b17d020
Enable text-jsstring
luigy Jul 2, 2018
33e779d
Provide default for ghcEnvVars
matthewbauer Jul 3, 2018
8545bcd
Update hash
matthewbauer Jul 3, 2018
03efb33
Bump nixpkgs
matthewbauer Jul 3, 2018
8bc2bc1
Fix eval of jsaddle-warp
matthewbauer Jul 3, 2018
0401494
Add warnings for backwards compatibility aliases
matthewbauer Jul 3, 2018
63ce6dd
Update some formatting and comments
matthewbauer Jul 3, 2018
760df16
Remove deprecated uses in release.nix
matthewbauer Jul 3, 2018
d3379a4
Correct 8.4 overrides
matthewbauer Jul 3, 2018
9765884
Readd haskell-gi-overloading override
matthewbauer Jul 3, 2018
44efcc2
Fixup last commit on haskell-gi-overloading
matthewbauer Jul 3, 2018
b509c34
Override cabal2nix to get newer version
matthewbauer Jul 3, 2018
e518ed8
Fix global override
matthewbauer Jul 3, 2018
defcdf4
Update to nixpkgs master
matthewbauer Jul 3, 2018
22b3871
Fix shells not having tools like `ar`
ElvishJerricco Jul 4, 2018
b9498d9
Move back compat aliases below let bindings
matthewbauer Jul 5, 2018
7cc2943
Reuse args in all nixpkgsFunc calls
matthewbauer Jul 5, 2018
7856879
Refactor overlay configs
matthewbauer Jul 5, 2018
35969e5
Switch to ghc<major>_<minor> & ghcjs<major>_<minor>
matthewbauer Jul 5, 2018
bade398
Jailbreak haven
Jul 5, 2018
50620a4
Add a few package overrides
Jul 8, 2018
4e669e6
Fix jsstring
Jul 8, 2018
03474d5
Bump reflex and reflex-aeson-orphans
Jul 14, 2018
abe3c5c
Fix reflex-aeson-orphans import
Jul 14, 2018
c561938
Bump reflex-dom
Jul 18, 2018
dfff859
Make hackGet ignore the "branch" value
Jul 18, 2018
1bd98d4
Revert "Fix jsstring"
matthewbauer Jul 17, 2018
89993e9
Rebump thunk
matthewbauer Jul 17, 2018
835d1cc
Bump text to inline jsstring properly
matthewbauer Jul 18, 2018
f817003
Disable correct optimizations in text-jsstring
matthewbauer Jul 19, 2018
00bd2b4
Add patch to disable ghcjs string compactor
matthewbauer Jul 23, 2018
f548c85
Cleanup patching
matthewbauer Jul 25, 2018
30c830d
Disable ghcjs override
matthewbauer Jul 25, 2018
6c60daa
Update ghcjs to -no-string-compact
matthewbauer Jul 26, 2018
6832b93
Revert "Update ghcjs to -no-string-compact"
Jul 28, 2018
062f7ec
Make hackGet ignore branch for non-github repos as well
Jul 28, 2018
2cfb768
ghcjs: turn off full laziness, rewrite rules
matthewbauer Jul 31, 2018
8f84161
Fixup from last commit
matthewbauer Jul 31, 2018
c798a89
Set git to patched version
matthewbauer Jul 31, 2018
ca56917
Make work-on-multi create a virtual haskell package rather than simul…
Jul 31, 2018
200a3fa
Bump nixpkgs
matthewbauer Jul 31, 2018
fb5418a
Remove cabal2nix override
matthewbauer Jul 31, 2018
04d95d5
Remove old ghcjs overrides
matthewbauer Jul 31, 2018
6365b50
Readd globalOverlay
matthewbauer Jul 31, 2018
f3189a3
Bump jsaddle
matthewbauer Jul 31, 2018
90a32a5
Bump jsaddle-dom
matthewbauer Aug 1, 2018
4d99250
Bump reflex
matthewbauer Aug 1, 2018
15ab1fd
Bump jsaddle again
matthewbauer Aug 1, 2018
19236a9
Add ghcjs build products to hydra
matthewbauer Aug 1, 2018
7bab2d7
Don’t check reflex
matthewbauer Aug 1, 2018
ef3a081
Fix nixpkgs cross
matthewbauer Aug 1, 2018
0b0343b
Bump reflex-dom
matthewbauer Aug 1, 2018
5b5ad19
Bump jsaddle & reflex-dom
matthewbauer Aug 1, 2018
112fb7b
Merge branch 'work-on-multi-virtual-package-reunification' into reuni…
Aug 2, 2018
7306823
Add overrides for non-text_jsstring ghcjs
matthewbauer Aug 6, 2018
b3e1c98
Disable text-jsstring with ghcjs 8.4
matthewbauer Aug 7, 2018
7a9d41c
Add `nixpkgsOverlays` argument
Aug 7, 2018
f1c97c8
Eliminate some unnecessary overrides
Aug 7, 2018
a278a48
Bump reflex-dom
matthewbauer Aug 7, 2018
00c6460
Bump reflex
matthewbauer Aug 7, 2018
140fd97
Make uploadReleaseCandidate accept paths in addition to package names
Aug 8, 2018
21991ca
Fix mkSdist and mkHackageDocs for callCabal2nix
Aug 8, 2018
6dc3877
Revert "Disable text-jsstring with ghcjs 8.4"
luigy Aug 13, 2018
04063fa
Bump ghcjs
luigy Aug 15, 2018
b2cb7ab
Switch conduit-extra to use a patch for text-jsstring
luigy Aug 15, 2018
ce806a8
Bump reflex & reflex-dom
luigy Aug 16, 2018
2ca689d
Remove unnecessary patch for ghcjs-base
luigy Aug 17, 2018
8955feb
Add jsstring patches for ghcjs-base
luigy Aug 17, 2018
1884613
Use matching compiler config for ghcjs_8.*
luigy Aug 17, 2018
ea25765
Update ghcjs overrides
luigy Aug 17, 2018
de1f174
Add for JSString.intersperse
luigy Aug 18, 2018
2903bfa
Enable the Reflex profiler in all profiled builds
Ericson2314 Aug 20, 2018
1ab18db
Bump ghcjs
luigy Aug 20, 2018
1029875
Bump ghcjs
luigy Aug 21, 2018
2747143
Add remaining ghcjs-base jsstring fixes
luigy Aug 21, 2018
2e42005
Bump text and enable tests for it
luigy Aug 22, 2018
d044562
Bump ghcjs
luigy Aug 23, 2018
8bbfca9
Fix text override for ghcjs-8.4
luigy Aug 28, 2018
f783483
Revert "ghcjs: turn off full laziness, rewrite rules"
luigy Aug 29, 2018
d9eed03
Jailbreak & dontCheck ghcjs-base
luigy Aug 29, 2018
0648b5a
Merge remote-tracking branch 'origin/develop' into reunification
luigy Aug 31, 2018
1cc31d9
Bump direct-sqlite for GHC 8.4 support
kmicklas Aug 31, 2018
bfb93ce
Merge pull request #342 from reflex-frp/reunification-direct-sqlite
kmicklas Aug 31, 2018
173f212
Merge remote-tracking branch 'origin/develop' into reunification
luigy Sep 5, 2018
e1b785d
Pin benchmark's node deps
luigy Sep 7, 2018
12d6ff3
benchmark: Disable vanillajs-keyed
luigy Sep 8, 2018
03730c6
nixpkgs.lib -> lib, to match other branches
Ericson2314 Sep 12, 2018
8bd24f6
More style fixes to match template-haskell
Ericson2314 Sep 12, 2018
f060b08
Merge branch 'develop' into reunification
Ericson2314 Sep 13, 2018
d0ee476
Fix project-skeleton build in darwin
luigy Sep 13, 2018
be8f9b6
Make sure release.nix evals the same on all platforms
Ericson2314 Sep 14, 2018
2093d46
Don't force system in many places
Ericson2314 Sep 14, 2018
03292f7
hostPkgs -> nixpkgs
Ericson2314 Sep 14, 2018
65d7e8c
Wrong parameter name, not caught due to shadowing
Ericson2314 Sep 14, 2018
a6256a1
Cut down on eval errors and fix inverted boolean bug
Ericson2314 Sep 14, 2018
d596ea4
Access {build,host,target}Platform through stdenv only
Ericson2314 Sep 14, 2018
c2d3e3b
get rid of useless `\.pkgs`
Ericson2314 Sep 14, 2018
c61638f
auto-cabal2nix as much of jsaddle as possible
Ericson2314 Sep 14, 2018
fcb968b
Forget to change jsaddle-warp
Ericson2314 Sep 14, 2018
2b3675f
Bump reflex-dom for iOS fix
Ericson2314 Sep 14, 2018
d32e845
Merge branch 'develop' into reunification
Ericson2314 Sep 14, 2018
e5a83ed
Bump reflex-todomvc to not use bad deps on iOS
Ericson2314 Sep 14, 2018
c04556a
skeleton tests: `this` -> `reflex-platform` for more `inherit`
Ericson2314 Sep 14, 2018
2faf025
project: The iOS SDK is pure now, so no tricks needed
Ericson2314 Sep 14, 2018
1292143
Rename `cacheTargetSystems` to `cacheBuildSystems`
Ericson2314 Sep 14, 2018
37e35ab
Use `lib.warn`
Ericson2314 Sep 15, 2018
9406ca7
android overlay: Remove unneeded foreign lib patch
Ericson2314 Sep 15, 2018
12c5bd8
ghcjs overlay: Bring lib in scope
Ericson2314 Sep 15, 2018
2cb30e1
project: Fix syntax error
Ericson2314 Sep 15, 2018
a883421
Bump nixpkgs to latest 18.09
Ericson2314 Sep 15, 2018
7c871fd
Bump nixpkgs for fixed nodePackages.ios-deploy
Ericson2314 Sep 15, 2018
a96ed99
Bump nixpkgs for fixed STM overrides
Ericson2314 Sep 16, 2018
9aa0341
project infra: Skip unsupported builds
Ericson2314 Sep 16, 2018
58a49c4
project: Remove dead code now the build system is determined by refle…
Ericson2314 Sep 16, 2018
01178c8
project: Add parens I forgot
Ericson2314 Sep 16, 2018
fccb2f5
Merge branch 'develop' into reunification
Ericson2314 Sep 17, 2018
653fd6d
Merge branch 'minimal-makeRecursivelyOverridable' into reunification
Ericson2314 Sep 17, 2018
e3bbebb
Merge branch 'develop' into reunification
Ericson2314 Sep 17, 2018
77ebf05
Merge branch 'develop' into reunification
luigy Sep 17, 2018
4c9f580
Bump nixpkgs so `buildHaskellPackages` can be overridden
Ericson2314 Sep 17, 2018
d512604
Merge branch 'develop' into reunification
Ericson2314 Sep 17, 2018
fa056b2
Remove yarn lockfiles
luigy Sep 17, 2018
aefb727
Documement `makeRecursivelyOverridable`
Ericson2314 Sep 17, 2018
94c41c0
bump nixpkgs for tentative macOS -> Android support
Ericson2314 Sep 18, 2018
5e93dca
Disable Android on GHC for Darwin for now
Ericson2314 Sep 18, 2018
f234ec4
Bump nixpkgs for Haskell cross static linking to work
Ericson2314 Sep 18, 2018
63a5167
Bump nixpkgs to fix zlib on iOS
Ericson2314 Sep 19, 2018
26a9e5b
Make zlib on mobile just a static libary
Ericson2314 Sep 19, 2018
5677b4a
Merge branch 'develop' into enable-reflex-profiler
Sep 19, 2018
4c63307
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Sep 19, 2018
52dd943
Merge branch 'develop' into enable-reflex-profiler
Sep 19, 2018
bff6d05
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Sep 20, 2018
05ce648
Fix release.nix after merge
Ericson2314 Sep 20, 2018
a8f5657
Don't make the host zlib statically linked
Ericson2314 Sep 20, 2018
59719df
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Sep 20, 2018
4c262f4
Merge branch 'develop' into reunification
Ericson2314 Sep 20, 2018
265d721
release.nix: Remove `sources` attribute
Ericson2314 Sep 20, 2018
f614e75
Move monoidal-containers into the reflex-packages overlay
Ericson2314 Sep 21, 2018
2d1899a
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Sep 21, 2018
e09e5a7
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Sep 21, 2018
d0ff1d8
Bump nixpkgs to fix linux cache job
Ericson2314 Sep 21, 2018
4bd107e
More jobs for older GHCs
Ericson2314 Sep 21, 2018
913ff33
Merge branch 'more-todomvc' into reunification
Ericson2314 Sep 21, 2018
6d77106
Merge branch 'develop' into reunification
luigy Sep 21, 2018
71ac8bc
Merge branch 'more-todomvc' into reunification
Ericson2314 Sep 21, 2018
0b76350
Merge branch 'more-todomvc' into reunification
Ericson2314 Sep 21, 2018
a6bf1d6
Merge branch 'more-todomvc' into reunification
Ericson2314 Sep 21, 2018
7cccd12
Merge branch 'develop' into reunification
Ericson2314 Sep 22, 2018
1022891
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Sep 24, 2018
33094fa
Overrides for ghc < 8.4
luigy Sep 24, 2018
55ec37a
Make overrides for GHC < 8.4 only apply to that
Ericson2314 Sep 24, 2018
c180bee
Bump nixpkgs so simplify overriding GHCs
Ericson2314 Sep 25, 2018
acb393e
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
eb96b57
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
7de83db
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
ca609f9
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
8bf35df
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
c9ffcc9
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
532fe5d
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
eac80dc
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
7107010
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
a75f734
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
3093bf4
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
64004d7
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
df2d29d
Fix executable names in apps
Ericson2314 Sep 25, 2018
7c1fe3d
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
fc41040
Fix lingering ghc 8.2.1 -> 8.2.2
Ericson2314 Sep 25, 2018
1cd9bb3
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
a7c02b7
Fix iOS identifiers
Ericson2314 Sep 25, 2018
feca14b
Merge branch 'pull-out-mobile-patches' into reunification
Ericson2314 Sep 25, 2018
53dd3e6
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Sep 25, 2018
63bbcd6
Bump nixpkgs to fix sphinx problem
Ericson2314 Sep 25, 2018
6dbe8ef
Bump nixpkgs for better and simpler sphinx fix
Ericson2314 Sep 25, 2018
9b36a9c
Bump nixpkgs
Ericson2314 Sep 25, 2018
9884c82
Bump nixpkgs
Ericson2314 Sep 25, 2018
264c485
Tweak argument order ahead of merge
Ericson2314 Sep 26, 2018
c43797f
Merge branch 'automatic-overlays' into reunification-automatic-overlays
Ericson2314 Sep 26, 2018
45e4e55
Merge pull request #372 from reflex-frp/reunification-automatic-overlays
luigy Sep 27, 2018
b6cbfe9
Merge branch 'develop' into reunification
Ericson2314 Sep 27, 2018
8ebb385
Sort and separate compilers
Ericson2314 Sep 27, 2018
03786c3
Merge branch 'more-ghcjs-hydra-develop' into reunification
Ericson2314 Sep 27, 2018
e20b41d
Simpler GHCJS
Ericson2314 Sep 27, 2018
51af025
Merge branch 'develop' into reunification
Ericson2314 Sep 27, 2018
7502e04
ghcjs-8.0: Pin same repos and packages and develop
Ericson2314 Sep 27, 2018
80ddbb8
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Sep 27, 2018
0c308fd
mv haskell-overlays/ghc-8.0.{y,x}.nix
Ericson2314 Sep 27, 2018
a906c7e
Expose sources for release.nix, like develop
Ericson2314 Sep 27, 2018
b6768a1
Override ghcjs802 boot pkgs to get ghcjs building
luigy Sep 28, 2018
d2368ad
Bump ghcjs for cabal 2.0 support
luigy Sep 28, 2018
6a7789e
Use the same version of hashable as the jsstring patches are against
luigy Sep 28, 2018
03375c3
Bump Nixpkgs to expose the GHCJS GHC version
Ericson2314 Sep 28, 2018
704c041
Use the GHC version to fix the GHCJS overlays
Ericson2314 Sep 28, 2018
227d047
Override GHCJS's own dependencies better
Ericson2314 Sep 28, 2018
ad397e3
Merge pull request #377 from reflex-frp/reunification-ghcjs802
Ericson2314 Sep 28, 2018
e04facf
Document overrides for GHCJS's own dependencies
Ericson2314 Sep 28, 2018
69d59d3
ghc-8.x.y overlay: `ghcjs-prim = null` is already done for us
Ericson2314 Sep 28, 2018
cc27abd
Merge branch 'develop' into reunification
Ericson2314 Sep 28, 2018
c5ab267
Point dependent-sum at our branch for now, and add the corresponding …
cgibbard Sep 28, 2018
7c27ba2
Merge remote-tracking branch 'origin/reunification' into reunification
cgibbard Sep 28, 2018
b2a00a2
Make sure GHCJS and GHC share agnostic overlays
Ericson2314 Sep 28, 2018
f1d233f
Merge branch 'develop' into reunification
Ericson2314 Sep 28, 2018
7e078ae
Fix ghjs8_.old-time
Ericson2314 Sep 28, 2018
881e773
Document dependent-* overrides
Ericson2314 Sep 28, 2018
b494111
Actually old-time fixed only needed by old GHCJS
Ericson2314 Sep 28, 2018
cf62156
Fix some text-jsstring overrides for ghcjs8_0
luigy Sep 30, 2018
f666ca5
ghcjs8_0: bump shims
luigy Sep 30, 2018
438915a
Merge remote-tracking branch 'origin/develop' into reunification
Ericson2314 Oct 1, 2018
8b34550
Merge branch 'reunification' into enable-reflex-profiler
Ericson2314 Oct 1, 2018
7a4c555
Bump reflex and reflex-dom
Ericson2314 Oct 1, 2018
1b06785
Fix unbound identifiers
Ericson2314 Oct 1, 2018
10f5f61
Fix missing GHC 8.2 patches
Ericson2314 Oct 1, 2018
b31edab
GHC 8.2: enable-fPIC patch no longer needed
Ericson2314 Oct 1, 2018
8b5eb66
Bump nixpkgs to hopefully fix ghc 8.2 for android
Ericson2314 Oct 1, 2018
98f260b
Bump nixpkgs to fix GHC 8.2 hsc2hs problem
Ericson2314 Oct 2, 2018
f85c489
Bump nixpkgs again; I included one wrong patch before
Ericson2314 Oct 2, 2018
79c9257
Add monstrous patch for ghc 8.2 and iOS
Ericson2314 Oct 3, 2018
9e425e1
Use integer-simple pkgset for ghc-8.2 in android & ios
luigy Oct 3, 2018
2aea890
Give demo apps with pinned GHCs different names
Ericson2314 Oct 4, 2018
45d7aad
Lower SDK for 32-bit Android
Ericson2314 Oct 5, 2018
a58c4c7
Merge pull request #340 from reflex-frp/enable-reflex-profiler
Ericson2314 Oct 5, 2018
e9ad35e
Jailbreak haddock-library-ghcjs in ghcjs8.2 boot pkgs
luigy Oct 6, 2018
ef84c21
Drop ghcjs 8.2 from CI. It doesn't build.
Ericson2314 Oct 9, 2018
1f42e3a
Bump reflex-dom
luigy Oct 9, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions android-activity/github.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"owner": "obsidiansystems",
"repo": "android-activity",
"rev": "ac9dea4fc72604e8f82885dafcf17811d9a7c948",
"sha256": "19smn1vg3l41bs6b21qccj80dvy7nhziyisa000aphx3y8fryyg0"
"rev": "af7139857b33b8617539a3bb3d8ac91c91daa3de",
"sha256": "0wphsfpswbw5ihqsx456vh406rc8ca0anfkcaz4rxx4lm8prn444"
}
2 changes: 1 addition & 1 deletion android/build.gradle.nix
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion '26.0.1'
buildToolsVersion '26.0.2'

sourceSets {
main {
Expand Down
5 changes: 3 additions & 2 deletions android/default.nix
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
env@{
nixpkgs
, nixpkgsCross
, ghcAndroidArm64
, ghcAndroidArmv7a
, ghcAndroidAarch64
, ghcAndroidAarch32
, overrideCabal
, ...
}:
with nixpkgs.lib.strings;
let impl = import ./impl.nix env;
Expand Down
28 changes: 10 additions & 18 deletions android/impl.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,17 @@ let overrideAndroidCabal = package: overrideCabal package (drv: {
'';
});
#TODO: Keep the signing key for dev mode more consistent, e.g. in ~/.config/reflex-platform, so that the app can be reinstalled in-place
addDeployScript = src: nixpkgs.runCommand "android-app" {
addDeployScript = src: hostPkgs.runCommand "android-app" {
inherit src;
buildCommand = ''
mkdir -p "$out/bin"
cp -r "$src"/* "$out"
cat >"$out/bin/deploy" <<EOF
$(which adb) install -r "$(echo $out/*.apk)"
$(command -v adb) install -r "$(echo $out/*.apk)"
EOF
chmod +x "$out/bin/deploy"
'';
buildInputs = with nixpkgs; [
androidsdk
which
];
buildInputs = [ hostPkgs.androidenv.androidsdk_8_0 ];
} "";
inherit (nixpkgs.lib) splitString escapeShellArg mapAttrs attrNames concatStrings optionalString;
in {
Expand All @@ -40,16 +37,15 @@ in {
src =
let splitApplicationId = splitString "." applicationId;
appSOs = mapAttrs (abiVersion: { myNixpkgs, myHaskellPackages }: {
inherit (myNixpkgs) libiconv;
hsApp = overrideAndroidCabal (package myHaskellPackages);
}) {
"arm64-v8a" = {
myNixpkgs = nixpkgsCross.android.arm64Impure;
myHaskellPackages = ghcAndroidArm64;
myNixpkgs = nixpkgsCross.android.aarch64;
myHaskellPackages = ghcAndroidAarch64;
};
"armeabi-v7a" = {
myNixpkgs = nixpkgsCross.android.armv7aImpure;
myHaskellPackages = ghcAndroidArmv7a;
myNixpkgs = nixpkgsCross.android.aarch32;
myHaskellPackages = ghcAndroidAarch32;
};
};
abiVersions = attrNames appSOs;
Expand All @@ -73,8 +69,8 @@ in {
javaSrc = nixpkgs.buildEnv {
name = applicationId + "-java";
paths = [
(ghcAndroidArm64.android-activity.src + "/java") #TODO: Use output, not src
(ghcAndroidArm64.reflex-dom.src + "/java")
(ghcAndroidAarch64.android-activity.src + "/java") #TODO: Use output, not src
(ghcAndroidAarch64.reflex-dom.src + "/java")
];
};
src = ./src;
Expand All @@ -92,16 +88,12 @@ in {
ln -s "$applicationMk" "$out/jni/Application.mk"

'' + concatStrings (builtins.map (arch:
let inherit (appSOs.${arch}) libiconv hsApp;
let inherit (appSOs.${arch}) hsApp;
in ''
{
ARCH_LIB=$out/lib/${arch}
mkdir -p $ARCH_LIB

# Move libiconv (per arch) to the correct place
cp --no-preserve=mode "${libiconv}/lib/libiconv.so" "$ARCH_LIB"
cp --no-preserve=mode "${libiconv}/lib/libcharset.so" "$ARCH_LIB"

local exe="${hsApp}/bin/lib${executableName}.so"
if [ ! -f "$exe" ] ; then
>&2 echo 'Error: executable "${executableName}" not found'
Expand Down
13 changes: 13 additions & 0 deletions android/patches/force-relocation.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index 86dd913461..e6d6defdb9 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -830,7 +830,7 @@ llvmOptions dflags =
rmodel | gopt Opt_PIC dflags = "pic"
| positionIndependent dflags = "pic"
| WayDyn `elem` ways dflags = "dynamic-no-pic"
- | otherwise = "static"
+ | otherwise = "pic" -- "static"

align :: Int
align = case platformArch (targetPlatform dflags) of