on master help sign in
Merge pull request #100 from matthewbauer/fix-jsaddle-wkwebview

Fix jsaddle-wkwebview builds

commitbf2921cb27dae4d918019ed2446e27ae752a9ca9 authorHamish Mackenzie <Hamish.K.Mackenzie@googlemail.com> dateFri 19 Jul 2019, 17:07 (7 years ago) parent1e39844cf8445b
2 files changed+12−20
default.nix+3−1 jsaddle-wkwebview/default.nix+9−19
default.nix+3−1
@@ -1,4 +1,6 @@
1−haskellPackages: {
1+{ pkgs ? import <nixpkgs> {}, haskellPackages ? pkgs.haskellPackages }:
2+
3+{
24 jsaddle = haskellPackages.callPackage ./jsaddle {};
35 jsaddle-warp = haskellPackages.callPackage ./jsaddle-warp {};
46 jsaddle-wkwebview = haskellPackages.callPackage ./jsaddle-wkwebview {};
jsaddle-wkwebview/default.nix+9−19
@@ -1,6 +1,4 @@
1−{ mkDerivation, stdenv, aeson, base, bytestring, jsaddle, data-default
2−, buildPackages, hostPlatform
3−}:
1+{ mkDerivation, lib, stdenv, aeson, base, bytestring, jsaddle, data-default, pkgs }:
42
53mkDerivation {
64 pname = "jsaddle-wkwebview";
@@ -8,23 +6,15 @@ mkDerivation {
86 src = ./.;
97 libraryHaskellDepends = [ aeson base bytestring jsaddle data-default ];
108
11− # HACK(matthewbauer): Can’t figure out why cf-private framework is
12− # not getting pulled in correctly. Has something
13− # to with how headers are looked up in xcode.
14− preBuild = stdenv.lib.optionalString (!hostPlatform.useiOSPrebuilt) ''
15− mkdir include
16− ln -s ${buildPackages.darwin.cf-private}/Library/Frameworks/CoreFoundation.framework/Headers include/CoreFoundation
17− export NIX_CFLAGS_COMPILE="-I$PWD/include $NIX_CFLAGS_COMPILE"
18− '';
19−
9+ # Xcode is needed for iOS; macOS SDK is used otherwise
2010 libraryFrameworkDepends =
21− stdenv.lib.optional (hostPlatform.useiOSPrebuilt)
22− "${buildPackages.darwin.xcode}/Contents/Developer/Platforms/${hostPlatform.xcodePlatform}.platform/Developer/SDKs/${hostPlatform.xcodePlatform}.sdk/System"
23− ++ stdenv.lib.optional (!hostPlatform.useiOSPrebuilt)
24− (with buildPackages.darwin; with apple_sdk.frameworks; [
25− Cocoa
26− WebKit
27− ]);
11+ if stdenv.hostPlatform.useiOSPrebuilt then
12+ "${pkgs.darwin.xcode}/Contents/Developer/Platforms/${stdenv.hostPlatform.xcodePlatform}.platform/Developer/SDKs/${stdenv.hostPlatform.xcodePlatform}.sdk/System"
13+ else (with pkgs.darwin.apple_sdk.frameworks; [ Cocoa WebKit ]);
14+
15+ # cf-private is needed for NSURL (_OBJC_CLASS_$_NSURL) symbols
16+ buildDepends = lib.optional (!stdenv.hostPlatform.useiOSPrebuilt) [ pkgs.darwin.cf-private ];
17+
2818 description = "Interface for JavaScript that works with GHCJS and GHC";
2919 license = stdenv.lib.licenses.mit;
3020}