Skip to content

Commit 5868624

Browse files
committed
Fixes for ghc 8.8.1
1 parent 97e4a09 commit 5868624

File tree

6 files changed

+59
-58
lines changed

6 files changed

+59
-58
lines changed

.travis.yml

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
1-
sudo: required
2-
services:
3-
- docker
1+
language: nix
2+
nix: 2.2.2
43

5-
cache:
6-
directories:
7-
- .cabal
8-
- .ghc
4+
jobs:
5+
include:
6+
- stage: Build
7+
env: OS=linux GHCVER=ghc865
8+
- stage: Build
9+
env: OS=linux GHCVER=ghc881
10+
# TODO try to find how to get working webkitgtk with nix on macOS
11+
# - env: OS=macos GHCVER=ghc865
12+
# os: osx
13+
# # Fix OSX, see https://travis-ci.community/t/cannot-use-nix-support-on-osx/2927
14+
# language: generic
15+
# before_install:
16+
# - curl https://nixos.org/nix/install | sh
17+
# - source /Users/travis/.nix-profile/etc/profile.d/nix.sh
918

10-
env:
11-
- CABALVER=1.24 GHCVER=7.10.3 OSVER=xenial
12-
- CABALVER=1.24 GHCVER=8.0.1 OSVER=xenial
13-
14-
before_install:
15-
- docker build -t ltk -f travis/$OSVER.Dockerfile travis
19+
install:
20+
- sudo mkdir -p /etc/nix
21+
- echo "substituters = https://cache.nixos.org https://hydra.iohk.io" | sudo tee -a /etc/nix/nix.conf > /dev/null
22+
- echo "trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" | sudo tee -a /etc/nix/nix.conf > /dev/null
1623

1724
script:
18-
- docker run -v `pwd`:/build ltk
19-
bash -x -c "
20-
apt-get install -y cabal-install-$CABALVER ghc-$GHCVER &&
21-
export PATH=\$HOME/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:/opt/alex/3.1.7/bin:/opt/happy/1.19.5/bin:\$PATH &&
22-
./travis/build.sh"
25+
- nix-build --argstr haskellCompiler $GHCVER -A hsPkgs.webkit2gtk3-javascriptcore.components.library
2326

2427
notifications:
2528
irc:
2629
channels: "irc.freenode.net#gtk2hs"
27-
skip_join: true
2830
email: true

cabal.project

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,3 @@
1-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
2-
31
packages: .
42

5-
package gi-atk
6-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
7-
package gi-cairo
8-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
9-
package gi-gdk
10-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
11-
package gi-gdkpixbuf
12-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
13-
package gi-gio
14-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
15-
package gi-glib
16-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
17-
package gi-gobject
18-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
19-
package gi-gtk
20-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
21-
package gi-gtk-hs
22-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
23-
package gi-gtkosxapplication
24-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
25-
package gi-gtksource
26-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
27-
package gi-javascriptcore
28-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
29-
package gi-pango
30-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
31-
package gi-soup
32-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
33-
package gi-webkit
34-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
35-
package gi-webkit2
36-
flags: -overloaded-methods -overloaded-signals -overloaded-properties
37-
3+
write-ghc-environment-files: never

default.nix

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{ pkgs ? import nixpkgs (haskellNixpkgsArgs // {
2+
overlays = haskellNixpkgsArgs.overlays ++ [ (import ./nix/overlays/gtk-debug.nix) ];
3+
} // (if system == null then {} else { inherit system; }))
4+
, nixpkgs ? haskellNixSrc + "/nixpkgs"
5+
, haskellNixpkgsArgs ? import haskellNixSrc
6+
, haskellNixSrc ? builtins.fetchTarball {
7+
url = "https://github.com/input-output-hk/haskell.nix/archive/1dd6951d6a56115fd368c5b37b8dab47a90ec45c.tar.gz";
8+
sha256 = "02nhjy90xwg9wrp81cnlczndxags966c71wlbz6n91423a13mc99";
9+
}
10+
, haskellCompiler ? "ghc881"
11+
, system ? null
12+
}:
13+
pkgs.haskell-nix.cabalProject' {
14+
src = pkgs.haskell-nix.haskellLib.cleanGit { src = ./.; };
15+
ghc = pkgs.haskell-nix.compiler.${haskellCompiler};
16+
}

nix/overlays/gtk-debug.nix

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Gtk actually has three states debug enabled, disabled and unspecified.
2+
# the unspecified option turns on some very useful debug features.
3+
self: super: {
4+
gtk3 = super.gtk3.overrideAttrs (oldAttrs: {
5+
configureFLags =
6+
builtins.filter (x: !builtins.elem x [
7+
"--disable-debug"
8+
"--disable-dependency-tracking"
9+
"--disable-glibtest"])
10+
(super.pkgs.lib.lists.flatten (oldAttrs.configureFlags or []));
11+
});
12+
}

shell.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{ haskellCompiler ? "ghc881" }:
2+
(import ./. { inherit haskellCompiler; }).hsPkgs.shellFor {}
3+

webkit2gtk3-javascriptcore.cabal

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Name: webkit2gtk3-javascriptcore
2-
Version: 0.14.3.0
2+
Version: 0.14.4.0
33
Synopsis: JavaScriptCore FFI from webkitgtk
44
Description: FFI for JavaScriptCore module from webkitgtk
55
License: BSD3
@@ -25,8 +25,8 @@ Source-Repository head
2525

2626
custom-setup
2727
setup-depends: base >= 4.6,
28-
Cabal >= 1.24 && < 2.5,
29-
gtk2hs-buildtools >= 0.13.2.0 && < 0.14
28+
Cabal >= 1.24 && < 3.1,
29+
gtk2hs-buildtools >= 0.13.5.4 && < 0.14
3030

3131
Library
3232
hs-source-dirs: src
@@ -50,6 +50,8 @@ Library
5050
x-Signals-Import: Graphics.UI.GtkInternals
5151

5252
include-dirs: .
53-
cpp-options: -DDISABLE_DEPRECATED -U__BLOCKS__ -D__attribute__(A)= -D_Nullable= -D_Nonnull=
53+
cpp-options: -DDISABLE_DEPRECATED -U__BLOCKS__ -DGLIB_DISABLE_DEPRECATION_WARNINGS
54+
if os(darwin) || os(freebsd)
55+
cpp-options: -D_Nullable= -D_Nonnull= -D_Noreturn=
5456
x-c2hs-Header: hsjscore.h
5557
pkgconfig-depends: webkit2gtk-4.0 >=1.1.15

0 commit comments

Comments
 (0)