[Nix-dev] Building ghcjs-dom

Rodney Lorrimar dev at rodney.id.au
Tue Nov 1 15:57:42 CET 2016


Hi Ryan,

I have been having much fun with reflex-platform, so thanks for that.

I think it works because it's using ghcjs-dom 0.2.

If reflex-dom starts using ghcjs-dom 0.5, then we will need an answer
for this question.


Cheers,

Rodney


On Tue, Nov 01 2016, Ryan Trinkle wrote:

> Hi Rodney,
>
> You could take a look at
> https://github.com/reflex-frp/reflex-platform/blob/develop/default.nix .  I
> didn't realize upstream wasn't building, but I always keep reflex-platform
> building (and with binary caches available, see
> https://github.com/reflex-frp/reflex-platform/blob/develop/notes/NixOS.md
> ).  If there's anything in there that can be reused upstream, please feel
> free to take the code you need, and I'll help move things upstream however
> I can.
>
>
> Best,
> Ryan
>
> On Tue, Nov 1, 2016 at 5:10 AM, Rodney Lorrimar <dev at rodney.id.au> wrote:
>
>> Hello List,
>>
>> I would really like this package to build:
>>
>>   nix-build -A pkgs.haskell.packages.ghcjs.ghcjs-dom
>>
>> I found that the layout upstream has changed, so updated the overrides
>> accordingly (see patch below).
>>
>> My current problem is that it won't build without Cabal >= 1.24.
>>
>> If I use (addBuildTool super.ghcjs-dom-jsffi [ self.cabal-install ]),
>> then it builds Cabal 1.24 as javascript, which is not quite what I want.
>>
>> Does anyone know how I could make it build?
>>
>>
>> Cheers,
>>
>> Rodney
>>
>>
>> ---
>>  pkgs/development/haskell-modules/configuration-ghcjs.nix | 8 ++++++--
>>  1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix
>> b/pkgs/development/haskell-modules/configuration-ghcjs.nix
>> index c97296c..e56d7eb 100644
>> --- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
>> +++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
>> @@ -88,12 +88,16 @@ self: super:
>>       }) {};
>>
>>    ghcjs-dom = overrideCabal super.ghcjs-dom (drv: {
>> -    libraryHaskellDepends = [ self.ghcjs-base ] ++
>> +    libraryHaskellDepends = [ self.ghcjs-base self.ghcjs-dom-jsffi ] ++
>>        removeLibraryHaskellDepends [
>> -        "glib" "gtk" "gtk3" "webkitgtk" "webkitgtk3"
>> +        "ghcjs-dom-jsaddle" "ghcjs-dom-webkit"
>>        ] drv.libraryHaskellDepends;
>>    });
>>
>> +  ghcjs-dom-jsffi = overrideCabal super.ghcjs-dom-jsffi (drv: {
>> +    libraryHaskellDepends = [ self.ghcjs-base self.text ];
>> +  });
>> +
>>    ghc-paths = overrideCabal super.ghc-paths (drv: {
>>      patches = [ ./patches/ghc-paths-nix-ghcjs.patch ];
>>    });
>> --
>> 2.10.1
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>


More information about the nix-dev mailing list