on master help sign in
Allow skeleton's obelisk to be overridden and fix release.nix (#420)
4e3d5d3Ali Abrar
ChangeLog.md+1
@@ -9,6 +9,7 @@ This project's release branch is `master`. This log is written from the perspect
9* Add `COMPLETE` pragma to `(:/)`. Using this pattern synonym should no longer generate spurious warnings about non-exhaustive pattern matching.
9* Add `COMPLETE` pragma to `(:/)`. Using this pattern synonym should no longer generate spurious warnings about non-exhaustive pattern matching.
10* Make asset path hashing strict (see `Obelisk.Asset.Gather`)
10* Make asset path hashing strict (see `Obelisk.Asset.Gather`)
11* Add the `ob shell` command to enter a nix shell for an obelisk project
11* Add the `ob shell` command to enter a nix shell for an obelisk project
12+* Allow skeleton's obelisk to be overridden. This changes the skeleton's default.nix interface: the arguments that it used to take are now part of the new "obelisk" argument.
12
13
13## v0.1.0.0 - 2019-03-29
14## v0.1.0.0 - 2019-03-29
14
15
release.nix+13−5
@@ -1,4 +1,5 @@
1+{ self-args ? {}
1−{ local-self ? import ./. {}
2+, local-self ? import ./. self-args
2}:
3}:
3
4
4let
5let
@@ -59,17 +60,24 @@ let
59 (concatDepends ghcjs)
60 (concatDepends ghcjs)
60 ];
61 ];
61 command = local-self.command;
62 command = local-self.command;
62− serverExeSkeleton = (import ./skeleton {}).exe;
63+ serverExeSkeleton = (import ./skeleton { obelisk = local-self; }).exe;
63− builtSkeleton = (import ./skeleton {}).all;
64+ androidSkeleton = (import ./skeleton { obelisk = local-self; }).android.frontend;
65+ iosObelisk = import ./. (self-args // {
66+ system = "x86_64-darwin";
67+ iosSdkVersion = "10.2";
68+ });
69+ iosSkeleton = (import ./skeleton { obelisk = iosObelisk; }).ios.frontend;
64 in {
70 in {
65 inherit
71 inherit
66 command
72 command
67 ghc ghcjs
73 ghc ghcjs
68− serverExeSkeleton builtSkeleton;
74+ serverExeSkeleton
75+ iosSkeleton
76+ androidSkeleton;
69 cache = reflex-platform.pinBuildInputs
77 cache = reflex-platform.pinBuildInputs
70 "obelisk-${system}"
78 "obelisk-${system}"
71 cachePackages
79 cachePackages
72− [command serverExeSkeleton builtSkeleton];
80+ [command serverExeSkeleton iosSkeleton androidSkeleton];
73 });
81 });
74
82
75 metaCache = local-self.pinBuildInputs
83 metaCache = local-self.pinBuildInputs
skeleton/default.nix+9−9
@@ -1,13 +1,13 @@
1+{ obelisk ? import ./.obelisk/impl {
1−{ system ? builtins.currentSystem # TODO: Get rid of this system cruft
2+ system = builtins.currentSystem;
2−, iosSdkVersion ? "10.2"
3+ iosSdkVersion = "10.2";
4+ # You must accept the Android Software Development Kit License Agreement at
5+ # https://developer.android.com/studio/terms in order to build Android apps.
6+ # Uncomment and set this to `true` to indicate your acceptance:
7+ # config.android_sdk.accept_license = false;
8+ }
3}:
9}:
4−with import ./.obelisk/impl {
10+with obelisk;
5− inherit system iosSdkVersion;
6− # You must accept the Android Software Development Kit License Agreement at
7− # https://developer.android.com/studio/terms in order to build Android apps.
8− # Uncomment and set this to `true` to indicate your acceptance:
9− # config.android_sdk.accept_license = false;
10−};
11project ./. ({ ... }: {
11project ./. ({ ... }: {
12 android.applicationId = "systems.obsidian.obelisk.examples.minimal";
12 android.applicationId = "systems.obsidian.obelisk.examples.minimal";
13 android.displayName = "Obelisk Minimal Example";
13 android.displayName = "Obelisk Minimal Example";